(57)【特許請求の範囲】
【請求項１】
通信のための方法であって、
ラジオ・アクセス・ネットワーク（ＲＡＮ）とコアＩＰネットワークとを接続するパケット・データ・サービス提供ノード（ＰＤＳＮ）ゲートウェイ上に、前記ＲＡＮと前記コアＩＰネットワークとの間に接続されるドメイン・ネーム・システム（ＤＮＳ）プロキシ・デバイスを配備することと、
前記プロキシ・デバイスによって、前記コアＩＰネットワークから、複数のラジオ・リンク・フローを通して、前記ＲＡＮに接続されているモバイル・クライアント・デバイスに送信された１または複数のデータ・パケットを検査することと、
前記検査されたデータ・パケットに埋め込まれた１または複数のホスト・デバイス・ネームを識別することと、
前記１または複数の埋め込まれたホスト・デバイス・ネームに関連付けられたＩＰアドレスを解決することと、
前記ＰＤＳＮゲートウェイと前記クライアント・デバイスとの間の前記複数のラジオ・リンク・フローを通して、前記検査されたデータ・パケットを、前記クライアント・デバイスへ送信することと、
前記検査されたデータ・パケットで識別されたホスト・デバイスへの接続を確立するために、前記クライアント・デバイスによって使用されるための、前記解決された関連付けられたＩＰアドレスと前記１または複数のホスト・デバイス・ネームとを、前記検査されたデータ・パケットと独立して、前記クライアント・デバイスへ送信することと、
を備える方法。
【請求項２】
前記検査されたデータ・パケットに埋め込まれた１または複数のホスト・デバイス・ネームを識別することは、前記検査されたデータ・パケットを伸張することを備える、請求項１に記載の方法。
【請求項３】
前記検査されたデータ・パケットに埋め込まれた１または複数のホスト・デバイス・ネームを識別することは、前記検査されたデータ・パケットを、ＡＳＣＩＩキャラクタ文字列パターン・マッチングを用いて分析することを備える、請求項１に記載の方法。
【請求項４】
前記ＩＰアドレスを解決することはさらに、
前記１または複数の埋め込まれたホスト・デバイス・ネームに関連付けられたＩＰアドレスを求めて、前記プロキシ・デバイスのローカル・キャッシュを探索することと、
前記関連付けられたＩＰアドレスの、前記プロキシ・デバイスのローカル・キャッシュにおける位置決めに失敗すると、前記１または複数の埋め込まれたホスト・デバイス・ネームに関連付けられたＩＰアドレスを解決するために、前記プロキシ・デバイスによって、１または複数のＤＮＳサーバへ問い合わせることと、
を備える請求項１に記載の方法。
【請求項５】
前記ＩＰアドレスを解決することはさらに、前記プロキシ・デバイスのローカル・キャッシュ内に、前記１または複数の識別されたホスト・デバイス・ネームと、前記解決された関連付けられたＩＰアドレスとを格納することを備える、請求項１に記載の方法。
【請求項６】
前記プロキシ・デバイスによって、前記クライアント・デバイスに送信された１または複数のデータ・パケットを検査することは、第１の伝搬レイテンシを有する第１の通信リンクで前記クライアント・デバイスへ送信されたデータ・パケットを検査することを備える、請求項１に記載の方法。
【請求項７】
前記検査されたデータ・パケットを、前記クライアント・デバイスへ送信することは、前記検査されたデータ・パケットを、第２の伝搬レイテンシを有する第２の通信リンクで送信することを備え、
前記第１の伝搬レイテンシは、前記第２の伝搬レイテンシよりも低い、請求項６に記載の方法。
【請求項８】
前記第１の通信リンクは、前記コアＩＰネットワークを含み、前記第２の通信リンクは、前記ラジオ・アクセス・ネットワーク（ＲＡＮ）を含む、請求項７に記載の方法。
【請求項９】
通信システムであって、
プロセッサと、前記プロセッサに接続された通信構成要素とを備え、
前記プロセッサは、
ラジオ・アクセス・ネットワーク（ＲＡＮ）とコアＩＰネットワークとを接続するパケット・データ・サービス提供ノード（ＰＤＳＮ）ゲートウェイ上に、前記ＲＡＮと前記コアＩＰネットワークとの間に接続されるドメイン・ネーム・システム（ＤＮＳ）プロキシ・デバイスを配備し、
前記プロキシ・デバイスによって、前記コアＩＰネットワークから、複数のラジオ・リンク・フローを通して、前記ＲＡＮに接続されているモバイル・クライアント・デバイスに送信された１または複数のデータ・パケットを検査し、
前記検査されたデータ・パケットに埋め込まれた１または複数のホスト・デバイス・ネームを識別し、
前記１または複数の埋め込まれたホスト・デバイス・ネームに関連付けられたＩＰアドレスを解決し、
前記通信構成要素を使用して、前記ＰＤＳＮゲートウェイと前記クライアント・デバイスとの間の前記複数のラジオ・リンク・フローを通して、前記検査されたデータ・パケットを、前記クライアント・デバイスへ送信し、
前記通信構成要素を使用して、前記検査されたデータ・パケットで識別されたホスト・デバイスへの接続を確立するために、前記クライアント・デバイスによって使用されるための、前記解決された関連付けられたＩＰアドレスと前記１または複数のホスト・デバイス・ネームとを、前記検査されたデータ・パケットと独立して、前記クライアント・デバイスへ送信する
ように構成された、通信システム。
【請求項１０】
前記検査されたデータ・パケットに埋め込まれた１または複数のホスト・デバイス・ネームを識別するために、前記プロセッサはさらに、前記検査されたデータ・パケットを伸張するように構成された、請求項９に記載の通信システム。
【請求項１１】
前記検査されたデータ・パケットに埋め込まれた１または複数のホスト・デバイス・ネームを識別するために、前記プロセッサはさらに、前記検査されたデータ・パケットを、ＡＳＣＩＩキャラクタ文字列パターン・マッチングを用いて分析するように構成された、請求項９に記載の通信システム。
【請求項１２】
前記ＩＰアドレスを解決するために、前記プロセッサはさらに、
前記１または複数の埋め込まれたホスト・デバイス・ネームに関連付けられたＩＰアドレスを求めて、前記プロキシ・デバイスのローカル・キャッシュを探索し、
前記関連付けられたＩＰアドレスの、前記プロキシ・デバイスのローカル・キャッシュにおける位置決めに失敗すると、前記１または複数の埋め込まれたホスト・デバイス・ネームに関連付けられたＩＰアドレスを解決するために、前記プロキシ・デバイスによって、１または複数のＤＮＳサーバへ問い合わせる
ように構成された、請求項９に記載の通信システム。
【請求項１３】
前記ＩＰアドレスを解決するために、前記プロセッサはさらに、前記プロキシ・デバイスのローカル・キャッシュ内に、前記１または複数の識別されたホスト・デバイス・ネームと、前記解決された関連付けられたＩＰアドレスとを格納するように構成された、請求項９に記載の通信システム。
【請求項１４】
前記クライアント・デバイスに送信された１または複数のデータ・パケットを検査するために、前記プロセッサはさらに、第１の伝搬レイテンシを有する第１の通信リンクで前記クライアント・デバイスへ送信されたデータ・パケットを検査するように構成された、請求項９に記載の通信システム。
【請求項１５】
前記検査されたデータ・パケットを、前記クライアント・デバイスへ送信するために、前記プロセッサはさらに、前記検査されたデータ・パケットを、第２の伝搬レイテンシを有する第２の通信リンクで送信するように構成され、
前記第１の伝搬レイテンシは、前記第２の伝搬レイテンシよりも低い、請求項１４に記載の通信システム。
【請求項１６】
前記第１の通信リンクは、前記コアＩＰネットワークを含み、前記第２の通信リンクは、前記ラジオ・アクセス・ネットワーク（ＲＡＮ）を含む、請求項１５に記載の通信システム。
【請求項１７】
コンピュータ読取可能な記憶媒体であって、
ラジオ・アクセス・ネットワーク（ＲＡＮ）とコアＩＰネットワークとを接続するパケット・データ・サービス提供ノード（ＰＤＳＮ）ゲートウェイ上に、前記ＲＡＮと前記コアＩＰネットワークとの間に接続されるドメイン・ネーム・システム（ＤＮＳ）プロキシ・デバイスを配備させるための第１のコードのセットと、
前記プロキシ・デバイスに対して、前記コアＩＰネットワークから、複数のラジオ・リンク・フローを通して、前記ＲＡＮに接続されているモバイル・クライアント・デバイスに送信された１または複数のデータ・パケットを検査させるための第２のコードのセットと、
前記プロキシ・デバイスに対して、前記検査されたデータ・パケットに埋め込まれた１または複数のホスト・デバイス・ネームを識別させるための第３のコードのセットと、
前記プロキシ・デバイスに対して、前記１または複数の埋め込まれたホスト・デバイス・ネームに関連付けられたＩＰアドレスを解決させるための第４のコードのセットと、
前記ＰＤＳＮゲートウェイと前記クライアント・デバイスとの間の前記複数のラジオ・リンク・フローを通して、前記プロキシ・デバイスに対して、前記検査されたデータ・パケットを、前記クライアント・デバイスへ送信させるための第５のコードのセットと、
前記プロキシ・デバイスに対して、前記検査されたデータ・パケットで識別されたホスト・デバイスへの接続を確立するために、前記クライアント・デバイスによって使用されるための、前記解決された関連付けられたＩＰアドレスと前記１または複数のホスト・デバイス・ネームとを、前記検査されたデータ・パケットと独立して、前記クライアント・デバイスへ送信させるための第６のコードのセットと、
を記憶した、コンピュータ読取可能な記憶媒体。
【請求項１８】
前記第３のコードのセットはさらに、前記コンピュータに対して、前記検査されたデータ・パケットを伸張させるための第７のコードのセットを備える、請求項１７に記載のコンピュータ読取可能な記憶媒体。
【請求項１９】
前記第３のコードのセットはさらに、前記コンピュータに対して、前記検査されたデータ・パケットを、ＡＳＣＩＩキャラクタ文字列パターン・マッチングを用いて分析させるための第８のコードのセットを備える、請求項１７に記載のコンピュータ読取可能な記憶媒体。
【請求項２０】
前記第４のコードのセットはさらに、前記プロキシ・デバイスに対して、前記１または複数の埋め込まれたホスト・デバイス・ネームに関連付けられたＩＰアドレスを求めて、プロキシ・デバイスのローカル・キャッシュを探索させ、前記関連付けられたＩＰアドレスの、前記プロキシ・デバイスのローカル・キャッシュにおける位置決めに失敗すると、前記１または複数の埋め込まれたホスト・デバイス・ネームに関連付けられたＩＰアドレスを解決するために、前記プロキシ・デバイスによって、１または複数のＤＮＳサーバへ問い合わせをさせるための第９のコードのセットを備える、請求項１７に記載のコンピュータ読取可能な記憶媒体。
【請求項２１】
前記第４のコードのセットはさらに、前記プロキシ・デバイスに対して、プロキシ・デバイスのローカル・キャッシュ内に、前記１または複数の識別されたホスト・デバイス・ネームと、前記解決された関連付けられたＩＰアドレスとを格納させるための第１０のコードのセットを備える、請求項１７に記載のコンピュータ読取可能な記憶媒体。
【請求項２２】
前記第２のコードのセットはさらに、前記プロキシ・デバイスに対して、第１の伝搬レイテンシを有する第１の通信リンクで前記クライアント・デバイスへ送信されたデータ・パケットを検査させるための第１１のコードのセットを備える、請求項１７に記載のコンピュータ読取可能な記憶媒体。
【請求項２３】
前記第５のコードのセットはさらに、前記プロキシ・デバイスに対して、前記検査されたデータ・パケットを、第２の伝搬レイテンシを有する第２の通信リンクで送信させるための第１２のコードのセットを備え、
前記第１の伝搬レイテンシは、前記第２の伝搬レイテンシよりも低い、請求項２２に記載のコンピュータ読取可能な記憶媒体。
【請求項２４】
前記第１の通信リンクは、前記コアＩＰネットワークを含み、前記第２の通信リンクは、前記ラジオ・アクセス・ネットワーク（ＲＡＮ）を含む、請求項２３に記載のコンピュータ読取可能な記憶媒体。
【請求項２５】
パケット・データ・サービス提供ノード（ＰＤＳＮ）ゲートウェイであって、
ラジオ・アクセス・ネットワーク（ＲＡＮ）とコアＩＰネットワークとを接続する前記ＰＤＳＮゲートウェイ上に、前記ＲＡＮと前記コアＩＰネットワークとの間に接続されるドメイン・ネーム・システム（ＤＮＳ）プロキシ・デバイスを配備する手段と、
前記プロキシ・デバイスによって、前記コアＩＰネットワークから、複数のラジオ・リンク・フローを通して、前記ＲＡＮに接続されているモバイル・クライアント・デバイスに送信された１または複数のデータ・パケットを検査する手段と、
前記検査されたデータ・パケットに埋め込まれた１または複数のホスト・デバイス・ネームを識別する手段と、
前記１または複数の埋め込まれたホスト・デバイス・ネームに関連付けられたＩＰアドレスを解決する手段と、
前記ＰＤＳＮゲートウェイと前記クライアント・デバイスとの間の前記複数のラジオ・リンク・フローを通して、前記検査されたデータ・パケットを、前記クライアント・デバイスへ送信する手段と、
前記検査されたデータ・パケットで識別されたホスト・デバイスへの接続を確立するために、前記クライアント・デバイスによって使用されるための、前記解決された関連付けられたＩＰアドレスと前記１または複数のホスト・デバイス・ネームとを、前記検査されたデータ・パケットと独立して、前記クライアント・デバイスへ送信する手段と、
を備えるＰＤＳＮゲートウェイ。
【請求項２６】
前記検査されたデータ・パケットに埋め込まれた１または複数のホスト・デバイス・ネームを識別する手段は、前記検査されたデータ・パケットを伸張する手段を備える、請求項２５に記載のＰＤＳＮゲートウェイ。
【請求項２７】
前記検査されたデータ・パケットに埋め込まれた１または複数のホスト・デバイス・ネームを識別する手段は、前記検査されたデータ・パケットを、ＡＳＣＩＩキャラクタ文字列パターン・マッチングを用いて分析する手段を備える、請求項２５に記載のＰＤＳＮゲートウェイ。
【請求項２８】
前記ＩＰアドレスを解決する手段はさらに、
前記１または複数の埋め込まれたホスト・デバイス・ネームに関連付けられたＩＰアドレスを求めて、ローカル・キャッシュを探索する手段と、
前記関連付けられたＩＰアドレスの、前記ローカル・キャッシュにおける位置決めに失敗すると、前記１または複数の埋め込まれたホスト・デバイス・ネームに関連付けられたＩＰアドレスを解決するために、１または複数のＤＮＳサーバへ問い合わせる手段と、
を備える請求項２５に記載のＰＤＳＮゲートウェイ。
【請求項２９】
前記ＩＰアドレスを解決する手段はさらに、ローカル・キャッシュ内に、前記１または複数の識別されたホスト・デバイス・ネームと、前記解決された関連付けられたＩＰアドレスとを格納する手段を備える、請求項２５に記載のＰＤＳＮゲートウェイ。
【請求項３０】
前記クライアント・デバイスに送信された１または複数のデータ・パケットを検査する手段は、第１の伝搬レイテンシを有する第１の通信リンクで前記クライアント・デバイスへ送信されたデータ・パケットを検査する手段を備える、請求項２５に記載のＰＤＳＮゲートウェイ。
【請求項３１】
前記検査されたデータ・パケットを、前記クライアント・デバイスへ送信する手段は、前記検査されたデータ・パケットを、第２の伝搬レイテンシを有する第２の通信リンクで送信する手段を備え、
前記第１の伝搬レイテンシは、前記第２の伝搬レイテンシよりも低い、請求項３０に記載のＰＤＳＮゲートウェイ。
【請求項３２】
前記第１の通信リンクは、前記コアＩＰネットワークを含み、前記第２の通信リンクは、前記ラジオ・アクセス・ネットワーク（ＲＡＮ）を含む、請求項３１に記載のＰＤＳＮゲートウェイ。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、一般に、通信ネットワークの分野に関し、さらに詳しくは、プリエンプティブ（preemptive）なＤＮＳ解決によるアプリケーション加速のためのシステムよび方法に関する。
【背景技術】
【０００２】
ラジオ・アクセス・ネットワーク（ＲＡＮ）としても知られている無線通信システムは、モバイル・デバイス・ユーザに対して、高速かつ大規模な帯域幅のコアＩＰネットワークに対する無線アクセスを提供する。これらの無線通信システムは、利用可能なシステム・リソース（例えば、帯域幅および送信電力）を共有することにより、複数のモバイル・デバイスとの通信をサポートすることができる多元接続システムでありうる。このような多元接続システムの例は、符号分割多元接続（ＣＤＭＡ）システム、時分割多元接続（ＴＤＭＡ）システム、周波数分割多元接続（ＦＤＭＡ）システム、直交周波数分割多元接続（ＯＦＤＭＡ）システム、ＷＣＤＭＡとＨＳＰＡとＨＳＵＰＡとを含むユニバーサル・モバイル・テレコミュニケーション・システム（ＵＭＴＳ）、３ＧＰＰロング・ターム・イボリューション（ＬＴＥ）システム、およびその他のタイプの無線通信システムを含んでいる。
【０００３】
一般に、ＩＰネットワーク上の通信は、通信デバイスが、コンピュータ、サーバ、またはその他のネットワーク・デバイスのホスト・ネームおよびドメイン・ネームを、これらデバイスへの接続が確立される前に、関連付けられたＩＰアドレスへの変換を解決することを必要とする。ドメイン・ネーム・システム（ＤＮＳ）サーバは、ホスト・ネーム解決サービスを行う。コアＩＰネットワークに物理的に接続されたデバイスの場合、ホスト・ネーム解決は、インターネット・サービス・プロバイダ（ＩＳＰ）によってホストされたＤＮＳサーバによって一般に実行される比較的高速かつシームレスな処理である。しかしながら、ラジオ・アクセス・ネットワークによってＩＰネットワークへ接続されたモバイル・デバイスの場合、ホスト・ネーム解決は、狭い帯域幅、高いラジオ・リンク伝搬レイテンシ、高いパケット誤り率によるデータ再送信、および、無線通信環境に起因するその他の要因によって、顕著な通信遅れを加える。したがって、無線通信システムにおけるＤＮＳ解決手順を改善する必要がある。
【発明の概要】
【０００４】
以下は、無線通信環境において、プリエンプティブなＤＮＳ解決によるアプリケーション加速のためのメカニズムの１または複数の態様の簡略化された概要を示す。
【０００５】
この概要は、考慮されるすべての態様の広範な概観ではなく、本発明の重要な要素あるいは決定的な要素を特定することも、これら態様のいずれかまたはすべての範囲を線引きすることも意図されていない。その唯一の目的は、後に示されるより詳細な記載に対する前置きとして、簡略化された形式で１または複数の態様のいくつかの概念を表すことである。
【０００６】
プリエンプティブなＤＮＳ解決のためのシステム、方法、およびコンピュータ・プログラム製品のさまざまな態様が本明細書で示される。このシステムは、ＲＡＮに接続されたモバイル・デバイスとの間の通信のために、プリエンプティブなドメイン・ネーム解決を提供するために、ラジオ・アクセス・ネットワーク（ＲＡＮ）とコアＩＰネットワークとの間に提供されたＤＮＳプロキシ・デバイスを含みうる。１つの態様では、ＤＮＳプロキシは、例えばＰＤＳＮゲートウェイのようなＩＰアクセス・ゲートウェイによってホストされうる。ＤＮＳプロキシ・デバイスは、コアＩＰネットワークへのダイレクトな物理的接続によって、ＩＰネットワークのＤＮＳサーバへのアクセス時間が、モバイル・デバイスよりもはるかに速い。これによって、ＤＮＳプロキシは、モバイル・デバイスが、モバイル・デバイスへの通信におけるホスト・ネームとドメイン・ネームとの変換を提供することを支援できるようになり、もって、モバイル・デバイス上で実行しているさまざまなアプリケーションの動作が加速される。
【０００７】
１つの態様では、ＤＮＳプロキシは、第１の通信リンクでモバイル・デバイスに送信されたデータ・パケットを検査する。プロキシは、検査されたデータ・パケットに埋め込まれた１または複数のホスト・デバイス・ネームを識別し、１または複数の埋め込まれたホスト・デバイス・ネームに関連付けられたＩＰアドレスを解決する。プロキシ・デバイスは、検査されたデータ・パケットを、変更することなく、第２の通信リンクで、モバイル・デバイスへ送信する。第２の通信リンクは、第１の通信リンクよりも高い伝搬レイテンシを有しうる。その後、プロキシは、検査されたデータ・パケットで識別されたホスト・デバイスへの接続を確立するために、クライアント・デバイスによって使用されるために解決された関連付けられたＩＰアドレスと１または複数のホスト・デバイス・ネームを、検査されたデータ・パケットと独立して、モバイル・デバイスへ送信する。このように、モバイル・デバイスが、検査されたデータ・パケットで識別されたホスト・デバイスにアクセスする必要がある場合、ホスト・デバイスのＩＰアドレスは、既に利用可能であり、モバイル・デバイスは、第２の通信リンクで、ＩＰアドレス解決処理を繰り返す必要はない。
【０００８】
前述した目的および関連する目的を達成するために、１または複数の実施形態は、後に十分に記載され、特許請求の範囲において特に指摘されている特徴を備える。以下の記載および添付図面は、１または複数の態様のある例示的な特徴を詳細に記載する。しかしながら、これらの特徴は、さまざまな態様の原理が適用されるさまざまな方式のうちの極く一部しか示しておらず、本説明は、このような態様およびこれらの均等物の全てを含むことが意図されている。
【図面の簡単な説明】
【０００９】
本発明の開示された態様は、開示された態様を、限定ではなく例示のために提供された、同一符番が同一要素を示す添付図面と連携して以下に記載されるだろう。
【図１】図１は、本明細書に開示されたプリエンプティブなＤＮＳ解決メカニズムの態様を利用する無線通信システムの例示である。
【図２】図２は、プリエンプティブなＤＮＳ解決のための方法の例の例示である。
【図３】図３は、プリエンプティブなＤＮＳ解決のための方法の別の例の例示である。
【図４】図４は、本明細書に開示されたプリエンプティブなＤＮＳ解決メカニズムの態様を実施するＤＮＳプロキシの例の例示である。
【図５】図５は、本明細書に開示されたプリエンプティブなＤＮＳ解決メカニズムの態様を実施するシステムの例の例示である。
【図６】図６は、本明細書に開示されたプリエンプティブなＤＮＳ解決メカニズムの態様を利用する無線通信システムの例の例示である。
【発明を実施するための形態】
【００１０】
無線通信環境におけるプリエンプティブなＤＮＳ解決のための方法のさまざまな態様が、図面を参照して説明される。しかしながら、プリエンプティブなＤＮＳ解決の方法は、無線通信環境に限定されておらず、クライアント・デバイスと広域ＩＰネットワークとの間の長い伝播遅延によって特徴付けられ、プリエンプティブなＤＮＳ解決がクライアント・デバイス上で実行しているアプリケーションの動作を加速しうる、任意の通信ネットワークで使用されうることが注目されるべきである。「ホスト・ネーム」、「ドメイン・ネーム」という用語は、本明細書では、これら用語間の微妙な技術的相違に関わらず、置換可能に使用されることがさらに注目されるべきである。以下の記載では、説明の目的のために、１または複数の態様の完全な理解を提供するために、多くの具体的な詳細が述べられる。しかしながら、このような態様（単数または複数）は、これら具体的な詳細無しで実現されうることが明確である。
【００１１】
本開示で使用されるように、用語「構成要素」、「モジュール」、「システム」等は、ハードウェア、ファームウェア、ハードウェアとソフトウェアとの組み合わせ、ソフトウェア、あるいは実行中のソフトウェアのうちの何れかであるコンピュータ関連エンティティを含むことが意図されている。例えば、構成要素は、限定される訳ではないが、プロセッサ上で実行中のプロセス、プロセッサ、オブジェクト、実行形式、実行スレッド、プログラム、および／またはコンピュータでありうる。例示によれば、コンピューティング・デバイス上で実行中のアプリケーションと、コンピューティング・デバイスとの両方が構成要素となりうる。１または複数の構成要素は、プロセスおよび／または実行スレッド内に存在し、構成要素は、１つのコンピュータに局在化されるか、および／または、２つ以上のコンピュータに分散されうる。さらに、これらの構成要素は、さまざまなデータ構造を格納したさまざまなコンピュータ読取可能な媒体から実行可能である。これら構成要素は、信号によって、ローカル・システムや分散システム内の他の構成要素とインタラクトする、および／または、例えばインターネットやその他のタイプのパケット交換ネットワークのようなネットワークを介してその他のシステムとインタラクトする、１つの構成要素からのデータのような、１または複数のデータ・パケットを有する信号にしたがって、ローカル処理および／またはリモート処理によって通信することができる。
【００１２】
さらに、本明細書に記載のプリエンプティブなＤＮＳ解決のための方法のさまざまな態様または機能は、標準的なプログラミング技術および／またはエンジニアリング技術を用いた方法、装置、または製造物品として実現されうる。本明細書で使用される用語「製造物品」は、任意のコンピュータ読取可能なデバイス、キャリア、または媒体からアクセスすることが可能なコンピュータ・プログラムを含むことが意図される。例えば、コンピュータ読取可能な媒体は、限定される訳ではないが、磁気記憶装置（例えば、ハード・ディスク、フロッピー（登録商標）ディスク、磁気ストリップ等）、光ディスク（例えば、コンパクト・ディスク（ＣＤ）、ＤＶＤ等）、スマート・カード、およびフラッシュ・メモリ・デバイス（例えば、ＥＰＲＯＭ、カード、スティック、キー・ドライブ等）を含みうる。さらに、本明細書に記載されたさまざまな記憶媒体は、情報を格納するための１または複数のデバイス、および／または、その他の機械読取可能な媒体を示すことができる。用語「機械読取可能な媒体」は、限定されることなく、無線チャネル、および、命令群および／またはデータを格納、包含、および／または搬送することができるその他任意の媒体を含みうる。
【００１３】
無線通信環境におけるプリエンプティブなＤＮＳ解決のための方法のさまざまな態様または特徴が、多くのモバイル・デバイス、構成要素、モジュール等を含みうるシステムの観点から示されるだろう。さまざまなシステムが、追加のデバイス、構成要素、モジュール等を含むことができるか、および／または、図面に関連して説明されたデバイス、構成要素、モジュール等の必ずしも全てを含んでいる訳ではないことが理解され、認識されるべきである。これらアプローチの組み合わせもまた使用されうる。
【００１４】
図１は、１または複数のモバイル・デバイス１０５、１または複数のラジオ・アクセス・ネットワーク（ＲＡＮ）１１０、例えばインターネットのようなコアＩＰネットワーク１４０、１または複数のＤＮＳサーバ１５０、例えばウェブ・サーバ、ファイル・サーバ、メール・サーバ、マルチメディア・サーバおよびその他のようなさまざまなコンテンツおよびアプリケーション・サーバ１６０、を含む無線通信システムの１つの態様を例示する。１つの態様では、モバイル・デバイス１０５は、セルラ電話、コードレス電話、セッション開始プロトコル（ＳＩＰ）電話、携帯情報端末（ＰＤＡ）、無線接続機能を有するハンドヘルド・デバイス、ラップトップ・コンピュータ、あるいは無線モデムに接続されたその他の処理デバイスでありうる。モバイル・デバイス１０５は、いくつかの異なるラジオ・アクセス・ネットワーク１１０にアクセスするように動作可能なマルチ・モード通信デバイスでありうる。モバイル・デバイス１０５は、例えばウェブ・ブラウジング、ボイス・オーバＩＰ（ＶｏＩＰ）、ＩＰ−ＴＶ、マルチメディア・ストリーミング、ファイル・ダウンロード、および、その他のタイプのサービスのようなブロードバンド・インターネット・サービスを含む、データ・サービス、音声サービス、および、ビデオ・サービスをサポートしうる。デバイス１０５はまた、加入者ユニット、加入者局、移動局、モバイル、遠隔局、遠隔端末、アクセス端末、ユーザ端末、端末、無線通信デバイス、ユーザ・エージェント、ユーザ・デバイス、あるいはユーザ機器（ＵＥ）とも称されうる。
【００１５】
１つの態様では、ラジオ・アクセス・ネットワーク１１０は、限定される訳ではないが、ＣＤＭＡシステム、ＴＤＭＡシステム、ＦＤＭＡシステム、ＯＦＤＭＡシステム、ＳＣ−ＦＤＭＡシステム、ＴＤ−ＳＣＤＭＡシステム、およびその他の無線通信システムを含みうる。「システム」、「ネットワーク」という用語は本明細書では置換可能に使用される。ＣＤＭＡネットワークは、例えば、ユニバーサル地上ラジオ・アクセス・ネットワーク（ＵＴＲＡＮ）、ｃｄｍａ２０００等のようなラジオ技術を実現することができる。ＵＴＲＡＮは、広帯域ＣＤＭＡ（Ｗ−ＣＤＭＡ）およびＣＤＭＡのその他の変形を含んでいる。さらに、ｃｄｍａ２０００は、ＩＳ−２０００規格、ＩＳ−９５規格、およびＩＳ−８５６規格をカバーする。ＴＤＭＡシステムは、例えばグローバル移動体通信システム（ＧＳＭ（登録商標））のような無線技術を実現しうる。ＯＦＤＭＡシステムは、例えばイボルブドＵＴＲＡＮ（Ｅ−ＵＴＲＡＮ）、ウルトラ・モバイル・ブロードバンド（ＵＭＢ）、ＩＥＥＥ  ８０２．１１（Ｗｉ−Ｆｉ）、ＩＥＥＥ  ８０２．１６（ＷｉＭＡＸ）、ＩＥＥＥ  ８０２．２０、フラッシュ−ＯＦＤＭ（登録商標）等のような無線技術を実現しうる。ＵＴＲＡＮおよびＥ−ＵＴＲＡＮは、ユニバーサル・モバイル・テレコミュニケーション・システム（ＵＭＴＳ）の一部である。３ＧＰＰロング・ターム・イボリューション（ＬＴＥ）は、ダウンリンクではＯＦＤＭＡを適用し、アップリンクではＳＣ−ＦＤＭＡを適用するＥ−ＵＴＲＡＮを用いるＵＭＴＳのリリースである。ＵＴＲＡＮ、Ｅ−ＵＴＲＡＮ、ＵＭＴＳ、ＬＴＥ、およびＧＳＭは、「第３世代パートナシップ計画」（３ＧＰＰ）と命名された組織からの文書に記述されている。さらに、ｃｄｍａ２０００およびＵＭＢは、「第３世代パートナシップ計画２」（３ＧＰＰ２）と命名された組織からの文書に記述されている。さらに、このような無線通信システムは、しばしばアンペア（ｕｎｐａｉｒｅｄ）な無許可のスペクトルを用いるピア・トゥ・ピア（例えば、モバイル・トゥ・モバイル）アド・ホック・ネットワーク・システム、８０２ｘｘ無線ＬＡＮ、Ｂｌｕｅｔｏｏｔｈ（登録商標）、および、その他任意の短距離または長距離の無線通信技術を含みうる。
【００１６】
一般に、ＲＡＮ１１０は、モバイル・デバイス１０５に対して、例えばインターネットのようなパケット交換コア・ネットワーク１４０へのラジオ・アクセスを提供する。１つの態様では、ＲＡＮ１１０は、複数のアンテナ・グループと、および／または、モバイル・デバイス１０５との間でのラジオ信号の送信および受信に関連付けられた複数の構成要素（例えば、プロセッサ、変調器、マルチプレクサ、アンテナ等（図示せず））を備えうる送信機／受信機チェーンと、を有する１または複数のラジオ基地局１５０を含みうる。ＲＡＮ１１０はさらに、モバイル・デバイス１０５とＩＰアクセス・ゲートウェイ１２５との間のデータ接続を提供するＲＡＮコントローラ１２０を含んでいる。ＲＡＮコントローラ１２０の主な機能は、ラジオ・リンク・フローの確立、維持、および終了と、ラジオ・リソース管理と、モビリティ管理とを含んでいる。ラジオ・リンク・フローは、限定される訳ではないが、ラジオ・リンク・プロトコル（ＲＬＰ）フローとラジオ・リンク制御（ＲＬＣ）フローとを含みうる。ラジオ・リンク・フローはそれぞれ、モバイル・デバイス１０５上で動作するアプリケーションによって生成された複数のＩＰデータ・フローを含みうる。おのおののラジオ・リンク・フローについて、コントローラ１２０は、デバイス１０５からゲートウェイ１２５へデータ・パケットを伝送するために、Ａ１０／Ａ１１ベアラ接続を生成する。
【００１７】
媒体アクセス・ゲートウェイ（ＭＡＧ）としても知られているＩＰアクセス・ゲートウェイ１２５は、ＲＡＮ１１０およびＩＰネットワーク１４０を接続するサーバまたはルータである。１つの態様では、ゲートウェイ１２５は、パケット・データ・サービス提供ノード（ＰＤＳＮ）として実現されうる。一般に、ゲートウェイ１２５は、モバイル・デバイスのＲＡＮ１１０との間の移動の追跡、ＲＡＮコントローラ１２０からのデータ・トラフィックの収集、および、サーバ１６０へのアクセスの提供、を担当する。ＲＡＮ１１０が、プロキシ・モバイルＩＰｖ６（ＰＭＩＰ）プロトコルをサポートする場合、ゲートウェイ１２５は、モバイルＩＰｖ４およびＩＰｖ６のパケット伝送、モバイル・デバイス１０５およびサーバ１６０との間のシグナリングおよびデータの送信／受信、のためのプロキシ・エージェントとしても機能しうる。モバイル・デバイス１０５とサーバ１６０との間でのデータの伝送のために、ゲートウェイ１４０は、双方向ＩＰトンネルを生成し、コントローラ１２０からのＡ１０／Ａ１１ベアラ接続によって伝送された複数のラジオ・リンク・フローを、生成されたＩＰトンネルに関連付ける。ゲートウェイ１２５は、モバイル・デバイス１０５からデータ・パケットを受信すると、パケットがアドレスされたサーバ１６０と、関連付けられたＩＰトンネルとを識別する。その後、受信したパケットを、新たなＩＰパケットにカプセル化し、適切なＩＰトンネルを介してサーバ１６０へ送信する。データ・パケットがＩＰトンネルを介してサーバ１６０から受信されると、ＩＰアクセス・ゲートウェイ１２５は、このデータ・パケットをカプセルから取り出し、パケットがアドレスされているモバイル・デバイス１０５と適切なラジオ・リンク・フローとを識別し、モバイル・デバイス１０５へデータを転送する。
【００１８】
前述したように、ＩＰネットワーク１４０上の通信は、モバイル・デバイス１０５が、コンピュータ、サーバ、またはその他のネットワーク・デバイス１６０のホスト・ネームおよびドメイン・ネームを、これらデバイスへの接続が確立される前に、関連付けられたＩＰアドレスへの変換を解決することを必要とする。この目的のために、ウェブ・ブラウザ、または、モバイル・デバイス１０５上で動作しているその他のアプリケーションは、ＤＮＳリゾルバ（resolver）構成要素（図示せず）を含みうる。これは、ホスト・デバイスへ接続する要求がアプリケーションからあると、ホスト・デバイス・ネームを用いて、ホスト・デバイスのＩＰアドレスを解決することを試みる。例えば、ウェブ・サーバ１６０Ａのホスト・ネームが、ｗｅｂｓｅｒｖｅｒ．ｑｕａｌｃｏｍｍ．ｃｏｍであり、対応するＩＰアドレスが、２０８．７７．１８８．１６６でありうる。ウェブ・サーバ１６０ＡのＩＰアドレスを解決するために、ＤＮＳリゾルバはまず、要求されたＩＰアドレスが既に変換され、キャッシュに格納されているかを判定するために、自己のキャッシュを探索する。要求されたＩＰアドレスがキャッシュにない場合、ＤＮＳリゾルバは、これらＤＮＳサーバのうちの１つが、ＤＮＳリゾルバに対して、ホスト・デバイスのＩＰアドレス情報を提供するまで、ＲＡＮ１１０によってホストされているローカルなＤＮＳサーバ（図示せず）またはさまざまな遠隔のＤＮＳサーバ１５０に問い合わせる。
【００１９】
ウェブ・サーバ１６０ＡのＩＰアドレスが解決されると、モバイル・デバイス１０５は、ＲＡＮ１１０およびＩＰネットワーク１４０を介して、ウェブ・サーバ１６０ＡへのＩＰフローを確立しうる。これに応じて、ウェブ・サーバ１６０は、モバイル・デバイス１０５にＨＴＭＬドキュメントを送信しうる。これは、埋め込まれた複数のドメイン・ネームまたはホスト・ネームか、または、ＩＰネットワーク１４０における他のリソースへのリンクを含みうる。例えば、ＨＴＭＬドキュメントは、ファイル・サーバ１６０Ｂのホスト・ネームを含みうる。ファイル・サーバ１６０Ｂは、ＨＴＭＬドキュメントに埋め込まれたさまざまな画像を格納する。埋め込まれたそれぞれのホスト・ネームまたはドメイン・ネームについて、モバイル・デバイス１０５は、埋め込まれたホスト・ネームまたはドメイン・ネームによって識別されたリソースを検索するために、ＤＮＳ解決処理を繰り返す必要がある。ＩＰネットワーク１４０に物理的に接続されたデバイスについて、これらデバイスが接続されている高速の、大規模な帯域幅のコアＩＰネットワーク１４０における短い伝搬遅延によって、ＤＮＳ解決処理は、比較的高速である。例えば、ネットワーク１４０は、ギガビット・イーサネット（登録商標）、光広域ネットワーク（ＷＡＮ）、またはその他の高速ネットワークでありうる。しかしながら、ＲＡＮ１１０を介してネットワーク１４０に接続されたモバイル・デバイス１０５の場合、ＤＮＲ解決処理は、高いラジオ・リンク伝搬レイテンシ、高いパケット誤り率によるデータ再送信、および、ＲＡＮに起因するその他の要因によって、顕著な通信遅れを加える。
【００２０】
ＲＡＮ１１０に接続されたモバイル・デバイス１０５のためのＤＮＳ解決処理を加速するために、プリエンプティブなＤＮＳ解決を実行するＤＮＳプロキシ１３０が、ＲＡＮ１１０とコアＩＰネットワーク１４０との境界に提供されうる。１つの態様では、ＤＮＳプロキシ１３０は、ＩＰアクセス・ゲートウェイ１２５のソフトウェア構成要素として実現されうる。別の態様では、プロキシ１３０は、ＲＡＮ１１０のローカルなＤＮＳサーバのソフトウェア構成要素として実現されうる。しかし、別の態様では、プロキシ１３０は、ＲＡＮコントローラ１２０またはＩＰアクセス・ゲートウェイ１２５に接続されたスタンド・アロンのデバイスとして実現されうる。ＤＮＳプロキシはまた、ＷＡＬＮに接続された無線デバイスに対するプリエンプティブなＤＮＳ解決を提供するために、例えばＩＥＥＥ８０２．１１規格に記載されているネットワークのような無線ローカル・エリア・ネットワーク（ＷＬＡＮ）において使用されうることが注目されるべきである。この態様では、ＤＮＳプロキシは、ＷＬＡＮを有線ＩＰネットワークに接続する無線アクセス・ポイント（ＡＰ）のソフトウェア構成要素として実現されうる。ＤＮＳプロキシはまた、例えばイーサネット・ネットワークのような有線ＬＡＮにおいても使用されうる。この態様では、ＤＮＳプロキシは、ネットワーク・ルータ、ブリッジ、コンセントレータ、または、ＬＡＮをＷＡＮと接続するその他のルーティング・デバイスのソフトウェア構成要素として実現されうる。
【００２１】
効率的なプリエンプティブなＤＮＳ解決サービスを提供するために、ＤＮＳプロキシ１３０は、ＩＰネットワーク１４０から１または複数のモバイル・デバイス１０５へ送信されたＨＴＴＰトラフィックを、埋め込まれたドメイン・ネームおよびホスト・ネームが存在するかについて検査するウェブ・プロキシとして動作しうる。言い換えれば、ＤＮＳプロキシが、論理的にアプリケーション・レイヤ（ＯＳＩモデル）処理を実行している間、実際の処理は、ＩＰレイヤで（すなわち、伝送ＴＣＰがエンド・トゥ・エンドで動作できるように）パケット毎ベースで行われうる。例えば、ＨＴＴＰによって、メッセージ・ボディが圧縮されるようになるので、ドメイン・ネームは、圧縮されたデータ・ストリームにおいて直接的には見えない。遮断されたパケットのデータ・ペイロードを伸張する従来のＤＮＳプロキシとは異なり、ドメイン・ネームを発見し再書き込みし、データ・ペイロードを再び圧縮する。ＤＮＳプロキシ１３０は、圧縮されたデータを識別し、遅延も変更もなく、データ・パケットを、モバイル・デバイス１０５へ渡し、ＴＣＰ伝送をエンド・トゥ・エンドで維持するが、並行して、データ・パケットが伸張され、埋め込まれたホスト・ネームおよびドメイン・ネームが識別される。このようにして、ＩＰレイヤおよびプリエンプティブなＤＮＳ解決において変更なく転送されたデータ・ストリームが、このストリームのコピーにおいて実行される。これは、アプリケーション・レイヤにおいて処理される。
【００２２】
上述したように、パケット検査処理の間、ＤＮＳプロキシ１３０は、埋め込まれたホスト・ネームおよびドメイン・ネームを識別する。１つの態様では、ＤＮＳプロキシ１０３は、埋め込まれたホスト・ネームおよびドメイン・ネームを識別するために、文字列パターン・マッチング技術を使用しうる。一般に、ホスト・ネームおよびドメイン・ネームは、“．”によって分離された範囲  検査されたデータ・パケット内において、１または複数の埋め込まれたホスト・ネームまたはドメイン・ネームが識別されると、ＤＮＳプロキシ１３０は、埋め込まれたホスト・ネームまたはドメイン・ネームを、関連付けられたＩＰアドレスへ変換することを試みうる。例えば、ＤＮＳプロキシ１３０はまず、埋め込まれたホスト・ネームが以前に解決され、プロキシのキャッシュ内に格納されているかを判定するために、ローカル・キャッシュを確認しうる。ＩＰアドレスがキャッシュにない場合、プロキシ１３０は、従来のＤＮＳ解決技術を用いて、ＲＡＮ１１０のローカルなＤＮＳサーバ、または、さまざまな遠隔のＤＮＳサーバ１５０に問い合わせうる。埋め込まれたホスト・ネームのＩＰアドレスが解決されると、プロキシ１３０は、変換されたＩＰアドレスをキャッシュ内に格納し、埋め込まれたホスト・ネームを持つデータ・パケットがアドレスされたモバイル・デバイス１０５へ送信しうる。その後、プロキシ１３０は、標準的なＤＮＳプロトコル・メッセージを用いて、または、カスタムＵＤＰまたはＸＭＬメッセージを用いる等によって、１または複数のドメイン・ネームまたはホスト・ネームのために変換されたＩＰアドレス情報を、モバイル・デバイス１０５のＤＮＳリゾルバ構成要素へ送信しうる。
【００２３】
モバイル・デバイス１０５は、ＤＮＳプロキシ１３０からメッセージを受信すると、このメッセージに含まれるホスト・ネーム／ＩＰアドレス情報を検索し、ＤＮＳリゾルバ構成要素のキャッシュまたはその他任意のメモリ位置に格納しうる。埋め込まれたホスト・ネームを用いてデータ・パケットがアドレスされたモバイル・デイバス１０５におけるアプリケーションが、埋め込まれたホスト・ネームによって識別されたネットワーク・デバイスへの接続を確立することを試みる場合、このアプリケーションは、ＤＮＳリゾルバ構成要素を起動する。ＤＮＳリゾルバ構成要素は、キャッシュから、対応するＩＰアドレスを直ちに検索し、これらを、このアプリケーションへ提供する。このようにして、モバイル・デバイス１０５のＤＮＳリゾルバは、ラジオ・アクセス・ネットワーク１１０に対して、長いラジオ・リンク伝搬遅延により比較的時間のかかる処理であり、恐らくは、ラジオ・アクセス・ネットワーク１１０における誤りによって多くのデータ再送信となりうる、ローカルおよび遠隔のＤＮＳサーバ１５０の問い合わせを行う必要はない。受信されたデータ・パケットにおいて埋め込まれたホスト・ネームによって識別されたネットワーク・デバイスのＩＰアドレスが解決されると、モバイル・デバイス１０５は、これらネットワーク・デバイスのＩＰアドレスを用いて、これらネットワーク・デバイスへの接続を確立し、必要な情報を検索しうる。ＤＮＳプロキシ１３０によって提供されるプリエンプティブなＤＮＳ解決によって、モバイル・デバイス１０５上で動作しているアプリケーションのパフォーマンスは、著しく加速され、これにしたがって、ユーザ経験が改善されうる。
【００２４】
図２は、ＤＮＳプロキシによるプリエンプティブなＤＮＳ解決のための方法の例を例示する。ステップ２１０において、例えばプロキシ１３０のようなＤＮＳプロキシが、例えばＩＰネットワーク１４０のようなＷＡＮから、例えばモバイル・デバイス１０５のようなＬＡＮ、ＷＬＡＮ、またはＲＡＮにおける１または複数のクライアント・デバイスへ送信されたデータ・パケットを検査する。検査されたパケットにおけるデータが圧縮されている場合、ステップ２２０において、ＤＮＳプロキシは、圧縮されているデータを伸張しうる。ステップ２３０において、ＤＮＳプロキシは、検査されたデータ・パケットに埋め込まれた、例えば、“．ｃｏｍ”または“．ｏｒｇ”といったドメイン・ネームのようなホスト（およびドメイン）ネームを識別する。ステップ２４０では、ＤＮＳプロキシはまず、埋め込まれたホスト・ネームのＩＰアドレスが以前に変換されているか、および、プロキシのキャッシュ内に格納されているかを判定するために、ローカル・キャッシュを確認しうる。ステップ２５０において、キャッシュ内にＩＰアドレスが発見されると、ＤＮＳプロキシは、ステップ２８０において、ＩＰアドレスをクライアント・デバイスへ送信する。ＩＰアドレスがキャッシュにない場合、ステップ２６０において、ＤＮＳプロキシは、従来のＤＮＳ解決技術を用いて、ローカルなＤＮＳサーバ、または、さまざまな遠隔のＤＮＳサーバへ問い合わせる。埋め込まれたホスト・ネームのＩＰアドレスが解決されると、ＤＮＳプロキシは、ステップ２７０において、変換されたＩＰアドレスを、キャッシュに格納する。ＤＮＳプロキシは、ステップ２８０において、標準的なＤＮＳプロトコル・メッセージまたはカスタムＵＤＰまたはＸＭＬメッセージを用いて、あるいは、その他の既知の通信技術を用いて、ホスト・ネームおよびＩＰアドレス情報を、クライアント・デバイスへ送信する。ステップ２４０，２５０，２７０はオプションであり、ＤＮＳプロキシが、解決されたＩＰアドレスを格納するためのローカル・キャッシュを有しているかに依存することが注目されるべきである。
【００２５】
図３は、クライアント・デバイスにおいて実施されうるプリエンプティブなＤＮＳ解決のための方法の一例を例示する。ステップ３１０において、例えば、モバイル・デバイス１０５のＤＮＳリゾルバ構成要素のようなクライアント・デバイスは、ＤＮＳプロキシからメッセージを受信する。このメッセージは、標準的なＤＮＳプロトコル・メッセージあるいはカスタムＵＤＰまたはＸＭＬメッセージでありうる。ステップ３２０において、クライアント・デバイスは、このメッセージから、ホスト・ネームおよび関連付けられたＩＰアドレス情報を検索する。ステップ３３０において、クライアント・デバイスは、これを、ＤＮＳリゾルバ構成要素のキャッシュ、または、その他任意のメモリ位置に格納する。クライアント・デバイスにおける例えばウェブ・ブラウザのようなアプリケーションが、埋め込まれたホスト・ネームによって識別されたネットワーク・デバイスへの接続の確立を試みる場合、クライアント・デバイスは、３４０において、ＤＮＳリゾルバ構成要素を起動する。リゾルバ構成要素は、３４０において、埋め込まれたホスト・ネームに関連付けられたＩＰアドレスを求めて、キャッシュを探索する。ＩＰアドレスが、ＤＮＳプロキシの支援によってプリエンプティブに解決された場合、ステップ３５０において、ＤＮＳリゾルバのキャッシュ内でＩＰアドレスが発見され、アプリケーションは、ステップ３８０において、ホスト・デバイスへの接続を直ちに確立しうる。ＩＰアドレスがキャッシュにない場合、ＤＮＳリゾルバは、ステップ３６０において、従来のＤＮＳ解決技術を用いて、ローカルおよび遠隔のＤＮＳサーバへ問い合わせる。ホスト・デバイスのＩＰアドレスがステップ３７０において解決されると、アプリケーションは、ステップ３８０において、ホスト・デバイスへの接続を確立しうる。
【００２６】
プリエンプティブなＤＮＳ解決のための前述した方法は、モバイル・アプリケーションのパフォーマンスを加速し、他の利点を提供する。例えば、プリエンプティブなＤＮＳ解決のための別の方法と異なり、本実施は、埋め込まれたホスト・デバイス・ネームを変換するため、および、データ・パケット内のこれらを、解決されたＩＰアドレスと交換するために、クライアント・デバイスに対してデータ・トラフィックを遅延させない。プリエンプティブなＤＮＳ解決は、データ・パケットのクライアント・デバイスへの転送に対して非同期的に行われる。これは、実施における大きな柔軟性を可能にする。さらに、開示された方法は、データの真性を検証するためにクライアント・デバイスにおいて実施される技術に悪影響を与えない。さらに、開示された実施は、データの完全性を壊すことによってアプリケーション機能を壊すリスクを導かない。結局、これら技術の適用可能性は、データのフォーマットがＤＮＳプロキシに対して知られてない場合に、アプリケーションに広げられ、プロキシは、何がホスト・ネームまたはドメイン・ネームを構成しているかに関する「学習された推論」を行いうる。誤った肯定は、アプリケーションに対して何ら深刻な悪影響をもたらさない。
【００２７】
図４は、本明細書で開示された方法にしたがって、ローカル・エリア・ネットワークまたはラジオ・アクセス・ネットワークへ接続されたクライアント・デバイスのためにプリエンプティブなＤＮＳ解決を実行するように動作可能なＤＮＳプロキシ・デバイス４００の例を例示する。ＤＮＳプロキシ４００は、本明細書で開示された方法のみならずその他の機能にしたがって、プリエンプティブなＤＮＳ解決に関連付けられた機能の処理を実行するためのプロセッサ４１０を含む。プロセッサ４１０は、単一のプロセッサまたは複数のプロセッサのセットであるか、あるいは、マルチコア・プロセッサでありうる。１つの例の態様では、プロセッサ４１０は、クライアント・デバイスにアドレスされたデータ・パケットを検査するための手順を実施するパケット検査モジュール４６０を含みうる。プロセッサ４１０は、検査されたデータ・パケットにおけるホスト・ネームとドメイン・ネームとを識別するホスト・ネーム識別モジュール４７０を含みうる。プロセッサ４１０はさらに、埋め込まれたホスト・ネームおよびドメイン・ネームの、関連付けられたＩＰアドレスへの変換を実行するＩＰアドレス解決モジュール４８０を含みうる。プロセッサ４１０はさらに、解決されたホスト・デバイス・ネームと、関連付けられたＩＰアドレスとを、クライアント・デバイスへ送信する送信モジュール４９０を含む。
【００２８】
ＤＮＳプロキシ４００はさらに、プリエンプティブに解決されたホスト・ネームおよびドメイン・ネームと、関連付けられたＩＰアドレスとを含むプロキシ・キャッシュのみならず、プロセッサ４１０によって実行されているプリエンプティブなＤＮＳ解決のためのプログラム命令群を格納するような、プロセッサ４１０に接続されたメモリ４２０を含む。メモリ４２０は、例えば、ランダム・アクセス・メモリ（ＲＡＭ）、読取専用メモリ（ＲＯＭ）、磁気ディスク、光ディスク、揮発性メモリ、不揮発性メモリ、およびこれらの任意の組み合わせのように、コンピュータによって使用可能な任意のタイプのメモリを含みうる。それに加えてに、ＤＮＳプロキシ４００はさらに、プロセッサ４１０に接続されたデータ・ストア４３０を含む。データ・ストア４３０は、ハードウェアおよび／またはソフトウェアの任意の適切な組み合わせであることができ、本明細書に記載された態様に関連して適用されるプログラム、データベース、および情報の大容量記憶を提供する。例えば、データ・ストア４３０は、プリエンプティブなＤＮＳ解決および関連付けられたさまざまなデータのためのアルゴリズムを含むファイルのみならず、プロセッサ４１０によって現在実行されていないプログラムまたはサブルーチンのためのデータ・リポジトリでありうる。
【００２９】
さらに、ＤＮＳプロキシ４００は、本明細書に記載されているように、クライアント・デバイスと、ローカルおよび遠隔のＤＮＳサーバとの通信の探索、確立、および維持のために、プロセッサ４１０に接続された通信構成要素４４０を含む。例えば、通信構成要素４４０は、さまざまなラジオ・アクセス技術およびプロトコルの無線通信システムおよびデバイスとインタフェースするように動作可能な送信機および受信機にそれぞれ関連付けられた送信チェーン構成要素と受信チェーン構成要素とを含みうる。データ送信モジュール４９０は、通信構成要素４４０に対して、１または複数のクライアント・デバイス、および、ローカルおよび遠隔のＤＮＳサーバとの間でデータの送信／受信を行うように指示する。
【００３０】
ＤＮＳプロキシ４００は、システム・アドミニストレータからの入力を受信するように動作可能で、さらに、システム・アドミニストレータへ提示するための出力を生成するように動作可能で、プロセッサ４１０に接続されたユーザ・インタフェース構成要素４５０を含みうる。構成要素４５０は、限定される訳ではないが、キーボード、テンキー、マウス、タッチ画面、ナビゲーション・キー、ファンクション・キー、マイクロホン、音声認識構成要素、ユーザからの入力を受信可能なその他のメカニズム、あるいはこれらの任意の組み合わせを含む１または複数の入力デバイスを含みうる。さらに、構成要素４５０は、限定される訳ではないが、ディスプレイ、スピーカ、触覚型フィードバック・メカニズム、プリンタ、ユーザに出力を提示することが可能なその他任意のメカニズム、またはこれらの任意の組み合わせを含む１または複数の出力デバイスを含みうる。
【００３１】
図５は、ＤＮＳプロキシ・デバイスにおいて実現されうるシステム５００を例示する。図示するように、システム５００は、プロセッサ、ソフトウェア、または（例えば、ファームウェアのような）これらの組み合わせによって実現される機能を表しうる。システム５００は、本明細書に開示されたように、プリエンプティブなＤＮＳ解決のためのアルゴリズムの実行を容易にする電子構成要素の論理グループ５１０を含む。論理グループ５１０は、クライアント・デバイスにアドレスされたデータ・パケットを検査する手段５２０を含みうる。さらに、論理グループ５１０は、検査されたデータ・パケットにおいて、埋め込まれたホスト・ネームとドメイン・ネームとを識別する手段５３０を含む。さらに、論理グループ５１０は、埋め込まれたホスト・ネームおよびドメイン・ネームを、関連付けられたＩＰアドレスに変換する手段５４０を含む。最後に、論理グループ５１０は、変換されたＩＰアドレスを、クライアント・デバイスへ送信する手段５５０を含む。システム５００はまた、電子構成要素５２０−５５０に関連付けられた機能を実行するための命令群を保持するメモリ５６０を含む。メモリ５６０の外側にあるとして示されているが、電子構成要素５２０−５５０は、システム５００のメモリ５６０内に存在しうることが理解されるべきである。
【００３２】
図６は、プリエンプティブなＤＮＳ解決のための方法のさまざまな態様が実現されうる無線通信システム６００の例を示す。システム６００は、簡略のために、ラジオ・アクセス・ネットワーク内の１つの基地局／順方向リンク送信機６１０と、１つのモバイル・デバイス６５０しか示していない。しかしながら、システム６００は、１より多い基地局／順方向リンク送信機および／または１より多いモバイル・デバイスを含むことができ、ここでは、さらなる基地局／送信機および／またはモバイル・デバイスが、後述する基地局／順方向リンク送信機６１０およびモバイル・デバイス６５０の例と実質的に類似しているか、または、異なりうることが認識されるべきである。さらに、基地局／順方向リンク送信機６１０および／またはモバイル・デバイス６５０は、その間のレイテンシ測定手順および無線通信を容易にするために、本明細書に記載されたシステム（図１、４および５）および／または方法（図２および３）を適用しうることが認識されるべきである。
【００３３】
基地局／順方向リンク送信機６１０では、多くのデータ・ストリームのトラフィック・データが、データ・ソース６１２から送信（ＴＸ）データ・プロセッサ６１４へ提供される。一例によれば、おのおののデータ・ストリームが、それぞれのアンテナを介して送信される。ＴＸデータ・プロセッサ６１４は、トラフィック・データ・ストリームをフォーマットし、このデータ・ストリームのために選択された特定の符号化スキームに基づいて符号化し、インタリーブして、符号化されたデータを提供する。
【００３４】
おのおののデータ・ストリームの符号化されたデータは、直交周波数分割多重化（ＯＦＤＭ）技術を用いてパイロット・データと多重化されうる。さらに、あるいは、その代わりに、パイロット・シンボルは、周波数分割多重化（ＦＤＭ）、時分割多重化（ＴＤＭ）、あるいは符号分割多重化（ＣＤＭ）されうる。パイロット・データは一般に、既知の方法で処理される既知のデータ・パターンであり、チャネル応答を推定するためにモバイル・デバイス６５０において使用されうる。おのおののデータ・ストリームについて多重化されたパイロットおよび符号化されたデータは、データ・ストリームのために選択された特定の変調スキーム（例えば、バイナリ・フェーズ・シフト・キーイング（ＢＰＳＫ）、直交フェーズ・シフト・キーイング（ＱＰＳＫ）、Ｍフェーズ・シフト・キーイング（Ｍ−ＰＳＫ）、Ｍ直交振幅変調（Ｍ−ＱＡＭ）等）に基づいて変調（例えば、シンボル・マップ）され、変調シンボルが提供される。おのおののデータ・ストリームのデータ・レート、符号化、および変調は、プロセッサ６３０によって実行または提供される指示によって決定されうる。
【００３５】
データ・ストリームの変調シンボルは、（例えば、ＯＦＤＭのために）変調シンボルを処理するＴＸ  ＭＩＭＯプロセッサ６２０に提供される。ＴＸ  ＭＩＭＯプロセッサ６２０はその後、ＮＴ個のシンボル・ストリームを、ＮＴ個の送信機（ＴＭＴＲ）６２２ａ乃至６２２ｔへ提供する。さまざまな態様において、ＴＸ  ＭＩＭＯプロセッサ６２０は、データ・ストリームのシンボルへ、および、シンボルが送信されるアンテナへ、ビームフォーミング重みを適用する。
【００３６】
おのおのの送信機６２２は、１または複数のアナログ信号を提供するために、それぞれのシンボル・ストリームを受信して処理し、さらには、ＭＩＭＯチャネルを介した送信に適切な変調信号を提供するために、このアナログ信号を調整（例えば、増幅、フィルタ、およびアップコンバート）する。さらに、送信機６２２ａ乃至６２２ｔからのＮＴ個の変調信号は、ＮＴ個のアンテナ６２４ａ乃至６２４ｔそれぞれから送信される。
【００３７】
モバイル・デバイス６５０では、送信された変調信号が、ＮＲ個のアンテナ６５２ａ乃至６５２ｒによって受信され、おのおののアンテナ６５２から受信した信号が、それぞれの受信機（ＲＣＶＲ）６５４ａ乃至６５４ｒへ提供される。おのおのの受信機６５４は、それぞれの信号を調整（例えば、フィルタ、増幅、およびダウンコンバート）し、この調整された信号をデジタル化してサンプルを提供し、さらにこのサンプルを処理して、対応する「受信された」シンボル・ストリームを提供する。
【００３８】
ＲＸデータ・プロセッサ６６０は、ＮＲ個の受信機６５４からＮＲ個のシンボル・ストリームを受信し、受信されたこれらシンボル・ストリームを、特定の受信機処理技術に基づいて処理して、ＮＴ個の「検出された」シンボル・ストリームを提供する。ＲＸデータ・プロセッサ６６０は、検出されたおのおののシンボル・ストリームを復調し、デインタリーブし、復号して、このデータ・ストリームのためのトラフィック・データを復元する。ＲＸデータ・プロセッサ６６０による処理は、基地局／順方向リンク送信機６１０におけるＴＸ  ＭＩＭＯプロセッサ６２０およびＴＸデータ・プロセッサ６１４によって行なわれるものに対して相補的である。
【００３９】
プロセッサ６７０は、上述したように、どのプリコーディング行列を使用するのかを定期的に決定する。さらに、プロセッサ６７０は、行列インデクス部およびランク値部を備えた逆方向リンク・メッセージを規定することができる。
【００４０】
逆方向リンク・メッセージは、通信リンクおよび／または受信されたデータ・ストリームに関するさまざまなタイプの情報を備えうる。逆方向リンク・メッセージは、データ・ソース６３６から多くのデータ・ストリームのためのトラフィック・データをも受信するＴＸデータ・プロセッサ６３８によって処理され、変調器６８０によって変調され、送信機６５４ａ乃至６５４ｒによって調整され、基地局／順方向リンク送信機６１０へ送り返される。
【００４１】
基地局／順方向リンク送信機６１０では、モバイル・デバイス６５０からの調整された信号が、アンテナ６２４によって受信され、受信機６２２によって調整され、復調器６４０によって復調され、ＲＸデータ・プロセッサ６４２によって処理されることによって、モバイル・デバイス６５０によって送信された逆方向リンク・メッセージが抽出される。さらに、プロセッサ６３０は、ビームフォーミング重みを決定するためにどのプリコーディング行列を使用するかを決定するために、この抽出されたメッセージを処理する。データは、順方向リンクによってのみブロードキャストされるので、順方向リンク送信機８１０の場合、基地局とは逆に、これらのＲＸ構成要素は存在しないことが認識されるべきである。
【００４２】
プロセッサ６３０およびプロセッサ６７０は、基地局／順方向リンク送信機６１０およびモバイル・デバイス６５０それぞれにおける動作を指示（例えば、制御、調整、管理等）しうる。プロセッサ６３０およびプロセッサ６７０はそれぞれ、プログラム・コードおよびデータを格納するメモリ６３２およびメモリ６７２に関連付けられうる。プロセッサ６３０およびプロセッサ６７０はまた、アップリンクおよびダウンリンクそれぞれのための周波数およびインパルス応答推定値を導出する計算をも実行する。
【００４３】
本明細書に記載された態様は、ハードウェア、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、あるいはそれらの任意の組み合わせによって実現されうることが理解されるべきである。ハードウェアで実現する場合、処理ユニットは、１または複数の特定用途向けＩＣ（ＡＳＩＣ）、デジタル信号プロセッサ（ＤＳＰ）、デジタル信号処理デバイス（ＤＳＰＤ）、プログラム可能論理回路（ＰＬＤ）、フィールド・プログラム可能ゲート・アレイ（ＦＰＧＡ）、プロセッサ、コントローラ、マイクロ・コントローラ、マイクロプロセッサ、本明細書に記載の機能を実行するために設計されたその他の電子ユニット、あるいはこれらの組み合わせ内に実装されうる。
【００４４】
これら態様が、ソフトウェア、ファームウェア、ミドルウェアまたはマイクロコード、プログラム・コードまたはコード・セグメントにおいて実現される場合、それらは、たとえばストレージ構成要素のような機械読取可能な媒体内に格納されうる。コード・セグメントは、手順、機能、サブプログラム、プログラム、ルーチン、サブルーチン、モジュール、ソフトウェア・パッケージ、クラス、または、命令、データ構造、あるいはプログラム文からなる任意の組み合わせを表すことができる。コード・セグメントは、情報、データ、引数、パラメータ、あるいは記憶内容の引渡および／または受信を行うことによって、他のコード・セグメントまたはハードウェア回路に接続されうる。情報、引数、パラメータ、データなどは、メモリ共有、メッセージ引渡し、トークン引渡、ネットワーク送信などを含む任意の適切な手段を用いて引渡、転送、あるいは送信されうる。
【００４５】
ソフトウェアで実現する場合、本明細書に記載のこれら技術は、本明細書に記載の機能を実行するモジュール（例えば、手続き、機能等）を用いて実現されうる。ソフトウェア・コードは、メモリ・ユニット内に格納され、プロセッサによって実行されうる。メモリ・ユニットは、プロセッサの内部またはプロセッサの外部に実装される。プロセッサの外部に実装される場合、当該技術分野で周知のさまざまな手段によって、プロセッサへ通信可能に接続されうる。
【００４６】
本明細書に開示された態様に関連して記載された例示的なさまざまなロジック、論理ブロック、モジュール、および回路が、汎用プロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールド・プログラマブル・ゲート・アレイ（ＦＰＧＡ）またはその他のプログラマブル・ロジック・デバイス、ディスクリート・ゲートまたはトランジスタ・ロジック、ディスクリート・ハードウェア構成要素、または、本明細書に記載された機能を実行するように設計されたこれら任意の組み合わせとともに実装または実行される。汎用プロセッサとしてマイクロ・プロセッサを用いることが可能であるが、代わりに、従来技術によるプロセッサ、コントローラ、マイクロ・コントローラ、あるいは順序回路を用いることも可能である。プロセッサは、例えばＤＳＰとマイクロ・プロセッサとの組み合わせ、複数のマイクロ・プロセッサ、ＤＳＰコアと連携する１または複数のマイクロ・プロセッサ、またはその他任意のこのような構成であるコンピューティング・デバイスの組み合わせとして実現されうる。さらに、少なくとも１つのプロセッサは、上述したステップおよび／または動作のうちの１または複数を実行するように動作可能な１または複数のモジュールを備えうる。
【００４７】
さらに、本明細書に開示された態様に関連して記載された方法またはアルゴリズムからなるステップおよび／または動作は、ハードウェア内に直接的に組み込まれるか、プロセッサによって実行されるソフトウェア・モジュールによって組み込まれるか、これら２つの組み合わせに組み込まれうる。ソフトウェア・モジュールは、ＲＡＭメモリ、フラッシュ・メモリ、ＲＯＭメモリ、ＥＰＲＯＭメモリ、ＥＥＰＲＯＭメモリ、レジスタ、ハード・ディスク、リムーバブル・ディスク、ＣＤ−ＲＯＭ、あるいは、当該技術で周知のその他任意の形態の記憶媒体内に存在しうる。典型的な記憶媒体は、プロセッサに結合されており、これによって、プロセッサは、記憶媒体との間で情報を読み書きできるようになる。あるいは、この記憶媒体は、プロセッサに統合されうる。さらに、いくつかの態様では、プロセッサと記憶媒体が、ＡＳＩＣ内に存在しうる。さらに、ＡＳＩＣは、ユーザ端末に存在することができる。あるいは、プロセッサおよび記憶媒体は、ユーザ端末内のディスクリートな構成要素として存在しうる。さらに、いくつかの態様では、方法またはアルゴリズムのステップおよび／または動作は、機械読取可能な媒体および／またはコンピュータ読取可能な媒体上の１または任意の組み合わせ、または、コードおよび／または命令群のセットとして存在する。これらは、コンピュータ・プログラム製品に組み込まれうる。
【００４８】
１または複数の態様では、説明された機能が、ハードウェア、ソフトウェア、ファームウェア、またはこれらの任意の組み合わせで実現されうる。ソフトウェアで実現される場合、これら機能はコンピュータ読取可能な媒体に格納されうるか、あるいは、コンピュータ読取可能な媒体上の１または複数の命令群またはコードとして送信されうる。コンピュータ読取可能な媒体は、コンピュータ記憶媒体と通信媒体との両方を含む。これらは、コンピュータ・プログラムのある場所から別の場所への転送を容易にする任意の媒体を含む。記憶媒体は、コンピュータによってアクセスされうる任意の利用可能な媒体でありうる。例として、限定することなく、このようなコンピュータ読取可能な媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、ＣＤ−ＲＯＭまたはその他の光ディスク記憶装置、磁気ディスク記憶装置またはその他の磁気記憶デバイス、あるいは、所望のプログラム・コード手段を命令群またはデータ構造の形式で搬送または格納するために使用され、しかも、コンピュータによってアクセスされうるその他任意の媒体を備えうる。さらに、いかなる接続も、コンピュータ読取可能な媒体として適切に称される。同軸ケーブル、光ファイバ・ケーブル、ツイスト・ペア、デジタル加入者線（ＤＳＬ）、あるいは、例えば赤外線、無線およびマイクロ波のような無線技術を使用して、ウェブサイト、サーバ、あるいはその他の遠隔ソースからソフトウェアが送信される場合、同軸ケーブル、光ファイバ・ケーブル、ツイスト・ペア、ＤＳＬ、あるいは、例えば赤外線、無線およびマイクロ波のような無線技術が、媒体の定義に含まれる。本明細書で使用されるｄｉｓｋおよびｄｉｓｃは、コンパクト・ディスク（ｄｉｓｃ）（ＣＤ）、レーザ・ディスク（ｄｉｓｃ）、光ディスク（ｄｉｓｃ）、デジタル多用途ディスク（ｄｉｓｃ）（ＤＶＤ）、フロッピー（登録商標）ディスク（ｄｉｓｋ）、およびブルーレイ・ディスク（ｄｉｓｃ）を含む。通常、ｄｉｓｋは、データを磁気的に再生し、ｄｉｓｃは、レーザを用いて光学的にデータを再生する。上記の組み合わせもまた、コンピュータ読取可能な媒体の範囲内に含まれるべきである。
【００４９】
前述した開示は、例示的な態様および／または実施形態を開示しているが、さまざまな変更および修正が、特許請求の範囲で定義されたような説明された態様および／または実施形態の範囲から逸脱することなくなされうる  ことが注目されるべきである。さらに、説明された態様の構成要素は、単数形で記載または特許請求されているが、もしも単数であると明示的に述べられていないのであれば、複数が考慮される。それに加えて、それ以外であると述べられていないのであれば、任意の態様のうちのすべてまたは一部が、その他任意の態様のすべてまたは一部とともに利用される。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
［Ｃ１］
通信のための方法であって、
プロキシ・デバイスによって、クライアント・デバイスに送信された１または複数のデータ・パケットを検査することと、
前記検査されたデータ・パケットに埋め込まれた１または複数のホスト・デバイス・ネームを識別することと、
前記１または複数の埋め込まれたホスト・デバイス・ネームに関連付けられたＩＰアドレスを解決することと、
前記検査されたデータ・パケットを、変更することなく、前記クライアント・デバイスへ送信することと、
前記検査されたデータ・パケットで識別されたホスト・デバイスへの接続を確立するために、前記クライアント・デバイスによって使用されるための、前記解決された関連付けられたＩＰアドレスと前記１または複数のホスト・デバイス・ネームとを、前記検査されたデータ・パケットと独立して、前記クライアント・デバイスへ送信することと、
を備える方法。
［Ｃ２］
前記検査されたデータ・パケットに埋め込まれた１または複数のホスト・デバイス・ネームを識別することは、１または複数の遮断されたデータ・パケットの符号を再構築することを備える、発明１に記載の方法。
［Ｃ３］
前記検査されたデータ・パケットに埋め込まれた１または複数のホスト・デバイス・ネームを識別することは、前記検査されたデータ・パケットを、ＡＳＣＩＩキャラクタ文字列パターン・マッチングを用いて分析することを備える、発明１に記載の方法。
［Ｃ４］
前記ＩＰアドレスを解決することはさらに、
前記１または複数の埋め込まれたホスト・デバイス・ネームに関連付けられたＩＰアドレスを求めて、前記プロキシ・デバイスのローカル・キャッシュを探索することと、
前記関連付けられたＩＰアドレスの、前記プロキシ・デバイスのローカル・キャッシュにおける位置決めに失敗すると、前記１または複数の埋め込まれたホスト・デバイス・ネームに関連付けられたＩＰアドレスを解決するために、前記プロキシ・デバイスによって、１または複数のＤＮＳサーバへ問い合わせることと、
を備える発明１に記載の方法。
［Ｃ５］
前記ＩＰアドレスを解決することはさらに、前記プロキシ・デバイスのローカル・キャッシュ内に、前記１または複数の識別されたホスト・デバイス・ネームと、前記解決された関連付けられたＩＰアドレスとを格納することを備える、発明１に記載の方法。
［Ｃ６］
前記プロキシ・デバイスによって、前記クライアント・デバイスに送信された１または複数のデータ・パケットを検査することは、第１の伝搬レイテンシを有する第１の通信リンクで前記クライアント・デバイスへ送信されたデータ・パケットを検査することを備える、発明１に記載の方法。
［Ｃ７］
前記検査されたデータ・パケットを、変更することなく、前記クライアント・デバイスへ送信することは、前記検査されたデータ・パケットを、第２の伝搬レイテンシを有する第２の通信リンクで送信することを備え、
前記第１の伝搬レイテンシは、前記第２の伝搬レイテンシよりも実質的に低い、発明６に記載の方法。
［Ｃ８］
前記クライアント・デバイスは、モバイル・デバイスを含み、前記第１の通信リンクは、コアＩＰネットワークを含み、前記第２の通信リンクは、ラジオ・アクセス・ネットワーク（ＲＡＮ）を含み、前記プロキシ・デバイスは、前記ＲＡＮと前記コアＩＰネットワークとを接続するＩＰアクセス・ゲートウェイによってホストされる、発明７に記載の方法。
［Ｃ９］
前記第１の通信リンクは、広域ネットワーク（ＷＡＮ）を含み、前記第２の通信リンクは、ローカル・エリア・ネットワーク（ＬＡＮ）を含み、前記プロキシ・デバイスは、前記ＬＡＮとＷＡＮとを接続するルータによってホストされる、発明７に記載の方法。
［Ｃ１０］
通信システムであって、
プロセッサと、前記プロセッサに接続された通信構成要素とを備え、
前記プロセッサは、
プロキシ・デバイスによって、クライアント・デバイスに送信された１または複数のデータ・パケットを検査し、
前記検査されたデータ・パケットに埋め込まれた１または複数のホスト・デバイス・ネームを識別し、
前記１または複数の埋め込まれたホスト・デバイス・ネームに関連付けられたＩＰアドレスを解決し、
前記検査されたデータ・パケットを、変更することなく、前記クライアント・デバイスへ送信し、
前記検査されたデータ・パケットで識別されたホスト・デバイスへの接続を確立するために、前記クライアント・デバイスによって使用されるための、前記解決された関連付けられたＩＰアドレスと前記１または複数のホスト・デバイス・ネームとを、前記検査されたデータ・パケットと独立して、前記クライアント・デバイスへ送信する
ように構成された、通信システム。
［Ｃ１１］
前記検査されたデータ・パケットに埋め込まれた１または複数のホスト・デバイス・ネームを識別するために、前記プロセッサはさらに、１または複数の遮断されたデータ・パケットの符号を再構築するように構成された、発明１０に記載の通信システム。
［Ｃ１２］
前記検査されたデータ・パケットに埋め込まれた１または複数のホスト・デバイス・ネームを識別するために、前記プロセッサはさらに、前記検査されたデータ・パケットを、ＡＳＣＩＩキャラクタ文字列パターン・マッチングを用いて分析するように構成された、発明１０に記載の通信システム。
［Ｃ１３］
前記ＩＰアドレスを解決するために、前記プロセッサはさらに、
前記１または複数の埋め込まれたホスト・デバイス・ネームに関連付けられたＩＰアドレスを求めて、前記プロキシ・デバイスのローカル・キャッシュを探索し、
前記関連付けられたＩＰアドレスの、前記プロキシ・デバイスのローカル・キャッシュにおける位置決めに失敗すると、前記１または複数の埋め込まれたホスト・デバイス・ネームに関連付けられたＩＰアドレスを解決するために、前記プロキシ・デバイスによって、１または複数のＤＮＳサーバへ問い合わせる
ように構成された、発明１０に記載の通信システム。
［Ｃ１４］
前記ＩＰアドレスを解決するために、前記プロセッサはさらに、前記プロキシ・デバイスのローカル・キャッシュ内に、前記１または複数の識別されたホスト・デバイス・ネームと、前記解決された関連付けられたＩＰアドレスとを格納するように構成された、発明１０に記載の通信システム。
［Ｃ１５］
前記クライアント・デバイスに送信された１または複数のデータ・パケットを検査するために、前記プロセッサはさらに、第１の伝搬レイテンシを有する第１の通信リンクで前記クライアント・デバイスへ送信されたデータ・パケットを検査するように構成された、発明１０に記載の通信システム。
［Ｃ１６］
前記検査されたデータ・パケットを、変更することなく、前記クライアント・デバイスへ送信するために、前記プロセッサはさらに、前記検査されたデータ・パケットを、第２の伝搬レイテンシを有する第２の通信リンクで送信するように構成され、
前記第１の伝搬レイテンシは、前記第２の伝搬レイテンシよりも実質的に低い、発明１５に記載の通信システム。
［Ｃ１７］
前記クライアント・デバイスは、モバイル・デバイスを含み、前記第１の通信リンクは、コアＩＰネットワークを含み、前記第２の通信リンクは、ラジオ・アクセス・ネットワーク（ＲＡＮ）を含み、前記通信システムは、前記ＲＡＮと前記コアＩＰネットワークとを接続するＩＰアクセス・ゲートウェイによってホストされる、発明１６に記載の通信システム。
［Ｃ１８］
前記第１の通信リンクは、広域ネットワーク（ＷＡＮ）を含み、前記第２の通信リンクは、ローカル・エリア・ネットワーク（ＬＡＮ）を含み、前記通信システムは、前記ＬＡＮとＷＡＮとを接続するルータによってホストされる、発明１６に記載の通信システム。
［Ｃ１９］
コンピュータ・プログラム製品であって、
コンピュータに対して、クライアント・デバイスに送信された１または複数のデータ・パケットを検査させるための第１のコードのセットと、
前記コンピュータに対して、前記検査されたデータ・パケットに埋め込まれた１または複数のホスト・デバイス・ネームを識別させるための第２のコードのセットと、
前記コンピュータに対して、前記１または複数の埋め込まれたホスト・デバイス・ネームに関連付けられたＩＰアドレスを解決させるための第３のコードのセットと、
前記コンピュータに対して、前記検査されたデータ・パケットを、変更することなく、前記クライアント・デバイスへ送信させるための第４のコードのセットと、
前記コンピュータに対して、前記検査されたデータ・パケットで識別されたホスト・デバイスへの接続を確立するために、前記クライアント・デバイスによって使用されるための、前記解決された関連付けられたＩＰアドレスと前記１または複数のホスト・デバイス・ネームとを、前記検査されたデータ・パケットと独立して、前記クライアント・デバイスへ送信させるための第５のコードのセットと、
を備えるコンピュータ読取可能な媒体を備える、コンピュータ・プログラム製品。
［Ｃ２０］
前記第２のコードのセットはさらに、前記コンピュータに対して、１または複数の遮断されたデータ・パケットの符号を再構築させるための第６のコードのセットを備える、発明１９に記載のコンピュータ・プログラム製品。
［Ｃ２１］
前記第２のコードのセットはさらに、前記コンピュータに対して、前記検査されたデータ・パケットを、ＡＳＣＩＩキャラクタ文字列パターン・マッチングを用いて分析させるための第７のコードのセットを備える、発明１９に記載のコンピュータ・プログラム製品。
［Ｃ２２］
前記第３のコードのセットはさらに、前記コンピュータに対して、前記１または複数の埋め込まれたホスト・デバイス・ネームに関連付けられたＩＰアドレスを求めて、前記プロキシ・デバイスのローカル・キャッシュを探索させ、前記関連付けられたＩＰアドレスの、前記プロキシ・デバイスのローカル・キャッシュにおける位置決めに失敗すると、前記１または複数の埋め込まれたホスト・デバイス・ネームに関連付けられたＩＰアドレスを解決するために、前記プロキシ・デバイスによって、１または複数のＤＮＳサーバへ問い合わせをさせるための第８のコードのセットを備える、発明１９に記載のコンピュータ・プログラム製品。
［Ｃ２３］
前記第３のコードのセットはさらに、前記コンピュータに対して、前記プロキシ・デバイスのローカル・キャッシュ内に、前記１または複数の識別されたホスト・デバイス・ネームと、前記解決された関連付けられたＩＰアドレスとを格納させるための第９のコードのセットを備える、発明１９に記載のコンピュータ・プログラム製品。
［Ｃ２４］
前記第１のコードのセットはさらに、前記コンピュータに対して、第１の伝搬レイテンシを有する第１の通信リンクで前記クライアント・デバイスへ送信されたデータ・パケットを検査させるための第１０のコードのセットを備える、発明１９に記載のコンピュータ・プログラム製品。
［Ｃ２５］
前記第４のコードのセットはさらに、前記コンピュータに対して、前記検査されたデータ・パケットを、第２の伝搬レイテンシを有する第２の通信リンクで送信させるための第１１のコードのセットを備え、
前記第１の伝搬レイテンシは、前記第２の伝搬レイテンシよりも実質的に低い、発明２４に記載のコンピュータ・プログラム製品。
［Ｃ２６］
前記クライアント・デバイスは、モバイル・デバイスを含み、前記第１の通信リンクは、コアＩＰネットワークを含み、前記第２の通信リンクは、ラジオ・アクセス・ネットワーク（ＲＡＮ）を含み、前記コンピュータは、前記ＲＡＮと前記コアＩＰネットワークとを接続するＩＰアクセス・ゲートウェイによってホストされる、発明２５に記載のコンピュータ・プログラム製品。
［Ｃ２７］
前記第１の通信リンクは、広域ネットワーク（ＷＡＮ）を含み、前記第２の通信リンクは、ローカル・エリア・ネットワーク（ＬＡＮ）を含み、前記コンピュータは、前記ＬＡＮとＷＡＮとを接続するルータによってホストされる、発明２５に記載のコンピュータ・プログラム製品。
［Ｃ２８］
装置であって、
クライアント・デバイスに送信された１または複数のデータ・パケットを検査する手段と、
前記検査されたデータ・パケットに埋め込まれた１または複数のホスト・デバイス・ネームを識別する手段と、
前記１または複数の埋め込まれたホスト・デバイス・ネームに関連付けられたＩＰアドレスを解決する手段と、
前記検査されたデータ・パケットを、変更することなく、前記クライアント・デバイスへ送信する手段と、
前記検査されたデータ・パケットで識別されたホスト・デバイスへの接続を確立するために、前記クライアント・デバイスによって使用されるための、前記解決された関連付けられたＩＰアドレスと前記１または複数のホスト・デバイス・ネームとを、前記検査されたデータ・パケットと独立して、前記クライアント・デバイスへ送信する手段と、
を備える装置。
［Ｃ２９］
前記検査されたデータ・パケットに埋め込まれた１または複数のホスト・デバイス・ネームを識別する手段は、前記１または複数の遮断されたデータ・パケットの符号を再構築する手段を備える、発明２８に記載の装置。
［Ｃ３０］
前記検査されたデータ・パケットに埋め込まれた１または複数のホスト・デバイス・ネームを識別する手段は、前記検査されたデータ・パケットを、ＡＳＣＩＩキャラクタ文字列パターン・マッチングを用いて分析する手段を備える、発明２８に記載の装置。
［Ｃ３１］
前記ＩＰアドレスを解決する手段はさらに、
前記１または複数の埋め込まれたホスト・デバイス・ネームに関連付けられたＩＰアドレスを求めて、ローカル・キャッシュを探索する手段と、
前記関連付けられたＩＰアドレスの、前記ローカル・キャッシュにおける位置決めに失敗すると、前記１または複数の埋め込まれたホスト・デバイス・ネームに関連付けられたＩＰアドレスを解決するために、１または複数のＤＮＳサーバへ問い合わせる手段と、
を備える発明２８に記載の装置。
［Ｃ３２］
前記ＩＰアドレスを解決する手段はさらに、前記ローカル・キャッシュ内に、前記１または複数の識別されたホスト・デバイス・ネームと、前記解決された関連付けられたＩＰアドレスとを格納する手段を備える、発明２８に記載の装置。
［Ｃ３３］
前記クライアント・デバイスに送信された１または複数のデータ・パケットを検査する手段は、第１の伝搬レイテンシを有する第１の通信リンクで前記クライアント・デバイスへ送信されたデータ・パケットを検査する手段を備える、発明２８に記載の装置。
［Ｃ３４］
前記検査されたデータ・パケットを、変更することなく、前記クライアント・デバイスへ送信する手段は、前記検査されたデータ・パケットを、第２の伝搬レイテンシを有する第２の通信リンクで送信する手段を備え、
前記第１の伝搬レイテンシは、前記第２の伝搬レイテンシよりも実質的に低い、発明３３に記載の装置。
［Ｃ３５］
前記クライアント・デバイスは、モバイル・デバイスを含み、前記第１の通信リンクは、コアＩＰネットワークを含み、前記第２の通信リンクは、ラジオ・アクセス・ネットワーク（ＲＡＮ）を含み、前記装置は、前記ＲＡＮと前記コアＩＰネットワークとを接続するＩＰアクセス・ゲートウェイによってホストされる、発明３４に記載の装置。
［Ｃ３６］
前記第１の通信リンクは、広域ネットワーク（ＷＡＮ）を含み、前記第２の通信リンクは、ローカル・エリア・ネットワーク（ＬＡＮ）を含み、前記装置は、前記ＬＡＮとＷＡＮとを接続するルータによってホストされる、発明３４に記載の装置。
【図１】
0006038657.tif 000002
【図２】
0006038657.tif 000003
【図３】
0006038657.tif 000004
【図４】
0006038657.tif 000005
【図５】
0006038657.tif 000006
【図６】
0006038657.tif 000007