(57)【要約】【課題】ネットワークの任意のポイントで収集される多数のデータ・ストリームを解析可能にする方法及びシステムを提供する。【解決手段】所定のプロトコルに従ってネットワークで伝送される、１つ以上の伝送メッセージが収集される。１つ以上の収集された伝送メッセージは、状態機械に供給される。状態機械を利用することによって、１つ以上の収集された伝送メッセージに関して予想される挙動（実施態様の１つでは、予想状態）が得られる。１つ以上の収集された伝送メッセージはそれぞれ予想挙動と比較され、比較結果が予想挙動からの逸脱を示すと、通知がなされる。【選択図】図１
2006067580.tif 000002
【特許請求の範囲】
【請求項１】
データ伝送の解析方法であって、
所定のプロトコルに従ってネットワークで伝送される、少なくとも１つの伝送メッセージ収集するステップと、
前記少なくとも１つの収集した伝送メッセージを状態機械に供給するステップと、
前記状態機械を利用して、前記少なくとも１つの収集した伝送メッセージについて予想される挙動を求めるステップと、
前記少なくとも１つの収集した伝送メッセージと前記予想挙動を比較するステップと、
前記比較結果が前記予想挙動からの逸脱を示す場合には、通知を行うステップとを有する、方法。
【請求項２】
予想挙動を求めるステップに、予想状態を求めるステップが含まれることと、
前記少なくとも１つの収集した伝送メッセージと前記予想挙動を比較するステップに、前記予想状態における前記挙動と前記少なくとも１つの収集した伝送メッセージを比較するステップが含まれる、請求項１に記載の方法。
【請求項３】
所定のプロトコルに従ってネットワークで伝送される、少なくとも１つの伝送メッセージ収集することが可能な収集サブシステムと、
複数のデータ・メッセージにわたって繰り返すための手段、
解析プロセスに前記複数のデータ・メッセージのうちの１つのデータ・メッセージを供給するための手段、
前記１つのデータ・メッセージに関する予想状態を求めるための解析プロセス手段、
前記予想状態と前記１つのデータ・メッセージを比較するための手段、及び、
前記予想状態と前記１つのデータ・メッセージとの相違を通知するための手段を具備する、
状態機械をインスタンス化するための手段と、
前記少なくとも１つの収集メッセージを前記状態機械に供給するための手段と、
前記少なくとも１つの収集メッセージと前記少なくとも１つの収集メッセージに対応する予測状態との相違を通知することが可能な出力サブシステムとを有する、システム。
【請求項４】
前記少なくとも１つの収集メッセージに、複数の収集メッセージが含まれることと、
前記状態機械に、並列処理のため、前記複数のデータ・メッセージのそれぞれを前記解析プロセスに繰り返し供給するための手段が、さらに含まれる、請求項３に記載のシステム。
【請求項５】
前記所定のプロトコルに信号プロトコルが含まれる、請求項３に記載のシステム。
【請求項６】
前記所定のプロトコルにリアルタイム転送プロトコルが含まれる、請求項３に記載のシステム。
【請求項７】
コンピュータ可読コードが納められた少なくとも１つのコンピュータ可使媒体が含まれており、前記コンピュータ可読コードによって、少なくとも１つのプロセッサに、
所定のプロトコルを利用するネットワークを介した伝送のために、
少なくとも１つのデータ・メッセージを解析プロセスに供給するための手段、
前記１つのデータ・メッセージに関する予想状態を求めるための手段、
前記予想状態と前記少なくとも１つのデータ・メッセージを比較するための手段、及び、
前記予想状態と前記少なくとも１つのデータ・メッセージの相違を通知するための手段を具備した、
状態機械をインスタンス化させ、
前記状態機械を初期化させ、
前記状態機械に少なくとも１つの収集した伝送メッセージを供給させ、
前記状態機械を利用して、前記少なくとも１つの収集した伝送メッセージに関する予想挙動を求めさせ、
前記状態機械を利用して、前記少なくとも１つの収集した伝送メッセージと前記予想挙動を比較させ、
前記比較結果が前記予想挙動からの逸脱を示す場合、前記状態機械を利用して、通知が行われるようにし、
前記状態機械をリセットさせることができる、コンピュータ・プログラム。
【請求項８】
前記少なくとも１つの収集した伝送メッセージに前記複数の収集した伝送メッセージが含まれ、
前記状態機械においては、前記少なくとも１つのデータ・メッセージに複数のデータ・メッセージが含まれることと、
前記状態機械に、さらに、
前記複数のデータ・メッセージにわたって繰り返すための手段が含まれる、請求項７に記載のコンピュータ・プログラム。
【請求項９】
前記所定のプロトコルに信号プロトコルが含まれる、請求項７に記載のコンピュータ・プログラム。
【請求項１０】
前記所定のプロトコルに、リアルタイム転送プロトコルが含まれる、請求項７に記載のコンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般に、ネットワーク伝送のモニタに関する。
【背景技術】
【０００２】
多くの用途（例えば、ＶｏＩＰ用途）において、装置は、ネットワークを介して、他の装置と数多くの伝送メッセージを交換することが可能である。これらの伝送メッセージから収集される大量のデータを解析する必要性については、下記の特定の用途について言及することにより、最も明確に説明することが可能である。
【０００３】
リアルタイム・プロトコル（ＲＴＰ）によれば、オーディオ、ビデオ、または、シミュレーション・データといった実時間データをマルチキャストまたはユニキャスト・ネットワーク・サービスを介して伝送する用途に適したエンド・ツー・エンド・ネットワーク転送機能が得られる。ＲＴＰは、資源予約に対応しないし、実時間サービスに関するサービス品質を保証しない。ＲＴＰは、下位の転送及びネットワーク層から独立するように設計されている。最悪のＲＴＰストリームの測定にかかわる問題の１つは、エンド・ポイント間で伝送される全てのＲＴＰストリームを検査し、解析するのに利用可能な処理能力の問題である。例えば、ネットワーク内の任意のポイントを通過するＲＴＰストリームは数千に達し、従って、その任意のポイントを通過する各ＲＴＰストリームの解析は、既存の処理テクノロジでは不可能である。
【０００４】
上記論述は、ＲＴＰストリームに関連したものであるが、同じ状況は、他のプロトコルを利用して伝送される多くのデータ・ストリームにも生じる。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
本発明の目的は、ネットワークの任意のポイントで収集される多数のデータ・ストリームを解析可能にする方法及びシステムを提供することにある。
【課題を解決するための手段】
【０００６】
上述の本発明の目的、並びに、本発明のさらなる及び他の目的及び利点は、以下で述べる本発明の実施態様によって実現される。
【０００７】
ネットワークの任意のポイントで収集される多数のデータ・ストリームを解析するための方法及びシステムが提示される。
【０００８】
本発明の方法の実施態様の１つでは、所定のプロトコルに従ってネットワークで伝送される、１つ以上の伝送メッセージが収集される。１つ以上の収集された伝送メッセージは、状態機械に供給される。状態機械を利用することによって、１つ以上の収集された伝送メッセージに関して予想される挙動（実施態様の１つでは、予想状態）が得られる。１つ以上の収集された伝送メッセージはそれぞれ予想挙動と比較され、比較結果が予想挙動からの逸脱を示すと、通知がなされる。
【０００９】
本発明の方法を実施するシステム及びその方法の実施に利用されるコンピュータ・プログラム製品についても開示される。
【００１０】
本発明、並びに、本発明の他の及びさらなる目的についてより明確な理解が得られるように、添付の図面及び詳細な説明を参照されたい。また、本発明の範囲については、特許請求の範囲で指摘されるものとする。
【発明を実施するための最良の形態】
【００１１】
以下では、ネットワークの任意のポイントで収集される多数のデータ・ストリームを解析するための方法及びシステムについて開示される。
【００１２】
図１には、本発明の方法のある実施態様を解説した流れ図が示されている。図１を参照すると、本発明の方法の実施態様１０では、所定のプロトコルに従って伝送される１つ以上の伝送メッセージ（データ・ストリームとも呼ばれる）が、収集され（図１のステップ２０）、１つ以上の収集された伝送メッセージが状態機械に供給される（図１のステップ３０）。状態機械を利用することによって、１つ以上の収集された伝送メッセージに関して予想される挙動（実施態様の１つでは、予想状態）が得られる（図１のステップ４０）。１つ以上の収集された伝送メッセージは、それぞれ、対応する予想挙動と比較され（図１のステップ５０）、比較結果が、予想挙動からの逸脱を示すと、通知がなされる（図１のステップ６０）。実施態様によっては、いくつかの伝送メッセージが収集され、並列処理されるものもある（ステップ３０乃至ステップ６０によって）。
【００１３】
実施態様の１つにおいて、本発明のシステムには、所定のプロトコルに従ってネットワークを介して伝送される、１つ以上のメッセージを収集することが可能な収集サブシステムと、状態機械をインスタンス化するための手段が含まれており、状態機械には、
いくつかのデータ・メッセージにわたって繰り返すための手段と、
解析プロセスに１つのデータ・メッセージを供給するための手段と、
解析プロセスに供給されたデータ・メッセージに関する予想状態を求めるための解析プロセス手段と、
予想状態における挙動とデータ・メッセージの挙動を比較するための手段と、
予想状態とデータ・メッセージとの相違を通知するための手段が含まれている。この実施態様の場合、本発明のシステムには、さらに、１つ以上の収集したメッセージを状態機械に供給するための手段と、１つ以上の収集したメッセージと１つ以上の収集したメッセージに対応する予測状態との相違を通知することが可能な出力サブシステムも含まれている。（ここでは、オブジェクト指向コンピュータ言語においてインスタンス化が利用されるのと同様のやり方で、インスタンス化が利用される。インスタンス化手段は、所定のプロトコルに合わせて状態機械がインスタンス化されることになる、ソフトウェアまたは専用ハードウェアまたはハードウェア／ソフトウェアから構成されている。）
図２に示す概略図には、（プロトコルを表わすのに用いられるのと同様の）層表現を利用した本発明のシステムの実施態様１００が描かれている。図２を参照すると、本発明のシステムの実施態様１００は、収集ハードウェア１１０（収集ハードウェアは、制限するわけではないが、アジレント・テクノロジ社の「Ｊ６８００Ａネットワーク・アナライザ」のようなネットワーク・アナライザにおいて見受けられるのと同様のものとすることが可能である）によって伝送メッセージ（データ・ストリーム）１０５からデータを収集する。収集層及びフィルタリング層は、１つ以上の伝送メッセージ１０５からデータを受信し、そのデータを状態機械解析層１３０に供給することが可能な形式にする。収集層及びフィルタリング層は、１つ以上の伝送メッセージ１０５からのデータを状態機械に供給するための手段を構成している。（実施態様の１つでは、収集層及びフィルタリング層には、プロセッサに命じて、受信メッセージの構文解析を実施させ、状態機械にデータを供給させるソフトウェアが含まれている。もう１つの実施態様では、専用ハードウェアまたは専用ハードウェア／ソフトウェアで、同じ機能を実施することが可能である。）データは、状態機械によって解析され、１つ以上の伝送メッセージ１０５からのデータと１つ以上の伝送メッセージ１０５に対応する予想状態との相違は、提示層１４０に通知される。提示層１４０では、その相違の通知を提示するが、実施態様の１つでは、提示層１４０に出力サブシステムのソフトウェア・コンポーネントが含まれる。
【００１４】
図３には、本発明のネットワーク・モニタ・システムの実施態様を利用したネットワーク２００が示されている。図３を参照すると、本発明のネットワーク・モニタ・システムのある実施態様を利用したネットワーク２００には、ネットワーク位置２２０におけるネットワーク伝送メッセージのモニタが可能なネットワーク・モニタ・システム（装置）２１０、サーバ２３０、及び、他のいくつかのネットワーク位置２５０、２７０、２８５、２９５における他のいくつかのネットワーク・モニタ装置２４０、２６０、２８０、２９０が含まれている。
【００１５】
実施態様の１つにおいて、本発明のシステムは、制限するわけではないが、システムに、ネットワーク・インターフェイス／データ収集コンポーネント３２０、１つ以上のプロセッサ３１０、１つ以上のコンピュータ可読メモリ３６０、少なくとも１つの他のコンピュータ可読メモリ３４０、及び、出力サブシステム３７０が含まれる、図４に示すような実施例をベースにしている。ネットワーク・インターフェイス・コンポーネント３２０、１つ以上のプロセッサ３１０、１つ以上のコンピュータ可読メモリ３６０、出力サブシステム３７０、及び、１つ以上の他のコンピュータ可読メモリ３４０は、相互接続手段３２５（制限するわけではないが、共通「バス」のような）によって動作可能に接続されている。
【００１６】
出力サブシステムには、制限するわけではないが、（コンピュータ可読媒体のような）通知を記憶するための記憶手段、通知または通知による処理結果を表示するためのディスプレイ、または、（ネットワーク・インターフェイス・コンポーネントを利用して）ネットワークを介してその結果を中央サーバに伝送するための手段を含むことが可能である。
【００１７】
１つ以上のコンピュータ可読メモリ３６０には、コンピュータ可読コードが納められており、コンピュータ可読コードによって、１つ以上のプロセッサ３１０に、
所定のプロトコルを利用したネットワークによる伝送のために、状態機械のインスタンス化を実施させ、
状態機械を初期化させ、
収集した１つ以上の伝送メッセージを状態機械に供給させ、
状態機械を利用して、収集した１つ以上の伝送メッセージに関する予想挙動を求めさせ、
収集した１つ以上の伝送メッセージと予想挙動を比較させ、比較結果が予想挙動からの逸脱を示す場合、状態機械を利用して、通知が行われるようにし、状態機械をリセットさせることが可能になる。
【００１８】
本発明の状態機械に関する擬似コードの実施態様の１つは、次のように示される。
【００１９】
ＳｔａｔｅＭａｃｈｉｎｅ：：ｂｅｇｉｎ（  ）｛
収集ハードウェアによって観測される個々のデータ・ストリームについて繰り返し、並
列処理を施す
｝
ＳｔａｔｅＭａｃｈｉｎｅ：：ｐｒｏｃｅｓｓＭｅｓｓａｇｅ（ｎｅｗＭｅｓｓａｇｅ，ｍｅｓｓａｇｅＰｒｏｃｅｓｓＯｂｊｅｃｔ）｛
プロセス・オブジェクトにメッセージを与え、評価作業をプロセス・オブジェクトに任
せる
｝
ｍｅｓｓａｇｅＰｒｏｃｅｓｓＯｂｊｅｃｔ：：ｅｖａｌｕａｔｅ（ｎｅｗＭｅｓｓａｇｅ）｛
新しいメッセージと予想メッセージを比較し、予想通りなら、次の状態に移行し、別様
であれば、エラーが観測されたことを通知する
｝
ＳｔａｔｅＥｖａｌｕａｔｉｏｎ：：ｒｕｎ（  ）｛
非完了状態にある間に、
収集されたメッセージと予想メッセージを比較し、
現状態にとどまるか、新状態に移行するか、カウントをトリガするかクリアして、状態
をリセットする
｝
ＳｔａｔｅＭａｃｈｉｎｅ：：ｉｎｃｏｒｒｅｃｔＳｔａｔｅＯｂｓｅｒｖｅｄ（  ）
｛
所望の通知動作を実施する
｝
本発明のいっそう明確な理解が得られるように、次に、下記の例証となる実施態様について言及することにする。もう一度図３を参照すると、起呼側電話２８５（すなわち、送信元）が、ネットワーク２０５を介して、受信側電話２５０（すなわち、受信先）との通話を開始する。図３に示す実施態様の場合、ネットワークは、インターネット・プロトコル・ネットワークである。実施態様の１つでは、通話開始は、信号プロトコルとしてＳＩＰを利用した信号メッセージ（信号伝送事象）によって生じる。いくつかの信号メッセージが、ネットワーク・モニタ装置２１０、２４０、２６０、２８０、２９０の任意の１つで観測され、収集される。ネットワーク・モニタ装置２１０、２４０、２６０、２８０、２９０の任意の１つにおいて、いくつかの信号（伝送）メッセージからのデータ（データ・ストリーム）（図２の１０５）が、収集ハードウェア（図２の１１０）によって収集される。１つ以上の収集された信号（伝送）メッセージが、状態機械に供給される。
【００２０】
状態機械はいくつかの状態を備えており、状態変化は、ある事象によって起動される。その事象によって、現状態に応じた、さまざまな状態が生じる可能性がある。状態機械は、収集ハードウェアによって収集される個々のデータ・ストリーム（メッセージ）について繰り返し、並列処理を実施する。解析されるプロトコルに関して状態機械を初期化し、状態機械をリセットして、初期状態にした後の、各並列処理スレッドにおけるメッセージの１つは、プロセス状態を進展させることである。ＳＩＰによるクライアントとサーバの両方のトランザクションが、有限状態機械から得られる。（クライアントは要求を送り、サーバは応答を提供する。参考までに本明細書において援用されている、ＲＦＣ３２６１、「ＳＩＰ：Ｓｅｓｓｉｏｎ  Ｉｎｉｔｉａｔｉｏｎ  Ｐｒｏｔｏｃｏｌ」、ｐ．１２２、２００２年６月、＜ＵＲＬ：ｈｔｔｐ：／／ｗｗｗ．ｉｅｔｆ．ｏｒｇ／ｒｆｃ／ｒｆｃ３２６１．ｔｘｔ＞を参照されたい。）適合するＳＩＰ有限状態機械は、状態評価機能に含むことが可能である。例えば、図５には、ＩＮＶＩＴＥクライアント・トランザクションに関する従来の有限状態機械が示されている。（図５に示す状態機械については、ＲＦＣ３２６１、ｐ．１２７に解説され、「Ｔｅｓｔｉｎｇ  ＳＩＰ  ｕｓｉｎｇ  ＸＭＬ  Ｔｅｍｐｌａｔｅｓ」、＜ＵＲＬ：ｈｔｔｐ：／／ｗｗｗ．ｔｅｓｔｃｏｍ２００３．ｏｒｇ／Ｐｒｅｓｅｎｔａｔｉｏｎｓ／Ｓｅｓｓｉｏｎ１／３＿Ｔｅｓｔｉｎｇ％２０ＳＩＰ．ｐｐｔ＞に示されている。留意すべきは、この従来の有限状態機械が、ＳＩＰについて記述する多くの状態機械のうちの１つであるという点である。今後、プロトコル状態機械は、プロセスとも呼ばれる。）プロセスの操作の完了前における状態の任意の１つにある間に、メッセージが、プロトコル状態機械（プロセス）の進展に従って予想されるものと比較される。メッセージ挙動が、予想挙動どおりであれば、状態機械は次の状態に移行し、別様であれば、状態機械は、エラーが観測されたことを通知する。このプロセスは、収集される各メッセージ毎に並列に行われる。
【００２１】
制限するわけではないが、ＲＴＰ（リアルタイム転送プロトコル）といったさまざまな他のプロトコルのためのプロトコル状態機械を得ることが可能である。図６には、従来の汎用プロトコル状態機械（プロセス）が示されている（Ｌｅｃｔｕｒｅ１３，ＣＥ６４１８３，Ｗｉｎｔｅｒ  ２００４，Ｕｎｉｖｅｒｓｉｔｙ  ｏｆ  Ｏｔｔａｗａ、＜ＵＲＬ：ｈｔｔｐ：／／ｗｗｗ．ｄｉｓｃｏｖｅｒ．ｕｏｔｔａｗａ．ｃａ／〜ｓｈｅｒｖｉｎ／ｃｅｇ４１８３／ｌｅｃｔｕｒｅｓ／Ｌｅｃｔｕｒｅ１３．ｐｄｆ＞に記載がある）。状態機械が、解析されるプロトコルに対して初期化されると、ネットワーク・モニタ装置は、プロトコル・プロセス（プロトコル状態機械）を利用し、上述の方法及びシステムを利用して、伝送メッセージを解析することが可能になる。
【００２２】
留意すべきは、本発明の上記解説は、ＳＩＰ及びＲＴＰプロトコルに関して行われてきたが、本発明はこれらのプロトコルに制限されるものではないという点である。本発明の方法及びシステムを用いて、ステートレス・プロトコル以外の他のプロトコルも同様に解析することが可能である。
【００２３】
さらに、図３の典型的なネットワーク２００は、説明を容易にするため簡略化されている。ネットワーク２００には、ネットワーク、通信リンク、プロキシ、ファイアウォール、または、他のセキュリティ機構、インターネット・サービス・プロバイダ（ＩＳＰ）、ＭＣＵ、ゲートキーパ、ゲートウェイ、及び、他の要素といった、より多いまたはより少ない追加要素を含むことが可能である。
【００２４】
一般に、上述の技法は、例えば、ハードウェア、ソフトウェア、ファームウェア、または、それらの任意の組合せによって実施することが可能である。上述の技法は、プロセッサを含むプログラマブル・コンピュータで実行される１つ以上のコンピュータ・プログラム、プロセッサによる読み取りが可能な記憶媒体（例えば、揮発性及び不揮発性メモリ及び／または記憶素子）、少なくとも１つの入力装置、及び、少なくとも１つの出力装置で実施することが可能である。入力装置を利用して入力されたデータに、プログラム・コードを適用して、上述の機能を実施し、出力情報を生成することが可能である。出力情報は、１つ以上の出力装置に供給することが可能である。
【００２５】
本明細書に記載の要素及びコンポーネントは、さらに、副コンポーネントに分割することもできるし、あるいは、統合して、同じ機能を実施するより少ないコンポーネントを形成することも可能である。
【００２６】
特許請求の範囲内の各コンピュータ・プログラム（コード）は、アセンブリ言語、機械言語、高水準手続きプログラミング言語、または、オブジェクト指向プログラミング言語といった、任意のプログラミング言語で実施可能である。プログラミング言語は、コンパイルまたは翻訳された(interpreted)プログラミング言語とすることが可能である。
【００２７】
各コンピュータ・プログラムは、コンピュータ・プロセッサによる実行に備えて、コンピュータ可読記憶装置に実際に納められたコンピュータ・プログラム製品で実施可能である。本発明の方法ステップは、コンピュータ可読媒体に実際に納められたプログラムを実行して、入力に処理を施し、出力を生成することにより、本発明の機能を実施するコンピュータ・プロセッサによって実施可能である。
【００２８】
一般的な形態のコンピュータ可読または可使媒体には、例えば、フロッピ・ディスク、フレキシブル・ディスク、ハード・ディスク、磁気テープまたは他の任意の磁気媒体、ＣＤＲＯＭ、他の任意の光媒体、パンチ・カード、紙テープ、パターンをなす穴のあいた他の任意の物理的媒体、ＲＡＭ、ＰＲＯＭ、及び、ＥＰＲＯＭ、フラッシュＥＰＲＯＭ、他の任意のメモリ・チップまたはカートリッジ、搬送波、または、コンピュータによる読み取りが可能な他の任意の媒体が含まれる。
【００２９】
さまざまな実施態様に関連して、本発明の記述を行ってきたが、理解しておくべきは、本発明は、特許請求の範囲の精神及び範囲内において、さらなる他の多種多様な実施態様も可能であるという点である。
【図面の簡単な説明】
【００３０】
【図１】本発明の方法の実施態様の１つを表わした概略流れ図である。
【図２】本発明のシステムの実施態様の１つを表わした概略ブロック図である。
【図３】本発明のシステムを利用したネットワークを表わした概略図である。
【図４】本発明のシステムのもう１つの実施態様を表わした概略ブロック図である。
【図５】従来のプロトコル状態機械を表した概略ブロック図である。
【図６】もう１つの従来のプロトコル状態機械を表した概略ブロック図である。
【符号の説明】
【００３１】
１１０  収集サブシステム
３６０  コンピュータ可使媒体
３７０  出力サブシステム
【図１】
2006067580.tif 000003
【図２】
2006067580.tif 000004
【図３】
2006067580.tif 000005
【図４】
2006067580.tif 000006
【図５】
2006067580.tif 000007
【図６】
2006067580.tif 000008