(57)【特許請求の範囲】
【請求項１】
通信ネットワーク内の複数のモバイル（１４０）およびネットワーク要素（１０８）間を進むＩＰフローに関連するアプリケーション・データを処理する方法であって、
前記複数のモバイル（１４０）の中の１つまたは複数のモバイルに送られている１つまたは複数のドメイン名システム（ＤＮＳ）パケットをネットワーク要素（１０８）で受信するステップと、
前記ネットワーク要素（１０８）で受信した１つまたは複数のＤＮＳパケット内のマッピング情報に基づいて、１つまたは複数のＩＰアドレスを対応するアプリケーション情報にそれぞれマッピングするマッピング・テーブルをネットワーク要素（１０８）で構築するステップと、
前記複数のモバイル（１４０）のうちのモバイルに、またはそのモバイルから送られているＩＰデータ・パケットを前記ネットワーク要素（１０８）で受信するステップと、
前記ＩＰデータ・パケットに基づいて前記マッピング・テーブルを探索することにより、前記マッピング・テーブルの前記アプリケーション情報の中から、受信したＩＰデータ・パケットに対応する前記アプリケーション情報を識別するステップと、
前記受信したＩＰデータ・パケットがそこへ、またはそれから送られている前記モバイルを前記ネットワーク要素（１０８）で識別するステップと、
複数の区画を含む追跡データベースを構築するステップであって、前記複数の区画がそれぞれ前記複数のモバイルに対応するステップと、
前記識別したアプリケーション情報に対応する前記追跡データベース内のエントリを形成するステップであって、前記エントリが、前記識別したモバイルに対応する前記追跡データベースの前記区画内に形成されるステップと
を含む方法。
【請求項２】
前記アプリケーション情報が、前記ネットワーク要素（１０８）で受信した前記１つまたは複数のＤＮＳパケットから読み取ったホスト名、および前記読み取ったホスト名に対応するアプリケーションの名前のうちの少なくとも１つである請求項１に記載の方法。
【請求項３】
受信したＤＮＳパケットがＤＮＳ応答パケットであり、前記マッピング・テーブルを構築する前記ステップが、前記ネットワーク要素（１０８）で受信した前記１つまたは複数のＤＮＳパケットから、１つまたは複数のＩＰアドレスおよび前記１つまたは複数のＩＰアドレスに対応する１つまたは複数のホスト名を読み取るステップを含む請求項２に記載の方法。
【請求項４】
前記受信したＩＰデータ・パケットが前記複数のモバイル（１４０）のうちの１つに送られているパケットであり、前記送信側ＩＰアドレスが、前記受信したＩＰデータ・パケットの送信側ＩＰアドレスである場合、前記マッピング・テーブルを探索する前記ステップが、前記マッピング・テーブル内の送信側ＩＰアドレスに対応する前記マッピング・テーブル内のアプリケーション・データを、前記識別したアプリケーション情報として選択するステップを含み、
前記受信したＩＰデータ・パケットが前記複数のモバイルのうちの１つから送られているパケットであり、前記宛先ＩＰアドレスが、前記受信したＩＰデータ・パケットの宛先ＩＰアドレスである場合、前記マッピング・テーブルを探索する前記ステップが、前記マッピング・テーブル内の宛先ＩＰアドレスに対応するアプリケーション情報を、前記識別したアプリケーション情報として選択するステップを含む請求項１に記載の方法。
【請求項５】
前記識別したアプリケーション情報がホスト名であり、前記追跡データベース内に形成されるエントリが、前記ホスト名に対応するアプリケーションの名前である請求項１に記載の方法。
【請求項６】
前記マッピング・テーブルがハッシュ・テーブルである請求項１に記載の方法。
【請求項７】
通信ネットワーク内の複数のモバイル（１４０）およびネットワーク装置間を進むＩＰフローに関連するアプリケーション・データを識別するネットワーク装置（２５９）であって、
データ受信ユニット（２５４）と、
データ送信ユニット（２５２）と、
ネットワーク要素（１０８）と通信する複数のモバイル（１４０）に対応するパラメータを格納するように構成されたメモリ・ユニット（２５６）と、
前記データ送信ユニット、前記データ受信ユニット（２５４）、および前記メモリ・ユニット（２５６）に結合され、
前記複数のモバイル（１４０）の中の１つまたは複数のモバイルに送られている１つまたは複数のドメイン名システム（ＤＮＳ）パケットを受信すること、
前記ネットワーク要素（２５９）で受信した１つまたは複数のＤＮＳパケット内のマッピング情報に基づいて、１つまたは複数のＩＰアドレスを対応するアプリケーション情報にそれぞれマッピングするマッピング・テーブルを構築すること、
前記１つまたは複数のモバイル（１４０）のうちのモバイルに、またはそのモバイルから送られているＩＰデータ・パケットを受信すること、
前記ＩＰデータ・パケットに基づいて前記マッピング・テーブルを探索することにより、前記マッピング・テーブルの前記アプリケーション情報の中から、受信したＩＰデータ・パケットに対応する前記アプリケーション情報を識別すること、
前記受信したＩＰデータ・パケットがそこへ、またはそれから送られている前記モバイルを前記ネットワーク要素で識別すること、
複数の区画を含む追跡データベースを構築することであって、前記複数の区画が前記複数のモバイルにそれぞれ対応すること、
前記識別したアプリケーション情報に対応する前記追跡データベース内のエントリを形成することであって、前記エントリが、前記識別したモバイルに対応する前記追跡データベースの前記区画内に形成されること
を含む動作を制御するように構成された処理装置（２５８）と
を備える装置。
【請求項８】
前記アプリケーション情報が、前記ネットワーク装置（２５９）で受信した前記１つまたは複数のＤＮＳパケットから読み取ったホスト名、および前記読み取ったホスト名に対応するアプリケーションの名前のうちの少なくとも１つである請求項７に記載のネットワーク装置（２５９）。
【請求項９】
受信したＤＮＳパケットがＤＮＳ応答パケットであり、前記マッピング・テーブルを構築することが、前記ネットワーク要素で受信した前記１つまたは複数のＤＮＳパケットから、前記１つまたは複数のＩＰアドレスおよび１つまたは複数のＩＰアドレスに対応する１つまたは複数のホスト名を読み取ることを含むように、前記処理装置（２５８）が構成される請求項８に記載のネットワーク装置（２５９）。
【請求項１０】
前記処理装置が、
受信したＩＰデータ・パケットが前記複数のモバイル（１４０）のうちの１つに送られているパケットであり、前記送信側ＩＰアドレスが、前記受信したＩＰデータ・パケットの送信側ＩＰアドレスである場合、前記マッピング・テーブルを探索することが、前記マッピング・テーブル内の送信側ＩＰアドレスに対応する前記マッピング・テーブル内のアプリケーション・データを、識別したアプリケーション情報として選択することを含み、
前記受信したＩＰデータ・パケットが前記複数のモバイル（１４０）のうちの１つから送られているパケットであり、前記宛先ＩＰアドレスが、前記受信したＩＰデータ・パケットの宛先ＩＰアドレスである場合、前記マッピング・テーブルを探索することが、前記マッピング・テーブル内の宛先ＩＰアドレスに対応するアプリケーション情報を、前記識別したアプリケーション情報として選択することを含む
ように構成される請求項７に記載のネットワーク装置（２５９）。
【請求項１１】
前記アプリケーション情報がホスト名であり、前記追跡データベース内に形成される前記エントリが、前記ホスト名に対応するアプリケーションの名前である請求項７に記載のネットワーク装置。
【請求項１２】
前記マッピング・テーブルがハッシュ・テーブルである請求項７に記載のネットワーク装置。
【発明の詳細な説明】
【技術分野】
【０００１】
例示的実施形態は、一般には、通信ネットワーク内のＩＰフローに関連するアプリケーションを識別することに関する。
【背景技術】
【０００２】
特定のＩＰフローが搬送するアプリケーションのタイプを見つけるために、インターネットＩＰトラフィックが監視されることがある。このアプリケーション情報は、市場調査、トラフィック監視、および一般的ネットワーク・インテリジェンスのために、ワイヤレスとワイヤーラインの両方のサービス・プロバイダによって使用されることがある。企業ネットワークは、そのポリシー実施およびトラフィック・アウェアネスのためにこのアプリケーション情報を使用することがある。現在のところ、ＩＰフローに関連するアプリケーションを判定する方法は、ＩＰアドレスおよび／またはサブネットと、ポートと、プロトコルとを解析すること、ならびにアプリケーションも既知の文字列に合致するＩＰトラフィック内の署名文字列を探すことによってディープ・パケット・インスペクション（ＤＰＩ）を実施することを含む。
【発明の概要】
【０００３】
通信ネットワーク内の複数のモバイルおよびネットワーク要素間を進むＩＰフローに関連するアプリケーション・データを処理する方法が、複数のモバイルの中の１つまたは複数のモバイルに送られている１つまたは複数のドメイン名システム（ＤＮＳ）パケットをネットワーク要素で受信すること、およびネットワーク要素で受信した１つまたは複数のＤＮＳパケット内のマッピング情報に基づいて、１つまたは複数のＩＰアドレスを対応するアプリケーション情報にマッピングするマッピング・テーブルをネットワーク要素で構築することを含むことができる。
【０００４】
アプリケーション情報は、ネットワーク要素で受信した１つまたは複数のＤＮＳパケットから読み取ったホスト名、および読み取ったホスト名に対応するアプリケーションの名前のうちの少なくとも１つでよい。
【０００５】
受信したＤＮＳパケットはＤＮＳ応答パケットでよく、マッピング・テーブルを構築することは、ネットワーク要素で受信した１つまたは複数のＤＮＳパケットから、１つまたは複数のＩＰアドレスおよび１つまたは複数のＩＰアドレスに対応する１つまたは複数のホスト名を読み取ることを含むことができる。
【０００６】
この方法は、複数のモバイルのうちのモバイルに、またはそのモバイルから送られているＩＰデータ・パケットをネットワーク要素で受信すること、およびＩＰデータ・パケットに基づいてマッピング・テーブルを探索することにより、受信したＩＰデータ・パケットに関連するアプリケーション情報を識別することをさらに含むことができる。
【０００７】
受信したＩＰデータ・パケットが複数のモバイルのうちの１つに送られているパケットであり、送信側ＩＰアドレスが、受信したＩＰデータ・パケットの送信側ＩＰアドレスである場合、マッピング・テーブルを探索することは、マッピング・テーブル内の送信側ＩＰアドレスに対応するマッピング・テーブル内のアプリケーション・データを、識別したアプリケーション情報として選択することを含むことができる。受信したＩＰデータ・パケットが複数のモバイルのうちの１つから送られているパケットであり、宛先ＩＰアドレスが、受信したＩＰデータ・パケットの宛先ＩＰアドレスである場合、マッピング・テーブルを探索することは、マッピング・テーブル内の宛先ＩＰアドレスに対応するアプリケーション情報を、識別したアプリケーション情報として選択することを含むことができる。
【０００８】
この方法は、ネットワーク要素で受信したＩＰデータ・パケットがそこへ、またはそれから送られている１つまたは複数のモバイルの中のモバイルをネットワーク要素で識別すること、複数のモバイル装置のそれぞれに対応する区間を含む追跡データベースを構築すること、および識別したアプリケーション情報に対応する追跡データベース内のエントリを形成することであって、エントリが、識別したモバイルに対応する追跡データベースの区間内に形成されることをさらに含むことができる。
【０００９】
識別したアプリケーション情報はホスト名でよく、追跡データベース内に形成されるエントリは、ホスト名に対応するアプリケーションの名前である。
【００１０】
マッピング・テーブルはハッシュ・テーブルでよい。
【００１１】
通信ネットワーク内の複数のモバイルおよびネットワーク装置間を進むＩＰフローに関連するアプリケーション・データを処理するネットワーク装置は、データ受信ユニット、データ送信ユニット、ネットワーク要素と通信する複数のモバイルに対応するパラメータを格納するように構成されたメモリ・ユニットと、データ送信ユニット、データ受信ユニット、およびメモリ・ユニットに結合され、動作を制御するように構成された処理装置とを含むことができる。制御する動作は、複数のモバイルの中の１つまたは複数のモバイルに送られている１つまたは複数のドメイン名システム（ＤＮＳ）パケットを受信すること、およびネットワーク要素で受信した１つまたは複数のＤＮＳパケット内のマッピング情報に基づいて、１つまたは複数のＩＰアドレスを対応するアプリケーション情報にマッピングするマッピング・テーブルを構築することを含むことができる。
【００１２】
アプリケーション情報は、ネットワーク要素で受信した１つまたは複数のＤＮＳパケットから読み取ったホスト名、および読み取ったホスト名に対応するアプリケーションの名前のうちの少なくとも１つでよい。
【００１３】
受信したＤＮＳパケットはＤＮＳ応答パケットでよく、マッピング・テーブルを構築することが、ネットワーク要素で受信した１つまたは複数のＤＮＳパケットから、１つまたは複数のＩＰアドレスおよび１つまたは複数のＩＰアドレスに対応する１つまたは複数のホスト名を読み取ることを含むように、処理装置を構成することができる。
【００１４】
複数のモバイルの中のモバイルに、またはそのモバイルから送られているＩＰデータ・パケットを受信すること、およびＩＰデータ・パケットに基づいてマッピング・テーブルを探索することにより、受信したＩＰデータ・パケットに関連するアプリケーション情報を識別することを含む動作を制御するように処理装置をさらに構成することができる。
【００１５】
受信したＩＰデータ・パケットが複数のモバイルのうちの１つに送られているパケットであり、送信側ＩＰアドレスが、受信したＩＰデータ・パケットの送信側ＩＰアドレスである場合、マッピング・テーブルを探索することが、マッピング・テーブル内の送信側ＩＰアドレスに対応するマッピング・テーブル内のアプリケーション・データを、識別したアプリケーション情報として選択するように、処理装置を構成することができる。受信したＩＰデータ・パケットが複数のモバイルのうちの１つから送られているパケットであり、宛先ＩＰアドレスが、受信したＩＰデータ・パケットの宛先ＩＰアドレスである場合、マッピング・テーブルを探索することが、マッピング・テーブル内の宛先ＩＰアドレスに対応するアプリケーション情報を、識別したアプリケーション情報として選択することを含むように、処理装置を構成することができる。
【００１６】
受信したＩＰデータ・パケットがそこへ、またはそれから送られている１つまたは複数のモバイルの中のモバイルをネットワーク要素で識別すること、複数のモバイル装置のそれぞれに対応する区間を含む追跡データベースを構築すること、および識別したアプリケーション情報に対応する追跡データベース内のエントリを形成することであって、エントリが、識別したモバイルに対応する追跡データベースの区間内に形成されることを含む動作を制御するように処理装置をさらに構成することができる。
【００１７】
アプリケーション情報はホスト名でよく、追跡データベース内に形成されるエントリは、ホスト名に対応するアプリケーションの名前である。
【００１８】
マッピング・テーブルはハッシュ・テーブルでよい。
【００１９】
例示として与えられるに過ぎず、したがって限定的ではない、以下で与えられる詳細な説明、および同様の要素が同様の参照番号で表される添付の図面から、例示的実施形態をより完全に理解されよう。
【図面の簡単な説明】
【００２０】
【図１】少なくとも１つの例示的実施形態によるワイヤレス通信ネットワークの一部を示す図である。
【図２】少なくとも１つの例示的実施形態による、ＤＮＳデータを使用してＩＰフローに関連するアプリケーションを識別するネットワーク要素の構造を示す図である。
【図３】少なくとも１つの例示的実施形態による、アプリケーション情報をＩＰアドレスにマッピングする方法を示す図である。
【図４】マッピング情報を使用してＩＰフローに関連するアプリケーションを識別する方法を示す図である。
【発明を実施するための形態】
【００２１】
これから、いくつかの例示的実施形態が示されている添付の図面を参照しながら、少なくとも１つの例示的実施形態がより完全に説明される。
【００２２】
詳細な例示的実施形態が本明細書で開示される。しかし、本明細書で開示される特定の構造的詳細および機能的詳細は、少なくとも１つの例示的実施形態を説明するための代表例に過ぎない。しかし、例示的実施形態を多くの代替形態で実施することができ、本明細書に記載の実施形態だけに限定されると解釈すべきではない。
【００２３】
したがって、例示的実施形態は様々な適合および代替形態が可能であるが、その実施形態が例として図面で示され、本明細書で詳細に説明される。しかし、開示される特定の形態に例示的実施形態を限定する意図はなく、それどころか、例示的実施形態は、例示的実施形態の範囲内に含まれるすべての適合、均等物、および代替を包含するものとすることを理解されたい。同様の番号は、図の説明全体を通して同様の要素を指す。本明細書では、「および／または」という用語は、関連する列挙される項目の１つまたは複数のあらゆる組合せを含む。
【００２４】
要素が別の要素に「接続」または「結合」されていると呼ばれるとき、要素をその別の要素に直接的に接続または結合することができ、または介在する要素が存在することがあることを理解されよう。対照的に、要素が別の要素に「直接的に接続」または「直接的に結合」されていると呼ばれるとき、介在する要素は存在しない。要素間の関係を記述するのに使用される他の語を同様に解釈すべきである（例えば、「の間（ｂｅｔｗｅｅｎ）」と「の直接的な間（ｄｉｒｅｃｔｌｙ  ｂｅｔｗｅｅｎ）」、「隣接する」と「直接的に隣接する」など）。
【００２５】
本明細書で使用される用語は、特定の実施形態を説明するためのものに過ぎず、例示的実施形態の限定を意図しない。本明細書では、単数形「ａ」、「ａｎ」、および「ｔｈｅ」は、文脈が別段に明記しない限り、複数形も含むものとする。「含む」および／または「備える」という用語は、本明細書で使用されるとき、記載の特徴、完全体、ステップ、動作、要素、および／または構成要素の存在を指定するが、１つまたは複数の他の特徴、完全体、ステップ、動作、要素、構成要素、および／またはそれらのグループの存在または追加を除外しない。
【００２６】
いくつかの代替実装では、言及される機能／行為は、図で言及される順序とは異なる順序で行われることがある。例えば、連続して示される２つの図は、関係する機能／行為に応じて、実際にはほぼ同時に実行されることがあり、または時には逆の順序で実行されることがある。
【００２７】
本明細書では、ユーザ機器（ＵＥ）という用語は、端末、モバイル・ユニット、移動局、モバイル・ユーザ、アクセス端末（ＡＴ）加入者、ユーザ、リモート・ステーション、アクセス端末、受信機などと同義語とみなされることがあり、以下では時折そのように呼ばれることがあり、ワイヤレス通信ネットワーク内のワイヤレス・リソースのリモート・ユーザを記述することがある。基地局（ＢＳ）という用語は、送受信基地局（ＢＴＳ）、ＮｏｄｅＢ、拡張Ｎｏｄｅ  Ｂ（ｅＮＢ）、アクセス・ポイント（ＡＰ）などと同義語であるとみなされることがあり、かつ／またはそのように呼ばれることがあり、ネットワークと１人または複数のユーザとの間のデータおよび／または音声接続性のための無線ベースバンド機能を提供する機器を記述することがある。
【００２８】
本明細書では、例示的実施形態が、適切なコンピューティング環境で実装されるものとして論じられる。必須ではないが、１つまたは複数のコンピュータ・プロセッサまたはＣＰＵによって実行されているプログラム・モジュールや機能プロセスなどのコンピュータ実行可能命令の一般的状況で例示的実施形態が説明される。一般に、プログラム・モジュールまたは機能プロセスは、特定のタスクを実施し、または特定の抽象データ・タイプを実装するルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含む。
【００２９】
本明細書で論じられるプログラム・モジュールおよび機能プロセスは、既存の通信ネットワーク内の既存のハードウェアを使用して実装することができる。例えば、本明細書で論じられるプログラム・モジュールおよび機能プロセスは、既存のネットワーク要素または制御ノード（例えば、図１に示されるサービング汎用パケット無線サービス（ＧＰＲＳ）サポート・ノード（ＳＧＳＮ）、パケット・アナライザ、ゲートウェイＧＰＲＳサポート・ノード（ＧＧＳＮ）、無線ネットワーク・コントローラ（ＲＮＣ）、および／または基地局（ＢＳ））の既存のハードウェアを使用して実装することができる。そのような既存のハードウェアは、１つまたは複数のデジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路、フィールド・プログラマブル・ゲート・アレイ（ＦＰＧＡ）コンピュータなどを含むことができる。
【００３０】
以下の説明では、別段に規定されていない限り、１つまたは複数のプロセッサによって実施される（例えば、流れ図の形の）行為および動作の記号表現を参照しながら例示的実施形態が説明される。したがって、時にはコンピュータで実行されると呼ばれるそのような行為および動作は、構造化された形のデータを表す電気信号のプロセッサによる操作を含むことを理解されよう。この操作は、データを変換し、またはコンピュータのメモリ・システム内の場所にデータを維持し、それが、当業者によって良く理解されるようにコンピュータの動作を再構成あるいは変更する。
ネットワーク・アーキテクチャの概要
【００３１】
図１に、ワイヤレス通信ネットワーク１００の一部を示す。図１に示す例では、ワイヤレス通信ネットワーク１００が、周知のＵＭＴＳプロトコルに従って構築され、動作する。しかし、少なくともいくつかの例示的実施形態によれば、例えば、ＣＤＭＡ２０００、ＥＶＤＯ、ＬＴＥ、およびＷｉＭＡＸを含む任意の周知のワイヤレス通信プロトコルをサポートするようにワイヤレス通信ネットワーク１００を構築することができる。
【００３２】
ワイヤレス通信ネットワーク１００は、サービング汎用パケット無線サービス（ＧＰＲＳ）サポート・ノード（ＳＧＳＮ）１１０、ゲートウェイＧＰＲＳサポート・ノード（ＧＧＳＮ）１０６、パケット・アナライザ１０８、無線ネットワーク・コントローラ（ＲＮＣ）１２０、複数の基地局（ＢＳ）１３０、および複数のユーザ機器（ＵＥ）１４０を含む。簡単のために図示していないが、ワイヤレス通信ネットワーク１００は、ＵＭＴＳコア・ネットワークの他の要素を含むことができる。
【００３３】
ＵＥ１４０は、例えば、第１から第４のＵＥ１４２Ａ〜１４２Ｄを含むことができる。ＵＥ１４０は、例えば、携帯電話、スマート・フォン、コンピュータ、または携帯情報端末（ＰＤＡ）でよい。ＵＥ１４０は、ＢＳ１３０のうちの対応するものとワイヤレス通信することができる。
【００３４】
ＢＳ１３０は、第１のＢＳ１３２Ａおよび第２のＢＳ１３２Ｂを含むことができる。ＢＳ１３０は周知の方法に従って動作し、ＢＳ１３０とワイヤレス通信するＵＥに対するワイヤレス・カバレッジを提供する。例えば、第１および第２のＵＥ１４２Ａおよび１４２Ｂは、第１のＢＳ１３２Ａとワイヤレス通信することができ、第３および４のＵＥ１４２Ｃおよび１４２Ｄは、第２のＢＳ１３２Ｂとワイヤレス通信することができる。ＢＳ１３０はＲＮＣ１２０に接続される。
【００３５】
ＲＮＣ１２０は周知の方法に従って動作し、ＢＳ１３０からデータを受信し、ＢＳ１３０にデータを転送する。ＲＮＣ１２０はまた、ＢＳ１３０の動作を制御し、ＢＳ１３０に関する無線リソース管理を処理する。簡単のために、ワイヤレス通信ネットワーク１００が第１および第２のＢＳ１３２Ａおよび１３２Ｂのみを含むものとして示されているが、ワイヤレス通信ネットワーク１００は任意の数のＢＳを含むことができる。ＲＮＣはＳＧＳＮ１１０に接続される。
【００３６】
ＳＧＳＮ１１０は周知の方法に従って動作し、ＧＧＳＮ１０６に接続される。ＳＧＳＮ１１０は、ＵＥ１４０とＧＧＳＮ１０６との間のデータ・パケットのルーティングおよび配信を処理する。ＧＧＳＮ１０６は周知の方法に従って動作し、ＳＧＳＮ１１０と、例えばインターネット１０１を含むパケット・データ・ネットワークとの間のパケットの配信を処理する。
【００３７】
インターネット１０１はドメイン名システム（ＤＮＳ）１０５を含む。ＤＮＳ１０５は複数のＤＮＳサーバを含み、ＤＮＳサーバは、ホスト名のＩＰアドレスへの変換を含むいくつかの動作を実施する。ＤＮＳ１０５は、例えばＩｎｔｅｒｎｅｔ  Ｅｎｇｉｎｅｅｒｉｎｇ  Ｔａｓｋ  Ｆｏｒｃｅ（ＩＥＴＦ）によって発行されたＤＮＳ規格を含む、周知の標準に従って動作する。
【００３８】
ＧＧＳＮ１０６とＳＧＳＮ１１０との間の接続にパケット・アナライザ１０８を接続することができる。パケット・アナライザ１０８は、データにアクセスし、例えばＩＰデータ・パケットを含む、ＧＧＳＮ１０６とＳＧＳＮ１１０との間で送られるデータを解析することができる。パケット・アナライザ１０８の例示的構造および動作が、図２を参照しながら以下でより詳細に論じられる。
ＩＰパケット解析によってアプリケーションを識別することの説明
【００３９】
ワイヤレス通信ネットワーク内のネットワーク要素は、ＩＰパケットに関連するＩＰアドレス、ＩＰサブネット、ポート、および／またはプロトコルを解析することができる。以前は、この解析を使用して、解析したパケットがその部分であったＩＰフローに関連するアプリケーションのタイプを判定することができた。しかし、現在では、コンテンツ配布ネットワーク（ＣＤＮ）およびクラウド・コンピューティングがますます人気になっているので、１つのＩＰサブネットが多数の異なるアプリケーションに対応することがある。さらに、特定のアプリケーションにサービスするコンピュータのＩＰアドレスが変更されることがある。
【００４０】
さらに、１つのアプリケーションにアクセスするのに複数のＩＰアドレスが使用されることがある。したがって、ＩＰフローを有するＩＰパケットに関連するＩＰアドレス、ＩＰサブネット、ポート、および／またはプロトコルの従来の解析のみに基づいて、ＩＰフローに関連するアプリケーションを判定することは難しいことがある。
【００４１】
さらに、ディープ・パケット・インスペクション（ＤＰＩ）は、ＩＰフローに関連するアプリケーションを判定するために、署名文字列および／または挙動署名に関するＩＰフロー中のＩＰパケットを解析することができる。しかし、ＤＰＩは、対応するＩＰフローが周知の署名文字列を有さないアプリケーションに関して効果性が低い。そのようなアプリケーションは、例えば、知的所有権のあるプロトコルを有するデータ・パケットを使用するアプリケーションを含む。さらに、データ・パケットが暗号化データを含むとき、ＤＰＩの効果性は著しく低下する。
ＤＮＳデータを使用してＩＰフローに関連するアプリケーションを識別する方法および装置
【００４２】
上述のように、アドレス、サブネット、ポート、またはプロトコルを含むＩＰパケット情報の従来の解析に基づいてＩＰフローに関連するアプリケーションを識別しようと試みることに対する欠点がある。さらに、上述のように、ＤＰＩの従来の方法を使用することに対する欠点がある。したがって、固定されており、または周知であるＩＰアドレス、ＩＰサブネット、ポート、および／またはプロトコルに依拠しない、ＩＰフローに関連するアプリケーションを識別する方法を実装することが有用であることがある。さらに、未知のプロトコルを有する、または暗号化され得るパケット・データへのアクセスに依拠しない、ＩＰフローに関連するアプリケーションを識別する方法を実装することが有用であることがある。少なくとも１つの例示的実施形態によれば、ＤＮＳデータを使用してそのような方法を実装することができる。
【００４３】
例えば、ＤＮＳは、ＤＮＳクライアントがそれによってＤＮＳサーバに照会を送り、ＤＮＳサーバからＤＮＳ応答を受信する周知のドメイン・ネーム・サービスを実装する。ＤＮＳ照会は、ホスト名（例えば、Ｉｎｔｅｒｎｅｔ  Ａｓｓｉｇｎｅｄ  Ｎｕｍｂｅｒ  Ａｕｔｈｏｒｉｔｙ  （ＩＡＮＡ）によって管理されるホスト名「ｗｗｗ．ｅｘａｍｐｌｅ．ｃｏｍ」）を含むことができる。さらに、ＤＮＳ照会に対するＤＮＳ応答は、ＤＮＳ照会内のホスト名ならびに対応するＩＰアドレス（例えば「１９２．０．４３．１０」）を含むことができる。
【００４４】
一例としてワイヤレス通信ネットワーク１００を使用すると、例えば第１のＵＥ１４２Ａ上で実行中のアプリケーションが特定のホスト名に関連するデータにアクセスする必要があり、特定のホスト名に関連するＩＰアドレスが第１のＵＥ１４２Ａ内のキャッシュに含まれていない場合、第１のＵＥ１４２Ａは、ホスト名の変換を要求するＤＮＳ照会を生成し、ＤＮＳ１０５にＤＮＳ照会を送ることができる。さらに、ＤＮＳ照会内の要求されたホスト名に関連するＩＰアドレスをＤＮＳ１０５が求めた後に、ＤＮＳ１０５は、（ｉ）要求されたホスト名および要求されたホスト名に関連するＩＰアドレスを含むＤＮＳ応答を生成し、（ｉｉ）第１のＵＥ１４２ＡにＤＮＳ応答を送る。ＤＮＳ応答は、例えばＧＧＳＮ１０６、ＳＧＳＮ１１０、ＲＮＣ１２０、およびＢＳ１３２Ａを含むワイヤレス通信システム１００内の多くのネットワーク要素を通過する。したがって、パケット・アナライザ１０８は、例えば、要求されたホスト名と要求されたホスト名に関連するＩＰアドレスのどちらも含むＤＮＳ応答内のＤＮＳデータにアクセスできることになる。さらに、ＤＮＳデータは、最新であると共に、周知の標準化フォーマットで提示される。
【００４５】
少なくとも１つの例示的実施形態によれば、ＤＮＳデータを使用してＩＰフローに関連するアプリケーションを識別する方法が、ワイヤレス通信ネットワーク内のネットワーク要素を使用して、ＤＮＳ照会および対応するＤＮＳ応答からＤＮＳデータを読み取り、ホスト名とＩＰアドレスとの間の現在のマッピング関係を求めること、および求めたマッピング関係を含むアプリケーション・マッピング・テーブルを構築することを含む。次いで、ＩＰパケットに含まれる宛先または送信側ＩＰアドレスを識別すること、識別したＩＰアドレスをアプリケーション・マッピング・テーブルと比較すること、および比較に基づいて、識別したＩＰアドレスに関連するホスト名を返すことにより、ＩＰフローに関連するアプリケーションが求められる。次いで、ホスト名を、ホスト名に関連することが知られているアプリケーションと突き合わせることができる。
【００４６】
次に、ＤＮＳデータを使用してＩＰフローに関連するアプリケーションを識別する方法および装置が、図２〜５を参照しながら以下でより詳細に論じられる。
【００４７】
図２は、少なくとも１つの例示的実施形態による、ＤＮＳデータを使用してＩＰフローに関連するアプリケーションを識別するネットワーク要素２５１の構造を示す図である。ネットワーク要素２５１は、ワイヤレス・ネットワーク１００に接続されるＵＥ１４０のうちの１つに対応するＤＮＳパケットを受信する任意のネットワーク要素でよい。例えば、図１に示されるＧＧＳＮ１０６、パケット・アナライザ１０８、ＳＧＳＮ１１０、ＲＮＣ１２０、あるいはＢＳ１３２Ａまたは１３２Ｂの一方のうちの１つまたは複数は、ネットワーク要素２５１の構造および動作を有する要素を含むことができる。
【００４８】
図３Ａを参照すると、ネットワーク要素２５１は、例えば、データ・バス２５９、送信ユニット２５２、受信ユニット２５４、メモリ・ユニット３５６、および処理装置３５８を含むことができる。
【００４９】
送信ユニット２５２、受信ユニット２５４、メモリ・ユニット２５６、および処理装置２５８は、データ・バス２５９を使用して互いにデータを送信および／または受信することができる。送信ユニット２５２は、ワイヤレス通信ネットワーク１００内のネットワーク要素に対する１つまたは複数のワイヤードおよび／またはワイヤレス接続を介して、例えばデータ信号および制御信号を含むワイヤードおよび／またはワイヤレス信号を送信するハードウェアおよび任意の必要なソフトウェアを含む装置である。例えば、送信ユニット２５２によって送信されるデータ信号は、ＵＥ１４０に送られ、またはＵＥ１４０から送られるＩＰデータ・パケットを含むことができる。
【００５０】
受信ユニット２５４は、ワイヤレス通信ネットワーク１００内のネットワーク要素に対する１つまたは複数のワイヤードおよび／またはワイヤレス接続を介して、例えばデータ信号および制御信号を含むワイヤードおよび／またはワイヤレス信号を受信するハードウェアおよび任意の必要なソフトウェアを含む装置である。例えば、受信ユニット３５４によって受信されるデータ信号は、ＵＥに送られ、またはＵＥ１４０から送られるＩＰデータ・パケットを含むことができる。
【００５１】
メモリ・ユニット２５６は、磁気ストレージ、フラッシュ・ストレージなどを含む、データを格納することのできる任意の装置でよい。
【００５２】
処理装置２５８は、例えば、入力データに基づいて特定の演算を実施するように構成されたマイクロプロセッサを含む、データを処理することができ、またはコンピュータ可読コードに含まれる命令を実行することのできる任意の装置でよい。
【００５３】
例えば、処理装置２５８は、ＩＰデータ・パケットを解析して、ＩＰデータ・パケットがＤＮＳパケットであるか否か、ならびにＩＰデータ・パケットに関連する宛先および／または送信側ＩＰアドレスを含む、ＩＰデータ・パケットに関する情報を求めることができる。さらに、処理装置２５８はまた、例えばＤＮＳ応答パケットを含むＤＮＳパケットを解析して、ホスト名およびホスト名に対応するＩＰアドレスを含む、ＤＮＳ応答パケット内の情報を求めることができる。さらに、処理装置２５８は、ＤＮＳ応答パケットに含まれる情報に基づいてＩＰアドレスをホスト名にマッピングするテーブルを形成することができ、テーブルを使用して、ＩＰデータ・パケットに含まれる宛先および／または送信側ＩＰアドレスに対応するホスト名を識別することができる。
【００５４】
次に、ネットワーク要素２５１を操作する例示的方法が、図３〜４を参照しながら以下で詳細に論じられる。ネットワーク要素２５１がパケット・アナライザ１０８によって実施される一例に関して、図３〜４が説明される。
【００５５】
少なくとも１つの例示的実施形態によれば、パケット・アナライザ１０８によって実施されるものとして図３〜４で示され、図３〜４に関連して説明される動作のそれぞれは、例えば、図２に示されるネットワーク要素２５１の構造を有する要素によって実施することができる。例えば、メモリ・ユニット２５６は、図３〜４を参照しながら以下で説明される動作のそれぞれに対応する実行可能命令、ならびにパケット・アナライザ１０８によって格納されるものとして図３〜４に関連して説明される任意のデータを格納することができる。さらに、プロセッサ・ユニット２５８は、例えば、メモリ・ユニット２５６に格納された実行可能命令に基づいて、図３〜４に関連して以下で説明される動作のそれぞれを実施するように構成することができる。さらに、少なくとも１つの例示的実施形態によれば、パケット・アナライザ１０８によって送信または受信されるものとして説明されるデータおよび／または制御信号は、送信ユニット２５２を通じて送信することができ、または受信ユニット２５４を通じて受信することができる。
【００５６】
図３〜４は、少なくとも１つの例示的実施形態による、ＤＮＳデータを使用してＩＰフローに関連するアプリケーションを識別するためにアプリケーション情報を処理する方法を示す。図３は、少なくとも１つの例示的実施形態による、アプリケーション情報をＩＰアドレスにマッピングする方法を示し、図４は、少なくとも１つの例示的実施形態による、マッピング情報を使用してＩＰフローに関連するアプリケーションを識別する方法を示す。
【００５７】
図３を参照すると、ステップＳ３１０で、ネットワーク要素２５１がＩＰデータ・パケットを受信する。例えば、パケット・アナライザ１０８が、インターネット１０１からＵＥ１４０のうちの１つに向けて送られているＩＰデータ・パケットを受信することができる。ステップＳ３１５で、ネットワーク要素２５１は、ＩＰデータ・パケットがＤＮＳ応答パケットであるか否かを判定する。ＤＮＳ応答パケットのフォーマットは周知であり、例えばＩＥＴＦ仕様によって定義される。したがって、周知の方法によれば、パケット・アナライザ１０８は、ステップＳ３１０で受信したＩＰデータ・パケットの内容を解析し、ＩＰデータ・パケットがＤＮＳ応答パケットのフォーマットを有するデータを含むか否かを判定することによってＩＰデータ・パケットがＤＮＳ応答パケットであるか否かを判定する。
【００５８】
ステップＳ３１５で、ステップＳ３１０で受信したＩＰデータ・パケットがＤＮＳ応答パケットではないとネットワーク要素２５１が判定した場合、ネットワーク要素２５１は、ステップＳ３１０に戻り、次に受信したＩＰデータ・パケットを解析する。例えば、パケット・アナライザ１０８が、次に受信したＩＰデータ・パケットの処理を開始することができる。
【００５９】
ステップＳ３１０で受信したＩＰデータ・パケットがＤＮＳ応答パケットであるとネットワーク要素２５１が判定した場合、ネットワーク要素２５１はステップＳ３２０に進む。
【００６０】
ステップＳ３２０で、ネットワーク要素２５１は、ＤＮＳ応答パケットからホスト名および対応するＩＰアドレスを読み取る。
【００６１】
周知のように、ＤＮＳ応答パケットは、ＤＮＳ照会パケットに応答して、例えばＤＮＳサーバによって生成される。ＤＮＳパケットの周知のフォーマットによれば、ＤＮＳ照会パケットは、ＤＮＳ照会を生成するエンティティが、それに関して対応するＩＰアドレスを知りたいと望むホスト名を含む質問区間を含むことができる。ＤＮＳ照会パケットに応答して生成されるＤＮＳ応答パケットは、ＤＮＳ照会パケットに含まれる同一の質問区間ならびに回答区間を含むことができる。ＤＮＳ応答パケットの回答区間は、ＤＮＳ応答パケットの質問区間に含まれるホスト名、ならびにＤＮＳ応答パケットの質問区間に含まれるホスト名に対応するＩＰアドレスを含むことができる。
【００６２】
パケット・アナライザ１０８は、例えば、ＤＮＳ応答パケットの質問および／または回答区間にアクセスすることができ、アクセスすることができ、ＤＮＳ応答パケットがそれに関して生成されたホスト名を求めることができる。さらに、パケット・アナライザ１０８は、ＤＮＳ応答パケットの回答部分にアクセスし、ＤＮＳ応答パケットがそれに関して生成されたホスト名に対応するＩＰアドレスを求めることができる。
【００６３】
ステップＳ３２５で、ネットワーク要素２５１は、ステップＳ３２０でＤＮＳ応答パケットから読み取ったホスト名および対応するＩＰアドレスをアプリケーション・マッピング・テーブルに入力する。パケット・アナライザ１０８は、ホスト名にＩＰアドレスをマッピングするアプリケーション・マッピング・テーブルを生成および格納することができる。例えば、パケット・アナライザ１０８は、ステップＳ３２０で読み取ったホスト名をステップＳ３２０で読み取ったＩＰアドレスマッピングするアプリケーション・マッピング・テーブル内のエントリを作成することができる。アプリケーション・マッピング・テーブルは、例えば、テーブル索引が各ＩＰアドレスであり、テーブル・エントリが対応するホスト名に結合された各ＩＰアドレスであるハッシュ・テーブルでよい。任意の周知ハッシュ関数を使用してハッシュ・テーブルを形成することができる。
【００６４】
さらに、少なくとも１つの例示的実施形態によれば、パケット・アナライザ１０８は、ステップＳ３２０で読み取ったホスト名に関連するアプリケーションを求めることができる。パケット・アナライザ１０８は、周知の方法に従って、特定のホスト名に関連するアプリケーションを求めることができる。例えば、パケット・アナライザ１０８は、ホスト名とホスト名が属するアプリケーションとの間の関連付けを格納するパケット・アナライザ１０８またはワイヤレス通信ネットワーク１００内の別の要素に格納された情報にアクセスすることができる。したがって、ステップＳ３２５で、読み取ったＩＰアドレスを読み取ったホスト名にマッピングする代わりに、パケット・アナライザ１０８は、読み取ったＩＰアドレスを、読み取ったホスト名に関連するアプリケーションを表す識別子、例えばアプリケーションの名前にマッピングすることができる。
【００６５】
ネットワーク要素２５１が、ステップＳ３２０で読み取ったＩＰアドレスと、読み取ったＩＰアドレスに対応するホスト名またはアプリケーションをアプリケーション・マッピング・テーブルに入力した後に、ネットワーク要素２５１はステップＳ３１０に戻ることができる。例えば、ステップＳ３２５の後に、パケット・アナライザ１０８は、パケット・アナライザ１０８で受信した次のＩＰデータ・パケットの処理を開始することができる。
【００６６】
上記のステップＳ３２５で開発したアプリケーション・マッピング・テーブルを使用して、ＩＰフローに関連するアプリケーションを識別するプロセスが、図４を参照しながら以下で論じられる。
【００６７】
図４を参照すると、ステップＳ４１０で、ネットワーク要素２５１が、ＵＥ１４０のうちの１つに、またはその１つから送られているＩＰデータ・フローに含まれるＩＰデータ・パケットを受信する。例えば、パケット・アナライザ１０８は、第１のＵＥ１４２Ａからインターネット１０１に向けて送られているＩＰフローの部分であるデータ・パケットを受信することができる。
【００６８】
ステップＳ４１５で、ネットワーク要素２５１は、ステップＳ４１０で受信したＩＰデータ・パケットの送信側ＩＰアドレスおよび／または宛先ＩＰアドレスを求めることができる。例えば、周知の方法によれば、パケット・アナライザ１０８は、ステップＳ４１０で受信したＩＰパケットのフィールドを解析し、ＩＰデータ・パケットの意図される宛先に対応するＩＰアドレスを求めることができる。パケット・アナライザ１０８は、追加または代替として、最初にＩＰデータ・パケットを送ったエンティティに対応するＩＰアドレスを求めることができる。例えば、受信したＩＰデータ・パケットがインターネット１０１から発信された場合、パケット・アナライザ１０８は、受信したＩＰデータ・パケットの送信側ＩＰアドレスを求めることができる。さらに、受信したＩＰデータ・パケットがＵＥ１４０のうちの１つから発信された場合、パケット・アナライザ１０８は、ＩＰデータ・パケットの宛先ＩＰアドレスを求めることができる。
【００６９】
ステップＳ４２０では、ネットワーク要素２５１は、図３および４に関連して上記で論じられたステップＳ３１０で形成したアプリケーション・マッピング・テーブル内の、ステップＳ４１５で求めたＩＰアドレスを探索することができる。例えば、受信したＩＰデータ・パケットがインターネット１０１から発信された場合、パケット・アナライザ１０８は、パケット・アナライザ１０８に格納されたアプリケーション・マッピング・テーブル内の、受信したＩＰデータ・パケットの送信側ＩＰアドレスを探索することができる。受信したＩＰデータ・パケットがＵＥ１４０のうちの１つから発信された場合、パケット・アナライザ１０８は、アプリケーション・マッピング・テーブルに対して、受信したＩＰデータ・パケット内の宛先ＩＰアドレスを探索することができる。
【００７０】
ステップＳ４２５で、ネットワーク要素２５１は、求めたＩＰアドレスがアプリケーション・マッピング・テーブル内のエントリと合致するか否かを判定することができる。例えば、図４のステップＳ３２５を参照しながら上記で説明したように、アプリケーション・マッピング・テーブルは、ＩＰアドレスを対応するホスト名またはアプリケーションにマッピングするエントリを含む。したがって、ステップＳ４２５で、パケット・アナライザ１０８は、ステップＳ４１５で求めたＩＰアドレスに対応するエントリが、パケット・アナライザ１０８に格納されたアプリケーション・マッピング・テーブル内に存在するか否かを判定することができる。
【００７１】
ステップＳ４２５で、ステップＳ４１５で求めたＩＰアドレスに対応するエントリがパケット・アナライザ１０８に格納されたアプリケーション・マッピング・テーブル内に存在しないとネットワーク要素２１５が判定した場合、ネットワーク要素２１５はステップＳ４１０に戻り、ネットワーク要素２１５で受信した次のＩＰデータ・パケットの解析を開始する。
【００７２】
ステップＳ４２５で、ネットワーク要素２５１に格納されたアプリケーション・マッピング・テーブル内のステップＳ４１５で求めたＩＰアドレスに対応するエントリをネットワーク要素２５１が識別した場合、ネットワーク要素はステップＳ４３０に進む。
【００７３】
ステップＳ４３０で、ネットワーク要素２５１は、ステップＳ４１０で受信したＩＰデータ・パケットに対応するＵＥに関する追跡テーブル内にアプリケーション情報を格納する。例えば、パケット・アナライザ１０８は、通信ネットワーク１００内のＵＥに対応する追跡情報を格納する追跡データベースを生成することができる。追跡データベースは、例えば、ＧＧＳＮ１０６とＳＧＳＮ１１０との間の、ＵＥに、またはＵＥから渡されたＩＰフローを有する各ＵＥに対応する追跡テーブルを含むことができる。各ＵＥについて、対応する追跡テーブルは、ＵＥのＩＰフローのＩＰデータ・パケットから識別したアプリケーション情報を含むことができる。アプリケーション情報は、例えば、ＵＥに、またはＵＥから送られているＩＰパケットから読み取ったＩＰアドレスに関連するホスト名、あるいはホスト名に関連するアプリケーションに関する識別子でよい。例えば、特定のホスト名について、パケット・アナライザ１０８は、周知の方法に従って、関連するアプリケーションを求めることができる。
【００７４】
各ＵＥについて、追跡テーブルはまた、異なるホスト名および／またはアプリケーションが、ＧＧＳＮ１０６とＳＧＳＮ１１０との間の接続を介して、ＵＥに、またはＵＥから送られているＩＰデータ・パケットに関連するものとして識別されるタイミングおよび／または頻度を示す情報をも含むことができる。
【００７５】
ステップＳ４３０の後に、ネットワーク要素２５１はステップＳ４１０に戻り、ネットワーク要素２１５で受信した次のＩＰデータ・パケットの解析を開始することができる。
【００７６】
ネットワーク要素２５１は、図３および４で上記で論じられた方法を同時に実行することができる。例えば、ネットワーク要素２５１は、図３に示される方法に従って、最後に受信したＤＮＳパケットから受信した情報に基づいて、アプリケーション・マッピング・テーブルを常に更新することができる。さらに、同時に、ネットワーク要素は、図４に示される方法に従って、現在のアプリケーション・マッピング・テーブルを使用して、アプリケーションをＩＰフローに常に関連付けることができる。
【００７７】
したがって、図３〜４の例に関して上記で説明したＤＮＳデータを使用してＩＰフローに関連するアプリケーションを識別する方法によれば、ＤＮＳ応答パケットに含まれるデータを通信ネットワーク１００内のネットワーク要素２５１で使用して、ネットワーク要素２５１内のアプリケーション・マッピング・テーブルを構築することができる。アプリケーション・マッピング・テーブルは、ＩＰアドレスを対応するアプリケーション情報にマッピングする。アプリケーション情報は、ＩＰアドレスに対応するホスト名、またはホスト名に関連するアプリケーションに関する識別子、例えばアプリケーションの名前でよい。
【００７８】
さらに、アプリケーション・マッピング・テーブルをネットワーク要素２５１で使用して、ネットワーク要素２５１を通過し、アプリケーション・マッピング・テーブル内のエントリに対応する送信側または宛先ＩＰアドレスを有する任意のＩＰパケットに関連するアプリケーション情報を求めることができる。各ＵＥについて、ＵＥに、またはＵＥから送られるＩＰパケットに関連する、求めたアプリケーション情報を、ネットワーク要素に格納された追跡データベース内のテーブルに配置することができる。ネットワーク要素２５１の追跡データベース内に格納された情報をワイヤレス通信ネットワーク１００のネットワーク・オペレータで使用して、ワイヤレス通信ネットワーク１００に接続された各ＵＥによってアクセスされるアプリケーションのタイプ、ならびにそのようなアクセスのタイミングおよび頻度を含む特定のアプリケーション情報を求めることができる。このアクセス情報は、例えば市場調査、トラフィック監視、トラフィック・アウェアネス、ポリシー実施、および一般的ネットワーク・インテリジェンスを含む、ネットワーク・オペレータのためのいくつかの用途を有することができる。
【００７９】
例示的実施形態をこのように説明したので、例示的実施形態を多くの方法で変形できることは明らかであろう。そのような変形を例示的実施形態からの逸脱とみなすべきではなく、すべてのそのような修正は、例示的実施形態の範囲内に含まれるものとする。
【図１】
0005889445.tif 000002
【図２】
0005889445.tif 000003
【図３】
0005889445.tif 000004
【図４】
0005889445.tif 000005