(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024040102
(43)【公開日】2024-03-25
(54)【発明の名称】異常検出のためのシステム、方法、及びコンピュータ可読媒体
(51)【国際特許分類】
G06N 3/0455 20230101AFI20240315BHJP
G06N 3/049 20230101ALI20240315BHJP
G06N 3/0464 20230101ALI20240315BHJP
G06N 3/08 20230101ALI20240315BHJP
【FI】
G06N3/0455
G06N3/049
G06N3/0464
G06N3/08
【審査請求】未請求
【請求項の数】10
【出願形態】OL
(21)【出願番号】P 2023016868
(22)【出願日】2023-02-07
(62)【分割の表示】P 2022144468の分割
【原出願日】2022-09-12
(71)【出願人】
【識別番号】517287224
【氏名又は名称】17LIVE株式会社
(74)【代理人】
【識別番号】100199277
【弁理士】
【氏名又は名称】西守 有人
(72)【発明者】
【氏名】林奇▲い▼
(72)【発明者】
【氏名】劉謹▲い▼
(57)【要約】 (修正有)
【課題】エンドポイントの異常検出のためのシステム、方法及びコンピュータ可読媒体を提供する。
【解決手段】方法は、第1のエンドポイントの遅延データを取得する工程と、第2のエンドポイントの遅延データを取得する工程と、表現学習モデルによって、第1のエンドポイントの遅延データと第2のエンドポイントの遅延データに基づき、第1のエンドポイントの遅延データの再構成誤差分布データを生成する工程と、第1のエンドポイントの新しい遅延データを取得する工程と、第2のエンドポイントの新しい遅延データを取得する工程と、表現学習モデルによって、第1のエンドポイントの新しい遅延データと第2のエンドポイントの新しい遅延データに基づき、第1のエンドポイントの新しい遅延データの再構成誤差を生成する工程と、再構成誤差分布データの分散特性と再構成誤差に基づき、第1のエンドポイントに対する異常スコアを生成する工程と、を含む。
【選択図】
図6
【特許請求の範囲】
【請求項1】
異常検出のための方法であって、
第1のエンドポイントの遅延データを取得する工程と、
第2のエンドポイントの遅延データを取得する工程と、
前記第1のエンドポイントの前記遅延データと、前記第2のエンドポイントの前記遅延データに基づき、表現学習モデルにより、前記第1のエンドポイントの前記遅延データの再構成誤差分布データを生成する工程と、
前記第1のエンドポイントの新しい遅延データを取得する工程と、
前記第2のエンドポイントの新しい遅延データを取得する工程と、
前記第1のエンドポイントの前記新しい遅延データと、前記第2のエンドポイントの前記新しい遅延データに基づき、前記表現学習モデルにより、前記第1のエンドポイントの前記新しい遅延データの再構成誤差を生成する工程と、
前記再構成誤差分布データの分散特性と前記再構成誤差に基づき、前記第1のエンドポイントの異常スコアを生成する工程と、
を含むことを特徴とする、異常検出のための方法。
【請求項2】
前記表現学習モデルが、時間的畳み込みネットワークオートエンコーダ(TCNオートエンコーダ)モデルであり、前記第1のエンドポイントの前記遅延データの前記再構成誤差分布データが、前記第1のエンドポイントの前記遅延データと、前記第2のエンドポイントの前記遅延データを前記TCNオートエンコーダモデルに入力することにより生成される、ことを特徴とする、請求項1に記載の異常検出のための方法。
【請求項3】
さらに、前記第1のエンドポイントの前記遅延データと、前記第2のエンドポイントの前記遅延データに基づき、前記表現学習モデルにより、前記第2のエンドポイントの前記遅延データの再構成誤差分布データを生成する工程を含む、ことを特徴とする、請求項1に記載の異常検出のための方法。
【請求項4】
前記異常スコアが、前記再構成誤差分布データの四分位範囲と75パーセンタイルに基づき生成される、ことを特徴とする、請求項1に記載の異常検出のための方法。
【請求項5】
前記第1のエンドポイントの前記遅延データが、第1のトレーニングセットと第1の検証セットを含み、前記第2のエンドポイントの前記遅延データが、第2トレーニングセットと、第2検証セットを含み、前記表現学習モデルが、 前記第1のトレーニングセットと前記第2のトレーニングセットにより訓練され、前記再構成誤差分布データが、前記第1の検証セットと前記第2の検証セットを前記表現学習モデルに入力することにより生成される、ことを特徴とする、請求項1に記載の異常検出のための方法。
【請求項6】
さらに、
システムパラメータの値を取得する工程と、
前記システムパラメータの値と、前記第1のエンドポイントの前記新しい遅延データの値との間の第1の相関値を生成する工程と、
前記システムパラメータの値と、前記第2のエンドポイントの前記新しい遅延データの値との間の第2の相関値を生成する工程と、
を含む、ことを特徴とする、請求項1に記載の異常検出のための方法。
【請求項7】
さらに、
複数のエンドポイントの遅延データを取得する工程と、
前記複数のエンドポイントの前記遅延データに基づき、TCNオートエンコーダにより、各前記複数のエンドポイントの前記遅延データの再構成誤差分布データを生成する工程と、
前記複数のエンドポイントの新しい遅延データを取得する工程と、
前記複数のエンドポイントの新しい遅延データに基づき、各前記複数のエンドポイントの前記新しい遅延データの再構成誤差を生成する工程と、
対応する前記再構成誤差分布データの分散特性と対応する前記再構成誤差に基づき、各前記複数のエンドポイントの異常スコアを生成する工程と、
対応する前記エンドポイントの新しい遅延データとシステムパラメータに基づき、各前記複数のエンドポイントについて相関性データを生成する工程と、
各前記複数のエンドポイントの前記異常スコアに基づいて前記複数のエンドポイントをフィルタリングし、エンドポイントの第1のグループを作成する工程と、
前記第1のグループの各前記エンドポイントの相関性データに基づき、前記エンドポイントの前記第1のグループをフィルタリングして、エンドポイントの第2のグループを作成する工程と、
を含む、ことを特徴とする、請求項1に記載の異常検出のための方法。
【請求項8】
異常検出のためのシステムであって、1以上のプロセッサを含み、そのうち、前記1以上のプロセッサが、機械可読命令を実行して、
第1のエンドポイントの遅延データを取得する工程と、
第2のエンドポイントの遅延データを取得する工程と、
前記第1のエンドポイントの前記遅延データと、前記第2のエンドポイントの前記遅延データに基づき、表現学習モデルにより、前記第1のエンドポイントの前記遅延データの再構成誤差分布データを生成する工程と、
前記第1のエンドポイントの新しい遅延データを取得する工程と、
前記第2のエンドポイントの新しい遅延データを取得する工程と、
前記第1のエンドポイントの前記新しい遅延データと、前記第2のエンドポイントの前記新しい遅延データに基づき、前記表現学習モデルにより、前記第1のエンドポイントの前記新しい遅延データの再構成誤差を生成する工程と、
前記再構成誤差分布データの分散特性と前記再構成誤差に基づき、前記第1のエンドポイントの異常スコアを生成する工程と、
を実行することを特徴とする、異常検出のためのシステム。
【請求項9】
前記1以上のプロセッサが、機械可読命令を実行して、さらに、
前記第1のエンドポイントの前記遅延データと、前記第2のエンドポイントの前記遅延データに基づき、前記表現学習モデルにより、前記第2のエンドポイントの前記遅延データの再構成誤差分布データを生成する工程を実行する、ことを特徴とする、請求項8に記載の異常検出のためのシステム。
【請求項10】
異常検出のためのプログラムを含む非一時的なコンピュータ可読媒体であって、そのうち、前記プログラムが、1以上のコンピュータに、
第1のエンドポイントの遅延データを取得する工程と、
第2のエンドポイントの遅延データを取得する工程と、
前記第1のエンドポイントの前記遅延データと、前記第2のエンドポイントの前記遅延データに基づき、表現学習モデルにより、前記第1のエンドポイントの前記遅延データの再構成誤差分布データを生成する工程と、
前記第1のエンドポイントの新しい遅延データを取得する工程と、
前記第2のエンドポイントの新しい遅延データを取得する工程と、
前記第1のエンドポイントの前記新しい遅延データと、前記第2のエンドポイントの前記新しい遅延データに基づき、前記表現学習モデルにより、前記第1のエンドポイントの前記新しい遅延データの再構成誤差を生成する工程と、
前記再構成誤差分布データの分散特性と前記再構成誤差に基づき、前記第1のエンドポイントの異常スコアを生成する工程と、
を実行させる、ことを特徴とする、非一時的なコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は異常検出に関し、より具体的には、エンドポイントの異常検出に関する。
【背景技術】
【0002】
インターネット上でのデータ共有やデータアクセスは、私たちの日常生活に浸透している。多様なプラットフォームやプロバイダーがデータアクセスのサービスを提供しており、例えば、ライブストリーミング番組を提供するライブ配信プラットフォームなどがある。プラットフォーム(あるいはアプリケーション/ウェブページ)は、さまざまな種類のデータを提供するエンドポイントによって支えられている。あるプラットフォームに障害が発生した場合、その障害に関係する、または原因となっているエンドポイントを効率的に発見できることが重要である。
【発明の概要】
【0003】
本発明の一実施態様による方法は、1以上のコンピュータによって実行される異常検出のための方法であり、第1のエンドポイントの遅延データを取得する工程と、第2のエンドポイントの遅延データを取得する工程と、表現学習モデルによって、当該第1のエンドポイントの当該遅延データと、当該第2のエンドポイントの当該遅延データに基づき、当該第1のエンドポイントの当該遅延データの再構成誤差分布データを生成する工程と、当該第1のエンドポイントの新しい遅延データを取得する工程と、当該第2のエンドポイントの新しい遅延データを取得する工程と、当該表現学習モデルによって、当該第1のエンドポイントの当該新しい遅延データと当該第2のエンドポイントの当該新しい遅延データに基づき、当該第1のエンドポイントの当該新しい遅延データの再構成誤差を生成する工程と、当該再構成誤差分布データの分散特性と当該再構成誤差に基づき、当該第1のエンドポイントに対する異常スコアを生成する工程と、を含む。
【0004】
本発明の一実施態様によるシステムは、1以上のコンピュータプロセッサを含む異常検出のためのシステムであり、当該1以上のコンピュータプロセッサが、機械可読命令を実行して、第1のエンドポイントの遅延データを取得する工程と、第2のエンドポイントの遅延データを取得する工程と、表現学習モデルによって、当該第1のエンドポイントの当該遅延データと、当該第2のエンドポイントの当該遅延データに基づき、当該第1のエンドポイントの当該遅延データの再構成誤差分布データを生成する工程と、当該第1のエンドポイントの新しい遅延データを取得する工程と、当該第2のエンドポイントの新しい遅延データを取得する工程と、当該表現学習モデルによって、当該第1のエンドポイントの当該新しい遅延データと当該第2のエンドポイントの当該新しい遅延データに基づき、当該第1のエンドポイントの当該新しい遅延データの再構成誤差を生成する工程と、当該再構成誤差分布データの分散特性と当該再構成誤差に基づき、当該第1のエンドポイントに対する異常スコアを生成する工程と、を実行する。
【0005】
本発明の一実施態様によるコンピュータ可読媒体は、異常検出のためのプログラムを含む非一時的なコンピュータ可読媒体であり、当該プログラムが1以上のコンピュータに、第1のエンドポイントの遅延データを取得する工程と、第2のエンドポイントの遅延データを取得する工程と、表現学習モデルによって、当該第1のエンドポイントの当該遅延データと、当該第2のエンドポイントの当該遅延データに基づき、当該第1のエンドポイントの当該遅延データの再構成誤差分布データを生成する工程と、当該第1のエンドポイントの新しい遅延データを取得する工程と、当該第2のエンドポイントの新しい遅延データを取得する工程と、当該表現学習モデルによって、当該第1のエンドポイントの当該新しい遅延データと当該第2のエンドポイントの当該新しい遅延データに基づき、当該第1のエンドポイントの当該新しい遅延データの再構成誤差を生成する工程と、当該再構成誤差分布データの分散特性と当該再構成誤差に基づき、当該第1のエンドポイントに対する異常スコアを生成する工程と、を実行させる。
【図面の簡単な説明】
【0006】
【
図1】本発明の一部の実施態様に基づく通信システムの概略図である。
【
図2】本発明の一部の実施態様に基づくサーバの例示的なブロック図である。
【
図3】一部のエンドポイントの遅延データの例である。
【
図4】本発明の一部の実施態様に基づく例示的なデータフローチャートである。
【
図5】本発明の一部の実施態様に基づく例示的なデータのフローチャートである。
【
図6】本発明の一部の実施態様に基づく例示的なフローチャートである。
【
図7】エンドポイントデータテーブル314の例である。
【
図8】再構成誤差分布テーブル316に格納されたエンドポイントの再構成誤差分布データの例である。
【
図10】システムデータテーブル320の例である。
【
図12】本発明の一部の実施態様に基づく異常検出の例である。
【
図13】本発明の一部の実施態様に基づく例示的なデータのフローチャートである。
【
図14】本発明の一部の実施態様に基づく例示的なデータのフローチャートである。
【発明を実施するための形態】
【0007】
データ提供システムで障害やエラー、異常が発生した場合、できるだけ早くその原因を突き止めることが重要である。データ提供システム内には、データアクセス用に設定された様々なエンドポイントが存在する。これらのエンドポイントは互いに相関していることが多く、異常の原因となっている、あるいは関連性が最も高い疑いがあるエンドポイントを特定することは困難である。
【0008】
従来の異常検出法では、技術者が経験則に基づき、すべてのエンドポイントを1つずつチェックする必要がある。疑わしい範囲は広く、検出に時間がかかり、非効率的である。
【0009】
本発明は、疑わしい範囲を絞り込み、問題を引き起こす可能性の高いエンドポイントを提示する方法とシステムを開示するものである。したがって、その後の手動によるチェックを効率的に行うことが可能になる。
【0010】
図1に、本発明の一部の実施態様に基づく通信システムの概略図を示す。
【0011】
当該通信システム1は、コンテンツを介したインタラクションを伴うライブストリーミングサービスを提供することができる。ここで言う「コンテンツ」とは、コンピュータ装置で再生可能なデジタルコンテンツを指す。つまり、当該通信システム1は、ユーザがオンラインで他のユーザとのリアルタイムのインタラクションに参加することを可能にする。当該通信システム1は、複数のユーザ端末10と、バックエンドサーバ30と、ストリーミングサーバ40とを含む。当該ユーザ端末10、バックエンドサーバ30、及びストリーミングサーバ40は、ネットワーク90(例えばインターネットとしてもよい)を介して接続される。当該バックエンドサーバ30は、当該ユーザ端末及び(または)当該ストリーミングサーバ40の間のインタラクションを同期させるサーバとすることができる。一部の実施態様において、当該バックエンドサーバ30は、アプリケーション(APP)プロバイダーのサーバとしてもよい。当該ストリーミングサーバ40は、ストリーミングデータまたはビデオデータを処理する、または提供するためのサーバである。一部の実施態様において、当該バックエンドサーバ30と当該ストリーミングサーバ40は、独立したサーバとしてもよい。一部の実施態様において、当該バックエンドサーバ30と当該ストリーミングサーバ40は、1つのサーバに統合してもよい。一部の実施態様において、当該ユーザ端末10は、ライブストリーミングサービスのためのクライアント装置である。一部の実施態様において、当該ユーザ端末10は、視聴者、ストリーマー、アンカー、ポッドキャスター、オーディエンス、リスナーなどと呼ばれることがある。当該ユーザ端末10、バックエンドサーバ30、及びストリーミングサーバ40はそれぞれ情報処理装置の一例である。一部の実施態様において、当該ストリーミングは、ライブストリーミングまたはビデオ再生とすることができる。一部の実施態様において、ストリーミングは、オーディオストリーミング及び(または)ビデオストリーミングとすることができる。一部の実施態様において、ストリーミングは、オンラインショッピング、トークショー、タレントショー、娯楽イベント、スポーツイベント、音楽ビデオ、映画、コメディ、コンサートなどのコンテンツを含むことができる。
【0012】
図2に、本発明の一部の実施態様に基づくサーバの例示的なブロック図を示す。
【0013】
当該サーバ300は、エンドポイントモニター302と、機械学習モデル304と、特徴演算ユニット306と、異常スコア生成ユニット308と、システムモニター310と、相関演算ユニット312と、エンドポイントデータテーブル314と、再構成誤差分布テーブル316と、異常スコアテーブル318と、システムデータテーブル320と、相関関係テーブル322を含む。当該サーバ300は、エンドポイントデータベース200と通信する。
【0014】
当該エンドポイントモニター302は、当該エンドポイントデータベース200からエンドポイントのパラメータやステータスを取得するように構成される。例えば、当該エンドポイントモニター302は、当該エンドポイントデータベース200から各エンドポイントの遅延データを取得してもよい。一部の実施態様において、エンドポイントの遅延とは、エンドポイントがリクエストを受信したタイミングと、対応する応答を送信するタイミングの間の期間である。取得したエンドポイントのパラメータは、当該エンドポイントデータテーブル314に格納される。
【0015】
当該機械学習モデル304は、入力されたデータの表現を学習するように構成される。例えば、当該機械学習モデル304は、当該機械学習モデル304に入力されるエンドポイント遅延データの圧縮表現を学習するように構成される。一部の実施態様において、当該機械学習モデル304は、エンコーダとデコーダとで構成されるオートエンコーダモデルであるか、またはオートエンコーダモデルを含む。一部の実施態様において、当該エンコーダは、入力データを圧縮し、当該デコーダは、当該エンコーダによって提供される圧縮されたバージョンから当該入力データを再構成(または表現)しようとする。一部の実施態様において、当該機械学習モデル304は、時間的畳み込みネットワークオートエンコーダ(TCN―Autoencoder)であるか、それを含む。
【0016】
一部の実施態様において、当該機械学習モデル304は、エンドポイントの履歴遅延データによって訓練され、当該入力データをできるだけ近似させて再構成するためにそれ自体の調整を試みる。当該機械学習モデル304はまた、当該入力データと再構成されたデータとの間の差分を生成する。この差分は、再構成誤差データと呼ばれてもよい。
【0017】
一部の実施態様において、(当該機械学習モデル304に入力される)各エンドポイントの当該遅延データは、
図3に示すように、トレーニングセットと検証セットとを含む。当該トレーニングセットは、再構成学習(または表現学習/特徴学習)のために当該機械学習モデル304を訓練または調整するために使用される。複数の遅延値を含む当該検証セットは、対応するエンドポイントの再構成誤差分布データを生成するために使用される。当該機械学習モデル304のニューラルネットワークの性質により、異なるエンドポイントからの当該遅延データは、学習プロセスにおいて互いに相関性がある。したがって、あるエンドポイントの遅延データの再構成誤差分布データは、そのエンドポイントの当該遅延データと他のエンドポイントの遅延データに基づいて(またはそれらの影響を受けて/それらに相関して)生成される。
【0018】
当該特徴演算ユニット306は、当該機械学習モデル304が出力する各エンドポイントの当該再構成誤差分布データの分散特性を演算または生成するように構成される。例えば、当該特徴演算ユニット306は、各エンドポイントに関する再構成誤差分布データの25パーセンタイル(p25)、75パーセンタイル(p75)、および四分位範囲(IQR)を演算する。一部の実施態様において、当該再構成誤差分布データと当該分散特性は、当該再構成誤差分布テーブル316に格納される。
【0019】
当該異常スコア生成ユニット308は、各エンドポイントについて異常スコアを生成するように構成される。一部の実施態様において、エンドポイントの当該異常スコアは、(1)当該エンドポイントの当該再構成誤差分布データの当該分散特性、および(2)当該エンドポイントの新しい遅延データの(またはそれに対応する)再構成誤差に基づいて生成される。
【0020】
当該再構成誤差は、全エンドポイントの新しい遅延データを当該機械学習モデル304への入力とすることで、当該機械学習モデル304により生成される。例えば、エンドポイントEP1の新しい遅延データの当該再構成誤差は、当該エンドポイントEP1の新しい遅延データと他のエンドポイントの新しい遅延データを当該機械学習モデル304に入力することにより、生成される。したがって、当該エンドポイントEP1の当該新しい遅延データの当該再構成誤差は、当該エンドポイントEP1の当該新しい遅延データ及び他のエンドポイントの新しい遅延データと相関性がある。
【0021】
各エンドポイントの新しい遅延データ(またはテストセット)の例を
図3に示す。当該新しい遅延データは、当該機械学習モデル304の訓練または再構成誤差分布データの生成に使用された当該遅延データと異なる。一部の実施態様において、当該新しい遅延データは、データ提供システムで障害が発生する直前のエンドポイントの遅延データである。例えば、当該新しい遅延データは、障害が発生する直前1時間の遅延データであり得る。一部の実施態様において、当該新しい遅延データは、遅延データのテストセットと呼ばれてもよい。
【0022】
一部の実施態様において、エンドポイントについて、当該異常スコアは、次のように計算/定義される:(当該エンドポイントの新しい遅延データの)再構成誤差と対応するp75値との間の差分が、対応するIQRで除算される。すなわち、当該異常スコアは、(新しい遅延データの再構成誤差-p75)/IQRである。したがって、当該異常スコアは、当該新しい遅延データの当該再構成誤差が対応する当該再構成誤差分布データに対してどの程度異常であるかを表す。各エンドポイントについて計算された当該異常スコアは、当該異常スコアテーブル318に格納される。一部の実施態様において、計算された当該異常スコアが負の数である場合、それはゼロとして保存される。
【0023】
一部の実施態様において、より高い異常スコアは、対応するエンドポイントがより異常な新しい遅延データを有することを示し、したがって、対応する当該エンドポイントが障害の原因である/障害に関連する可能性がより高い場合がある。当該異常スコア生成ユニット308(または別のフィルタリングユニット)は、異常スコアによってエンドポイントにフィルタリング処理を実行し、障害の原因である/障害に関連する可能性がある、疑わしいエンドポイントを見つけ出すことができる。技術者によるデバッグなどの後続の人為的な検査は、まずこれらの疑わしいエンドポイントに対して実行することができる。
【0024】
当該システムモニター310は、システムパラメータを取得するように構成される。当該システムパラメータは、バックエンドサーバおよび/またはストリーミングサーバのCPU使用率、メモリ使用率または帯域幅を含んでもよい。取得された当該システムパラメータは、当該システムデータテーブル320に格納される。
【0025】
当該相関演算ユニット312は、当該システムパラメータとエンドポイントの遅延データ間の相関性を演算するように構成される。例えば、システムで障害が発生した場合、当該相関演算ユニット312は、障害発生前の直近1時間におけるシステムパラメータと、障害発生前の直近1時間における遅延データ間の相関性を演算する。したがって、どのエンドポイントが、障害前の直近1時間における特定のシステムパラメータとより相関性が高い(または最も相関性が高い)かを知ることができる。当該特定のシステムパラメータとは、障害と相関性があると考えられるパラメータ、あるいは障害を反映できると考えられるパラメータであってもよい。演算された相関値は、当該相関関係テーブル322に格納される。
【0026】
例えば、発生した障害がバックエンドサーバのメモリ使用率と相関性があると考えられる場合、バックエンドサーバのメモリ使用率との相関値でエンドポイントをフィルタリングし、障害の原因となりうる疑わしいエンドポイントを見つけ出すことができる。当該フィルタリング処理は、当該相関演算ユニット312によって実行されても、別のフィルタリングユニットによって実行されてもよい。
【0027】
一部の実施態様において、当該異常スコアによってすべての利用可能なエンドポイントに対して第1のフィルタリングを行い、疑わしいエンドポイントの第1のグループを取得したうえで、次にシステムパラメータとの相関値によって疑わしいエンドポイントの当該第1のグループに対して第2のフィルタリングを行い、疑わしい範囲をさらに絞り込む。それにより、その後手動によりデバッグを行う疑わしいエンドポイントの数を大幅に減らすことができ、時間とコストを節約することができる。
【0028】
当該エンドポイントデータベース200は、エンドポイントのパラメータまたはステータスを格納するように構成される。
図2に示す実施態様において、当該エンドポイントデータベース200は、当該サーバ300の外部に配備される。一部の実施態様において、当該エンドポイントデータベース200は、当該サーバ300の内部に配備されてもよい。
【0029】
図3に、一部のエンドポイントの遅延データの例を示す。各エンドポイント(EP)の当該遅延データは、トレーニングセットと、検証セットと、テストセット(または新しい遅延データ)を有する。
【0030】
一部の実施態様において、T1とは障害のタイミングを指す。すべてのエンドポイントの当該新しい遅延データは、当該機械学習モデル304に入力され、各エンドポイントの当該新しい遅延データの再構成誤差が生成される。すべてのエンドポイントの当該検証セットは、当該機械学習モデル304に入力され、各エンドポイントの再構成誤差分布データが生成される。すべてのエンドポイントの当該トレーニングセットは、対応する特徴を学習するために当該機械学習モデル304を訓練するために使用される。当該テストセットの長さは、例えば、1時間であってもよい。当該検証セットの長さは、例えば、1週間であってもよい。当該トレーニングセットの長さは、例えば、3~4週間であってもよい。
【0031】
図4に、本発明の一部の実施態様に基づく例示的なデータのフローチャートを示す。ここでは、数十、数百または数千のエンドポイントなど、複数のエンドポイントを代表して、2つのエンドポイントが示されている。一部の実施態様において、
図4に示すデータフローは、機械学習モデルの訓練段階と呼ぶことができる。
【0032】
図4に示すように、すべてのエンドポイントの遅延データのトレーニングセットが、当該機械学習モデル304の訓練のために、当該機械学習モデル304に入力される。訓練の後、すべてのエンドポイントの遅延データの検証セットが、当該機械学習モデル304に入力され、各エンドポイントの再構成誤差分布データが生成される。次に、各エンドポイントの当該再構成誤差分布データが、当該特徴演算ユニット306に入力され、各エンドポイントのIQR値及びp75値などの分散特性が生成される。その後、当該分散特性は当該再構成誤差分布テーブル316に格納される。
【0033】
図5に、本発明の一部の実施態様に基づく例示的なデータのフローチャートを示す。ここでは、数十、数百または数千のエンドポイントなど、複数のエンドポイントを代表して、2つのエンドポイントが示されている。一部の実施態様において、
図5に示すデータフローは、機械学習モデルの推論段階と呼ぶことができる。
【0034】
図5に示すように、すべてのエンドポイントの当該新しい遅延データは、当該機械学習モデル304に入力され、各エンドポイントの当該新しい遅延データの再構成誤差が生成される。次に、当該異常スコア生成ユニット308は、(再構成誤差分布表316から)各エンドポイントのIQR値及びp75値と、各エンドポイントの新しい遅延データの当該再構成誤差を入力として取得し、各エンドポイントの異常スコアを出力として提供する。その後、当該異常スコアは、当該異常スコアテーブル318に格納される。
【0035】
図6に、本発明の一部の実施態様に基づく例示的なフローチャートを示す。一部の実施態様において、これはデータ提供システムの一部の異常検出フローである。
【0036】
工程S600において、例えば、当該エンドポイントモニター302により、エンドポイントの遅延データが取得される。当該遅延データは、各エンドポイントトレーニングセットデータと検証セットデータを含む。
【0037】
工程S602において、例えば、当該機械学習モデル304により、各エンドポイントの再構成誤差分布データが生成される。当該機械学習モデル304の訓練には、当該エンドポイントの遅延データの当該トレーニングセットが使用される。続いて当該エンドポイントの遅延データの当該検証セットが当該機械学習モデル304に入力され、各エンドポイントの当該再構成誤差分布データが生成される。
【0038】
工程S604において、例えば、当該特徴演算ユニット306により、各エンドポイントのIQR値とp75値などの分散特性が演算される。各エンドポイントの分散特性は、そのエンドポイントの再構成誤差分布データに基づいて演算される。
【0039】
工程S606において、システムで障害が発生する。
【0040】
工程S608において、例えば、当該エンドポイントモニター302により、各エンドポイントの新しい遅延データが取得される。新しい遅延データは、例えば、障害発生前の直近1時間のエンドポイントの遅延データであってもよい。
【0041】
工程S610において、例えば、当該機械学習モデル304により、各エンドポイントの新しい遅延データの再構成誤差が生成される。当該エンドポイントの新しい遅延データが、(当該エンドポイントの過去の遅延データにより訓練された)当該機械学習モデル304に入力され、各エンドポイントの再構成誤差が生成される。
【0042】
工程S612において、各エンドポイントの異常スコアが、対応する新しい遅延データ再構成誤差と、対応するIQR値及びp75値に基づいて計算される。この計算は、例えば、当該異常スコア生成ユニット308によって実行されてもよい。
【0043】
工程S614において、当該エンドポイントがそれぞれの異常スコアによってフィルタリングされ、障害の原因である/障害に関連する可能性がある、疑わしいエンドポイントの第1のグループが生成される。当該フィルタリング処理は、当該異常スコア生成ユニット308、または別のフィルタリングユニットによって実行されてもよい。
【0044】
工程S616において、例えば、当該システムモニター310により、システムパラメータが取得される。例えば、障害発生前の直近1時間のシステムパラメータの値が取得される。
【0045】
工程S618において、例えば、当該相関演算ユニット312により、各エンドポイントの新しい遅延データと各システムパラメータの値との相関性(または相関値)が演算される。
【0046】
工程S620において、疑わしいエンドポイントの当該第1のグループ内の当該エンドポイントが、1つ以上のパラメータとのそれぞれの相関値によってフィルタリングされ、障害の原因である可能性がある疑わしいエンドポイントの第2のグループが生成される。当該フィルタリング処理は、当該相関演算ユニット312によって実行されても、別のフィルタリングユニットによって実行されてもよい。
【0047】
工程S622において、当該疑わしいエンドポイントが、さらなるデバッグ処理のため技術者に報告される。
【0048】
図7に、エンドポイントデータテーブル314の例を示す。
【0049】
この例において、エンドポイントEP1は時系列遅延値シーケンス[60ms、150ms、400ms、…]を有し、エンドポイントEP2は時系列遅延値シーケンス[1000ms、1300ms、780ms、…]を有することが分かる。
【0050】
図8に、再構成誤差分布テーブル316に格納されたエンドポイントの再構成誤差分布データの例を示す。
【0051】
この例において、当該再構成誤差分布データは、X軸に示す(対応する検証セットデータの)再構成誤差と、Y軸に示すそのそれぞれの量によって特定される。IQR値やp75値などの分散特性が適宜計算され、同様に当該再構成誤差分布テーブル316に格納される。
【0052】
【0053】
エンドポイントEP1の当該異常スコアは5.2である。つまり:(EP1の新しい遅延データの再構成誤差-EP1のp75)は、EP1のIQRの5.2倍である。
【0054】
エンドポイントEP2の当該異常スコアは0.7である。つまり:(EP2の新しい遅延データの再構成誤差-EP2のp75)は、EP2のIQRの0.7倍である。
【0055】
一部の実施態様において、異常スコア閾値を設定し、異常スコアが当該閾値よりも大きい場合、対応するエンドポイントが、障害の原因である/障害に関連する可能性がある、疑わしい閾値として分類されるようにしてもよい。当該異常スコア閾値は、実際の実践、実験、または経験に基づいて決定することができる。
【0056】
図10に、システムデータテーブル320の例を示す。
【0057】
この例では、パラメータ「CPU使用率」が監視され、時系列で[63%、75%、81%、・・・]となり、パラメータ「メモリ使用率」が監視され、時系列で[81%、83%、77%、・・・]となっている。このシステムは、データ提供プラットフォームのバックエンドサーバであってもよい。
【0058】
【0059】
相関値は、各エンドポイントの遅延値と、障害発生前の直近1時間における各システムパラメータの値で演算されてもよい。一部の実施態様において、相関閾値を設定し、相関値が当該閾値より大きい場合、対応するエンドポイントと対応するシステムパラメータに相関性があると判断することができる。
【0060】
エンドポイントによって遅延特性が異なるのは、例えば、エンドポイントが扱う値の尺度が異なるためである場合がある。あるエンドポイントの遅延データは、他のエンドポイントの遅延データよりもばらつきが大きい傾向がある。表現学習モデルなどの機械学習モデルは、異なるエンドポイントに対して性能が異なる場合がある。したがって、新しい遅延データ再構成誤差が大きいからといって、対応するエンドポイントがより異常である(あるいは、障害の原因であるエンドポイントの疑いがより高い)とは限らない。本発明で説明した再構成誤差分布データの分散特性に基づいて決定された異常スコアは、新しい遅延データ再構成誤差の絶対値を比較することによって生じるバイアス(あるいは誤判定)を排除することができる。
【0061】
図12に、本発明の一部の実施態様に基づく異常検出の例を示す。
【0062】
EP1とEP2の再構成誤差分布データから、EP2の方が再構成誤差が大きい傾向があることがわかる。再構成誤差分布データから演算された分散特性を再構成誤差分布データと合わせて示す。EP1の新しい遅延データの再構成誤差とEP2の新しい遅延データの再構成誤差はともに60msと演算される。EP1の異常スコアは約5であり、EP2の異常スコアは約0.7と演算される。
【0063】
この例では、新しい遅延データ再構成誤差の絶対値はEP1とEP2について同じであるが、EP1は障害の原因としてEP2よりも疑わしいと考えられるであろう。
【0064】
一部の実施態様において、機械学習モデル304において時間的畳み込みネットワークオートエンコーダを利用することは、長・短期記憶(LSTM)やゲート付き回帰型ユニット(GRU)ネットワークと比較して、より速い処理(訓練または推論処理など)を実現し得る。一部の実施態様において、機械学習モデル304において時間的畳み込みネットワークオートエンコーダを利用することは、トランスフォーマーモデルと比較して、メカニズムまたはアルゴリズムがより軽くなる可能性がある。
【0065】
図13に、本発明の一部の実施態様に基づく例示的なデータのフローチャートを示す。ここでは、数十、数百または数千のエンドポイントなど、複数のエンドポイントを代表して、2つのエンドポイントが示されている。一部の実施態様において、
図13に示すデータフローは、機械学習モデルの訓練段階と呼ぶことができる。
【0066】
図13は
図4と類似しているが、各エンドポイントに対応する機械学習モデルが1つであることが異なる。各機械学習モデルは、オートエンコーダモデルなどの表現学習モデルであってもよい。
図13に示すように、当該機械学習モデルML1は、エンドポイントEP1の遅延データのトレーニング部分により訓練される。そして、当該機械学習モデルML1は、エンドポイントEP1の遅延データの検証部分を入力として、対応する再構成誤差分布データを出力する。エンドポイントEP2についても同様である。その後、当該特徴演算ユニット306は、各エンドポイントの再構成誤差分布データについて、IQR値およびp75値を演算する。IQR値およびp75値は、再構成誤差分布テーブル316に格納される。
【0067】
本実施態様において、あるエンドポイントの再構成誤差分布データの生成は、他のエンドポイントの遅延データとは無関係である。
【0068】
図14に、本発明の一部の実施態様に基づく例示的なデータのフローチャートを示す。ここでは、数十、数百または数千のエンドポイントなど、複数のエンドポイントを代表して、2つのエンドポイントが示されている。一部の実施態様において、
図13に示すデータフローは、機械学習モデルの推論段階と呼ぶことができる。
【0069】
図14は
図5と類似しているが、各エンドポイントに対応する機械学習モデルが1つであることが異なる。各機械学習モデルは、オートエンコーダモデルなどの表現学習モデルであってもよい。
図14に示すように、当該機械学習モデルML1は、エンドポイントEP1の新しい遅延データを入力として、対応する再構成誤差を出力する。そして、当該機械学習モデルML2はエンドポイントEP2の新しい遅延データを入力として、対応する再構成誤差を出力する。以降のフローは、
図5と同様である。
【0070】
本実施態様において、あるエンドポイントの新しい遅延データに対する再構成誤差の生成は、他のエンドポイントの新しい遅延データとは無関係である。したがって、あるエンドポイントの異常スコアは、他のエンドポイントの遅延データ(または新しい遅延データ)とは無関係である。
【0071】
図13と
図14に示す実施態様において、当該データ提供システムに新たに含まれる新しいエンドポイントがある場合、各エンドポイントについて訓練済みの機械学習モデルは影響を受けず、何らかの障害が発生した場合、異常スコアを生成するために依然として使用され得る。
【0072】
一部の実施態様において、当該機械学習モデルに入力する前に、エンドポイントの遅延データに対して実行される前処理が存在してもよい。例えば、当該機械学習モデルの学習性能をさらに高めるために、正規化変換処理が実行されてもよい。
【0073】
一部の実施態様において、再構成誤差を生成するために使用される新しい遅延データのデータ長は、機械学習モデルの訓練段階における遅延データのトレーニングセットの単位データ長と同じである。一部の実施態様において、再構成誤差を生成するために使用される新しい遅延データのデータ長は、再構成誤差分布データについて各再構成誤差を生成するために使用される遅延データの検証セットの単位データ長と同じである。一部の実施態様において、当該データ長は、例えば、1時間内における遅延サンプルの量であってもよい。
【0074】
本発明で説明した処理及び手順は、明示的に説明したものに加えて、ソフトウェア、ハードウェア、またはそれらの任意の組み合わせにより実現することができる。例えば、本明細書で説明した処理および手順は、その処理および手順に対応するロジックを集積回路、揮発性メモリ、不揮発性メモリ、非一時的なコンピュータ可読媒体、磁気ディスクなどの媒体に実装することにより実現することができる。さらに、本明細書に記載された処理および手順は、その処理および手順に対応するコンピュータプログラムとして実現することができ、各種のコンピュータにより実行することができる。
【0075】
さらに、上記実施態様で説明したシステムまたは方法は、固体記憶装置、光ディスク記憶装置、磁気ディスク記憶装置などの非一時的なコンピュータ可読媒体に格納されたプログラムに統合されてもよい。あるいは、プログラムは、インターネットを介してサーバからダウンロードされ、プロセッサにより実行されるものとしてもよい。
【0076】
以上、本発明の技術的内容及び特徴を説明したが、本発明の属する技術分野において通常の知識を有する者であれば、本発明の教示及び開示から逸脱することなく、なお多くの変形及び修正を行うことができる。したがって、本発明の範囲は、既に開示された実施態様に限定されず、本発明から逸脱しない別の変形や修正を含む、特許請求の範囲に含まれる範囲である。
【符号の説明】
【0077】
1 通信システム
10 ユーザ端末
30 バックエンドサーバ
40 ストリーミングサーバ
90 ネットワーク
200 エンドポイントデータベース
300 サーバ
302 エンドポイントモニター
304 機械学習モデル
306 特徴演算ユニット
308 異常スコア生成ユニット
310 システムモニター
312 相関演算ユニット
314 エンドポイントデータテーブル
316 再構成誤差分布テーブル
318 異常スコアテーブル
320 システムデータテーブル
322 相関関係テーブル
EP1、EP2、EP3 エンドポイント
S600、S602、S604、S606 S608、S610、S612 工程
S614、S616、S618、S620、S622 工程