JP2009527839A - 通信ネットワークのトランザクション監視のための方法及びシステム - Google Patents
通信ネットワークのトランザクション監視のための方法及びシステム Download PDFInfo
- Publication number
- JP2009527839A JP2009527839A JP2008555941A JP2008555941A JP2009527839A JP 2009527839 A JP2009527839 A JP 2009527839A JP 2008555941 A JP2008555941 A JP 2008555941A JP 2008555941 A JP2008555941 A JP 2008555941A JP 2009527839 A JP2009527839 A JP 2009527839A
- Authority
- JP
- Japan
- Prior art keywords
- message
- message type
- output
- input
- messages
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 54
- 238000012544 monitoring process Methods 0.000 title claims abstract description 12
- 238000004891 communication Methods 0.000 title description 5
- 230000001364 causal effect Effects 0.000 claims abstract description 52
- 238000000528 statistical test Methods 0.000 claims abstract description 26
- 238000012360 testing method Methods 0.000 claims description 39
- 230000006399 behavior Effects 0.000 claims description 17
- 238000004422 calculation algorithm Methods 0.000 claims description 12
- 238000007635 classification algorithm Methods 0.000 claims description 7
- 238000004590 computer program Methods 0.000 claims description 7
- 238000011156 evaluation Methods 0.000 claims description 6
- 230000006870 function Effects 0.000 claims description 5
- 238000004364 calculation method Methods 0.000 description 17
- 238000001514 detection method Methods 0.000 description 15
- 238000007726 management method Methods 0.000 description 14
- 238000004458 analytical method Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 10
- 230000008569 process Effects 0.000 description 5
- 239000011159 matrix material Substances 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000013480 data collection Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012806 monitoring device Methods 0.000 description 1
- 238000003012 network analysis Methods 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 238000002864 sequence alignment Methods 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/04—Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0852—Delays
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/18—Protocol analysers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Economics (AREA)
- Strategic Management (AREA)
- Entrepreneurship & Innovation (AREA)
- Operations Research (AREA)
- Physics & Mathematics (AREA)
- Signal Processing (AREA)
- Marketing (AREA)
- Development Economics (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- Game Theory and Decision Science (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Environmental & Geological Engineering (AREA)
- Educational Administration (AREA)
- Debugging And Monitoring (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本発明は、ネットワーク内でのメッセージ型を認知し識別する方法であって、その認知と識別は、ネットワーク内のメッセージに含まれる情報のみに基づく方法を提供する。一実施例において、本方法は、現在のメッセージを、以前に定義した一つあるいはそれ以上の数のメッセージ構造と比較するステップと、比較方法を適用し、現在のメッセージの構造が、以前に定義したメッセージ構造のいずれか一つに合致しているかどうかを推論するステップとを含んでいる。また、本発明は、計算ノードからのメッセージの入力又は出力の集合を分類し、このメッセージの集合を、類似のメッセージからなるサブセットに分割し、各サブセットのメッセージの構造の特徴付けを行う。さらに、本発明は、ネットワークの計算ノードに入力するメッセージ型と、ネットワークの計算ノードから出力するメッセージ型との間の因果関係を、一つあるいはそれ以上の数の統計試験を用いて推論する方法を提供する。さらに、本発明は、分散情報ネットワーク内のトランザクションを監視するシステムを提供する。本システムは、分類モジュールと相関モジュールを実行する収集サーバを含んでいる。管理サーバは、収集サーバからのデータを分析し、システム内のトランザクションの性能を求める。
Description
本発明は、通信ネットワークのトランザクション監視のための方法及びシステムに関するものである。
近年の企業規模で導入される典型的な技術を概観すると、その情報システムが分散化されているという特性と、そのシステムが様々な技術から成り立っているという様相を呈している。何十年という発展と革新を経た後、ERP、CRM、SCM、SRM、PLM等の最善のパッケージ化されたアプリケーションと、自社開発システムと、さらにレガシーアプリケーションがあり、各々は、それらを相互に接続する多くのインターフェースを備えていることが一般的になってきた。これらの分散した複雑な環境では、通常のトランザクションの処理は、多くのアプリケーションを介在し、技術的な境界を越えて動作するものとなり、これにより、企業にとっては、トランザクションの実行経路や、それらの論理的、技術的な相互依存性を理解することが不可能となることも多くなってきた。
トランザクションがどのように実行されるかに関する必要知識がないと、企業は、トランザクションを監視し、それらの隘路及び遅延並びに故障箇所を検出し解決する能力に著しい制約を受けることになる。
トランザクションがどのように実行されるかに関する必要知識がないと、企業は、トランザクションを監視し、それらの隘路及び遅延並びに故障箇所を検出し解決する能力に著しい制約を受けることになる。
従って、企業組織は、トランザクションの可視性とビジネス効率との間の直接的な相関を見る際に、自動化されたビジネストランザクションの可視性を向上させる要望が生じている。高いレベルの可視性を達成することにより、企業は、顧客サービスを改善し、トランザクションの効率と健全性を監視し、ビジネス論理を最適化し、さらに、企業自身が提起する問題に対して、効率的な解決策を実行することが可能となる。
クライン(Klein)他による米国特許公開2005/0192894は、あらかじめ定義されたトランザクション情報を用いて、トランザクションのインスタンス内のメッセージの組の間でテキストの相関関係を求めることにより、トランザクションのインスタンスを再構築する方法を開示している。
ブラックウェル(Blackwell)他による米国特許番号7,003,781は、分散データ処理システムを監視する方法及びシステムを開示している。生成されたアプリケーション・プログラム・インターフェース(API)コールを検査し、特定のAPIコールが、あらかじめ定められたAPIコールの基準を満たすかどうかを判定する。もし、特定のAPIコールが、あらかじめ定められたAPIコールの基準を満たしているならば、APIコールのコンテンツの一部を、ストアド・イベントとして格納する。ストアド・イベントを処理して、特定のビジネストランザクションに属するイベントなど、論理的な相関関係をもつイベントを特定する。格納されたAPIコールのコンテンツデータは、論理的な相関関係をもつイベントとして表示される。
アロン(Alon)他による米国特許公開20060015512は、多層計算機環境の中から、選択した層を監視する装置を開示している。本装置は、コンテキストエージェントと動的層拡張とを含んでいる。コンテキストエージェントは、選択した層に関連したものであり、他のコンテキストエージェントと結合されており、各コンテキストエージェントは、各層に対応したものとなっている。動的層拡張は、コンテキストエージェントと、少なくとも選択した層の要求入力ポートなどの、選択した層の特定のあらかじめ定められた点とに結合されている。動的層拡張は、選択した層を通過する要求トラフィックを監視し、監視される要求トラフィックには、隣接した層から要求入力ポートで受信した少なくとも一つの入力要求が含まれている。動的層拡張は、監視される要求トラフィックの中から個々の要求を識別し、コンテキストエージェントに少なくとも要求識別子を送る。また、コンテキストエージェントは、隣接した層のコンテキストエージェントから、入力要求の要求コンテキストに関する情報を受信する。コンテキストエージェントは、受信した要求識別子に従って、入力要求の要求コンテキストに関する情報を、入力要求に関連付ける。
以下の説明とクレームで用いられる用語を、それらの定義とともに以下に用語集としてまとめる。これらの用語のいくつかは、従来技術で公知ものであり、他のものは、新たに創り出したものである。
計算ノード
計算ノードとは、情報を受信及び/又は生成する、通信ネットワークのノードである。便宜上、計算ノードは、単に、“ノード”と呼ぶこととする。ノードの例としては、Webサーバ、データベースサーバ、待ち行列、仮想環境での仮想サーバ、サーバ内のプロセスがある。クラスタ、多重化システム、同一サーバ内の複数のインスタンスは、単一ノードとして考えるものとする。
計算ノードとは、情報を受信及び/又は生成する、通信ネットワークのノードである。便宜上、計算ノードは、単に、“ノード”と呼ぶこととする。ノードの例としては、Webサーバ、データベースサーバ、待ち行列、仮想環境での仮想サーバ、サーバ内のプロセスがある。クラスタ、多重化システム、同一サーバ内の複数のインスタンスは、単一ノードとして考えるものとする。
メッセージ
メッセージとは、アプリケーション層上で送られる情報の単位である。メッセージに関する情報は、三種類のものがある。すなわち、ネットワーク情報(TCP/IP)及びインスタンス情報並びにアプリケーション(アプリケーション層)情報である。
例:PCからWebサーバへの、Webページに対する要求を含むメッセージ。これは、メソッド“get”のHTTPメッセージである。銀行のデータベースへの“Update”メッセージを考える。このメッセージは、以下の構造を持つものと仮定する、すなわち、
型:更新(Update)。セッションID(SessionID):XXX。動作(Action):預け入れ(Deposit)/引き出し(Withdrew)。口座番号(AccountNum):XXX。金額(Amount):XXX。
メッセージとは、アプリケーション層上で送られる情報の単位である。メッセージに関する情報は、三種類のものがある。すなわち、ネットワーク情報(TCP/IP)及びインスタンス情報並びにアプリケーション(アプリケーション層)情報である。
例:PCからWebサーバへの、Webページに対する要求を含むメッセージ。これは、メソッド“get”のHTTPメッセージである。銀行のデータベースへの“Update”メッセージを考える。このメッセージは、以下の構造を持つものと仮定する、すなわち、
型:更新(Update)。セッションID(SessionID):XXX。動作(Action):預け入れ(Deposit)/引き出し(Withdrew)。口座番号(AccountNum):XXX。金額(Amount):XXX。
メッセージ型
ネットワーク内の特定の起点ノードから、特定の宛先ノードに送られる、二つあるいはそれ以上の数のメッセージが、同一の構造を有し、アプリケーションで同一の動作を起こす場合、これらのメッセージは同一の型として考える。
ネットワーク内の特定の起点ノードから、特定の宛先ノードに送られる、二つあるいはそれ以上の数のメッセージが、同一の構造を有し、アプリケーションで同一の動作を起こす場合、これらのメッセージは同一の型として考える。
入力メッセージ型と出力メッセージ型との間の直接的な因果関係
型Aのメッセージがその宛先ノードに到着することで、型Bのメッセージが、そのノードから生成される場合、型Aと型Bの二つのメッセージは因果関係を有している。
例:4つの条件(source)により承認された場合のみ実行する、“買い(Buy)”注文を考える。その場合、“買い”メッセージとの直接的な因果関係が、4つの全ての承認メッセージとの間に存在する。
型Aのメッセージがその宛先ノードに到着することで、型Bのメッセージが、そのノードから生成される場合、型Aと型Bの二つのメッセージは因果関係を有している。
例:4つの条件(source)により承認された場合のみ実行する、“買い(Buy)”注文を考える。その場合、“買い”メッセージとの直接的な因果関係が、4つの全ての承認メッセージとの間に存在する。
本発明は、その観点の一つにおいて、メッセージの構造に基づいて、以前に検出したメッセージの構造とメッセージとを比較することにより、メッセージの型の推論を試みる分類モジュールを提供する。以前に検出したメッセージの構造に基づいて、クラシファイアにより定義されたメッセージ構造と、現在のメッセージの構造とを比較する高速検出モジュールに、メッセージを入力する。高速検出モジュールは、一つあるいはそれ以上の数の統計試験を適用し、現在のメッセージの構造が、以前に検出されたメッセージの構造のいずれか一つに合致するかどうかを推論する。高速検出モジュールが、現在のメッセージの構造と合致するものが、以前に検出されたメッセージの構造の中に見つけ出すことができた場合には、そのメッセージを、そのネットワークデータと推論により見つけ出した構造とともに、コレクタの中に格納する。高速検出モジュールが、現在のメッセージの構造と合致するものを、メモリ内のメッセージの構造に見つけ出すことができなかった場合には、そのメッセージを、クラシファイアに入力する。クラシファイアは、各計算ノードに到達し、各計算ノードから送出され、高速検出モジュールでは特定されなかった構造をもつメッセージを収集する。クラシファイアは、計算ノードに入力又は計算ノードから出力されるメッセージの集合を、メッセージのサブセットに分割するための分類アルゴリズムを実行し、各サブセットに含まれるメッセージは、いずれもが同一の構造を有し、特定のメッセージ型を有するものと判定する。本アルゴリズムは、分割によって定義されたメッセージの各型について、そのメッセージ型を表す、推論されたメッセージの構造を戻す。
高速検出モジュールのメモリは、メッセージ型に対して推論された構造のリストを保持しており、クラシファイアがメッセージの新しい構造を検出する毎に、このリストは、クラシファイアによって更新される。さらに、クラシファイアは、分類モジュールに入力されたメッセージ内に含まれる情報のみに基づいてメッセージ型を認知し、メッセージ型について事前に定義された知識や、ユーザが提供した他の定義に頼ることはない。
本発明は、その他の観点において、計算ノードでの、入力メッセージ型と出力メッセージ型と間の因果関係を推論する相関モジュールを提供する。相関モジュールは、各計算ノードに対して、特定の時間内に計算ノードに入力するメッセージの集合の第一集合と、それと同じ時間内に計算ノードから出力するメッセージの集合の第二集合とを保持する。ここで、各集合に含まれるメッセージは、推論された同一のメッセージ型を有している。一つあるいはそれ以上の数の統計試験を適用し、計算ノードに入力するメッセージの型と、計算ノードから出力するメッセージの型との間の因果関係を検出する。各試験の結果として、メッセージの入力集合と出力集合との間の因果関係の強さを示す出力を生成する。二つあるいはそれ以上の数の試験を行った場合には、それらの試験の出力を、メッセージ型相関器に入力する。メッセージ型相関器は、入力メッセージ型と出力メッセージ型の各組に関して、入力メッセージ型と出力メッセージ型とが因果関係を有するかどうかを表す、最終的な推論結果を出力する。
入力メッセージ型と出力メッセージ型の各組に関して、それら二者間に因果関係があると推論した組について、メッセージ型相関器は、計算ノードでの、その組に対するサービス時間など、その組に関する統計値を出力する。
本発明は、さらに他の観点において、分散情報ネットワークでのトランザクションを監視するシステムを提供する。本発明の監視システムは、ネットワークのトランスポート層でのデータフローに基づくものであり、その監視方法は非浸入性を有し、トランザクション又はメッセージに関してあらかじめ定義された情報を必要としないものである。本発明のこの観点によれば、本システムは、一つあるいはそれ以上の数の収集サーバと管理サーバを含んでいる。各収集サーバは、本発明の分類モジュールと相関モジュールを実行する。管理サーバは、ネットワーク内の各収集サーバに格納した分析結果の中から、ネットワーク内のメッセージフローに関する情報を収集する。管理サーバに集められたデータを用いて、ネットワーク内のトランザクションを再構成し、各収集サーバによって与えられた、ルーティング時間とサービス時間の性能に関する統計値から、ネットワーク内のトランザクションの基準となる挙動を導き出す。統計の現在値を、基準となる挙動と比較し、ネットワークの現在の挙動が基準となる挙動から著しく逸脱している場合には、警報を出すことができる。本システムは、これらの警報と、ネットワークに関する関連情報とを表示するためのモニタを含んでもよい。
以上のように、本発明は、その第一の観点において、ネットワーク内のメッセージ型を認知し、それを識別する方法であって、二つあるいはそれ以上の数のメッセージに含まれる情報のみに基づいて、メッセージ型を学習するステップとそれを識別するステップとを含む方法を提供する。
本発明は、その第二の観点において、計算ノードに入力するメッセージ又は計算ノードから出力するメッセージの集合を分類する方法であって、メッセージの集合を、同一のメッセージからなるサブセットに分割するステップと、各サブセットのメッセージの構造を特徴づけるステップとを含む方法を提供する。
本発明は、その第三の観点において、ネットワーク内の計算ノードに入力するメッセージ型と、計算ノードから出力するメッセージ型との間の因果関係を推論する方法であって、一つあるいはそれ以上の数の統計試験を適用するステップを含む方法を提供する。
また、本発明は、その第四の観点において、分散情報ネットワーク内のトランザクションを監視するシステムであって、以下を含むシステムを提供する。
(a)管理サーバ
(b)一つあるいはそれ以上の数のメッセージ収集サーバ。各収集サーバは、分類モジュール及び相関モジュールのいずれか一つ、あるいはそれら両方を実行するように構成され、さらに、各メッセージ収集サーバは、分類モジュール及び相関モジュールのいずれか一つ、あるいはそれら両方からの出力を、管理サーバに送出する。ここで、管理サーバは、一つあるいはそれ以上の数の収集サーバからのデータを分析し、システムのトランザクション性能を求めるように構成されている。
(a)管理サーバ
(b)一つあるいはそれ以上の数のメッセージ収集サーバ。各収集サーバは、分類モジュール及び相関モジュールのいずれか一つ、あるいはそれら両方を実行するように構成され、さらに、各メッセージ収集サーバは、分類モジュール及び相関モジュールのいずれか一つ、あるいはそれら両方からの出力を、管理サーバに送出する。ここで、管理サーバは、一つあるいはそれ以上の数の収集サーバからのデータを分析し、システムのトランザクション性能を求めるように構成されている。
また、本発明は、本発明の方法の全てのステップを実行するためのコンピュータ・プログラム・コード手段を含む、コンピュータプログラムを提供する。ここで、前記プログラムは、コンピュータ上で実行され、このコンピュータプログラムは、コンピュータで読取り可能な媒体に実装されている。
本発明を理解し、それがどのように実施されるかを知るために、添付の図面を引用し、制限を与えることのない例のみにより、好適な実施例を以下で説明する。
ネットワーク内の計算ノード間で送られる各メッセージは、そのメッセージ型に特有の構造規則を用いて作成される。従って、同一の型のメッセージは、共通の構造を有している。図1に、メッセージ構造の一例を示す。構造600は、複数の定数フィールド601から構成されており、ここで、各定数フィールド601の後には、変数フィールド602が続いている。所定の型の全てのメッセージは、同一の定数フィールド601を有しているが、同一の型のメッセージでは、各メッセージは、変数フィールドには異なる値を有している。図1では、3つの定数フィールド602を示している。これは一例であって、メッセージの構造は、任意の数の定数フィールドを有するものであってよい。
図2は、本発明の本観点の一実施例による、一般的に要素205で表した分類モジュールを示すものである。分類モジュール205は、以下に説明する認知と識別のアルゴリズムを用いて、所定のメッセージの型を推論することを試みる。ここで、分類モジュール205によって、メッセージを、以前に検出したメッセージ構造と比較する。分類モジュール205は、クラシファイア303とコレクタ302と通信するメモリ311を有する高速検出モジュール301を含んでいる。
図3は、本発明の本観点の一実施例による、分類モジュール205によって実行される、メッセージ型の認知及び識別の方法を示すものである。ステップ20において、高速検出モジュール301にメッセージを入力する。ステップ22において、高速検出モジュール301は、メモリ311内に格納された、以前に検出したメッセージ構造に基づいて、現在のメッセージを、クラシファイア303によって定義されたメッセージ構造と比較する。この比較は、メッセージを構造に位置合わせし、構造の定数フィールドに対するメッセージの類似度を最大化することによって行われる。ここで用いる位置合わせ方法は、例えば、ダン・グスフィールド(Dan Gusfield)“文字列及びツリー並びに順列に関するアルゴリズム”、1997年ケンブリッジ大学出版局発行、215ページ〜245ページに記載されている。ステップ24において、高速検出モジュール301が、メモリ311に格納されたメッセージ構造の中から、現在のメッセージに合致するものを識別できたかどうかを判定する。高速検出モジュール301が、メモリに格納されたメッセージ構造の中から、現在のメッセージに合致するものを識別できた場合には、ここでは、識別されたメッセージ構造を、入力メッセージの“推論された構造”と称して、ステップ26において、そのメッセージを、そのネットワークデータと推論された構造とともに、コレクタ302に格納し、処理を終える。
もし、ステップ24において、高速検出モジュール301が、メモリに格納されたメッセージ構造の中から、現在のメッセージに合致するものを識別できなかった場合には、ステップ28に進み、そこで、クラシファイア303にメッセージを入力する。クラシファイア303は、高速検出モジュール301ではその構造が識別されなかったメッセージについて、各計算ノードに到達したものと、各計算ノードから送出されるものとを集める。ステップ30において、クラシファイア303は、分類アルゴリズムを実行し、これにより、計算ノードに入力するメッセージと計算ノードから出力するメッセージの集合を、同一のメッセージからなるサブセットに分割する。一実施例において、分類アルゴリズムは、メッセージの位置合わせ度を多様性関数として用いる階層的分類アルゴリズムを用いる。位置合わせ度の評価は、例えば、ダン・グスフィールド(Dan Gusfield)“文字列及びツリー並びに順列に関するアルゴリズム”、1997年ケンブリッジ大学出版局発行、215ページ〜245ページに記載されているように行う。さらに、各サブセットについて、サブセット内の全てのメッセージについて、共通の構造を推論する。このために、サブセット内の全てのメッセージを、同時に位置合わせする。サブセット内の全てのメッセージで、実質的に同一のフィールドは、定数フィールドとして表す。その他のフィールドは、変数フィールドとして表す。分類アルゴリズムは、分割によって定義された個々のメッセージ型について、メッセージ型の推論された構造を、その処理結果として戻す。ステップ32において、これらの新しいメッセージ構造を、高速検出モジュール301のメモリ311に入力し、処理を終える。
このようにして、高速検出モジュール301のメモリ311は、クラシファイア303が、新しいメッセージ構造を検出する毎に、クラシファイア303によって更新されたメッセージ構造のリストを保持している。さらに、クラシファイア303は、分類モジュール303に入力されたメッセージ内に含まれる情報のみに基づいて、メッセージ型を学習し、メッセージ型について事前に定義された知識や、ユーザが提供した他の定義に頼ることはない。
図4は、本発明の本観点の一実施例による、一般的に要素306で表した相関モジュールを示すものである。相関モジュール306は、図2に示したコレクタ302となるコレクタ310を含んでいる。さらに、相関モジュール306は、相関器304と分析結果ストレージ305を含んでいる。
コレクタ310は、各計算ノードに対して、特定の時間内に計算ノードに入力するメッセージの集合の第一集合と、それと同じ時間内に計算ノードから出力するメッセージの集合の第二集合とを保持する。ここで、各集合に含まれる全てのメッセージは、推論された同一のメッセージ型を有しており、その結果、同一のメッセージ型となっている。第一及び第二集合は、相関器304に入力される。
図5は、相関器304の構造を示すものである。相関器304は、一つあるいはそれ以上の数の試験モジュール510を含んでいる。各試験モジュールは、統計試験を適用し、計算ノードに入力するメッセージ型と、計算ノードから出力するメッセージ型との間の因果関係を検出する。統計試験は、入力メッセージ型のメッセージの集合と、出力メッセージ型のメッセージの集合とからなる各組に対して行う。試験モジュール510によって行われる各試験で、モジュールは、入力メッセージの集合と出力メッセージの集合との間の因果関係の強さを表す出力515を出力する。一実施例において、一つあるいはそれ以上の数の出力515は、バイナリ出力値である。その値が“1”であることは、試験モジュールが、入力メッセージ型と出力メッセージ型との間に因果関係があると判定したことを示している。一方、その値が“0”であることは、試験モジュールが、入力メッセージ型と出力メッセージ型との間には因果関係がないと判定したことを示している。他の実施例において、一つあるいはそれ以上の数の出力515は、ゼロ仮説が正しいものと仮定し、ゼロ仮説を棄却する(二つの集合が互いに因果関係がある)確率の形式となっている。
試験モジュール510によって実行される試験の一例としては、試験モジュール510が、コレクタ310から、メッセージの各集合の時系列を受け取るものがある。この時系列は、発生事象のリストから構成されおり、各発生事象は、集合内のメッセージの到着又は送信時刻である。さらに、入力メッセージの集合と、出力メッセージの集合と各組について、試験モジュール510は、入力と出力の時系列の畳み込みを計算するアルゴリズムを実行し、畳み込み値が最大となる遅延τと、その遅延τでの畳み込み値とを求める。一実施例において、畳み込み値の最大値が、あらかじめ定められた閾値を超えた場合には、時間試験モジュール510は、入力メッセージ型と出力メッセージ型との間に因果関係があることを表す値“1”を出力する。そうでない場合には、時間試験モジュール510は、入力メッセージ型と出力メッセージ型との間には因果関係がないことを表す値“0”を出力する。他の実施例において、試験モジュール510は、畳み込み値の最大値が、少なくともランダムプライア(random prior)の元で試験モジュールが計算した値となる確率を計算する。
試験モジュール510によって実行される試験の第二の例としては、試験モジュール510が、データ相関アルゴリズムを実行するものがある。このアルゴリズムは、入力メッセージ型と出力メッセージ型とが直接的な因果関係を有するかどうかを、入力メッセージ型の推論された構造と出力メッセージ型の推論された構造の各変数フィールド602の値に基づいて判定するものである。本アルゴリズムは、入力メッセージの集合の一つあるいはそれ以上の数の変数フィールド602内のデータの、出力メッセージの集合の一つあるいはそれ以上の数の変数フィールド内のデータに対する類似性を調べることにより、入力の集合に基づいて出力の集合が生成された確率を求める。変数フィールドの所定の値に基づいた確率の計算は、例えば、文字列照合方法を用いることによって行うこともできる。この方法は、例えば、例えば、ダン・グスフィールド(Dan Gusfield)“文字列及びツリー並びに順列に関するアルゴリズム”、1997年ケンブリッジ大学出版局発行、215ページ〜245ページに記載されている。一実施例において、確率が、あらかじめ定められた閾値を超えた場合には、データを考慮することにより、メッセージ型には因果関係があると考えられる。他の実施例において、試験モジュール510は、入力の集合に基づいて出力の集合が生成された確率を求める。
一例として、入力メッセージの集合が、以下のメッセージリストである場合を説明する。
IDJohnSmith1234CommandBUYSymbolCGENAmount1500
IDMarkSmith1235CommandBUYSymbolCGENAmount1500
IDJohnCohen1236CommandBUYSymbolCGENAmount1600
さらに、入力メッセージの集合が、以下のメッセージリストである場合を説明する。
CommandCheckbalanceFirstNameJohnLastNameSmithAccountNum1234
CommandCheckbalanceFirstNameMarkLastNameSmithAccountNum1235
CommandCheckbalanceFirstNameJohnLastNameCohenAccountNum1236
IDJohnSmith1234CommandBUYSymbolCGENAmount1500
IDMarkSmith1235CommandBUYSymbolCGENAmount1500
IDJohnCohen1236CommandBUYSymbolCGENAmount1600
さらに、入力メッセージの集合が、以下のメッセージリストである場合を説明する。
CommandCheckbalanceFirstNameJohnLastNameSmithAccountNum1234
CommandCheckbalanceFirstNameMarkLastNameSmithAccountNum1235
CommandCheckbalanceFirstNameJohnLastNameCohenAccountNum1236
本例では、データ相関アルゴリズムは、出力メッセージの集合のCommandCheckbalanceFirstName、LastName、AccountNumに続く変数フィールドと、IDに続く入力変数フィールドとの間の類似性に基づいて、入力メッセージ型は、出力メッセージ型との間に、データによる因果関係を有し、また、変数フィールドは、ランダムに生成されたものではないことを結論付けることが期待されている。
相関器304が、二つあるいはそれ以上の数の試験を実施すると、試験の出力515は、メッセージ型相関器403に入力される。メッセージ型相関器403は、入力メッセージ型と出力メッセージ型の各組に対して、入力メッセージ型と出力メッセージ型とが因果関係を有しているかに関する最終的な判断結果を出力する。相関器403の出力516は、試験モジュール510の出力515に基づいて決定される。一実施例において、出力516は、バイナリ出力値である。その値が1であることは、試験モジュールが、入力メッセージ型と出力メッセージ型との間に因果関係があると判定したことを示している。一方、値が0であることは、試験モジュールが、入力メッセージ型と出力メッセージ型との間には因果関係がないと判定したことを示している。他の実施例において、出力516はゼロ仮説が正しい場合は、ゼロ仮説を棄却する(二つの集合が互いに因果関係がある)確率のそして/あるいはそれが正しくない場合はゼロ仮説を受け入れる確率の形式となっている。
相関器403の出力516は、例えば、全ての試験が、入力メッセージ型と出力メッセージ型とが因果関係を有していると判定した場合にのみ、メッセージ型には因果関係があると判定してもよい。他の例として、相関器403は、少なくとも一つの試験が、入力メッセージ型と出力メッセージ型とが因果関係を有していると判定した場合にのみ、メッセージ型には因果関係があると判定してもよい。さらに、他の例として、相関器403は、少なくともあらかじめ定めた数の試験が、入力メッセージ型と出力メッセージ型とが因果関係を有していると判定した場合にのみ、メッセージ型には因果関係があると判定してもよい。相関器403の出力516は、分析結果ストレージ305に入力される。
コレクタ310は、以下から構成される出力を、分析結果ストレージ305に出力する。
(a)各計算ノードについて、現在処理中の入力メッセージ型のリストと出力メッセージ型のリスト
(b)各メッセージのルーティング時間
(a)各計算ノードについて、現在処理中の入力メッセージ型のリストと出力メッセージ型のリスト
(b)各メッセージのルーティング時間
試験モジュール510が、入力メッセージ型と出力メッセージ型とが因果関係を有していると判定した際には、試験モジュールは、計算ノードが実行する試験に基づいて、最新の時間枠の計算ノードでの各組の挙動に関する一つあるいはそれ以上の数の統計値を、メッセージ型相関器403に出力する。例えば、試験が、時系列の畳み込みを計算した際には、統計値は、時系列の時間枠内での、特定の型の入力及び出力メッセージの組の平均サービス時間を表す遅延τとなる。
メッセージ型相関器403によって、入力メッセージ型と出力メッセージ型との間に相関関係が有ると判定された、入力メッセージ型と出力メッセージ型の各組に対して、メッセージ型相関器は、いずれかの試験モジュール510から試験結果ストレージ305に受け取った、サービス時間τなどの各組の統計値を出力する。従って、試験結果ストレージ305は、因果関係を有すると判定された入力メッセージ型と出力メッセージ型からなる全ての組の集合と、時間枠での計算ノードでの各組の挙動に関する統計値を含んでいる。
図6は、本発明の本観点の一実施例による、分散情報ネットワーク内でのトランザクションを監視するためのシステムを、一般的に符号100として示したものである。ネットワーク100は、一つあるいはそれ以上の数のクライアント106と、一つあるいはそれ以上の数の分散スイッチ104と、一つあるいはそれ以上の数のアクセススイッチ101とを含んでいる。クライアント106、分散スイッチ104、アクセススイッチは、階層的に配置され、一つあるいはそれ以上の数のクライアント106は、共通の分散スイッチ104に接続され、一つあるいはそれ以上の数の分散スイッチは、共通のアクセススイッチ101に接続されている。アクセススイッチ101は、ネットワーク100のコア105に接続している。本発明の本観点によれば、ネットワーク100は、さらに、一つあるいはそれ以上の数の収集サーバ102と管理サーバ103とを含んでいる。図6の実施例において、各収集サーバ102は、ポート監視装置を介して、個々のアクセススイッチ101に接続されている。管理サーバ103は、分散スイッチ101で、ネットワーク100に接続されている。また、システム100に含まれるものとしては、アクセススイッチ101に接続した一つあるいはそれ以上の数の計算ノード107がある。各収集サーバ102は、分類モジュール205、相関モジュール306、メッセージ再構成器310を実行し、以下に示すように、分析結果ストレージ305に格納されたデータを管理サーバ103に送る。
メッセージ再構成器310を、図7に示す。メッセージ再構成器310は、トランスポート層のトラフィックを収集するネットワーク・インフラストラクチャ・カード(NIC)201を含んでいる。スニファモジュール202は、ネットワーク・インフラストラクチャ・カード201を空にして、TCPパケットを、シン・スタック・モジュール203に送る。そこで、TDCPフローを再構成する。スニファ202では、LibPCAP、Ethereal及びRawSocketなどのオープンソース・ユーティリティを用いてもよい。メッセージ検出器204は、TCPフローを受信し、アプリケーション層のメッセージを再構成する。メッセージ検出器204は、TCPフローを受信し、それをパケットの集合に分割する。ここで、各集合は、パケット内のネットワーク情報を用いて、アプリケーション層のメッセージを構成している。次に、パケットの各集合を、メッセージを構成するバイトストリングに変換し、それを分離モジュール205に出力する。
管理サーバ103は、ネットワーク内の各収集サーバ102の分析結果ストレージ305から、メッセージフローに関する情報を収集する。管理サーバ103に集められたデータを用いて、ネットワーク内のトランザクションを再構成し、各収集サーバ102から提供された、両者間に因果関係を有する入力メッセージ型と出力メッセージ型の各組の性能に関する統計から、ネットワーク内のトランザクションの基準となる挙動を導出する。統計の現在値は、管理サーバ103に接続されているか、インターネットを介してアクセス可能となっているモニタ109上に表示される。統計の現在値を、基準となる統計と連続して比較し、一つあるいはそれ以上の数の統計の現在値が、その基準となる値から逸脱した際には、モニタ109上に警告を表示する。
図8に示すように、管理サーバ103は、収集サーバ102のメッセージ及びデータストレージ305からデータを受け取る、接続及びデータ収集モジュール501を有している。メッセージ型と因果関係データは、トランザクション同定モジュール502に送られ、そこで、各トランザクションのフローを再構成する。トランザクション同定モジュール502は、ネットワークの構造を含んでおり、入力データ内の因果関係を用いて、全ての可能なトランザクション型を再構成する。例えば、メッセージ型に因果関係をもたないメッセージ型は、トランザクションに対する初期化と考えられる。モジュールは、トランザクションの最後のステップで生成されるメッセージ型を繰り返し調べることにより、その初期化メッセージ型から、トランザクションのフローを作成する。その出力は、トランザクション型のリストと、それらのトランザクションのネットワーク内での物理的なフローである。
トランザクション同定モジュール502の出力は、接続及びデータ収集モジュール501からのメッセージ型性能に関するデータとともに、基準作成及び傾向分析モジュール503に送られる。各メッセージ型と、因果関係を有するメッセージ型の組とトランザクションについて、性能挙動についての基準を定義し、傾向規則を定式化する。各メッセージ型と因果関係を有する組についての統計には、時間で表したネットワーク100の性能と、その時間でのネットワークの状態に関する情報が含まれている。基準作成及び傾向分析モジュール503は、この情報を分析し、基準となる挙動を動的に定義する。適応的な傾向分析によって、特定のメッセージ型及び/又は特定のトランザクション型に関する低い性能の予測が可能となる。この情報は、現在のネットワーク状態を保存するリポジトリ504に送られる。
現在のネットワーク状態を保存するリポジトリ504は、基準となるネットワーク分析データと現在のネットワーク統計値を含んでいる。現在のネットワーク状態を保存するリポジトリ504は、現在の統計値を基準値と比較し、統計試験を実行して、現在の統計値のいずれか一つあるいはそれ以上の数のものが、基準値から著しく逸脱していないかを判定する。現在のネットワーク状態を保存するリポジトリ504は、モニタ109への情報フローを管理する。モニタ109は、トランザクション性能を監視し、トランザクションフロー内の障害を検出するために、オペレータが、物理ネットワークとトランザクションフローとを介してシステムを監視できるようにする。また、モニタは、物理的な故障と、その故障によって影響を受けるトランザクションとの間を関連付けもおこなう。
本発明は、計算ノードでの類似の入力メッセージと類似の出力メッセージを、計算ノードでの挙動モデルを構成する論理的なグループに分類する方法を提供するものである。本方法では、計算ノードが、入力メッセージと出力メッセージは一つづつ受信する能力がある点を除いては、計算ノードの特性やその出力、入力ストリームに関しては、いかなる仮定も設けていない。
本方法は、二つの異なるグループに分類される、全入力メッセージと全出力メッセージに対して、全く同一に作用する。
メッセージ・プロファイル
ここでは、“メッセージ・プロファイル”は、“定数シーケンス”と“変数シーケンス”とから構成されたバイトシーケンスであると定義する。“メッセージ・プロファイル”は、いくつかの(1より大きな数の)メッセージから、増分を加えながら作成される。ここでは、メッセージ位置合わせ方法を用いて、類似のメッセージのためのメッセージ・プロファイル(例えば、バイトシーケンス)を構築する。
ここでは、“メッセージ・プロファイル”は、“定数シーケンス”と“変数シーケンス”とから構成されたバイトシーケンスであると定義する。“メッセージ・プロファイル”は、いくつかの(1より大きな数の)メッセージから、増分を加えながら作成される。ここでは、メッセージ位置合わせ方法を用いて、類似のメッセージのためのメッセージ・プロファイル(例えば、バイトシーケンス)を構築する。
メッセージ位置合わせ
二つあるいはそれ以上の数のメッセージ間の“メッセージ位置合わせ”とは、一つのシーケンスを、他方のシーケンスの先頭に書き加え、(ときどき)‘―’のような一意のシンボルを、位置合わせのシーケンス内に付加することを指す。
二つあるいはそれ以上の数のメッセージ間の“メッセージ位置合わせ”とは、一つのシーケンスを、他方のシーケンスの先頭に書き加え、(ときどき)‘―’のような一意のシンボルを、位置合わせのシーケンス内に付加することを指す。
線図1及び線図2は、ともに、定義に合わせた、二つのメッセージの位置合わせを図示したものである。線図2では、位置合わせの一部として、第一メッセージの第三列に、記号‘−’を付加した。これらの線図では、記号A、B、C、D、Gは、0と255の間の値を有するバイト値を表している。
類似度指数
各メッセージ位置合わせに対して、一意の評価値を計算して求める。この評価値は、各列の個々の値を合計して求める。すなわち、二つあるいはそれ以上の数のシンボル(実際には、二つあるいはそれ以上の数のバイト又はビット)が、同一の列にある場合、評価値を評価関数によって求める。列が、全てのシーケンスについて同一のシンボルで埋められている場合には、それを“一致”と見なす(例えば、線図3の例では、列1、2、4が“一致”している)。一方、同一の列で、一つあるいはそれ以上の数のシンボルが、互いに異なる場合には、それを“不一致”と見なす(例えば、線図3の例では、列3が“不一致”である)。
各メッセージ位置合わせに対して、一意の評価値を計算して求める。この評価値は、各列の個々の値を合計して求める。すなわち、二つあるいはそれ以上の数のシンボル(実際には、二つあるいはそれ以上の数のバイト又はビット)が、同一の列にある場合、評価値を評価関数によって求める。列が、全てのシーケンスについて同一のシンボルで埋められている場合には、それを“一致”と見なす(例えば、線図3の例では、列1、2、4が“一致”している)。一方、同一の列で、一つあるいはそれ以上の数のシンボルが、互いに異なる場合には、それを“不一致”と見なす(例えば、線図3の例では、列3が“不一致”である)。
定数シーケンス
“メッセージ・プロファイル”内の“定数シーケンス”とは、メッセージが他のメッセージの先頭に位置合わせされる際に、全てのメッセージの間で共有される(一つあるいはそれ以上の数の)バイトシーケンスである。一方、“変数シーケンス”とは、一つあるいはそれ以上の数の)プレースホルダー・シーケンスであり、これらのシーケンスの位置合わせでは、このプレースホルダーの列に、異なる値や(‘−’)などのシンボルを含んでいる。
“メッセージ・プロファイル”内の“定数シーケンス”とは、メッセージが他のメッセージの先頭に位置合わせされる際に、全てのメッセージの間で共有される(一つあるいはそれ以上の数の)バイトシーケンスである。一方、“変数シーケンス”とは、一つあるいはそれ以上の数の)プレースホルダー・シーケンスであり、これらのシーケンスの位置合わせでは、このプレースホルダーの列に、異なる値や(‘−’)などのシンボルを含んでいる。
線図4
3つのメッセージの位置合わせから得られた“メッセージ・プロファイル”:
メッセージ1−ABD
メッセージ2−ABGD
メッセージ2−ABCD
線図4では、二つの“定数シーケンス”と、一つの“変数シーケンス”を有する“メッセージ・プロファイル”の例を示している。二つの“定数シーケンス”はABとDである。“変数シーケンス”は、ここでは、プレースホルダーとして、記号*で示している。
3つのメッセージの位置合わせから得られた“メッセージ・プロファイル”:
メッセージ1−ABD
メッセージ2−ABGD
メッセージ2−ABCD
線図4では、二つの“定数シーケンス”と、一つの“変数シーケンス”を有する“メッセージ・プロファイル”の例を示している。二つの“定数シーケンス”はABとDである。“変数シーケンス”は、ここでは、プレースホルダーとして、記号*で示している。
メッセージを類似のプロファイルにグループ化する方法
1.各メッセージについて、それが、すでに存在するメッセージ・プロファイルに一致するかをチェックする。
i.各メッセージ・プロファイルは、メッセージがそのプロファイルの部分であると判定するのに必要な、最小の類似度指数を示す閾値を有している。
1.類似度指数は、位置合わせの類似度のレベルを示す関数である。
a.例えば、単純和の指標では、シンボルが同一の列で同一の場合、指標に100を加える、また、二つのシンボルが異なる場合、指標に1を加える。類似度指数の値は、合計値を、プロファイルの長さ×100で割った値とする。
b.特定の255行×255列の指数行列によって、より複雑な指数を求めることもできる。各行列要素には、行番号のところにある値を有するバイトが、列番号のところにある値を有するバイトと同一の列のところにある際に決定された、指数の値が置かれている。
ii.メッセージ・プロファイルと新しいメッセージとの間の最適な位置合わせを求めるために、動的計画法を用いて、新しいメッセージと既知のメッセージ・プロファイルとの間の位置合わせ指数をチェックする。(次セクション、シーケンス位置合わせ指数計算を参照のこと)
1.次の3ステップで、Cell(i,j)の指数を計算する。
a.Cell(i−1,j−1)+ScoreMatrix(sequence1[i],sequence[j])
b.Cell(i−1,j)+GapFunction(i,j)
c.Cell(i,j−1)+GapFunction(i,j)
2.各要素について、1.の計算結果に対応した以下の中から最適なものへのポインタを保存する。
a.Cell(i−1,j−1)
b.Cell(i,j−1)
c.Cell(j−1,i)
3.行列Cellの一列を一度に書き込む。
4.最後の要素を調べ、メッセージとメッセージ・プロファイルとの間の最良の位置合わせによってバックトレースする。
1.各メッセージについて、それが、すでに存在するメッセージ・プロファイルに一致するかをチェックする。
i.各メッセージ・プロファイルは、メッセージがそのプロファイルの部分であると判定するのに必要な、最小の類似度指数を示す閾値を有している。
1.類似度指数は、位置合わせの類似度のレベルを示す関数である。
a.例えば、単純和の指標では、シンボルが同一の列で同一の場合、指標に100を加える、また、二つのシンボルが異なる場合、指標に1を加える。類似度指数の値は、合計値を、プロファイルの長さ×100で割った値とする。
b.特定の255行×255列の指数行列によって、より複雑な指数を求めることもできる。各行列要素には、行番号のところにある値を有するバイトが、列番号のところにある値を有するバイトと同一の列のところにある際に決定された、指数の値が置かれている。
ii.メッセージ・プロファイルと新しいメッセージとの間の最適な位置合わせを求めるために、動的計画法を用いて、新しいメッセージと既知のメッセージ・プロファイルとの間の位置合わせ指数をチェックする。(次セクション、シーケンス位置合わせ指数計算を参照のこと)
1.次の3ステップで、Cell(i,j)の指数を計算する。
a.Cell(i−1,j−1)+ScoreMatrix(sequence1[i],sequence[j])
b.Cell(i−1,j)+GapFunction(i,j)
c.Cell(i,j−1)+GapFunction(i,j)
2.各要素について、1.の計算結果に対応した以下の中から最適なものへのポインタを保存する。
a.Cell(i−1,j−1)
b.Cell(i,j−1)
c.Cell(j−1,i)
3.行列Cellの一列を一度に書き込む。
4.最後の要素を調べ、メッセージとメッセージ・プロファイルとの間の最良の位置合わせによってバックトレースする。
入力メッセージと出力メッセージをメッセージ・プロファイルに集約できることにより、計算ノードの通信パタンを、把握しやすくした。このパタン分類を用いて、二つのプロファイル間(二つの入力プロファイル間、二つの出力プロファイル間、入力プロファイルと出力プロファイルとの間のいずれか)が発生する通常の計算時間を計算する。
メッセージ・プロファイルを識別した後、各メッセージ・プロファイルに関して、“着目する”データが、計算ノードに送られた場所を知り、アプリケーションの監視と記録のために、このデータを利用することができる。また、抽出されたデータを用いて、相互関係のある入力メッセージ・プロファイルを、出力メッセージ・プロファイルに関連付けることもできる。
本発明は、分析機構により、ネットワーク内のサーバを監視する能力を提供するものであり、通常のパケットベースの通信分析よりも、進歩した統計をおこなうことができる。本改良は、パケットではなく、“論理”メッセージに関する統計と計測を行い、他のメッセージに対する挙動を求めることにある。例えば、典型的な挙動というものは、ある種のプロファイルを伴うものであるため、一般的なパケットの往復伝達時間計算ではなく、特定の種類の要求に対する典型的な実行時間を計測することができる。
Claims (45)
- ネットワーク内のメッセージ型を認知し識別する方法であって、二つあるいはそれ以上の数のメッセージに含まれる情報のみに基づいて、メッセージ型を学習し、識別するステップを含む方法。
- 請求項1記載の方法において、
(a)現在のメッセージを、一つあるいはそれ以上の数の以前に定義したメッセージ型と比較するステップと、
(b)現在のメッセージの型が、以前に定義したメッセージ型のいずれか一つと合致するかどうかを推論するために、比較方法を適用するステップ
とを含むことを特徴とする方法。 - 計算ノードに入力する又は計算ノードから出力するメッセージの集合を分類する方法であって、メッセージの集合を、類似のメッセージからなるサブセットに分割するステップと、各サブセットのメッセージの構造を特徴付けるステップとを含むことを特徴とする方法。
- 請求項3記載の方法において、計算ノードに入力する又は計算ノードから出力するメッセージの集合を分割するステップは、多様性関数として、メッセージ位置合わせ評価を用いる階層的分類アルゴリズムを含むことを特徴とする方法。
- ネットワーク内の計算ノードに入力するメッセージ型と、計算ノードから出力するメッセージ型との間の因果関係を推論する方法であって、一つあるいはそれ以上の数の統計試験を適用するステップを含むことを特徴とする方法。
- 請求項5記載の方法において、一つあるいはそれ以上の数の統計試験の、一つあるいはそれ以上の数の出力は、バイナリ出力値であることを特徴とする方法。
- 請求項5記載の方法において、一つあるいはそれ以上の数の統計試験の、一つあるいはそれ以上の数の出力は、ゼロ仮説が正しいものであると仮定し、二つの集合に因果関係があるというゼロ仮説を棄却する確率の一つあるいは両者であることを特徴とする方法。
- 請求項5記載の方法において、統計試験は、入力メッセージ型の時系列と、出力メッセージ型の時系列の畳み込みを計算するステップを含むことを特徴とする方法。
- 請求項8記載の方法において、さらに、畳み込みが最大となる遅延τと、遅延τでの畳み込みの値の一つあるいは両者を計算するステップを含むことを特徴とする方法。
- 請求項5記載の方法において、入力メッセージ型は、推論された構造を有し、出力データ型は、推論された構造を有し、統計試験は、入力メッセージ型と出力メッセージ型が因果関係を有するかどうかを、入力メッセージ型の推論された構造と、出力メッセージ型の推論された構造の変数フィールドの値に基づいて推論するステップを含むことを特徴とする方法。
- 請求項10記載の方法において、文字列照合方法を含むことを特徴とする方法。
- 請求項5記載の方法において、二つあるいはそれ以上の数の統計試験を適用するステップを含むことを特徴とする方法。
- 請求項12記載の方法において、さらに、二つあるいはそれ以上の数の統計試験に基づいて最終的な推論結果を求めることを特徴とする方法。
- 請求項13記載の方法において、少なくとも、あらかじめ定められた数の試験が、メッセージ型に因果関係があると判定した場合、最終的な推論結果は、入力及び出力メッセージ型に因果関係があるという結果であり、そうでない場合、最終的な推論結果は、入力及び出力メッセージ型に因果関係はないという結果であることを特徴とする方法。
- 請求項5記載の方法において、さらに、一つあるいはそれ以上の数の統計試験の各々について、統計によって、入力メッセージ型と出力メッセージ型に因果関係があると推論された際に、統計試験に基づいて最新の時間枠における入力及び出力メッセージ型の組の挙動の、一つあるいはそれ以上の数の統計値を、計算するステップを含むことを特徴とする方法。
- 請求項15記載の方法において、計算された統計値は、出力メッセージ型を許可する入力メッセージ型の平均サービス時間であることを特徴とする方法。
- 分散ネットワーク内のトランザクションを監視するシステムであって、
(a)管理サーバと、
(b)一つあるいはそれ以上の数の収集サーバとを含み、各収集サーバは、分類モジュール及び相関モジュールのいずれか一つ、あるいはそれら両方を実行するように構成され、さらい、各メッセージ収集サーバは、分類モジュール及び相関モジュールのいずれか一つ、あるいはそれら両方からの出力を管理サーバに送出し、管理サーバは、システムのトランザクション性能を決定するために一つあるいはそれ以上の数の収集サーバからのデータを分析するように構成されていることを特徴とするシステム。 - 請求項17記載のシステムにおいて、管理サーバは、さらに、ネットワーク内のトランザクションを再構成するために、一つあるいはそれ以上の数の収集サーバからのデータを分析するように構成されていることを特徴とするシステム。
- 請求項17記載のシステムにおいて、一つあるいはそれ以上の数の収集サーバは、分類モジュールを実行するように構成されていることを特徴とするシステム。
- 請求項19記載のシステムにおいて、分類モジュールは、二つあるいはそれ以上の数のメッセージに含まれる情報のみに基づいて、メッセージ型を学習し、識別するように構成されていることを特徴とするシステム。
- 請求項20記載の、メッセージを認知し識別するシステムは、
(a)現在のメッセージの型を、一つあるいはそれ以上の数の以前に定義したメッセージ型と比較するステップと、
(b)現在のメッセージの型が、以前に定義したメッセージ型のいずれか一つと合致するかどうかを推論するために、一つあるいはそれ以上の数の統計試験を適用するステップと、
(c)もし、現在のメッセージ型に合致するものが、以前に定義したメッセージ型の中にあると推論された場合に、メッセージを、そのネットワークデータと、推論された構造とともに、メモリ内に格納するステップとを含むことを特徴とするシステム。 - 請求項21記載のシステムにおいて、メッセージを学習し識別するステップは、さらに、もし、現在のメッセージ型に合致するものが、以前に定義したメッセージ型の中にあると推論されなかった場合に、各サブセットのメッセージが、同一の推論された構造を有し、特定のメッセージ型を有するものであると推論されるように、計算ノードに入力する又は計算ノードから出力するメッセージの集合を、メッセージのサブセットに分割するステップを含むことを特徴とするシステム。
- 請求項22記載のシステムにおいて、計算ノードに入力する又は計算ノードから出力するメッセージの集合を分割するステップは、多様性関数として、メッセージ位置合わせ評価を用いる階層的分類アルゴリズムを含むことを特徴とするシステム。
- 請求項17記載のシステムにおいて、一つあるいはそれ以上の数の収集サーバは、相関モジュールを実行するように構成されていることを特徴とするシステム。
- 請求項24記載のシステムにおいて、相関モジュールは、一つあるいはそれ以上の数の統計試験を適用するアルゴリズムによって、計算ノードに入力するメッセージ型と、計算ノードから出力するメッセージ型との間の因果関係を推論することを特徴とするシステム。
- 請求項25記載のシステムにおいて、一つあるいはそれ以上の数の統計試験の、一つあるいはそれ以上の数の出力は、バイナリ出力値であることを特徴とするシステム。
- 請求項25記載のシステムにおいて、一つあるいはそれ以上の数の統計試験の、一つあるいはそれ以上の数の出力は、ゼロ仮説が正しいものであると仮定し、二つの集合に因果関係があるというゼロ仮説を棄却する確率の一つあるいは両者であることを特徴とするシステム。
- 請求項25記載のシステムにおいて、統計試験は、入力メッセージ型の時系列と、出力メッセージ型の時系列の畳み込みを計算するステップを含むことを特徴とするシステム。
- 請求項28記載のシステムにおいて、さらに、畳み込みが最大となる遅延τと、遅延τでの畳み込みの値の一つあるいは両者を計算するステップを含むことを特徴とするシステム。
- 請求項25記載のシステムにおいて、入力メッセージ型は、推論された構造を有し、出力データ型は、推論された構造を有し、統計試験は、入力メッセージ型と出力メッセージ型が直接的な因果関係を有するかどうかを、入力メッセージ型の推論された構造と、出力メッセージ型の推論された構造の変数フィールドの値に基づいて推論するステップを含むことを特徴とするシステム。
- 請求項30記載のシステムにおいて、データ相関アルゴリズムは、文字列照合方法を含むことを特徴とするシステム。
- 請求項25記載のシステムにおいて、相関モジュールは、二つあるいはそれ以上の数の統計試験を適用することを特徴とするシステム。
- 請求項32記載のシステムにおいて、相関モジュールは、二つあるいはそれ以上の数の統計試験に基づいて最終的な推論結果を求めることを特徴とするシステム。
- 請求項33記載のシステムにおいて、少なくとも、あらかじめ定められた数の試験が、メッセージ型に因果関係があると判定した場合、最終的な推論結果は、入力及び出力メッセージ型に因果関係があるという結果であり、そうでない場合、最終的な推論結果は、入力及び出力メッセージ型に因果関係はないという結果であることを特徴とするシステム。
- 請求項25記載のシステムにおいて、相関モジュールは、さらに、一つあるいはそれ以上の数の統計試験の各々について、統計によって、入力メッセージ型と出力メッセージ型に因果関係があると推論された際に、統計試験に基づいて最新の時間枠における入力及び出力メッセージ型の組の挙動の、一つあるいはそれ以上の数の統計値を、計算するように構成されていることを特徴とするシステム。
- 請求項15記載のシステムにおいて、計算された統計値は、入力メッセージ型の入力メッセージと、出力メッセージ型の出力メッセージの平均サービス時間であることを特徴とするシステム。
- 請求項17記載のシステムにおいて、管理サーバは、さらに、ネットワーク内のトランザクションを再構成するように構成されていることを特徴とするシステム。
- 請求項17記載のシステムにおいて、管理サーバは、さらに、一つあるいはそれ以上の数の収集サーバによって与えられた、それらの間に因果関係を有する入力メッセージ型と出力メッセージ型の各組の性能に関する統計値から、ネットワークの基準となる挙動を導き出すように構成されていることを特徴とするシステム。
- 請求項38記載のシステムにおいて、管理サーバは、一つあるいはそれ以上の数の統計の現在値を、一つあるいはそれ以上の数の統計の一つあるいはそれ以上の数の基準値と比較するように構成されていることを特徴とするシステム。
- 請求項39記載のシステムにおいて、管理サーバは、一つあるいはそれ以上の数の統計の現在値が、その基準となる挙動から著しく逸脱している際に、警報を出すように構成されていることを特徴とするシステム。
- 請求項17記載のシステムにおいて、さらにモニタを含むことを特徴とするシステム。
- 請求項41記載のシステムにおいて、管理サーバは、モニタ上に警報を表示するように構成されていることを特徴とするシステム。
- 請求項19記載のシステムにおいて、管理サーバはメッセージ再構成器を含み、さらに、
(a)トランスポート層のメッセージトラフィックを収集するネットワーク・インフラストラクチャ・カード(NIC)と、
(b)ネットワーク・インフラストラクチャ・カードを空にして、TCPパケットを、シン・スタック・モジュールに送るスニファモジュールと、
(c)TDCPフローを再構成する、シン・スタック・モジュールと、
(d)TCPフローを受信し、アプリケーション層のメッセージを再構成するメッセージ検出器と、
(e)TCPフローを受信し、パケットの各集合をメッセージを構成するバイトストリングに変換するために、パケット内のネットワーク情報を用いて、TCPフローをアプリケーション層のメッセージを構成するパケットの集合に分割し、変換したシーケンスを分類モジュールに出力するメッセージ検出器を含むことを特徴とするシステム。 - コンピュータプログラムであって、前記プログラムをコンピュータ上で実行する際に、請求項のいずれか、請求項1から16のいずれか一つの全てのステップを実行するための、コンピュータ・プログラム・コード手段を含むことを特徴とするコンピュータプログラム。
- コンピュータで読取り可能な媒体に実装された、請求項43記載のコンピュータプログラム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US77465806P | 2006-02-21 | 2006-02-21 | |
PCT/IL2007/000224 WO2007096870A2 (en) | 2006-02-21 | 2007-02-20 | Method and system for transaction monitoring in a communication network |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2009527839A true JP2009527839A (ja) | 2009-07-30 |
Family
ID=37983438
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008555941A Pending JP2009527839A (ja) | 2006-02-21 | 2007-02-20 | 通信ネットワークのトランザクション監視のための方法及びシステム |
Country Status (5)
Country | Link |
---|---|
US (1) | US8291066B2 (ja) |
EP (1) | EP1999693A2 (ja) |
JP (1) | JP2009527839A (ja) |
CN (1) | CN101421751A (ja) |
WO (1) | WO2007096870A2 (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016505963A (ja) * | 2012-12-18 | 2016-02-25 | トレーディング テクノロジーズ インターナショナル インコーポレイテッド | 取引所の制限による不利な影響を防止するための方法およびシステム |
JP2016048506A (ja) * | 2014-08-28 | 2016-04-07 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | ログメッセージのフォーマットを推定する方法、並びに、その為のコンピュータ及びコンピュータ・プログラム |
JP2018536923A (ja) * | 2015-10-22 | 2018-12-13 | シマンテック コーポレーションSymantec Corporation | クライアント−サーバトランザクションをアノテーションするためのシステム及び方法 |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7454475B1 (en) | 2008-01-26 | 2008-11-18 | International Business Machines Corporation | Method and system for using message content to group messages |
US8612573B2 (en) * | 2008-08-28 | 2013-12-17 | Ca, Inc. | Automatic and dynamic detection of anomalous transactions |
US8533279B2 (en) * | 2009-09-23 | 2013-09-10 | Trading Systems Associates (Ts-A) (Israel) Limited | Method and system for reconstructing transactions in a communication network |
US8751643B2 (en) | 2011-12-13 | 2014-06-10 | International Business Machines Corporation | Correlating event streams from independent processes in a complex business system using metadata associated with the transport interconnections |
US9753796B2 (en) * | 2013-12-06 | 2017-09-05 | Lookout, Inc. | Distributed monitoring, evaluation, and response for multiple devices |
US10122747B2 (en) * | 2013-12-06 | 2018-11-06 | Lookout, Inc. | Response generation after distributed monitoring and evaluation of multiple devices |
US9608904B2 (en) * | 2013-12-20 | 2017-03-28 | Sandvine Incorporated Ulc | System and method for analyzing devices accessing |
US11025575B2 (en) * | 2018-06-12 | 2021-06-01 | Oracle Financial Services Software Limited | Message recognition system and method configurable to define new message formats |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4881178A (en) * | 1987-05-07 | 1989-11-14 | The Regents Of The University Of Michigan | Method of controlling a classifier system |
US6286052B1 (en) * | 1998-12-04 | 2001-09-04 | Cisco Technology, Inc. | Method and apparatus for identifying network data traffic flows and for applying quality of service treatments to the flows |
US7003781B1 (en) * | 2000-05-05 | 2006-02-21 | Bristol Technology Inc. | Method and apparatus for correlation of events in a distributed multi-system computing environment |
US20020062368A1 (en) * | 2000-10-11 | 2002-05-23 | David Holtzman | System and method for establishing and evaluating cross community identities in electronic forums |
US6826576B2 (en) * | 2001-05-07 | 2004-11-30 | Microsoft Corporation | Very-large-scale automatic categorizer for web content |
US7290048B1 (en) * | 2002-03-29 | 2007-10-30 | Hyperformix, Inc. | Method of semi-automatic data collection, data analysis, and model generation for the performance analysis of enterprise applications |
US6741595B2 (en) * | 2002-06-11 | 2004-05-25 | Netrake Corporation | Device for enabling trap and trace of internet protocol communications |
US7568023B2 (en) * | 2002-12-24 | 2009-07-28 | Hewlett-Packard Development Company, L.P. | Method, system, and data structure for monitoring transaction performance in a managed computer network environment |
US7483972B2 (en) * | 2003-01-08 | 2009-01-27 | Cisco Technology, Inc. | Network security monitoring system |
US7219148B2 (en) * | 2003-03-03 | 2007-05-15 | Microsoft Corporation | Feedback loop for spam prevention |
US7542451B2 (en) * | 2003-05-19 | 2009-06-02 | Qualcomm Incorporated | Network operator identification for CDMA communication networks |
US7543051B2 (en) * | 2003-05-30 | 2009-06-02 | Borland Software Corporation | Method of non-intrusive analysis of secure and non-secure web application traffic in real-time |
US20050192894A1 (en) * | 2004-01-30 | 2005-09-01 | Synthean Inc. | Checkpoint processing engine |
US7457870B1 (en) * | 2004-02-27 | 2008-11-25 | Packeteer, Inc. | Methods, apparatuses and systems facilitating classification of web services network traffic |
US7805509B2 (en) | 2004-06-04 | 2010-09-28 | Optier Ltd. | System and method for performance management in a multi-tier computing environment |
US7760719B2 (en) * | 2004-06-30 | 2010-07-20 | Conexant Systems, Inc. | Combined pipelined classification and address search method and apparatus for switching environments |
BRPI0607738A2 (pt) * | 2005-03-30 | 2009-10-06 | Welch Allyn Inc | comunicação de informação entre vários elementos de rede |
US20060272006A1 (en) * | 2005-05-27 | 2006-11-30 | Shaohong Wei | Systems and methods for processing electronic data |
-
2007
- 2007-02-20 EP EP07706160A patent/EP1999693A2/en not_active Withdrawn
- 2007-02-20 US US11/708,136 patent/US8291066B2/en not_active Expired - Fee Related
- 2007-02-20 WO PCT/IL2007/000224 patent/WO2007096870A2/en active Application Filing
- 2007-02-20 CN CNA200780009652XA patent/CN101421751A/zh active Pending
- 2007-02-20 JP JP2008555941A patent/JP2009527839A/ja active Pending
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11397988B2 (en) | 2012-12-18 | 2022-07-26 | Trading Technologies International, Inc. | Methods and systems to prevent adverse exchange limit effects |
JP7428776B2 (ja) | 2012-12-18 | 2024-02-06 | トレーディング テクノロジーズ インターナショナル インコーポレイテッド | 取引所の制限による不利な影響を防止するための方法およびシステム |
US11880884B2 (en) | 2012-12-18 | 2024-01-23 | Trading Technologies International, Inc. | Methods and systems to prevent adverse exchange limit effects |
JP2016505963A (ja) * | 2012-12-18 | 2016-02-25 | トレーディング テクノロジーズ インターナショナル インコーポレイテッド | 取引所の制限による不利な影響を防止するための方法およびシステム |
JP2018088270A (ja) * | 2012-12-18 | 2018-06-07 | トレーディング テクノロジーズ インターナショナル インコーポレイテッド | 取引所の制限による不利な影響を防止するための方法およびシステム |
US10049404B2 (en) | 2012-12-18 | 2018-08-14 | Trading Technologies International, Inc. | Methods and systems to prevent adverse exchange limit effects |
JP7176071B2 (ja) | 2012-12-18 | 2022-11-21 | トレーディング テクノロジーズ インターナショナル インコーポレイテッド | 取引所の制限による不利な影響を防止するための方法およびシステム |
JP2020009478A (ja) * | 2012-12-18 | 2020-01-16 | トレーディング テクノロジーズ インターナショナル インコーポレイテッド | 取引所の制限による不利な影響を防止するための方法およびシステム |
US10679289B2 (en) | 2012-12-18 | 2020-06-09 | Trading Technologies International, Inc. | Methods and systems to prevent adverse exchange limit effects |
JP2020198125A (ja) * | 2012-12-18 | 2020-12-10 | トレーディング テクノロジーズ インターナショナル インコーポレイテッド | 取引所の制限による不利な影響を防止するための方法およびシステム |
JP2021192276A (ja) * | 2012-12-18 | 2021-12-16 | トレーディング テクノロジーズ インターナショナル インコーポレイテッド | 取引所の制限による不利な影響を防止するための方法およびシステム |
US9875171B2 (en) | 2014-08-28 | 2018-01-23 | International Business Machines Corporation | Method for estimating format of log message and computer and computer program therefor |
US9858168B2 (en) | 2014-08-28 | 2018-01-02 | International Business Machines Corporation | Method for estimating format of log message and computer and computer program therefor |
JP2016048506A (ja) * | 2014-08-28 | 2016-04-07 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | ログメッセージのフォーマットを推定する方法、並びに、その為のコンピュータ及びコンピュータ・プログラム |
JP2018536923A (ja) * | 2015-10-22 | 2018-12-13 | シマンテック コーポレーションSymantec Corporation | クライアント−サーバトランザクションをアノテーションするためのシステム及び方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101421751A (zh) | 2009-04-29 |
US20070206633A1 (en) | 2007-09-06 |
WO2007096870A8 (en) | 2009-08-20 |
EP1999693A2 (en) | 2008-12-10 |
WO2007096870A2 (en) | 2007-08-30 |
US8291066B2 (en) | 2012-10-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2009527839A (ja) | 通信ネットワークのトランザクション監視のための方法及びシステム | |
CN113342564B (zh) | 日志审计方法、装置、电子设备和介质 | |
US8676965B2 (en) | Tracking high-level network transactions | |
US10318366B2 (en) | System and method for relationship based root cause recommendation | |
US10002144B2 (en) | Identification of distinguishing compound features extracted from real time data streams | |
US20080222068A1 (en) | Inferring Candidates that are Potentially Responsible for User-Perceptible Network Problems | |
US20180373779A1 (en) | Method and system for automatic event classification | |
KR20220114986A (ko) | 가상 네트워크 관리를 위한 머신 러닝 기반 vnf 이상 탐지 시스템 및 방법 | |
US20050210133A1 (en) | Method and apparatus for determining monitoring locations in distributed systems | |
US20200021511A1 (en) | Performance analysis for transport networks using frequent log sequence discovery | |
CN109218304B (zh) | 一种基于攻击图和协同进化的网络风险阻断方法 | |
CN109697456A (zh) | 业务分析方法、装置、设备及存储介质 | |
WO2023093100A1 (zh) | 一种api网关异常调用识别的方法、装置、设备及产品 | |
US10884805B2 (en) | Dynamically configurable operation information collection | |
CN113645232A (zh) | 一种面向工业互联网的智能化流量监测方法、系统及存储介质 | |
CN110460608B (zh) | 一种包含关联分析的态势感知方法和系统 | |
KR20230031889A (ko) | 네트워크 토폴로지에서의 이상 탐지 | |
JP2021530807A (ja) | コンピュータセキュリティインシデントを報告するためのシステムおよび方法 | |
CN112367191A (zh) | 一种5g网络切片下服务故障定位方法 | |
Li | Detection of ddos attacks based on dense neural networks, autoencoders and pearson correlation coefficient | |
Savaliya et al. | Securing industrial communication with software-defined networking. | |
EP4020887A1 (en) | Method and apparatus for detecting anomalies of a dns traffic | |
Nam et al. | Virtual machine failure prediction using log analysis | |
LYU et al. | Alarm-Based Root Cause Analysis Based on Weighted Fault Propagation Topology for Distributed Information Network | |
RU2802164C1 (ru) | Способ выявления нормальных реакций узлов компьютерной сети на сетевые пакеты, относящиеся к неизвестному трафику |