(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-07-03
(45)【発行日】2024-07-11
(54)【発明の名称】複雑な物理的機器からのログの解析のための手法
(51)【国際特許分類】
G06F 11/34 20060101AFI20240704BHJP
【FI】
G06F11/34 176
(21)【出願番号】P 2022552777
(86)(22)【出願日】2021-03-03
(86)【国際出願番号】 US2021020750
(87)【国際公開番号】W WO2021178594
(87)【国際公開日】2021-09-10
【審査請求日】2022-11-17
(32)【優先日】2020-03-05
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】508147326
【氏名又は名称】シーメンス・ヘルスケア・ダイアグノスティックス・インコーポレイテッド
(74)【代理人】
【識別番号】100127926
【氏名又は名称】結田 純次
(74)【代理人】
【識別番号】100140132
【氏名又は名称】竹林 則幸
(72)【発明者】
【氏名】デュミットリィ・フラッドキン
(72)【発明者】
【氏名】タグバ・クラーチオグル
(72)【発明者】
【氏名】オラディメジ・ファリ
【審査官】渡辺 順哉
(56)【参考文献】
【文献】国際公開第2011/111599(WO,A1)
【文献】特開2017-167880(JP,A)
【文献】特開2017-068748(JP,A)
【文献】特開2014-035749(JP,A)
【文献】特表2018-530803(JP,A)
【文献】特開2019-053763(JP,A)
【文献】特表2019-523409(JP,A)
【文献】米国特許出願公開第2011/0185234(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 11/07-11/36
G06F 18/23
(57)【特許請求の範囲】
【請求項1】
物理的機器によって生成されたログファイルを解析するためのコンピュータ実施方法であって:
物理的機器の1つまたはそれ以上の構成要素によって生成された1つまたはそれ以上のログファイルを受信することであって、各ログファイルは1つまたはそれ以上のログエントリを含むことと;
各ログファイルから、ログエントリの固定部分を表す複数のテンプレートを抽出することと;
ログファイル内のログエントリを複数のインスタンスにグループ化することであって、各インスタンスは、ログエントリにおけるデータを表す1つまたはそれ以上の次元に沿った複数の部分のうちの1つに対応することと;
インスタンスに含まれるテンプレートのセットを表す各インスタンスの表現を作成することと;
インスタンスの表現にクラスタリングプロセスを適用することによって複数のクラスタを生成することと;
グラフィカルユーザインタフェース(GUI)において、クラスタおよびインスタンスの視覚表現を作成することと
;
テンプレートおよびクラスタの組合せごとに、テンプレートがクラスタ内でどの程度一般的であるかを表す重要度値を計算することと;
クラスタがGUIにおいてユーザによって選択されたとき、クラスタの重要度値を表示すること、を含み、
テンプレートおよびクラスタの重要度値は、テンプレートがクラスタ内にある第1の確率と、テンプレートが、ログファイルから抽出された複数のテンプレートにおける1つまたはそれ以上の他のテンプレート内にある第2の確率との差である、
前記方法。
【請求項2】
クラスタおよびインスタンスの視覚表現は、クラスタのプロットであり、該プロットはインスタンスを列挙するx軸を有する、請求項1に記載の方法。
【請求項3】
プロットは、時間値を列挙するy軸を有する、請求項2に記載の方法。
【請求項4】
グラフィカルユーザインタフェース内のクラスタのうちの1つが選択されたとき、クラスタに対応するログエントリのうちの1つまたはそれ以上を表示すること:
をさらに含む、請求項1に記載の方法。
【請求項5】
複数の部分は、ログエントリの生成に関連付けられた物理的機器の実行サイクルを表す時間次元を含む、請求項1に記載の方法。
【請求項6】
複数の部分は、ログエントリの生成に関連付けられた物理的機器内のロケーションを表す空間次元を含む、請求項1に記載の方法。
【請求項7】
複数の部分は、ログエントリの生成に関連付けられたジョブを表すジョブ次元を含む、請求項1に記載の方法。
【請求項8】
複数の部分は、ログエントリの生成に関連付けられたタスクを表すタスク次元を含む、請求項1に記載の方法。
【請求項9】
各インスタンスの表現は、テンプレートごとの要素を含むベクトルであり、該ベクトルの各要素は、特定のタイプのテンプレートのカウントまたはカウントの関数を記憶する、請求項1に記載の方法。
【請求項10】
クラスタリングプロセスは:
クラスタリストを作成することと;
複数のインスタンスのうちの第1のインスタンスを第1のクラスタのプロトタイプとして宣言することと;
第1のクラスタをクラスタリストに追加することと;
複数のインスタンスにおける各追加のインスタンスについて、
クラスタリスト内のクラスタに対する追加のインスタンスの類似度測定値を計算することと、
類似度測定値について最高値を有するクラスタリスト内の特定のクラスタを識別することと、
最高値が所定の閾値よりも大きい場合、追加のインスタンスを特定のクラスタに追加することと、
最高値が所定の閾値以下である場合、クラスタリスト内に新たなクラスタを作成し、追加のインスタンスを新たなクラスタに追加することと、
を含む、請求項1に記載の方法。
【請求項11】
類似度測定値はジャッカード類似度である、請求項
10に記載の方法。
【請求項12】
物理的機器の1つまたはそれ以上の構成要素は、免疫測定法および臨床化学分析器システムの一部であり、各インスタンスは試験試料に対応する、請求項1に記載の方法。
【請求項13】
物理的機器によって生成されたログファイルを解析するための製造物であって、方法を実行するためのコンピュータ実行可能命令を保持する非一時的有形コンピュータ可読媒体を含み、該方法は:
物理的機器の1つまたはそれ以上の構成要素によって生成された1つまたはそれ以上のログファイルを受信することであって、各ログファイルは1つまたはそれ以上のログエントリを含むことと;
各ログファイルから、ログエントリの固定部分を表す複数のテンプレートを抽出するこ
とと;
ログファイル内のログエントリを複数のインスタンスにグループ化することであって、各インスタンスは、ログエントリにおけるデータを表す複数の次元のうちの1つに対応することと;
インスタンスに含まれるテンプレートのセットを表す各インスタンスの表現を作成することと;
インスタンスの表現にクラスタリングプロセスを適用することによって複数のクラスタを生成することと;
GUIにおいて、クラスタおよびインスタンスの視覚表現を作成することと
;
テンプレートおよびクラスタの組合せごとに、テンプレートがクラスタ内でどの程度一般的であるかを表す重要度値を計算することと;
クラスタがGUIにおいてユーザによって選択されたとき、クラスタの重要度値を表示すること、を含み、
テンプレートおよびクラスタの重要度値は、テンプレートがクラスタ内にある第1の確率と、テンプレートが、ログファイルから抽出された複数のテンプレートにおける1つまたはそれ以上の他のテンプレート内にある第2の確率との差である、
前記製造物。
【請求項14】
クラスタおよびインスタンスの視覚表現は、クラスタのプロットであり、該プロットはインスタンスを列挙するx軸を有する、請求項
13に記載の製造物。
【請求項15】
方法は:
グラフィカルユーザインタフェース内のクラスタのうちの1つが選択されたとき、クラスタに対応するログエントリのうちの1つまたはそれ以上を表示することをさらに含む、請求項
13に記載の製造物。
【請求項16】
物理的機器によって生成されたログファイルを解析するための製造物であって、方法を実行するためのコンピュータ実行可能命令を保持する非一時的有形コンピュータ可読媒体を含み、該方法は:
物理的機器の1つまたはそれ以上の構成要素によって生成された1つまたはそれ以上のログファイルを受信することであって、各ログファイルは1つまたはそれ以上のログエントリを含むことと;
各ログファイルから、ログエントリの固定部分を表す複数のテンプレートを抽出することと;
ログファイル内のログエントリを複数のインスタンスにグループ化することであって、各インスタンスは、ログエントリにおけるデータを表す複数の次元のうちの1つに対応することと;
インスタンスに含まれるテンプレートのセットを表す各インスタンスの表現を作成することと;
インスタンスの表現にクラスタリングプロセスを適用することによって複数のクラスタを生成することと;
GUIにおいて、クラスタおよびインスタンスの視覚表現を作成すること、を含み、
クラスタおよびインスタンスの視覚表現は、クラスタのプロットであり、該プロットはインスタンスを列挙するx軸を有する、
前記製造物。
【請求項17】
物理的機器によって生成されたログファイルを解析するための製造物であって、方法を実行するためのコンピュータ実行可能命令を保持する非一時的有形コンピュータ可読媒体を含み、該方法は:
物理的機器の1つまたはそれ以上の構成要素によって生成された1つまたはそれ以上の
ログファイルを受信することであって、各ログファイルは1つまたはそれ以上のログエントリを含むことと;
各ログファイルから、ログエントリの固定部分を表す複数のテンプレートを抽出することと;
ログファイル内のログエントリを複数のインスタンスにグループ化することであって、各インスタンスは、ログエントリにおけるデータを表す複数の次元のうちの1つに対応することと;
インスタンスに含まれるテンプレートのセットを表す各インスタンスの表現を作成することと;
インスタンスの表現にクラスタリングプロセスを適用することによって複数のクラスタを生成することと;
GUIにおいて、クラスタおよびインスタンスの視覚表現を作成することと;
グラフィカルユーザインタフェース内のクラスタのうちの1つが選択されたとき、クラスタに対応するログエントリのうちの1つまたはそれ以上を表示すること、
を含む、前記製造物。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本出願は、2020年3月5日に出願された「AN APPROACH FOR ANALYSIS OF LOGS FROM A COMPLEX PHYSICAL EQUIPMENT」と題する米国仮特許出願第62/985,615号の利益を主張する。この仮特許出願の開示は、参照によってその全体が全ての目的で本明細書に組み入れられる。
【0002】
本発明は、一般に、複雑な物理的機器によって生成されたログファイルの解析に関するシステム、方法および装置に関する。本明細書に記載の技法は、例えば、免疫測定法および化学分析器によって生成されるログエントリの解析に適用することができる。
【背景技術】
【0003】
製造およびヘルスケアを含む多くの領域における技術開発が急速なペースで続いている。これらの領域で動作するシステムは、複数の構成をサポートし、最小限の人間の介入で多岐にわたるタスクを実行することが可能な高性能のマシンを、ますます用いている。例えば、免疫測定法および臨床化学分析を実行するためのシステムは、通常、各々が自律的にまたはほぼ自律的にタスクを実行する複数の多様なコンピューティングデバイスを有する。
【0004】
複雑なシステムの動作中、その構成要素は、本明細書において、「ログデータ」または単に「ログ」と呼ばれるテキストファイルまたはバイナリファイルの形態のデータを生成する。これらのログは、機器によって実行されるソフトウェア内のプリントステートメントによって生成される。ログ内のデータは、機器がどのように動作しているかを理解するのに有用な情報を含む。例えば、ログは、いくつかのメッセージが受信もしくは生成されたときのインジケーション、センサ測定値、受信したコマンドおよび実行された動作のシーケンス、所与の時点における変数の値、またはエラーが生じたときのシステムメモリのコンテンツを表すスタックトレースを含むことができる。
【0005】
複雑なシステムは、入り組んだタスクを迅速に実行することが可能であるが、システムの複雑さにより、任意の課題を解決することが困難になる。従来、顧客はまず、システムに関与する問題を検出し、その問題を、システムの維持の任務を負う会社または組織に報告する。次に、領域専門家(サポートエンジニア等)がデータを手作業でレビューしなくてはならない。様々な要因に依拠して、問題の初期症状とその解決との間の時間が長くなり得る。解決速度は、サポートエンジニアの経験および問題の複雑さに依拠する。このトラブルシューティングプロセスは時間と労力がかかる。
【発明の概要】
【発明が解決しようとする課題】
【0006】
本発明の実施形態は、動作を最適化し、問題を検出および診断するための、複雑な物理的機器からのログデータの自動解析に関する方法、システムおよび装置を提供することによって、上記の短所および欠点のうちの1つまたはそれ以上に対処し、克服する。この解析は、機器を用いて問題を迅速に識別する際に領域専門家をサポートすることができるか、または自律的または半自律的トラブルシューティングおよび修復手順に用いることができる。
【課題を解決するための手段】
【0007】
いくつかの実施形態によれば、複雑な物理的機器によって生成されたログファイルを解析するためのコンピュータ実施方法が、物理的機器の1つまたはそれ以上の構成要素によって生成された1つまたはそれ以上のログファイルを受信することを含む。ログファイルの各々は、1つまたはそれ以上のログエントリを含む。各ログファイルから、ログエントリの固定部分を表す複数のテンプレートが抽出される。ログエントリは、ログファイルにおいて複数のインスタンスにグループ化される。各インスタンスは、ログエントリにおけるデータを表す1つまたはそれ以上の次元に沿った複数の部分のうちの1つに対応する。インスタンスに含まれるテンプレートのセットを表す各インスタンスの表現が作成される。インスタンスの表現にクラスタリングプロセスを適用することによって複数のクラスタが生成される。次に、グラフィカルユーザインタフェース(GUI)において、クラスタおよびインスタンスの視覚表現を作成することができる。
【0008】
他の実施形態では、複雑な物理的機器によって生成されたログファイルを解析するための製造物が、上記の方法を実行するためのコンピュータ実行可能命令を保持する非一時的有形コンピュータ可読媒体を含む。
【0009】
他の実施形態によれば、複雑な物理的機器によって生成されたログファイルを解析するためのシステムが、非一時的有形コンピュータ可読媒体と、1つまたはそれ以上のプロセッサと、ディスプレイとを含む。コンピュータ可読媒体は、物理的機器の1つまたはそれ以上の構成要素によって生成された1つまたはそれ以上のログファイルを保持する。各ログファイルは、1つまたはそれ以上のログエントリを含む。プロセッサは、各ログファイルから、ログエントリの固定部分を表す複数のテンプレートを抽出し、ログファイル内のログエントリを複数のインスタンスにグループ化するように構成される。各インスタンスは、ログエントリにおけるデータを表す複数の次元のうちの1つに対応する。プロセッサは、インスタンスに含まれるテンプレートのセットを表す各インスタンスの表現を作成し、インスタンスの表現にクラスタリングプロセスを適用することによって複数のクラスタを生成するようにさらに構成される。ディスプレイは、GUIにおいて、クラスタおよびインスタンスの視覚表現を提示する。
【0010】
本発明のさらなる構成および利点は、添付図面を参照して進行する、以下の例示的な実施形態の詳細な説明から明らかとなろう。
【0011】
本発明の上記態様および他の態様は、添付図面と併せて読むと、以下の詳細な説明から最もよく理解される。本発明を例示するために、現時点で好ましい実施形態が図示されているが、本発明は開示されている特定の手段に限定されないことを理解されたい。図面には以下の図が含まれる。
【図面の簡単な説明】
【0012】
【
図1】いくつかの実施形態による、ログデータの自動解析のためのシステムを示す。
【
図2】本発明の異なる実施形態において適用することができるログ解析のための方法を示す。
【
図3】ジャッカード類似度を用いたワンパスクラスタリングを実行する例示的な方法を示す。
【
図4】本明細書において論じられる解析のために用いることができる例示的なグラフィカルユーザインタフェース(GUI)を示す。
【
図5】いくつかの実施形態において表示することができる試料特徴量重要度プロットを示す。
【
図6】本発明の実施形態を実施することができる例示的なコンピューティング環境を示す。
【発明を実施するための形態】
【0013】
本発明は、包括的には、動作を最適化し、問題を検出および診断するための、複雑な物理的機器からのログデータの自動解析に関する方法、システムおよび装置に関する。
【0014】
図1は、いくつかの実施形態による、ログデータの自動解析のためのシステム100を示す。この例において、構成要素105、110、115の群は、協働で、免疫測定法および臨床化学分析器システム120として動作する。当該技術分野において一般的に理解されているように、免疫測定法および臨床化学分析器システム120は、生体試料に対する試験を実行するために連続して動作する複数のコンピューティングデバイスを含む。免疫測定法および臨床化学分析器システム120は、本明細書に記載のログ解析技法を適用することができる複雑な物理的機器の1つの例であることを理解されたい。通常、これらの技法は、ログ解析データが生成される任意のタイプの複雑な物理的機器に適用することができる。
【0015】
免疫測定法および臨床化学分析器システム120は、ネットワーク135を介してログファイルをログ処理コンピュータ125に転送する。このネットワーク135は、例えば、ローカルエリアネットワークまたはインターネットとすることができる。
図1において、様々なデバイスをネットワーク135に連結する線が用いられているが、ネットワーク135は、有線または無線方式で動作し得ることを理解されたい。当該技術分野において一般的に既知の任意の技法を用いて、ネットワーク135を介したデータの転送を促進することができる。データ転送は、例えば、スケジューリングされた間隔で(例えば、毎時、毎晩等)、リアルタイムで(すなわち、ログファイルが生成される際に)、またはユーザからの要求時に行うことができる。
【0016】
ログ処理コンピュータ125は、構成要素105、110および115によって生成されたログファイルを記憶する。
図1には集中型のログ記憶装置が示されているが、他の実施形態では、異なる記憶アーキテクチャを利用することができることに留意されたい。例えば、1つの実施形態では、各構成要素105、110および115は、自身のログファイルを、それぞれのユニット内にローカルで記憶する。他の実施形態では、免疫測定法および臨床化学分析器システム120は、構成要素105、110および115のそれぞれによって生成されたログファイルを記憶するローカル記憶機構を含む。ログ処理コンピュータ125は、
図2および
図3を参照して以下に説明する技法を用いて各ログファイルを解析する。この解析に基づいて、解析結果を表示するための1つまたはそれ以上のグラフィカルユーザインタフェース(GUI)が生成される。次に、これらのGUIを、(
図1におけるような)ログ処理コンピュータ125に直接接続された、またはネットワーク135を介してログ処理コンピュータ125に間接的に接続されたユーザコンピュータ130上に表示することができる。
【0017】
各ログファイルは、1つまたはそれ以上のログエントリを含む。本明細書に記載の技法は、各ログエントリがコンテンツ(すなわち、メッセージ)およびタイムスタンプを有すると仮定する。メッセージは、通常、構成要素105、110または115によって自動的に生成され、プログラムからのプリントステートメントに見られるように、固定部分(テンプレート)およびパラメータを含む。エントリの1つの例は以下の通りである:”Numberof Tips Available: 17 NumberofTipsComitted: 0”ここで、「17」および「0」はパラメータであり、残りはテンプレートである。
【0018】
免疫測定法および臨床化学分析器システム120のソースコードに完全なアクセスを有する場合、出力ステートメントおよびその形式を識別し、ログエントリのいずれの部分がテンプレートであり、いずれがパラメータであるかを厳密に知ることができるであろう。上記のメッセージは、print(”Number of Tips Available: {} NumberofTipsComitted: {}”.format(17.0))と同様のコードによって生成される可能性が高い。しかしながら、ソースコードへのアクセスを有することは稀にしか可能でなく、このため、自動的にログを編成し、テンプレートおよびパラメータを抽出する必要がある。
【0019】
免疫測定法および臨床化学分析器システム120のいくらかの領域知識を与えられると、ログを自動的にパースして、メッセージ、ならびにインスタンスの開始および終了をマーキングするパラメータを識別することができる。例えば、領域知識は、メッセージ「Starting cycle 364」がサイクルの開始をマーキングすること、またはメッセージ「OnEventSampleArrived(). SampleUID: 13514」が、id 13514を有するジョブの開始をマーキングすることを指定する場合がある。これは、(下記の)特定のインスタンスに属するメッセージを選択するのに十分である。さらに、当該技術分野において一般的に既知のテンプレート抽出方法を用いて、各メッセージをテンプレートにマッチングし、そのパラメータを識別することができる。例示的なテンプレート抽出方法は、He、Pinjia、Jieming Zhu、Zibin ZhengおよびMichael R. Lyu.「Drain: An online log parsing approach with fixed depth tree.」In 2017 IEEE International Conference on Web Services (ICWS)、 pp. 33-40. IEEE、 2017ならびにJieming Zhu、Shilin He、Jinyang Liu、Pinjia He、Qi Xie、Zibin Zheng、Michael R. Lyu. Tools and Benchmarks for Automated Log Parsing. International Conference on Software Engineering (ICSE)、2019に記載されている。
【0020】
ログファイルは、時間次元、空間次元およびジョブまたはタスクベースの次元を含むいくつかの次元に沿って編成することができる。各次元は、解析のために、ログエントリを、本明細書において「インスタンス」と呼ばれる単一のデータ点にグループ化することを可能にする。ログファイルに関連付けられた様々なインスタンスを検討することにより、データエントリ内に提供される最も有用な情報の抽出が可能になる。インスタンスは互いに独立していないことを理解されたい。例えば、いくつかの実施形態では、解析は、異なるサイクル、ロケーションまたはジョブ間の依存性を検討することができる。
【0021】
ログファイルの時間次元は、データがいつ生成されたか、または他の場合、どの時間が特定のコンテンツアイテムに関連しているかを表す。例えば、ログは、アクティビティのスケジューリングユニットであるサイクルに編成することができる。システムは、まずスケジューリングを行い、次に、特定のサイクルにおける或る数の動作の実行を試みる。サイクル識別子(id)の値は、少なくともいくつかのメッセージに見ることができ、サイクルの開始/終了/ステータスを抽出することができる。このため、解析のために、単一のサイクルに対応するログのシーケンスを単一のインスタンスとして扱うことが可能である。空間次元は、データがどこで生成されるか、またはデータがどの構成要素もしくは機能を参照しているかを表す。システムは、大まかに、システム内の異なるロケーションとして考えることができる複数の別々の動作/機能を実行することができる。したがって、これらの「ロケーション」の各々を、別個のインスタンスとみなすことが可能である。最後に、ジョブまたはタスク次元は、ログエントリがどの機能を参照しているかを表す。システムは、1つまたはそれ以上のタスクを含む特定のジョブを与えられる。マシンが実行することができる個々のタスクの数は制限されているが、ジョブは、タスクと異なる入力との異なる組合せを含むことができる。別個のタスクは、システム内の別々のロケーションにも対応することができることにも留意されたい。
【0022】
図2は、本発明の異なる実施形態において適用することができるログ解析のための方法200を示す。この方法は、例えば、ログ処理コンピュータ125によって、または
図1に示す構成要素105、110および115のうちの1つの中で実行することができる。
【0023】
ステップ205から開始して、テンプレートは、システム構成要素から受信される1つまたはそれ以上のログメッセージから抽出される。上記で説明したように、各テンプレートは、インスタンスの開始および終了をマーキングするメッセージおよびパラメータを含む。抽出プロセスは、サンプリングおよび領域知識の組合せに基づいて導出することができる。より詳細には、長期間のログファイルは、領域専門家によって考察することができ、次に、専門家は、ログファイルがどのようにフォーマット設定されているかを示すことができる。例えば、1つの実施形態において、ログファイルは、数週間または数カ月の期間にわたって収集される。次に、単純なテキスト処理を適用し、ログファイル内の一意の行を識別することができる。行の一意性は、全ての文字、またはサブセットのみ(例えば、最初のn文字または最後のn文字、ここでnはユーザが定義したパラメータである)に基づくことができる。次に、領域専門家は、いずれの文字が固定またはテンプレート部分であるか、およびいずれがパラメータに対応するかを示すことができる。当該技術分野において一般的に既知のテンプレート抽出方法をステップ205において利用することもできる。
【0024】
抽出されたテンプレートを用いて、ステップ210において、ログが解析され、インスタンスにグループ化される。上述したように、これらのインスタンスは、空間的であるか、時間的であるか、またはタスクもしくはジョブに基づくものである。このため、パラメータの解析によって、ログエントリを、特定のインスタンスに属するものとして指定することができる。ログエントリとインスタンス指定との対応性を、様々な技法を用いて達成することができる。1つの実施形態において、ログエントリのセットについてベクトルが生成される。ベクトルは、セット内の各ログエントリを計上する。例えば、ログエントリをパースし、テンプレートidにマッピングすることができる。次に、ベクトルは、このテンプレートに対応するカウンタをインクリメントさせる。このようにして、ベクトルを、テンプレートのバッグ(Bag of Templates)として考えることができる。いくつかの実施形態では、ステップ210において、ログエントリのさらなるフィルタリングまたは強化を行うことができる。例えば、各次元のカウントは、ログまたは他の機能を用いて変換することができるか、またはログエントリは、テンプレートマッピング以外の方式でグループ化することができる。
【0025】
ステップ215において、各インスタンスは、そのメッセージのテンプレートのセットによって表される。この結果、テキスト解析において用いられる「単語のバッグ(bag-of-words)」表現に類似した「テンプレートのバッグ」表現が生じる。当該技術分野において一般的に理解されるように、単語のバッグは、センテンスまたは文書等のテキスト内で単語がどの程度頻繁に生じるかを表すモデルである。通常の実施態様において、テキストは固定長のベクトルに変換され、ここで、ベクトル内の各エントリは、単語の所定の辞書内の単語に対応する。フィールド内に記憶される数は、テキスト内で単語がどの程度頻繁に生じるかを表す。
【0026】
ステップ220において、1つまたはそれ以上のクラスタリング解析がインスタンスに対し実行される。クラスタリングのために様々な技法を用いることができる。これらの技法は、直接、またはscikit-learn等の標準的なツールキットを通じて実施することができる。
図3は、ジャッカード類似度を用いたワンパスクラスタリングを実行する例示的な方法300を示す。当該技術分野において一般的に理解されるように、セットのジャッカード類似度は、セットの和集合のサイズに対する積集合のサイズの比率である。ステップ305において、空のクラスタリストが作成される。次に、ステップ310において、第1のインスタンスが新たなクラスタのプロトタイプとして宣言され、このインスタンスがクラスタリストに加えられる。次に、他のインスタンスにおけるインスタンスlについてステップ315~330が実行される。ステップ315から開始して、コンピューティングシステムは、lと既存のクラスタの各々とのジャッカード類似度を計算する。ステップ320において、最も高い類似度sを有するクラスタl
sが選択される。ステップ324において、「s」の値が所定の閾値よりも大きい場合、lがクラスタl
sに加えられる。ステップ330において、sの値が閾値以下である場合、lについて新たなクラスタが作成され、このクラスタがクラスタリストに加えられる。
【0027】
図2に戻ると、本明細書において「重要度値」と呼ばれるクラスタ確率値が、ステップ225において各テンプレートについて計算される。より詳細には、任意のテンプレートkおよびクラスタjについて、このクラスタ内でテンプレートを見る確率、およびこのテンプレートが任意の他のクラスタ内にある確率が計算される。これらの値の間の差異は、クラスタj内のテンプレートkの重要度である。値が0に近づく場合、テンプレートはクラスタ内において外側と同じだけ一般的である。この値が高い場合、テンプレートは、クラスタ内において外側よりもはるかにより一般的であり、低い場合、外側においてはるかにより一般的である。重要度測定値は、クラスタがテンプレートの観点で表されることを可能にし、エンドユーザがクラスタリング結果を自身の領域知識と連結するのに役立つ。特に、大量のインスタンス、したがって最大クラスタが正常動作に対応する場合、いくつかのより小さなクラスタは異常インスタンスからなり、テンプレートの観点からのそれらの「シグネチャ」は、ユーザに異常の症状または原因を指し示す。
【0028】
他の実施形態では、
図2に示す方法200とは別のログ解析の異なる方法を適用することができる。例えば、いくつかの実施形態では、ステップ210からの表現に外れ値/異常検出方法を適用することができ、その後に、結果を解釈するための説明可能な方法の使用が続く。
【0029】
いくつかの実施形態では、視覚インタフェースを用いて、人間のユーザがログエントリについて生成されたクラスタリングおよび重要度値を理解するのを支援する。
図4は、本明細書において論じられる解析のために用いることができる例示的なGUIを示す。この例において、インスタンスは、プロット上の円形シンボルで示され、ここで、x軸はインスタンスの時間を示し、y軸はインスタンス識別子を示す。この場合、ログエントリは免疫測定法および臨床化学分析器システム(
図1を参照)に対応し、インスタンス識別子は試料識別子である。キー405に示すように、各シンボルは、特定の試料がいずれのクラスタに属するかを示す。代替的に、シンボルは、例えば、異常検出アルゴリズムの出力を反映することができる。ユーザは、選択されたインスタンスに焦点を当てるために、いくつかのクラスタを起動する(停止させる)ことができる。例えば、
図4において、ユーザは、0x04として指定され、図面におけるクラスタ3に属する、特定のインスタンスを選択した。インスタンスに関するさらなる詳細を与えるグラフィカル要素410が表示される。さらに、下部ディスプレイ415は、日付およびタイムスタンプ、対応するテンプレートの重要度値(すなわち、「重み」)、およびログメッセージ自体を含む、インスタンス内の各ログエントリに関する追加情報を提供する。このため、このGUIは、ユーザが異常なインスタンスを、それらが最初に現れたときに迅速に識別することを可能にする。ユーザは、
図5に示すもの等の特徴量重要度プロットをチェックすることによって、異常なインスタンスが、何により他のクラスタと異なっているかをチェックすることもできる。
【0030】
図6は、本発明の実施形態を実施することができる例示的なコンピューティング環境600を示す。例えば、いくつかの実施形態では、コンピューティング環境600は、
図1に示すログ処理コンピュータ125のために用いることができる。コンピューティング環境600は、本発明の実施形態を実施することができるコンピューティングシステムの1つの例であるコンピュータシステム610を含むことができる。コンピュータシステム610およびコンピューティング環境600等のコンピュータおよびコンピューティング環境は、当業者には既知であるため、ここでは簡潔に記載する。
【0031】
図6に示すように、コンピュータシステム610は、コンピュータシステム610内で情報を通信するために、バス621または他の通信機構等の通信機構を含むことができる。コンピュータシステム610は、情報を処理するために、バス621と連結された1つまたはそれ以上のプロセッサ620をさらに含む。プロセッサ620は、1つもしくはそれ以上の中央処理装置(CPU)、画像処理装置(GPU)、または当該技術分野において既知の任意の他のプロセッサを含むことができる。
【0032】
コンピュータシステム610は、バス621に連結され、情報およびプロセッサ620によって実行される命令を記憶する、システムメモリ630も含む。システムメモリ630は、リードオンリーメモリ(ROM)631および/またはランダムアクセスメモリ(RAM)632等の、揮発性および/または不揮発性メモリの形態のコンピュータ可読記憶媒体を含むことができる。システムメモリRAM632は、他のダイナミック記憶デバイス(例えば、ダイナミックRAM、スタティックRAM、およびシンクロナスDRAM)を含むことができる。システムメモリROM631は、他のスタティック記憶デバイス(例えば、プログラマブルROM、消去可能PROM、および電気的消去可能PROM)を含むことができる。加えて、システムメモリ630を用いて、プロセッサ620による命令の実行中の一時変数または他の中間情報を記憶することができる。例えば、起動中に、コンピュータシステム610内の要素間で情報を転送するのに役立つ基本的なルーチンを含む基本的な入出力システム(BIOS)633をROM631に記憶することができる。RAM632は、プロセッサ620によって即座にアクセス可能および/または現在動作中のデータおよび/またはプログラムモジュールを含むことができる。システムメモリ630は、例えば、オペレーティングシステム634、アプリケーションプログラム635、他のプログラムモジュール636、およびプログラムデータ637をさらに含むことができる。
【0033】
コンピュータシステム610は、ハードディスク641および取外し可能媒体ドライブ642(例えば、フロッピーディスクドライブ、コンパクトディスクドライブ、テープドライブ、および/またはソリッドステートドライブ)等の、情報および命令を記憶する1つまたはそれ以上の記憶デバイスを制御するために、バス621に連結されるディスク制御装置640も含む。適切なデバイスインタフェース(例えば、スモール・コンピュータ・システム・インタフェース(SCSI)、集積デバイス・エレクトロニクス(IDE)、ユニバーサルシリアルバス(USB)、またはFireWire)を用いて、記憶デバイスをコンピュータシステム610に追加することができる。
【0034】
コンピュータシステム610はまた、コンピュータのユーザに対して情報を表示するための、陰極線管(CRT)または液晶ディスプレイ(LCD)等のディスプレイ666を制御するために、バス621に連結されたディスプレイコントローラ665を含むことができる。コンピュータシステムは、入力インタフェース660と、コンピュータのユーザとインタラクトして、プロセッサ620に情報を提供するための、キーボード662およびポインティングデバイス661等の1つまたは複数の入力装置とを含む。ポインティングデバイス661は、例えば、プロセッサ620に対して方向情報およびコマンド選択を伝達して、ディスプレイ666上のカーソルの動きを制御する、マウス、トラックボール、またはポインティングスティックとすることができる。ディスプレイ666は、ポインティングデバイス661による方向情報およびコマンド選択の伝達を補うまたはそれに取って代わる入力を可能にするタッチスクリーンインタフェースを提供することができる。
【0035】
システムメモリ630等のメモリ内に含まれる1つまたはそれ以上の命令の1つまたはそれ以上のシーケンスをプロセッサ620が実行することに応答して、コンピュータシステム610は、本発明の実施形態の処理ステップの一部または全部を実行することができる。そのような命令は、ハードディスク641または取外し可能媒体ドライブ642等の別のコンピュータ可読媒体からシステムメモリ630内に読み込むことができる。ハードディスク641は、本発明の実施形態によって用いられる1つまたはそれ以上のデータストアおよびデータファイルを含むことができる。データストアコンテンツおよびデータファイルは、安全性向上のために暗号化することができる。プロセッサ620は、システムメモリ630に含まれる命令の1つまたはそれ以上のシーケンスを実行するために、多重処理構成で使用することができる。代替的な実施形態では、ソフトウェア命令の代わりにまたはソフトウェア命令と組み合わせて、ハードワイヤ有線回路を用いることができる。したがって、実施形態は、ハードウェア回路およびソフトウェアの任意の特定の組合せに限定されない。
【0036】
上述のように、コンピュータシステム610は、本発明の実施形態に従ってプログラムされた命令を保持して、データ構造、テーブル、レコード、または本明細書に記載されている他のデータを含む、少なくとも1つのコンピュータ可読媒体またはメモリを含むことができる。本明細書において用いられるとき、「コンピュータ可読媒体」という用語は、プロセッサ620に対して命令を与えて、実行させることに関与する任意の媒体を指す。コンピュータ可読媒体は、限定ではないが、不揮発性媒体、揮発性媒体、および伝送媒体を含む多くの形態をとることができる。不揮発性媒体の非限定的な例として、ハードディスク641または取外し可能媒体ドライブ642等の、光ディスク、ソリッドステートドライブ、磁気ディスク、および光磁気ディスクが挙げられる。揮発性媒体の非限定的な例として、システムメモリ630等のダイナミックメモリが挙げられる。伝送媒体の非限定的な例として、バス621を構築するワイヤを含む、同軸ケーブル、銅線、および光ファイバーが挙げられる。伝送媒体は、電波データ通信中および赤外線データ通信中に生じるような音波または光波の形態をとることもできる。
【0037】
コンピューティング環境600は、リモートコンピュータ680等の1つまたはそれ以上のリモートコンピュータとの論理的接続を用いてネットワーク環境で動作するコンピュータシステム610をさらに含むことができる。リモートコンピュータ680は、パーソナルコンピュータ(ラップトップまたはデスクトップ)、モバイルデバイス、サーバ、ルータ、ネットワークPC、ピアデバイスまたは他の一般的なネットワークノードとすることができ、典型的には、コンピュータシステム610に関して上述した要素の多くまたは全てを含む。ネットワーク環境内で用いられる場合、コンピュータシステム610は、インターネット等のネットワーク671を介した通信を確立するためのモデム672を含むことができる。モデム672は、ユーザネットワークインタフェース670を介して、または別の適切な機構を介してバス621に連結することができる。
【0038】
ネットワーク671は、当技術分野で一般的に知られている任意のネットワークまたはシステムとすることができ、インターネット、イントラネット、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、メトロポリタンネットワーク(MAN)、直接接続または一連の接続、携帯電話ネットワーク、またはコンピュータシステム610と他のコンピュータ(例えば、リモートコンピュータ680)との間の通信を促進することが可能な任意の他のネットワークもしくは媒体を含む。ネットワーク671は、有線、無線、またはそれらの組合せとすることができる。有線接続は、イーサネット、ユニバーサルシリアルバス(USB)、RJ-11または当技術分野で一般的に既知の任意の他の有線接続を用いて実施することができる。無線接続は、Wi-Fi、WiMAX、およびブルートゥース、赤外線、携帯電話ネットワーク、通信衛星、または当技術分野で一般的に既知の任意の他の無線接続方法を用いて実施することができる。さらに、いくつかのネットワークが、単独または互いに通信して、ネットワーク671における通信を促進することができる。
【0039】
本開示の実施形態は、ハードウェアおよびソフトウェアの任意の組合せによって実施することができる。さらに、本開示の実施形態は、例えば、コンピュータ可読の非一時的媒体を有する製造物(例えば、1つまたはそれ以上のコンピュータプログラム製品)に含めることができる。この媒体は、例えば、本開示の実施形態の機構を提供および促進するためのコンピュータ可読プログラムコードを内蔵している。この製造物は、コンピュータシステムの一部として含めることもできるし、または、別個に販売することもできる。
【0040】
本明細書には様々な態様および実施形態が開示されているが、当業者には、他の態様および実施形態が明らかとなろう。本明細書に開示された様々な態様および実施形態は、例示を目的としており、限定を意図したものではない。真の範囲および趣旨は、添付の特許請求の範囲に示されている。
【0041】
本明細書において用いられるとき、実行可能なアプリケーションは、オペレーティングシステム、コンテキストデータ収集システムまたは他の情報処理システムの機能等の、所定の機能を、例えばユーザコマンドまたは入力に応答して実施するように、プロセッサを条件付けるコードまたは機械可読命令を含む。実行可能手順は、コードまたは機械可読命令、サブルーチン、または1つもしくはそれ以上の特定のプロセスを実行するための実行可能なアプリケーションのコードまたは一部の他の別々のセクションのセグメントである。これらのプロセスは、入力データおよび/またはパラメータを受信すること、受信された入力データについて操作を実行すること、および/または受信された入力パラメータに応答して機能を実行すること、および結果として得られる出力データおよび/またはパラメータを提供することを含み得る。
【0042】
本明細書において用いられるとき、「グラフィカルユーザインタフェース(GUI)」という用語は、ディスプレイプロセッサによって生成されて、プロセッサまたは他のデバイスとのユーザインタラクションならびに関連するデータ収集および処理機能を可能にする、1つまたは複数の表示画像を含む。GUIは、実行可能手順または実行可能アプリケーションも含む。実行可能手順または実行可能アプリケーションは、GUI表示画像を表す信号を生成するために、ディスプレイプロセッサを条件付ける。これらの信号は、ユーザが見る画像を表示するディスプレイデバイスに供給される。プロセッサは、実行可能手順または実行可能アプリケーションの制御下で、入力デバイスから受信した信号に応答してGUI表示画像を操作する。このようにして、ユーザは、入力デバイスを用いて表示画像とインタラクトすることができ、プロセッサまたは他の装置とのユーザインタラクションが可能になる。
【0043】
本明細書に記載の機能およびプロセスのステップは、自動的に、またはユーザコマンドに応答して全体的もしくは部分的に実施することができる。自動的に実施される行為(ステップを含む)は、ユーザがその行為を直接的に始動させなくても、1つまたはそれ以上の実行可能命令またはデバイス動作に応答して実行される。
【0044】
図示したシステムおよびプロセスは排他的でない。本発明の原理に従って同一の目的を達成するため、他のシステム、プロセスおよびメニューを導出することができる。本発明は特定の実施形態を参照して説明されたが、本明細書で示し記載した実施形態および変形形態は例示を目的にしているにすぎないことを理解されたい。当業者であれば、現在の設計に対して、本発明の範囲から逸脱することなく、変更を行うことができる。本明細書に記載のように、様々なシステム、サブシステム、エージェント、マネージャーおよびプロセスは、ハードウェア構成要素、ソフトウェア構成要素、および/またはそれらの組合せを使用して実施することができる。請求項の要素はいずれも、「~するための手段」という語句を用いて明示的に記載されていない限り、米国特許法第112条(f)の規定に基づいて解釈されるべきではない。