(57)【要約】コンピュータネットワークにおけるネットワークモニタリング及び診断の様々な技術を、本明細書において開示する。一実施形態において、方法は、コンピュータネットワークによって互いに相互接続される第１のクライアントデバイスと第２のクライアントデバイスとの間のネットワークセッションを構成することを含む。構成されるネットワークセッションは、１つ又は複数の暗号化される属性を有する。本方法は、ネットワークセッションの間に、第１のクライアントデバイスを第２のクライアントデバイスに接続する１つ又は複数のネットワーク要素からの情報を収集するために、構成されたネットワークセッションの暗号化された属性のうちの１つ又は複数をネットワーク管理システムに伝送することも含む。
2015535669.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータネットワークにおけるネットワークモニタリング及び診断のための方法であって、
前記コンピュータネットワークによって互いに相互接続される第１のクライアントデバイスと第２のクライアントデバイスとの間のネットワークセッションを構成するようシグナリングするステップであって、構成されるネットワークセッションは、当該シグナリングの間に暗号化される１つ又は複数の属性を有する、ステップと、
前記ネットワークセッションの間に前記第１のクライアントデバイスを前記第２のクライアントデバイスに接続する１つ又は複数のネットワーク要素からの情報を収集するために、前記構成されるネットワークセッションの前記属性のうちの１つ又は複数を、暗号化されていない形式でネットワーク管理システムに伝送するステップと、
を含む、方法。
【請求項２】
前記ネットワークセッションを構成することは、前記第１のクライアントデバイスと前記第２のクライアントデバイスとの間で１つ又は複数のシグナリングパケットを伝送することを含み、
前記１つ又は複数のシグナリングパケットは、前記第１のクライアントデバイス及び前記第２のクライアントデバイスのネットワークアドレス、セッション識別子、前記ネットワークセッションのプロトコル、ソース及び宛先トランスポート・ポート、前記ネットワークセッションのメディアタイプ、コーデック又は前記ネットワークセッションの帯域幅推定のうちの少なくとも１つを含む、暗号化されたペイロードを有する、
請求項１に記載の方法。
【請求項３】
前記ネットワークセッションを構成することは、前記第１のクライアントデバイス及び前記第２のクライアントデバイスのネットワークアドレス、セッション識別子、前記ネットワークセッションのプロトコル、ソース及び宛先トランスポート・ポート、前記ネットワークセッションのメディアタイプ、コーデック又は前記ネットワークセッションの帯域幅推定のうち、暗号化されている少なくとも１つを決定することを含み、
前記属性のうちの１つ又は複数を伝送することは、決定された前記第１のクライアントデバイス及び前記第２のクライアントデバイスのネットワークアドレス、セッション識別子、前記ネットワークセッションのプロトコル、ソース及び宛先トランスポート・ポート、前記ネットワークセッションのメディアタイプ、コーデック又は前記ネットワークセッションの帯域幅推定のうちの１つ又は複数を、前記ネットワーク管理システムに伝送することを含む、
請求項１又は２に記載の方法。
【請求項４】
プロセッサによって実行されると、該プロセッサに処理を実行させる命令を含むコンピュータメモリであって、前記処理は、
第１のクライアントデバイスと第２のクライアントデバイスとの間に構成されたネットワークセッションの属性のうちの１つ又は複数を受信するステップであって、前記属性のうちの少なくとも１つは、前記ネットワークセッションの構成中に暗号化される、ステップと、
前記構成されたネットワークセッションの前記属性のうちの前記受信した１つ又は複数に基づいて、前記第１のクライアントデバイスを前記第２のクライアントデバイスに接続するネットワーク経路を構成するステップであって、前記ネットワーク経路は、１つ又は複数のネットワーク要素を有する、ステップと、
前記ネットワークセッションの間に、前記ネットワーク経路に沿って前記１つ又は複数のネットワーク要素から情報を収集するステップと、
を含む、コンピュータメモリ。
【請求項５】
前記属性のうちの１つ又は複数を受信するステップは、前記第１のクライアントデバイス及び前記第２のクライアントデバイスのネットワークアドレス、セッション識別子、前記ネットワークセッションのプロトコル、ソース及び宛先トランスポート・ポート、前記ネットワークセッションのメディアタイプ、コーデック又は前記ネットワークセッションの帯域幅推定のうちの少なくとも１つを受信することを含む、
請求項４に記載のコンピュータメモリ。
【請求項６】
情報を収集するステップは、対応するタイムスタンプを有する前記１つ又は複数のネットワーク要素の各々において、トラフィックスループット、サービスのクラス又は欠損パケットの値のうちの少なくとも１つを収集することを含む、
請求項４又は５に記載のコンピュータメモリ。
【請求項７】
情報を収集するステップは、対応するタイムスタンプを有する前記１つ又は複数のネットワーク要素の構成又は動作パラメータのうちの少なくとも１つを収集し、格納することを含み、
前記処理は更に、
前記ネットワークセッションの性能低下を示す通知を受信するステップであって、前記性能低下はエラータイムスタンプを有する、ステップと、
前記収集された構成又は動作パラメータを、前記エラータイムスタンプと、前記構成又は動作パラメータのタイムスタンプとに基づいて、前記ネットワークセッションの前記性能低下を示す前記受信した通知と相関させるステップと、
を含む、請求項４又は５に記載のコンピュータメモリ。
【請求項８】
コンピュータネットワークにおけるネットワークモニタリング及び診断のためのコンピュータシステムであって、
前記コンピュータネットワークによって互いに相互接続される第１のクライアントデバイスと第２のクライアントデバイスとの間のネットワークセッションを確立するように構成されるサーバであって、構成されるネットワークセッションは、該ネットワークセッションを確立する間に暗号化される１つ又は複数の属性を有する、サーバと、
前記サーバと結合されるネットワーク管理システムと、
を備え、
前記ネットワーク管理システムは、
前記第１のクライアントデバイスと前記第２のクライアントデバイスとの間の前記確立されるネットワークセッションの属性のうちの１つ又は複数を受信し、
前記ネットワークセッションの前記属性のうちの前記受信した１つ又は複数に基づいて、前記第１のクライアントデバイスを前記第２のクライアントデバイスに接続するネットワーク経路であって、前記第１のクライアントデバイスと前記第２のクライアントデバイスを相互接続する１つ又は複数のネットワーク要素を有する、前記ネットワーク経路を決定し、
前記ネットワークセッションに間に、前記１つ又は複数のネットワーク要素から構成及び／又は動作情報を収集し、
前記ネットワークセッションの前記属性のうちの前記受信した１つ又は複数の属性に基づいて、前記収集した構成及び／又は動作情報を、前記ネットワークセッションに関連付ける
ように構成される、コンピュータシステム。
【請求項９】
前記ネットワーク管理システムは、前記第１のクライアントデバイス及び前記第２のクライアントデバイスのネットワークアドレス、セッション識別子、前記ネットワークセッションのプロトコル、ソース及び宛先トランスポート・ポート、前記ネットワークセッションのメディアタイプ、コーデック又は前記ネットワークセッションの帯域幅推定のうちの少なくとも１つを受信するように構成される、
請求項８に記載のコンピュータシステム。
【請求項１０】
前記サーバは、前記ネットワーク管理システムに通知を伝送するようにも構成され、前記通知は、前記ネットワークセッションの性能低下を示し、前記性能低下は、エラータイムスタンプを有し、
前記ネットワーク管理システムは、
対応するタイムスタンプを有する前記１つ又は複数のネットワーク要素の構成又は動作パラメータのうちの少なくとも１つを収集して格納し、
前記エラータイムスタンプと前記構成又は動作パラメータの前記タイムスタンプとに基づいて、前記収集した構成又は動作パラメータを、前記ネットワークセッションの前記性能低下を示す前記受信した通知と相関させる
ように構成される、請求項８に記載のコンピュータシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、暗号化されたセッションのモニタリングに関する。
【背景技術】
【０００２】
コンピュータネットワークにおいて、ルータ、ゲートウェイ及び／又は他のタイプのネットワーク要素は、典型的に、データトラフィックのパススルーを検査することができる。その検査の結果を、サービス品質の制御、侵入検出、侵入保護、ファイヤウォール、ネットワークモニタリング、ロードバランシング及び／又は他の適切なネットワーク管理タスクのために分析することができる。しかしながら、一部のコンピュータシステム（例えば統一通信システム（unified  communication  system））においては、シグナリング及び／又はデータトラフィックのペイロードが暗号化されることがある。暗号化は、様々なネットワーク要素を「ブラインド」するので、様々なネットワーク管理タスクの実行を害する可能性がある。
【０００３】
この問題に対処するため、ヒューリスティックによるプローブを、コンピュータネットワーク内の様々な場所で展開し、データトラフィックをモニタ及び／又は識別することがある。しかしながら、そのようなプローブの展開は費用が高い可能性があり、またその正確性は、展開されるプローブの数と位置に依存するだけでなく、ヒューリスティックの精度にも依存するために、モニタリングの結果は信頼性できない可能性がある。
【発明の概要】
【０００４】
本技術は、シグナリング及び／又はデータトラフィックの少なくとも一部が暗号化されるコンピュータネットワークにおいて、ネットワークの性能をモニタリングし、潜在的な構成及び／又は動作上の問題を診断することを対象とする。例えば一態様において、サーバは、要求を受け取ると、第１のクライアントデバイスと第２のクライアントデバイスとの間のシグナリングを実行して、ネットワークセッション（例えばビデオコール）を確立することができる。シグナリングの間に、ネットワークセッションの様々な属性が確立され得る。これらの属性は、第１及び第２のクライアントデバイスのネットワークアドレス及び／又はメディアアクセスコントロール（ＭＡＣ）アドレス、メディアタイプ、ネットワークセッションの要求される帯域幅、トランスポート・ポート、トランスポート・プロトコル、コーデック、セッションタイムスタンプ、暗号化タイプ、暗号化キー並びに／あるいは他の任意の適切なセッションパラメータを含むことができる。
【０００５】
サーバは、これらの属性のうちの１つ又は複数を、暗号化された形式でネットワーク管理システムに伝送することができる。ネットワーク管理システムは、次いで、ネットワークセッションのために第１のクライアントデバイスを第２のクライアントデバイスに接続する、１つ又は複数のネットワーク要素を有するネットワークルートを決定することができる。サーバが、ネットワークセッションを開始すると指示すると、ネットワーク管理システムは、１つ又は複数のネットワーク要素の情報を、周期的に、要求に応じて、かつ／又は他の適切な手法により収集することができる。
【０００６】
ネットワークセッション中に問題（例えば欠損したコール（dropped  call）又は良くないコール品質）が生じた場合には、サーバは、ネットワーク管理システムにこの発生を通知することができる。ネットワーク管理システムは、次いで、その問題に関して、収集された情報を相関させるか、かつ／又は他の方法により分析することによって、その問題の潜在的な原因を決定するか、少なくとも予測することができる。その結果、ネットワーク管理システムは、サーバ及び／又はネットワーク要素の少なくとも１つが、潜在的にその問題を発生させたのかどうかを判断することができる。そのような結果を用いて、オペレータ及び／又は他の管理エンティティは、その問題について迅速に診断し、解決することができる。
【０００７】
この「発明の概要」における記載は、以下で「発明を実施するための形態」において更に説明される概念の選択を簡略化した形で紹介するために提供される。この「発明の概要」における記載は、特許請求に係る主題の主要な特徴又は本質的特徴を特定するようには意図されておらず、また特許請求に係る主題の範囲を限定するのに使用されるようにも意図されていない。
【図面の簡単な説明】
【０００８】
【図１】本技術の実施形態に係るコンピューティングフレームワークを例示する概略図である。
【図２】本技術の実施形態に従って、図１のサーバに適したコンピューティングコンポーネントを例示する概略的なブロック図である。
【図３】本技術の実施形態に従って、図１のネットワーク管理システムに適したコンピューティングコンポーネントを示すブロック図である。
【図４】本技術の実施形態に従って、図３の処理コンポーネントに適したソフトウェアモジュールを示すブロック図である。
【図５】本技術の実施形態に従って、コンピュータネットワークをモニタリングするための処理を示すフロー図である。
【図６】本技術の実施形態に従って、コンピュータネットワークにおいて診断を実行するための処理を示すフロー図である。
【発明を実施するための形態】
【０００９】
コンピュータネットワークにおけるモニタリング及び診断のためのシステム、デバイス、コンポーネント、モジュール、ルーチン及び処理の様々な実施形態を、以下に説明する。以下の説明には、本技術の様々な実施形態の完全な理解を提供するため、例示のソフトウェアコード、値及び他の具体的な詳細が含まれている。関連する技術分野の当業者には、この技術には追加の実施形態もあり得ることが理解されよう。本技術は、図１〜図６に関連して下述される実施形態の細部の幾つかを用いることなく実施され得ることもある。
【００１０】
本明細書で使用されるとき、「統一通信システム」という用語は、一般に、リアルタイムの通信サービスと非リアルタイムの通信サービスを組み合わせる、統合システムを指す。リアルタイム通信サービスの例には、インスタントメッセージング、プレゼンス情報、電話通信、ビデオ会議、アプリケーションシェアリング、コール制御及び音声認識が含まれる。非リアルタイム通信サービスの例には、ボイスメール、電子メール、ショートメールサービス、ウェブページ要求及びファクシミリが含まれ得る。特定の実施形態において、統一通信システムは、単一のコンピュータプログラム／製品において実装されてよい。他の実施形態において、統一通信システムは、複数のデバイスとメディアタイプにわたる統一的なユーザインタフェース及び／又は経験を提供する、１組のコンピュータプログラム／製品において実装されてもよい。
【００１１】
図１は、本技術の実施形態に係るコンピューティングフレームワーク１００を例示する概略図である。図１に示されるように、コンピューティングフレームワーク１００は、サーバ１０２と、ネットワーク管理システム１０４と、ネットワーク１０８により互い相互接続される複数のクライアントデバイス１０７とを含むことができる。（それぞれ個々に第１のユーザ１０１ａ、第２のユーザ１０１ｂ、第３のユーザ１０１ｃ、第４のユーザ１０１ｄとして識別される）複数のユーザ１０１は、対応するクライアントデバイス１０７を用いて相互に通信するか、かつ／又は他の方法で対話することができる。図１では前述のコンポーネントしか図示されていないが、他の実施形態では、コンピューティングフレームワーク１００は追加のサーバ、クライアントデバイス、ネットワークデバイス及び／又は他の適切なコンポーネントも含むことができる。
【００１２】
サーバ１０２は、クライアントデバイス１０７の１つ又は複数による処理を容易にし、クライアントデバイス１０７間のネットワークセッションを確立、更新又は廃止するように構成され得る。一実施形態において、サーバ１０２は、統一通信システムサーバ（例えばマイクロソフト（登録商標）Ｌｙｎｃサーバ）を含むことができる。他の実施形態において、サーバ１０２は、企業サーバ、クラウドサーバ、アプリケーションサーバ、カタログサーバ、通信サーバ及び／又は他の適切なタイプのサーバを含むことができる。
【００１３】
サーバ１０２は、図１では単一のコンピューティングデバイスとして図示されているが、特定の実施形態では、サーバ１０２は、１つ又は複数の別個のコンピューティングデバイスを含んでもよく、これらの別個のコンピューティングデバイスが個々に、ネットワークセッションの登録、プレゼンス及びルーティングのうちの少なくとも１つを実行して、クライアントデバイス１０７の通信モード、権利管理、オーディオ／ビデオ会議、通信ネットワークへの／からの仲介（例えば公にスイッチされる電話ネットワーク又はセルラネットワーク）及び／又は他の適切な機能にアクセスするように構成されてもよい。更なる実施形態では、サーバ１０２は、コンピューティングデバイス（１つ又は複数）上で実行される１つ又は複数の仮想サーバとして実装されてもよい。サーバ１０２に適したコンピューティングコンポーネントの実施形態は、図２に関連して以下で更に詳細に説明される。
【００１４】
図１に示される例示の実施形態において、クライアントデバイス１０７は、他のユーザ１０１との通信及び／又は他のタイプの対話を容易にするように構成される、コンピュータ１０６、電話１１０及びスマートフォン１１２の異なる組合せを含むことができる。例えば第１のユーザ１０１ａ及び第２のユーザ１０１ｂはそれぞれ、コンピュータ１０６と電話１１０に関連付けられる。第３のユーザ１０１ｃは、スマートフォン１１２に関連付けられる。第４のユーザ１０１ｄは、コンピュータ１０６とスマートフォン１１２に関連付けられる。他の実施形態では、クライアントデバイス１０７は、ラップトップコンピュータ、タブレットコンピュータ、オートモバイルコンソール、並びに／あるいは音声通信、ビデオ会議、インスタントメッセージング、アプリケーションシェアリング、データシェアリング及び／又は他の適切なコンピュータ実装型の対話的アクティビティのために構成される他の適切なコンピューティングデバイスも含むことができる。
【００１５】
ネットワーク１０８は、互いに相互接続される複数のネットワーク要素１１３も含むことができる。例えば図１に示されるように、ネットワーク１０８は、（それぞれ個々に第１のルータ１１４ａ、第２のルータ１１４ｂ、第３のルータ１１４ｃとして識別される）複数のルータ１１４を有するように図示されており、ルータ１１４はそれぞれ、非同期転送モード（ＡＴＭ：Asynchronous  Transfer  Mode）ルータ１１５に接続される。図１における特定のネットワーク要素１１３及びネットワーク１０８の配置は単に例示のためのものである。他の実施形態において、ネットワーク１０８は、他の適切なネットワーク要素（図示せず）、配置及び／又はネットワークタイプを含むことができる。例えば特定の実施形態では、ネットワーク１０８はインターネットとすることができる。他の実施形態では、ネットワーク１０８は、パーソナルエリアネットワーク、ローカルエリアネットワーク、ストレージエリアネットワーク、バックボーンネットワーク、メトロポリタンエリアネットワーク、ワイドエリアネットワーク、仮想プライベートネットワーク及び／又は他の適切なタイプのネットワークとすることができる。
【００１６】
ネットワーク管理システム１０４は、サーバ１０２から、少なくとも一対のクライアントデバイス１０７間のネットワークセッションの属性のうちの１つ又は複数の属性を受け取るように構成される。ネットワーク属性は、クライアントデバイス１０７のネットワークアドレス、セッション識別子、ネットワークセッションのプロトコル、ソース及び宛先トランスポート・ポート、ネットワークセッションのメディアタイプ、コーデック又はネットワークセッションの帯域幅推定の組合せを含むことができる。属性の少なくとも１つが、ネットワークセッションの確立及び／又は構成中に暗号化される。ネットワーク管理システム１０４は、次いで、ネットワークセッションの間にネットワーク要素１１３のうちの１つ又は複数から情報を収集するように構成される。ネットワーク管理システム１０４は、その後、収集した情報を、ネットワークセッションに関連付けて、サーバ１０２及び／又はネットワーク要素１１３のうちの少なくとも１つの潜在的な問題を診断するように構成され得る。ネットワーク管理システム１０４に適したコンピューティングコンポーネントの実施形態は、図３に関連して以下で更に詳細に説明される。
【００１７】
動作に際して、ユーザ１０１は、サーバ１０２に、他のユーザ１０１とのネットワークセッションの要求を伝送することができる。例えば第１のユーザ１０１ａが、第２のユーザ１０１ｂとの第１のネットワークセッションを要求することがある。第３のユーザ１０１ｃが、第４のユーザ１０１ｄとの第２のネットワークセッションを要求することがある。応答に際して、サーバ１０２は、セッション開始プロトコル（ＳＩＰ：session  initiation  protocol）又は他の適切なプロトコルに従って、要求されたネットワークセッションをシグナリング（合図）し、確立することができる。確立されたネットワークセッションは、次のうちの少なくとも１つを含む属性のセットを有することができる：
・ソース／宛先ネットワークアドレス
・セッション識別子
・ネットワークセッションのプロトコル
・ソース及び宛先トランスポート・ポート
・ネットワークセッションのメディアタイプ
・コーデック
・ネットワークセッションの帯域幅推定
・暗号化
・暗号化キー
属性のセットの一例は、次の通りであってよい：
ＩＰ  ＳＡ＆ＤＡ  −  ＳＡ1.1.1.1  ＤＡ2.2.2.2
ＭＡＣ  ＳＡ＆ＤＡ  −  ＳＡ48-2C-6A-1E-59-3D  ＤＡ65-1C-6B-3D-42-4B
トランスポート＝ＴＣＰ
トランスポート  ＳＰ＆ＤＰ＝10000及び10050
スイッチ（originating,  intermediaries,  destination）
ポート（originating,  intermediaries,  destination）
メディアタイプ＝音声
Ｃｏｄｅｘ＝G.711
暗号化  ＝有効（enabled）
暗号化キー＝864A1C4793BB246A
上記に示されるように、属性のセットは、ネットワークアドレス（すなわち、ＩＰ  ＳＡ＆ＤＡ）、ＭＡＣアドレス（すなわち、ＭＡＣ  ＳＡ＆ＤＡ）、トランスポート・プロトコル（すなわち、ＴＣＰ）、トランスポート・ポート（すなわち、ソース及び宛先についてそれぞれ１００００及び１００５０）、スイッチとポート、メディアタイプ（すなわち、音声）、暗号化設定（すなわち、有効）及び暗号化キー（すなわち864A1C4793BB246A）を含む。
【００１８】
サーバ１０２は、次いで、ネットワーク管理システム１０４に、確立されたネットワークセッションの属性の少なくとも一部について「教える」ことができる。例えば一実施形態において、サーバ１０２は、下記の属性のセットを、暗号解除された形式でネットワーク管理システム１０４に伝送することができる：
セッション識別子＝１０２
セッション  ５タプル＝ＳＡ1.1.1.1，ＤＡ2.2.2.2，ＴＣＰ，ＳＰ10000，ＤＰ10050
アクション１＝ＱｏＳ  ＥＦ  キュー
アクション２＝カウント
上記に示されるように、伝送される属性は、セッション識別子（すなわち、１０２）、ソースアドレス（すなわち、ＳＡ１．１．１．１）と、宛先アドレス（すなわちＤＡ２．２．２．２）、セッション・プロトコル（すなわち、ＴＣＰ）と、ソースポート（すなわち、１００００）と、宛先ポート（すなわち、１００５０）とを含むセッション  ５タプルを含むことができる。例示のネットワークセッションは、２つのアクションにも関する。アクション１は、完全優先転送（ＥＦ：expedited  forwarding）キューによるサービス品質（ＱｏＳ：quality  of  service）の実施を含む。アクション２は、ネットワークセッションについてのトラフィックフローの（例えばパケット数での）カウントを含む。他の実施形態において、サーバ１０２は、ネットワーク管理システム１０４に他の適切な属性を他の適切な形式で教えることができる。
【００１９】
サーバ１０２から受け取った属性により、ネットワーク管理システム１０４は、その後、要求された第１及び第２のネットワークセッションのそれぞれについて、内部ゲートウェイプロトコル（ＩＧＰ）又は他の適切なプロトコルを使用してネットワークルート１１６を構築することができる。例えば第１のネットワークセッションは、第１のルータ１１４ａと、ＡＴＭルータ１１５と、第２のルータ１１４ｂとを含む第１のネットワークルート１１６ａ（図１では実線で示される）を有することができる。第２のネットワークセッションは、第３のルータ１１４ｃと、ＡＴＭルータ１１５と、第２のルータ１１４ｂとを含む第２のネットワークルート１１６ｂ（図２では破線で示される）を有することができる。
【００２０】
ネットワーク管理システム１０４は、その後、サーバ１０２から開始通知を受け取ると、構成及び／又は動作パラメータ（まとめて「ネットワーク情報」と称する）を、ネットワーク要素１１３から、第１のネットワークルート１１６ａ及び第２のネットワークルート１１６ｂに沿って収集することができる。例示の構成パラメータの例には、ネットワーク名、ＭＡＣアドレス、ポート構成、サービスのクラス、ファームウェアのバージョン、セキュリティ設定、転送設定、ＱｏＳ設定及び／又は他の適切なパラメータを含むことができる。例示の動作パラメータは、そのサービスのトラフィックスループット及びクラス、欠損したパケット、アプリケーションレベルのスループット（グッドプット（goodput））及び／又は他の適切な動作情報を含むことができる。
【００２１】
ネットワーク管理システム１０４は、ネットワーク情報を、周期的に、要求に応じて又は他の任意の手法で簡易ネットワーク管理プロトコル（ＳＮＭＰ：simple  network  management  protocol）又は他の適切なプロトコルを使用して収集することができる。特定の実施形態において、情報収集の周期は一定であり得る。他の実施形態において、情報収集の周期は変化し得る。例えばネットワークセッションの開始時には、情報収集の周期は、ネットワークトラフィックを制限するよう長い周期であってよい。ネットワークセッションが進むにつれて、情報収集の周期を短くしてよい。他の例では、以下でより詳細に説明されるように、情報収集の周期は、性能低下の通知をサーバ１０２から受け取った場合に短くなることもある。
【００２２】
ネットワーク管理システム１０４は、セッション終了通知をサーバ１０２から受け取るまで、かつ／又は他の適切な基準に基づいて、ネットワーク情報の収集を継続することができる。ネットワークセッションの間、ネットワーク管理システム１０４は、更新通知をサーバ１０２から受け取ることができる。更新通知は、ユーザ１０１が新たな通信モードを追加したこと（例えば音声、ビデオ、データ等）及び更新されたネットワークセッションの指示を含むことがある。応答に際して、ネットワーク管理システム１０４は、更新されたネットワークセッションが新たなネットワークセッションであるものとして、前述の動作を繰り返すことができる。
【００２３】
サーバ１０２は、ネットワークセッションの性能低下を検出した場合、ネットワーク管理システム１０４に通知することができる。特定の実施形態において、この低下の通知には、以下の情報のうちの少なくとも一部を含めることができる：
・性能低下のタイムスタンプ
・ソース／宛先のネットワークアドレス
・トランスポートタイプ
・ソース／宛先ポート
・メディアタイプ
・帯域幅推定
・平均オピニオン値（ＭＯＳ：mean  opinion  score）の低下
・ジッタ到着時間
・パケット損失レート
・ラウンドトリップ・ディレイ
・隠蔽比率（concealment  ratio）
他の実施形態において、通知は、他の適切な情報も含むことができる。
【００２４】
応答に際して、ネットワーク管理システム１０４は、収集した情報のサブセットをネットワークセッションに関連付けて、性能低下の潜在的な原因について分析することができる。例えば上記の例において、ネットワーク管理システム１０４は、ルータ１１４及びＡＴＭルータ１１５のパケット損失レートを、性能低下のタイムスタンプに相関させることができる。その結果、ネットワーク管理システム１０４は、ＡＴＭルータ１１５と第２のルータ１１４ｂとの間のパケット損失レートが、受容可能な範囲（例えば上限の閾値）を超えると決定することがある。したがって、ネットワーク管理システム１０４は、第１のネットワークルート１１６ａ及び第２のネットワークルート１１６ｂに沿って輻輳セクション１１７が存在することを示すことがある。
【００２５】
別の例において、ネットワーク管理システム１０は、構成パラメータ（例えばサービスのクラス）を性能低下のタイムスタンプに相関させてもよい。その結果、ネットワーク管理システム１０４は、ＡＴＭルータ１１５が、ビデオ、音声又は他のタイプのサービスについて正確に構成されていないことを特定することがある。更なる実施形態において、ネットワーク管理システム１０４は、ネットワーク１０８の構成パラメータと動作パラメータの双方を相関させて、性能低下の潜在的な原因を決定することができる。潜在的な原因が特定されると、ネットワーク管理システム１０４は、問題の更なる診断及び／又は解決のために、動作及び／又は他の適切なエンティティに警告することができる。
【００２６】
図２は、本技術の実施形態に従って、図１のサーバ１０２に適したコンピューティングコンポーネントを例示する概略的なブロック図である。図２及び本明細書の他の図面において、個々のソフトウェアコンポーネント、モジュール及びルーチンは、Ｃ、Ｃ＋＋、Ｊａｖａ（登録商標）及び／又は他の適切なプログラミング言語でソースコードとして書かれるコンピュータプログラム、プロシージャ又はプロセスとすることができる。コンピュータプログラム、プロシージャ又はプロセスは、オブジェクトコード又はマシンコードにコンパイルされて、パーソナルコンピュータ、ネットワークサーバ、ラップトップコンピュータ、スマートフォン及び／又は他の適切なコンピューティングデバイスのプロセッサによる実行のために提示され得る。ソースコード及び／又はオブジェクトコード及び関連するデータの様々な実装は、コンピュータメモリに格納されてよい。このようなコンピュータメモリは、読み取り専用メモリ、ランダムアクセスメモリ、磁気ディスク記憶媒体、光記憶媒体、フラッシュメモリデバイス、及び／又は伝搬信号を除く他の適切な記憶媒体を含む。
【００２７】
図２に示されるように、サーバ１０２は、互いに相互接続されるネットワークインタフェース１０９、サーバプロセッサ１１１及びデータベース１４３を含むことができる。図２ではサーバ１０２の前述のコンポーネントしか示されていないが、他の実施形態において、サーバ１０２は他の適切なハードウェア／ソフトウェアコンポーネントを含んでもよい。ネットワークインタフェース１０９は、ネットワークアダプタ、無線ネットワークインタフェースコントローラ及び／又はネットワーク１０８若しくは他の適切なネットワークを介してサーバ１０２をクライアントデバイス１０７（図１）に接続するように構成される他の適切なハードウェア／ソフトウェアを含むことができる。データベース１４３は、磁気ディスク記憶媒体、光記憶媒体、フラッシュメモリデバイス、及び／又は伝搬信号を除く他の適切な持続性のコンピュータ読取可能記憶媒体を含むことができる。データベース１４３は、構成されるネットワークセッションのためのセッションデータ１４１のレコードを格納するように構成することができる。セッションデータ１４１は、ＷｅｂＳＱＬ、ＩｎｄｅｘＤＢ及び／又は他の適切なタイプのデータレコードとして格納され得る。
【００２８】
サーバプロセッサ１１１は、セッションモジュール１２５を含むことができる。特定の実施形態において、セッションモジュール１２５は、特定用途向け集積回路又は他の適切なタイプのハードウェアとして実装され得る。他の実施形態において、セッションモジュール１２５は、Ｃ、Ｃ＋＋、Ｊａｖａ（登録商標）及び／又は他の適切なプログラミング言語でソースコードとして書かれるコンピュータプログラム、プロシージャ又はプロセスとすることができる。コンピュータプログラム、プロシージャ又はプロセスは、オブジェクトコード又はマシンコードにコンパイルされて、サーバプロセッサ１１１による実行のために提示され得る。更なる実施形態において、セッションモジュール１２５は、ハードウェアとソフトウェアの組合せとして又は他の適切なハードウェア／ソフトウェアコンポーネントとして実装され得る。
【００２９】
セッションモジュール１２５は、コンピュータネットワークによりＳＩＰ又は他の適切なプロトコルを介して互いに相互接続される、第１のクライアントデバイスと第２のクライアントデバイスとの間のネットワークセッションを確立し、更新し、かつ／又は廃止するように構成され得る。例えばネットワークセッションの構成中に、構成されたネットワークセッションの少なくとも１つの属性を、暗号化された手法でネゴシエートするか、かつ／又は他の方法で決定することができる。例えばセッション属性は、典型的に、ＳＩＰシグナリングパケットの暗号化されたペイロード内に含まれる。その結果、ネットワーク１０８（図１）のネットワーク要素１１３（図１）は、構成されたネットワークセッションに対して「ブラインド」される。ネットワーク管理システム１０４（図１）に教えるために、セッションモジュール１２５は、ネットワークセッション中にネットワーク要素１１３の１つ又は複数のネットワーク要素からの情報を収集するために、構成されたネットワークセッションの暗号化された属性のうちの１つ又は複数の属性を、ネットワーク管理システム１０４に伝送するように構成され得る。
【００３０】
図３は、本技術の実施形態に従って、図１のネットワーク管理システム１０４に適したコンピューティングコンポーネントを示すブロック図である。図３に示されるように、入力コンポーネント１３２は、例えばサーバ１０２（図１）からのセッション属性１５０と、例えばネットワーク要素１１３（図１）からのネットワーク情報１５１とを受け取り、受け取った情報を、更なる処理のために他のコンポーネントに通信することができる。データベースコンポーネント１３４は、セッションレコード１４２及びトラフィックレコード１４４を含むレコードを編成し、これらのレコードをデータベース１０３に格納すること及びデータベース１０３から取り出すことを容易にする。ワシントン州レドモンドのマイクロソフト社のようなデータベースベンダによって提供されるような、フラットファイルシステム、階層型データベース、リレーショナルデータベース又は分散型データベースを含め、任意のタイプのデータベース編成を用いてよい。処理コンポーネント１３６は、受け取ったセッション属性１５０に基づいてネットワーク情報１５１を分析し、出力コンポーネント１３８は、分析したネットワーク情報１５１に基づいて出力データ１５２を生成する。処理コンポーネント１３６の実施形態は、以下で図４に関連して更に詳細に説明される。
【００３１】
図４は、本技術の実施形態に従って、図３の処理コンポーネント１３６に適したソフトウェアモジュール１３０を示すブロック図である。図４に示されるように、処理コンポーネント１３６は、互いに相互接続されるトラフィックモジュール１６０、分析モジュール１６２、制御モジュール１６４及び計算モジュール１６６を含むことができる。各モジュールは、ソースコードとして従来的なプログラミング言語で書かれるコンピュータプログラム、プロシージャ又はルーチンであってよく、あるいは１つ又は複数のモジュールはハードウェアモジュールであってもよい。
【００３２】
トラフィックモジュール１６０は、通信トラフィックデータ１５１を収集して分析するように構成される。例えばトラフィックモジュール１６０は、ＳＮＭＰ又は他の適切なプロトコルで通信トラフィックをモニタリングし、ネットワーク要素１１３（図１）の各々について構成及び／又は動作パラメータを識別することができる。識別されたパラメータは、次いで、データベース１０３内に格納されるトラフィックレコード１４４及び／又は他の適切なデータに変換され得る。トラフィックモジュール１６０は、比較ルーチン、特徴解析（character  parsing）ルーチン又は他の適切なルーチンを有することがある。
【００３３】
分析モジュール１６２は、ネットワーク要素１１３からの識別されたパラメータを分析し、ネットワークセッションの性能低下についての潜在的な原因を決定するように構成され得る。例えば一実施形態において、分析モジュール１６２は、性能低下のタイムスタンプと、収集した構成又は動作パラメータのタイムスタンプとに基づいて、収集した構成又は動作パラメータを性能低下に相関させるように構成される。他の実施形態において、分析モジュール１６２は、他の適切な手法により、収集した構成及び／又は動作パラメータを性能低下と相関させてもよい。分析モジュール１６２は次いで、分析結果を、更なる処理のために計算モジュール１６６及び／又は制御モジュール１６４に供給することができる。
【００３４】
計算モジュール１６６は、カウンタ、タイマ、及び／又は様々なタイプの計算を実行して他のモジュールの動作を容易にするように構成される他の適切な蓄積ルーチン（accumulation  routine）を含むことができる。例えば一実施形態において、計算モジュール１６６は、確立されたネットワークセッションの数をトラックするように構成されるカウンタを含んでよい。別の例では、計算モジュール１６６は、時間平均、ウィンドウ平均、フィルタリング及び／又は他の適切な動作を実行するためのルーチンを含んでよい。
【００３５】
制御モジュール１６４は、性能低下の潜在的な原因を、分析モジュール１６２、計算モジュール１６６又は他の入力１５４（例えばオフラインの手動入力）からの入力に基づいてモニタリングするように構成され得る。例えば特定の実施形態において、制御モジュール１６４は、少なくとも１つの以下のパラメータを、対応する閾値と比較するように構成される比較ルーチンを含むことができる：  
・パケット損失レート
・使用される帯域幅
・スループット
・グッドプット
他の実施形態において、制御モジュール１６４は、他の適切なルーチンを含んでよい。これらの比較のうちのいずれかが、対応する閾値を超えていることを示す場合、制御モジュール１６４は、出力コンポーネント１３８に対して、潜在的な原因がネットワーク１０８（図１）に存在すると指示することができ、かつ／又は他の適切な動作を実行することができる。
【００３６】
図５は、本技術の実施形態によるコンピュータネットワークをモニタリングするための処理２００を示すフロー図である。以下では、処理２００を、図１のコンピューティングフレームワーク１００と図２〜図４のソフトウェアコンポーネント／モジュールに関連して説明するが、方法２００は、追加又は異なるハードウェア及び／又はソフトウェアコンポーネントを用いる他のシステムに適用されてもよい。
【００３７】
図５に示されるように、処理２００は、例えばクライアントデバイス１０７（図１）から、ネットワークセッションの要求を受信するブロック２０２を含む。受信した要求に応答して、処理２００は、ブロック２０４において、要求されたネットワークセッションを構成することを含む。一実施形態において、要求されたネットワークセッションは、ＳＩＰプロトコルに従うサーバ１０２（図２）によって構成され得る。したがって、サーバ１０２は、クライアントデバイス１０７に、セッション属性を含む暗号化されたペイロードを有するシグナリングパケットで合図することができる。他の実施形態において、要求されたネットワークセッションは、他の適切な手法で構成されてもよい。
【００３８】
処理２００は、次いで、セッション属性のうちの少なくとも１つをネットワーク管理システム１０４（図１）に伝送するブロック２０６を含み、ＩＧＰ又は他の適切なプロトコルを使用して、構成されるネットワークセッションのためのネットワークルート１１６（図１）を構築することができる。処理２００は、ブロック２０７において、ネットワークセッションの開始を示す開始信号をネットワーク管理システム１０４に送信することを含む。ブロック２０６とブロック２０７は、互いに並列に示されているが、他の実施形態では、ブロック２０６とブロック２０７を順次実行してもよく、他の適切な手法で実行してもよい。
【００３９】
処理２００は、ブロック２０８において、更新のために、ネットワークセッションをモニタリングすることを含むことができる。更新が検出される場合（例えばユーザ１０１が、音声、ビデオ、データ又は他の通信モードをネットワークセッションに追加した場合）、処理はブロック２０４に戻り、更新のために、新たなネットワークセッションを構成し、そうでない場合、処理は、ブロック２１０において、ネットワークセッションが終了しているかどうかの判断に進む。ネットワークセッションがまだアクティブである場合、処理２００は、ブロック２０８に戻って更新をモニタリングし、そうでない場合、処理は、ブロック２１２に進み、ブロック２１４において、ネットワーク管理システム１０４に、セッションが終了したことを示すエンド信号を伝送する。
【００４０】
処理２００は、ブロック２１２において、ネットワーク管理システム１０４に、セッション状態を通知することも含む。セッション状態は、図１に関連して上記で検討した通知アイテムのうちの少なくとも１つとともに、良好な（good）セッションの指示、良好でない（bad）セッションの指示、セッションエラーの指示及び／又は他の適切な指示を含むことができる。
【００４１】
図６は、本技術の実施形態に従って、コンピュータネットワークにおける診断を実行するための処理３００を示すフロー図である。図６に示されるように、処理３００は、ブロック３０２において、例えばサーバ１０２からのセッション属性のうちの少なくとも１つのセッション属性を受け取ることを含む。受け取ったセッション属性に基づいて、処理３００は、ブロック３０４において、ネットワークセッションのためのネットワークルートを構築することを含む。処理３００は、ブロック３０６において、ネットワークセッションの開始を示すサーバ１０２からの開始信号をモニタリングすることと、構築されたネットワークルートに沿ってネットワーク情報を収集することを含む。
【００４２】
処理３００は、ブロック３０８において、サーバ１０２からのセッション更新信号についてモニタリングすることも含む。更新が指示される場合、処理３００は、更新されたセッションについての新たなセッション属性のセットを受け取るためにブロック３０２に戻り、そうでない場合は、処理３００は、ネットワークセッションが終了したかどうかを判断するためにブロック３１０に進む。ネットワークセッションが終了していない場合、処理３００は、ブロック３０６に戻り、ネットワークルートに沿ってネットワーク情報の収集を続け、そうでない場合、処理３００は、ブロック２１３に進み、サーバ１０２からセッション状態を受信する。
【００４３】
処理３００は、次いでブロック３１４において、性能低下を示すかどうかを判断することを含む。性能低下が示される場合、処理３００は、ブロック３１６に進み、図３及び図４に関連して上述したように、収集したネットワーク情報を性能低下に関連付ける。性能低下が示されない場合、処理は終了する。
【００４４】
説明の目的で、上記では本技術の具体的な実施形態を説明した。しかしながら、前述の開示から逸脱することなく、様々な修正を行うことが可能である。加えて、ある実施形態の要素の多くを、他の実施形態の要素に加えて又はこれに代えて、他の実施形態と組み合わせてもよい。したがって、本技術は、添付の特許請求の範囲によるものを除いて、限定されない。
【図２】
2015535669.tif 000003
【図３】
2015535669.tif 000004
【図４】
2015535669.tif 000005
【図５】
2015535669.tif 000006
【図６】
2015535669.tif 000007
【図１】
2015535669.tif 000008
【国際調査報告】
2015535669.tif 000009
2015535669.tif 000010