(57)【特許請求の範囲】
【請求項１】
命令を記憶した機械読取可能な媒体であって、機械によって該命令が実行された場合、機械に、
インターネットからドキュメントが読み出され始めると、各々のパターンがインターネットホストネームを意味している、１以上のパターンに対して、前記ドキュメントをスキャンするステップと；
前記ドキュメントのスキャンから発見された各々のインターネットホストネームパターンを、関連するインターネットプロトコル（ＩＰ）アドレスに、インターネット・ドメイン・ネーム・システム（ＤＮＳ）サーバをして非同期で変換させるステップと；
前記機械に位置するＤＮＳキャッシュに、インターネットを介して前記インターネットＤＮＳサーバから受信された各々の変換されたＩＰアドレスを非同期で記憶するステップと；
各々の変換されたＩＰアドレスに関連する、いつまで有効かの時間を、前記ＤＮＳキャッシュに記憶するステップと；
第１のいつまで有効かの時間を伴う、第１の変換されたＩＰアドレスが、ポピュラリティテストにパスしたかどうか判断するステップと；
前記第１のＩＰアドレスが前記ポピュラリティテストにパスしていることに応答して、前記第１のいつまで有効かの時間の満了に応じて、前記第１の変換されたＩＰアドレスの新規な変換を要求するステップと；
を含む方法を実行させる、機械読取可能な媒体。
【請求項２】
前記方法は、
第１のリモートサーバにある前記ドキュメントに参照されるコンテンツ・アイテムを読み出すためにウェブ・ブラウザから要求を受信する受信ステップであって、前記第１のリモートサーバは、関連する第１のサーバホストネームを含む、受信ステップと；
前記第１のサーバホストネームの変換のために、前記ＤＮＳキャッシュにクエリを発するステップと；
前記クエリに応答して、前記ＤＮＳキャッシュに、前記第１のサーバホストネームのルックアップを実行するステップと；
前記第１のサーバホストネームを前記ＤＮＳキャッシュで見つけることに応答して、前記ウェブ・ブラウザに前記第１のサーバホストネームの変換されたＩＰアドレスを提供するステップと；
を更に有する請求項１記載の機械読取可能な媒体。
【請求項３】
前記方法は、
与えられた変換されたＩＰアドレスの前記いつまで有効かの時間の満了に応じて、前記与えられた変換されたＩＰアドレスと関連するインターネットホストネームの新規な再変換を要求するステップと；
前記再変換されたＩＰアドレスと、前記再変換されたＩＰアドレスに関連する新たないつまで有効かの時間とを受信するステップと；
前記受信された再変換されたＩＰアドレスと、前記新たないつまで有効かの時間とを前記ＤＮＳキャッシュに再格納するステップと；
を更に有する請求項１記載の機械読取可能な媒体。
【請求項４】
前記ポピュラリティテストをパスすることは、前記第１の変換されたＩＰアドレスにアクセスする数が閾値を超えることを更に含む、請求項１記載の機械読取可能な媒体。
【請求項５】
前記ドキュメントは、ユーザによる前記ドキュメントのロードに応答して読み出されることを開始する、請求項１記載の機械読取可能な媒体。
【請求項６】
インターネットからドキュメントが読み出され始めると、各々のパターンがインターネットホストネームを意味している、１以上のパターンに対して、前記ドキュメントをスキャンするステップと；
前記ドキュメントのスキャンから発見された各々のインターネットホストネームパターンを、関連するインターネットプロトコル（ＩＰ）アドレスに、インターネット・ドメイン・ネーム・システム（ＤＮＳ）サーバをして非同期で変換させるステップと；
インターネットを介して各々の変換されたＩＰアドレスを前記ＤＮＳサーバから受信するよう構成されたコンピューティング装置に位置するＤＮＳキャッシュに、各々の変換されたＩＰアドレスを非同期で記憶するステップと；
各々の変換されたＩＰアドレスに関連する、いつまで有効かの時間を、前記ＤＮＳキャッシュに記憶するステップと；
第１のいつまで有効かの時間を伴う、第１の変換されたＩＰアドレスが、ポピュラリティテストにパスしたかどうか判断するステップと；
前記第１のＩＰアドレスが前記ポピュラリティテストにパスしていることに応答して、前記第１のいつまで有効かの時間の満了に応じて、前記第１の変換されたＩＰアドレスの新規な変換を要求するステップと；
を有する方法。
【請求項７】
第１のリモートサーバにある前記ドキュメントに参照されるコンテンツ・アイテムを読み出すためにウェブ・ブラウザから要求を受信する受信ステップであって、前記第１のリモートサーバは、関連する第１のサーバホストネームを含む、受信ステップと；
前記第１のサーバホストネームの変換のために、前記ＤＮＳキャッシュにクエリを発するステップと；
前記クエリに応答して、前記ＤＮＳキャッシュに、前記第１のサーバホストネームのルックアップを実行するステップと；
前記第１のサーバホストネームを前記ＤＮＳキャッシュで見つけることに応答して、前記ウェブ・ブラウザに前記第１のサーバホストネームの変換されたＩＰアドレスを提供するステップと；
を更に有する請求項６記載の方法。
【請求項８】
与えられた変換されたＩＰアドレスの前記いつまで有効かの時間の満了に応じて、前記与えられた変換されたＩＰアドレスと関連するインターネットホストネームの新規な再変換を要求するステップと；
前記再変換されたＩＰアドレスと、前記再変換されたＩＰアドレスに関連する新たないつまで有効かの時間とを受信するステップと；
前記受信された再変換されたＩＰアドレスと、前記新たないつまで有効かの時間とを前記ＤＮＳキャッシュに再格納するステップと；
を更に有する請求項６記載の方法。
【請求項９】
前記ポピュラリティテストは、前記第１の変換されたＩＰアドレスにアクセスする数が閾値を超えるかをみるステップを更に含む、請求項６記載の方法。
【請求項１０】
デバイスであって：
一つ以上の変換されたインターネットプロトコル（ＩＰ）アドレスを記憶するドメイン・ネーム・システム（ＤＮＳ）キャッシュであって、変換されたＩＰアドレスの各々が特定のインターネットホストネームに関連する、ドメイン・ネーム・システム（ＤＮＳ）キャッシュと；
ウェブ・プロキシ・ロジックと、を含み、：
前記ウェブ・プロキシ・ロジックは、
ドキュメントがインターネットから読み出され始めると、一つ以上のパターンに対して、前記ドキュメントをスキャンし、各々のパターンは、インターネットホストネームを意味しており；
非同期で、リモートインターネットＤＮＳサーバに、前記ドキュメントのスキャンから発見された各々のインターネットホストネームパターンを、関連するＩＰアドレスに変換するようにさせ、かつ、
非同期で、前記ＤＮＳキャッシュに、インターネットを介して前記リモートインターネットＤＮＳサーバから受信した各々の変換されたＩＰアドレスを記憶し、
当該デバイスは、
前記ＤＮＳキャッシュに関連するＤＮＳキャッシュ・ロジックであって、前記ＤＮＳキャッシュ・ロジックは、
各々の変換されたＩＰアドレスに関連する、いつまで有効かの時間を、前記ＤＮＳキャッシュに記憶し；
第１のいつまで有効かの時間を伴う、第１の変換されたＩＰアドレスが、ポピュラリティテストにパスしたかどうか判断し；かつ
前記第１のＩＰアドレスが前記ポピュラリティテストにパスしていることに応答して、前記第１のいつまで有効かの時間の満了に応じて、前記第１の変換されたＩＰアドレスの新規な変換を要求する；
ＤＮＳキャッシュ・ロジック；
を更に含む、デバイス。
【請求項１１】
前記ウェブ・プロキシ・ロジックは、
第１のリモートサーバにある前記ドキュメントに参照されるコンテンツ・アイテムを読み出すためにウェブ・ブラウザから要求を受信し、前記第１のリモートサーバは、関連する第１のサーバホストネームを含み；かつ
前記第１のサーバホストネームの変換のために、前記ＤＮＳキャッシュにクエリを発する；
請求項１０記載のデバイス。
【請求項１２】
前記ＤＮＳキャッシュ・ロジックは、更に：
前記クエリに応答して、前記ＤＮＳキャッシュに、前記第１のサーバホストネームのルックアップを実行し；かつ
前記第１のサーバホストネームを前記ＤＮＳキャッシュで見つけることに応答して、前記ウェブ・ブラウザに前記第１のサーバホストネームの変換されたＩＰアドレスを提供する；
請求項１１記載のデバイス。
【請求項１３】
前記ＤＮＳキャッシュ・ロジックは更に：
与えられた変換されたＩＰアドレスの前記いつまで有効かの時間の満了に応じて、前記与えられた変換されたＩＰアドレスと関連するインターネットホストネームの新規な再変換を要求し；
前記再変換されたＩＰアドレスと、前記再変換されたＩＰアドレスに関連する新たないつまで有効かの時間とを受信し；かつ、
前記受信された再変換されたＩＰアドレスと、前記新たないつまで有効かの時間とを前記ＤＮＳキャッシュに再格納する；
請求項１０記載のデバイス。
【請求項１４】
前記ポピュラリティテストは、前記第１の変換されたＩＰアドレスにアクセスする数が閾値を超えるかをみるステップを更に含む、請求項１０記載のデバイス。
【請求項１５】
前記ドキュメントは、ユーザによる前記ドキュメントのロードに応答して読み出されることを開始する、請求項１０記載のデバイス。
【請求項１６】
システムであって、
ウェブ・プロキシ・ロジックを含むセントラルサーバを有し、
前記ウェブ・プロキシ・ロジックは：
インターネットからドキュメントが読み出され始めると、各々のパターンがインターネットホストネームを意味している、１以上のパターンに対して、前記ドキュメントをスキャンし；
前記ドキュメントのスキャンから発見された各々のインターネットホストネームパターンを、関連する変換されたインターネットプロトコル（ＩＰ）アドレスに、インターネット・ドメイン・ネーム・システム（ＤＮＳ）サーバをして非同期で変換させ；
非同期でモバイルデバイスのＤＮＳキャッシュに、各々の変換されたＩＰアドレスを記憶し；
第１のリモートサーバにある前記ドキュメントに参照されるコンテンツ・アイテムを読み出すために前記モバイルデバイスのウェブ・ブラウザから要求を受信し、前記第１のリモートサーバは、関連する第１のリモートサーバホストネームを含み；かつ
前記第１のリモートサーバホストネームの変換のために、前記モバイルデバイスにクエリを発し；
前記モバイルデバイスは：
インターネットを介して前記ウェブ・プロキシ・ロジックから受信した一つ以上の前記変換されたＩＰアドレスを記憶するＤＮＳキャッシュであって、各々の変換されたＩＰアドレスは特定のインターネットホストネームに関連する、前記ＤＮＳキャッシュと；
前記ＤＮＳキャッシュに関連するロジックと、を含み、
前記ＤＮＳキャッシュ・ロジックは：
前記クエリに応答して、前記ＤＮＳキャッシュに、前記第１のリモートサーバホストネームのルックアップを実行し；かつ
前記第１のリモートサーバホストネームを前記ＤＮＳキャッシュで見つけることに応答して、前記ウェブ・ブラウザに前記第１のリモートサーバホストネームの第１の変換されたＩＰアドレスを提供し；
各々の変換されたＩＰアドレスに関連する、対応するいつまで有効かの時間を、前記ＤＮＳキャッシュに記憶する；
システム。
【請求項１７】
前記ＤＮＳキャッシュ・ロジックは、更に、
与えられた変換されたＩＰアドレスの対応する前記いつまで有効かの時間の満了に応じて、前記与えられた変換されたＩＰアドレスと関連するインターネットホストネームの新規な変換を含む再変換されたＩＰアドレスを要求し；
前記再変換されたＩＰアドレスと、前記再変換されたＩＰアドレスに関連する新たないつまで有効かの時間とを受信し；かつ
前記受信された再変換されたＩＰアドレスと、前記新たないつまで有効かの時間とを前記ＤＮＳキャッシュに格納する；
請求項１６記載のシステム。
【請求項１８】
前記ＤＮＳキャッシュ・ロジックは、更に、
第１のいつまで有効かの時間を伴う、第１の変換されたＩＰアドレスが、ポピュラリティテストにパスしたかどうか判断し；かつ
前記第１のＩＰアドレスが前記ポピュラリティテストにパスしていることに応答して、前記第１のいつまで有効かの時間の満了に応じて、前記第１の変換されたＩＰアドレスの新規な変換を要求する；
請求項１６記載のシステム。
【請求項１９】
前記ポピュラリティテストをパスすることは、前記第１の変換されたＩＰアドレスにアクセスする数が閾値を超えることを更に含む、請求項１８記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はインターネットの上のドメイン・ネーム・システム・ルックアップを実行する方法に関する。
【背景技術】
【０００２】
携帯あるいは、これに類似したモバイル・ネットワークでインターネットを使用するときに、リモート・ドメイン・ネーム・システム（ＤＮＳ）サーバによって、コンピュータ・ホストネームからインターネットプロトコル（ＩＰ）アドレスに変換する技術が存在する。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
リモート・ドメイン・ネーム・システム（ＤＮＳ）サーバによって、コンピュータ・ホストネームからインターネットプロトコル（ＩＰ）アドレスに変換するのに、１ないし数秒のオーダー上の長い時間を要する場合がある。このことは、携帯、及び多くの他のモバイル・ワイヤレス技術に係る通信遅延に当てはまる。通常はウェブ・ブラウザで、ウェブ・ページをダウンロードし、かつ、表示することは、この種の変換を複数伴うこととなる。例えば、メインページのための変換、そして、しばしばメインページ上の各々のイメージ、及び広告のための１つの変換がなされる。これらの複数の変換によって生じる遅延は、ウェブ・ページの表示を遅くし、かつ、その結果モバイル・インターネット接続の価値を落とすこととなる。
【課題を解決するための手段】
【０００４】
上記課題を解決するために、本発明は、命令を記憶した機械読取可能な媒体であって、機械によって該命令が実行された場合、機械に、
インターネットからドキュメントが読み出され始めてすぐに、各々のパターンがインターネットホストネームを意味している、１以上のパターンに対して、前記ドキュメントをスキャンするステップと；
前記ドキュメントのスキャンから発見された各々のインターネットホストネームパターンを、関連するインターネットプロトコル（ＩＰ）アドレスに、インターネット・ドメイン・ネーム・システム（ＤＮＳ）サーバをして非同期で変換させるステップと；
非同期でローカルＤＮＳキャッシュに、各々の変換されたＩＰアドレスを記憶するステップと；
を含む方法を実行させる、機械読取可能な媒体を提供する。
【０００５】
本発明は、例として示されるものであり、かつ図面によって限定されない。
【図面の簡単な説明】
【０００６】
【図１】は、ＤＮＳキャッシュをインプリメントするデバイス、及びシステムの実施例、及びウェブプロキシを示す図である。
【図２Ａ】コンピューティング装置に実装される上述のロジックを利用したＤＮＳルックアップ待ち時間を減少させるための方法の実施例のフローチャートを例示する図である。
【図２Ｂ】コンピューティング装置に実装される上述のロジックを利用したＤＮＳルックアップ待ち時間を減少させるための方法の実施例のフローチャートを例示する図である。
【図２Ｃ】コンピューティング装置に実装される上述のロジックを利用したＤＮＳルックアップ待ち時間を減少させるための方法の実施例のフローチャートを例示する図である。
【図３】期限切れになったＩＰアドレスを、率先して再変換する方法の実施例のフローチャートである。
【図４】ＤＮＳキャッシュをインプリメントするデバイス、及びシステムの他の実施例、及びウェブプロキシを示す図である。
【図５】ＤＮＳキャッシュをインプリメントするデバイス、及びシステムのさらにもう一つの実施例、及びウェブプロキシを示す図である。
【図６】モバイル・インターネット接続のためのホストネームのルックアップ待ち時間を削減するためのウェブプロキシ、及びＤＮＳキャッシュ・ロジックを含むコンピュータシステムの実施例である。
【発明を実施するための形態】
【０００７】
ドメイン・ネーム・システム・ルックアップ待ち時間を減少させるためのデバイス及びシステムの実施例を以下に記載する。
［発明の詳細な説明］
「ＤＮＳキャッシュ」、及び「ウェブプロキシ」は、相互に密接に動作する。多くの実施例において、ＤＮＳキャッシュ、及びウェブプロキシは、インターネットへのアクセスを持つモバイル・コンピューティング装置に利用される。モバイル・コンピューティング装置に存在するウェブ・ブラウザは、ウェブ・ページを要求する。これらの要求に基づいて、ウェブプロキシ、及びＤＮＳキャッシュは、一つ以上のウェブ・コンテンツ・サーバへ接続するために、一つ以上のリモート・ドメイン・ネーム・システム（ＤＮＳ）サーバに、変換されたインターネットプロトコル（ＩＰ）アドレスを読み出すための要求を送る。インターネットＤＮＳホストネームを変換する要求は、ウェブプロキシによってＤＮＳキャッシュに送られる。これは、ウェブ・ブラウザが後で必要とすることがあり得るものである。変換されたＩＰアドレスは、それからリモートＤＮＳサーバから返信され、かつＤＮＳキャッシュに記憶される。したがって、変換のための要求が将来ウェブプロキシを介してウェブ・ブラウザによってなされるときに、ＤＮＳキャッシュは、そのローカル記憶装置に、変換されたＩＰアドレスをすでに有してもよい。そして、通常ウェブ・ブラウザからリモートＤＮＳサーバへのホストネーム変換要求に係る待ち時間は、削減されうる。
【０００８】
以下の説明において、一つの実施例および請求項に開示された技術とは、実施例に対応した特定の特徴、構造又は特性が、少なくとも一つの開示された技術に含まれることを意味する。したがって、明細書における「実施例において」という語は、全てが、必ずしも同じ実施例に関連しているというわけではない。以下の説明及び請求項において、用語「含む」および「有する」は、同義語として使用される。この開示の全体にわたって使用する語の中で「ロジック」とは、コンピュータシステムでの回路、あるいは、「ビット」に置き換えられる電気的信号等の、機械読み取り可能な構成をも意味し得る。ビットは、ある一定の規則でグループ化されると、ソフトウエア論理命令となる。そして、これは、マシンにより実行される。したがって、マシンは、論理命令によって様々なオペレーションを開始し実行する。例えば、一実施例において、論理命令は、コンピュータ読み取り可能な命令である。これは、方法により実行され、プロセッサに一連のオペレーションを実行させる。オペレーションは、論理命令または、命令に則したものとなる。特に、一実施例において、命令は、ビットのグループ、あるいは、それを示すものであり、メモリに保存される。例えば、ディスケット、半導体メモリ、ハードドライブ、コンパクトディスク等が挙げられる。
【実施例】
【０００９】
図１は、ＤＮＳキャッシュ及びウェブプロキシをインプリメントするデバイス、及びシステムの実施例である。
【００１０】
コンピューティング装置１００は、ＤＮＳルックアップ待ち時間を減少させるために利用されるコンポーネントを含む。ワイヤレスネットワークに係るＤＮＳルックアップ待ち時間は、大きな影響をもたらす。ワイヤレスコンピューティング装置から、ホストネームをＩＰアドレスに変換する要求をワイヤレスネットワークに送信し、レスポンスが返されるまでに、数秒の遅延が発生しうる。一般に、変換は、要求を受信したモートサーバで行われ、かつ、それから結果として生じるＩＰアドレスをワイヤレスデバイスに送り返される。複数の遅延によって、ワイヤレスデバイスのユーザは、要求したウエッブページのそれぞれの要求に対して、かなりの秒数待たされることを経験することとなり、複数の遅延は、大きな影響を与える。加えて、与えられたウェブ・ページは、他のリモートサーバからあるコンテンツを含み得る（例えばウェブ・ページの上部又は横の広告イメージ）。全てのコンテンツを含む完全なウェブ・ページのロード時間は、往々にして、待ち時間としてユーザの負担となり得る。
【００１１】
多くの実施例において、コンピューティング装置１００は、ウェブ・ブラウザ１０２を含む。これには、利用できるウェブ・ブラウザ、例えばマイクロソフト（登録商標）ブラウザ、Ｍｏｚｉｌｌａブラウザ、あるいはモバイル専用のブラウザを含むあらゆるブラウザが含まれる。ウェブ・ブラウザ１０２は、ユーザとの対話処理によって、ウェブ・コンテンツにアクセスすることができる。例えば、ユーザは、ウェブ・ブラウザにＵＲＬ（Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｌｏｃａｔｏｒ）アドレスを入力し、ブラウザが、ＵＲＬでウェブ・ページ（すなわちドキュメント）を取得するよう指示する。ウェブ・ページは、ＨＴＭＬ（ハイパーテキスト転送マークアップ言語）コード、あるいは、他方式例えばＸＭＬ（ｅｘｔｅｎｓｉｖｅ  ｍａｒｋｕｐ  ｌａｎｇｕａｇｅ）などを含む。通常、ウェブ・ブラウザ１０２は、ゲートウェイサーバ１０４を介して、あるいはローカルのネットワークに接続する能力を有する他のサーバを介してインターネット１０６のバックボーンを介して、ウェブに接続する。カプリングデバイス１１０をゲートウェイサーバ１０４に接続するローカライズされたネットワークは、異なる実施例において、有線ネットワーク１０８又はワイヤレスネットワーク１１０であってもよい。さらにまた、コンピューティング装置１００にある、ゲートウェイサーバ１０４への接続は、コンピューティング装置１００の状態に従い変化してもよい。例えば、ユーザがアクティブで、かつ移動する場合には、コンピューティング装置は無線で利用されてもよい。他の場合、ユーザが自宅又は職場にいるときには、コンピューティング装置は有線で基地局に接続されてもよい。ワイヤレスネットワーク１１０の実施例において、コンピューティング装置１００、及びゲートウェイサーバ１０４は、ワイヤレス通信の送受信を可能とするために、ある形式のアンテナ（それぞれ１１２及び１１４）に各々通信できるよう接続される。
【００１２】
上述のウェブ・ブラウザ１０２の実施例に戻って、一旦ユーザがＵＲＬを入力すると、（又はウェブ・ページのリンクをクリックすると）、ホスト名を含む変換要求がインターネット１０６全体に送られ、かつ目標とされたリモートＤＮＳサーバ（例えばリモートＤＮＳサーバＡ１１６又はリモートＤＮＳサーバＢ１２８）によって受信される。目標とされたリモートＤＮＳサーバは、変換されるホストネームを有する変換要求を受信し、ホストネームをＩＰアドレスに変換し、かつ、ウェブ・ブラウザ１０２にＩＰアドレスを返送する。ＤＮＳは、分散型データベースシステムによって維持される。そして、これはクライアント／サーバ・モデルを使用する。このデータベースのノードは、ネームサーバ（例えばＤＮＳサーバＡ１１６、及びＤＮＳサーバＢ１２８）である。各々のドメイン又はサブドメインは、一つ以上の信頼すべきＤＮＳサーバを有する。このサーバは、そのドメイン及びドメインのＩＰアドレスを含む、この下に属するあらゆるドメインのネームサーバの情報を発行する。階層の最上位は、ルートネーム・サーバによって管理される。これは、対応するＩＰアドレスを得るために最上位ドメイン名を調べる（解決する）ときにクエリを送るサーバである。あるいは、上述の一般の方法に代えて、図１は、コンピューティング装置１００の中に特定の追加ロジックを含む。これによって、ウェブ・ブラウザ１０２、及びリモートＤＮＳサーバ間のＩＰアドレス・ルックアップ方式によって発生する待ち時間を減少させる。ウェブ・プロキシ・ロジック１１８は、ウェブ・ブラウザ１０２から全てのＤＮＳルックアップ要求を受信する。各々の受信された要求のために、ウェブ・プロキシ・ロジック１１８は、変換されたＩＰアドレス検索サービスをウェブ・ブラウザ１０２に提供する。多くの実施例において、ウェブプロキシ１１８は、ＤＮＳキャッシュ１２０と相互に協力して動作する。ＤＮＳキャッシュ１２０は、ＤＮＳキャッシュ・ロジック１２２と記憶１２４を備えている。記憶装置は、揮発性の又は不揮発性メモリ記憶アレイを参照するメモリーアドレスのレンジを有してもよい。ＤＮＳキャッシュ・ロジック１２２は、記憶装置１２４のアレイに直接的にインターフェースをとる制御ロジックを有してもよい。加えて、ＤＮＳキャッシュ・ロジック１２２は、インターフェースによって、ウェブプロキシ１１８に通信できるよう接続されてもよい。ウェブプロキシ１１８は、ウェブ・ブラウザ１０２からＤＮＳキャッシュ１２０にホストネームに変換要求を送信する。ＤＮＳキャッシュ１２０は、最近要求され、変換された多くのＩＰアドレスを記憶する。ＩＰアドレスへのホストネームの変換要求がＤＮＳキャッシュ１２０に記憶されていない場合、ＤＮＳキャッシュ１２０は、変換されたＩＰアドレスを検索し、かつ、記憶する。そして、変換が再び要求される場合に、素早くアクセスする。
【００１３】
この検索、及び記憶（ルックアップアンドストアとも呼ばれる）は、１０２が要求するウェブ・ブラウザと連動して、非同期で動作してもよい。換言すれば、一旦ウェブプロキシ１１８がＤＮＳキャッシュ１２０に変換要求を知らせるならば、ＤＮＳキャッシュ１２０は、独立して動作してもよい。そして、ウェブ・ブラウザ１０２は、リモート・ウェブ・サーバ（例えばリモート・ウェブ・サーバＡ１３０（これは、リモートＤＮＳサーバＡ１１６に関連するコンテンツ・サーバである））からウェブプロキシ１１８によるウェブ・ページ内容の情報を読み出しているとき、ＤＮＳキャッシュ１２０は、迅速に変換を読み出す。通常、ウェブ・ブラウザは連続的にＨＴＭＬ、及び他の言語を解釈する。したがって、複数の・リモートＤＮＳホストネームがドキュメントに存在する場合、全てのウェブ・ページをロードするのに長い時間がかかる場合がある。ウェブプロキシ１１８、及びＤＮＳキャッシュ１２０がＤＮＳルックアップ待ち時間を減少させるために利用するこの特定の方法は、図２Ａないし図２Ｃの説明に関連して以下に詳細に述べる。
【００１４】
コンピューティングデバイス１００はまた、Ｉ／Ｏ（入出力）インターフェース１２６を含んでもよい。入出力インターフェース１２６は、有線のインターフェース１０８及び／又はワイヤレス・インターフェース１１２でコンピューティング装置１００を他のコンピュータ、ネットワーク、及びインターネット１０６に信号伝達接続し得る。多くの実施例において、変換の検索の非同期によって、ＤＮＳキャッシュ１２０が要求されたホストネーム変換を読み出すときに、ウェブ・ブラウザ１０２は、これを必ずしも待つ必要はない。多くの実施例において、ウェブ・プロキシ・ロジック１１８は、インターネットホストネームを表すパターンを探すために、ウェブ・ブラウザ１０２によって読み出されているウェブ・ページをスキャンしてもよい。ウェブ・プロキシ・ロジック１１８は、ＤＮＳキャッシュ１２０に、有効なホストネーム（例えば「ｈｔｔｐ：／／ｗｗｗ．ｇｏｏｇｌｅ．ｃｏｍ／ｉｎｔｌ／ｅｎ＿ＡＬＬ／ｉｍａｇｅｓ／」）と解釈されることが可能なパターンをルックアップするよう要求してもよい。全てのウェブ・ページ（又は読み出されている他の形式のウェブ・ドキュメント）からの有効なホストネームの一組は、ＤＮＳキャッシュ１２０と平行して直ちに送られ得る。ＤＮＳキャッシュ１２０は、一部又は全てのＩＰアドレス変換を記憶してもよい。キャッシュが現在記憶していない各々の変換のために、ＤＮＳキャッシュ１２０は、ホストネームドメインのための変換要求を、ＩＰアドレス変換を提供する特定のリモートＤＮＳサーバに送信する。ＤＮＳキャッシュ１２０は、ＤＮＳサーバからこれらの変換されたＩＰアドレスを受信し、かつ、それらを記憶する。多くの実施例において、これらの特定のホストネームがウェブ・ブラウザ自体によってまだ要求されていない。その代わりに具体的には、ウェブプロキシによって、特に初期においてＤＮＳキャッシュ１２０によって、要求されている。したがって、既にキャッシュにある変換されたＩＰアドレス及びキャッシュが率先して読み出したアドレスは、ウェブ・プロキシ・ロジック１１８に必ずしも直ちに送り返されるというわけではない。一旦ウェブ・ブラウザ１０２が特定のホストネームを、１つの与えられた変換のためにウェブプロキシに要求すると、ウェブ・プロキシ・ロジック１１８はＤＮＳキャッシュ１２０から同じ変換を要求する。そして、ＤＮＳキャッシュ１２０はそれから直ちに、要求されたホストネームの変換に係る変換されたＩＰアドレスをウェブプロキシ１１８に返し、そして、ウェブ・ブラウザ１０２に変換されたものを返す。
【００１５】
その他の実施例では、ウェブ・ブラウザ１０２は、特にウェブ・プロキシ・ロジック１１８にウェブ・ページのコンテンツを読み出すことを要求する。これらの実施例では、ウェブ・プロキシ・ロジック１１８はＤＮＳキャッシュ１２０から変換されたＩＰアドレスを読み出す。そして、変換されたＩＰアドレスで、変換されたＩＰアドレスにあるインターネット・ウェブ・サーバからコンテンツを要求する。一旦ウェブ・プロキシ・ロジック１１８がコンテンツを読み出すと、それはコンテンツをウェブ・ブラウザ１０２に送信することができる。したがって、異なる実施例において、ウェブ・ブラウザ１０２は、変換されたＩＰアドレスを要求し、コンテンツを読み出す。あるいは、ウェブ・ブラウザ１０２は、変換されたＩＰアドレスのコンテンツをリクエストし、ウェブ・プロキシ・ロジック１１８に、コンテンツの読み出しを指示する。
【００１６】
いくつかの実施例では、ウェブ・ブラウザ１０２は、ウェブプロキシ１１８を認識しており、直接ウェブプロキシ１１８と通信する。その他の実施例では、ウェブ・ブラウザ１０２は、ウェブプロキシ１１８を認識しておらず、プロキシ１１８は、実際にウェブ・ブラウザ１０２から要求をインターセプトし、結果をウェブ・ブラウザ１０２に返す、そして、要求が完了する。
【００１７】
さて、図２Ａないし図２Ｃに戻る。これらの図は、コンピューティング装置１００に設置されている、上述のロジックを利用して、ＤＮＳルックアップ待ち時間を減少させるための方法の実施例のフローチャートを例示する。この方法は、ソフトウエア（例えばオペレーティングシステムの上で動作しているアプリケーション）、ハードウェア（例えばコンピュータシステムの回路）、ファームウェア（例えばマイクロコード）又は上述のロジックの３つの形式のいかなる組合せをも含む処理ロジックによって実行できる。
【００１８】
本方法は、図２Ａにおいて、ＵＲＬ（処理ブロック２００）によってウェブ・ページ（又はその他のウェブ・ドキュメント）をロードするためにウェブ・ブラウザが行う処理ロジックによって開始される。ＵＲＬは、リモート・ホストネームを含む。ホストネームは、インターネットドメインに対する認識されたリンクのいかなる形式であってもよい。例えば、「ｈｔｔｐ：／／ｗｗｗ．ｙａｈｏｏ．ｃｏｍ」は、ウェブ・ブラウザ１０２のアドレスバーに入力されてもよいホストネームを含むリンクである。ウェブ・ブラウザ１０２内の処理ロジックは、ユーザの入力を受信することによってウェブ・ページをロードする。ユーザ入力としては、たとえば、リンクのクリックまたは、アドレスバーにリンクをタイピングする（そしてＥＮＴＥＲを押す）ことにより行われてもよい。これらの動作は、ウェブ・ブラウザ１０２ロジックによって認識される。そして、ウェブ・ページの後に目的のものがローディングされる。
【００１９】
この方法は、ウェブ・プロキシ・ロジックにＵＲＬ（処理ブロック２０２）によって、ウェブ・ページを取得することを要求するウェブ・ブラウザ１０２の処理ロジックを続ける。ＵＲＬのウェブ・ページは、ＨＴＭＬベースのコード及び／又は付加的なマークアップ言語（例えばＸＭＬ）を有してもよい。ウェブプロキシの処理ロジックは、それからリモート・ホストネームをＩＰアドレスに変換するための要求をＤＮＳキャッシュに送信する（処理ブロック２０４）。ＤＮＳキャッシュの処理ロジックは要求を受信する。なおこの場合、このウェブ・ページ要求は、初めてであると仮定する。そして、ホストネームをＩＰアドレスに変換するための要求をリモートＤＮＳサーバに送信する（処理ブロック２０６）。
【００２０】
次に、処理ロジックは、リモートＤＮＳサーバから変換されたＩＰアドレスを受信し、かつ、キャッシュ記憶にアドレスを記憶する（処理ブロック２０８）。加えて、ＤＮＳキャッシュは、また、変換されたＩＰアドレスがいつまで有効かの時間の値（ｖａｌｉｄ−ｕｎｔｉｌｔｉｍｅ  ｖａｌｕｅ）について対応するリモートＤＮＳサーバから、値を受信する。多くの実施例において、いつまで有効かの時間の値（ｖａｌｉｄ−ｕｎｔｉｌ  ｔｉｍｅ  ｖａｌｕｅ）は、生きている時間（ＴＴＬ：ｔｉｍｅ  ｔｏ  ｌｉｖｅ）値と称する。いつまで有効かの時間の値が期限切れになったあとは、変換されたＩＰアドレスは無効になる。その時、新規な変換されたＩＰアドレスを読み出すために、他の要求がリモートＤＮＳサーバに送信されることを必要とする。ＤＮＳキャッシュの内の処理ロジックは、キャッシュ記憶配列に、変換されたＩＰアドレスと共にいつまで有効かの時間の値を記憶してもよい。それから、ＤＮＳキャッシュは、変換されたＩＰアドレスをウェブ・プロキシ・ロジックに送信する（処理ブロック２１０）。ウェブプロキシは、それから、変換されたＩＰアドレスに係る特定のウェブ・ページを読み出すためにコンテンツのホストとしてのリモート・ウェブ・サーバに接続するために、変換されたＩＰアドレスを利用する（処理ブロック２１２）。ウェブ・サーバは、ウェブ・ページ・マークアップ言語コード（例えばＨＴＭＬ）自体を記憶する。それと共に、ウェブ・ページに潜在的に関連する一部のコンテンツ（例えばイメージ）も記憶する。なお、これは、必ずしも全てを記憶する必要はない。他のコンテンツ（例えば広告に関連しているコンテンツ）は、ウェブ・ページを記憶するウェブ・サーバとリモートである他のウェブ・サーバに記憶されてもよい。
【００２１】
ウェブ・ページがウェブ・サーバからダウンロードされると、ウェブプロキシの処理ロジックはインターネットホストネーム）を意味するパターンのためのウェブ・ページをスキャンし始める（処理ブロック２１４）。上記のように、これらのパターンは完全にホストネームとして機能するものに変換されることを必要とする。そして、そのホストネームのドメインのＤＮＳサーバに到達することができる
図２Ｂに移る。処理ロジックは、ホストネームパターンがウェブ・ページ／ドキュメントで見つかったかどうかを調べる（処理ブロック２１６）。パターンが見つかった場合、ウェブプロキシの処理ロジックは、ＤＮＳキャッシュに要求を送信する。そして、発見されたインターネットホストネームパターンに関連する変換されたＩＰアドレスを、非同期でルックアップし、記憶する（処理ブロック２１８）。この点で、処理ロジックは、二つの異なるパスに分岐する。ウェブプロキシの処理ロジックは、ドキュメントが終わったかを判断する（処理ブロック２２０）。ドキュメントが終わった場合、ウェブプロキシの処理ロジックは図２Ｃに続く。ドキュメントが終わっていない場合、ウェブプロキシの処理ロジックは、ドキュメントのスキャンを続ける（処理ブロック２２２）。ウェブプロキシの処理ロジックは、ブロック２１６に戻る。ＤＮＳキャッシュの処理ロジックは、一方では、ウェブプロキシから受信される、発見されたインターネットホストネームパターンを変換するために、要求をリモートＤＮＳサーバに送信する（処理ブロック２２４）。それから、ＤＮＳキャッシュの処理ロジックは、その記憶アレイの受信された変換されたＩＰアドレス、及び、いつまで有効かの時間の値を記憶する（処理ブロック２２６）。ＤＮＳキャッシュの処理ロジックは、ウェブプロキシによって発見された、各々のホストネームのパターンに対して、処理ブロック２２４、及び２２６を実行する。したがって、ウェブプロキシは、ＤＮＳキャッシュにブロック２２４、及び２２６を複数回実行させる。
【００２２】
図２Ｃを参照する。ウェブ・ブラウザの処理ロジックは、ページの始めからウェブ・ページを表示し始める（処理ブロック２２８）。ウェブ・ブラウザは、線形的に（すなわち、ページの一番上部か下まで）ウェブ・ページに存在するマークアップ言語を解釈する。ウェブ・ブラウザがページの下で動作して、処理ロジックは、ページ上のコンテンツに、ページ上でリモート・ホストネーム（例えばイメージ）があるかを判断する（処理ブロック２３０）。ウェブ・ブラウザの処理ロジックが、リモート・コンテンツのページ上に、リモート・ホストネームがないと判断した場合、ウェブ・ブラウザは、ウェブ・ページを示すプロセスを完了したため、この方法は、終了する。一方、ウェブ・ブラウザがウェブ・ページ上のリモート・コンテンツを見つけた場合、ウェブ・ブラウザの処理ロジックは（すなわち、ページを本で読むように）ホストネームでリモート・コンテンツを読み出すために要求をウェブ・プロキシ・ロジックに送信する（処理ブロック２３２）。
【００２３】
この時点で、処理ロジックは２つの別々のパスへ分岐する。すなわち、ウェブ・ブラウザの処理ロジック、及びウェブプロキシ処理ロジックである。両方とも、平行に処理を続けることができる。ウェブ・ブラウザの処理ロジックは、ウェブ・ページ・コンテンツを表示し終わったかを判断する（処理ブロック２３４）。ウェブ・ページが完全に表示された場合、ウェブ・ブラウザの処理ロジックはしばらくの間終わる。それ以外は、ウェブ・ページが完全に表示されない場合であり、ウェブ・ブラウザはより多くのウェブ・ページを表示し続ける（処理ブロック２３６）。この点で、ウェブ・ブラウザ処理ロジックは、ブロック２３０に戻る。
【００２４】
分岐に一旦戻って、ウェブプロキシの処理ロジックは、それから、リモート・ホストネームをＩＰアドレスに変換するために、要求をＤＮＳキャッシュに送信する（処理ブロック２３８）。多くの実施例において、図２Ｂの方法のうちのブロック２１８、２２４、及び２２６の処理がなされたために、検索され変換されたＩＰアドレスは、すでにＤＮＳキャッシュ記憶にある場合がある。これらの実施例では、ＤＮＳキャッシュの処理ロジックは、変換されたＩＰアドレスを要求元ウェブ・プロキシ・ロジックに、直ちに送信する（処理ブロック２４０）。ウェブ・プロキシ・ロジックは、ウェブ・ページにおいて参照されたコンテンツを記憶しているリモート・ウェブ・サーバにアクセスするために、変換されたＩＰアドレスを利用し、そのコンテンツを読み出し、かつ、読み出されたコンテンツをウェブ・ブラウザに送信する（処理ブロック２４２）。ウェブ・ブラウザは、読み出されたコンテンツをウェブ・ページに表示する（処理ブロック２４４）。
【００２５】
ウェブ・ブラウザが読み出されたコンテンツを示したあと、ウェブ・ブラウザの処理ロジックはウェブ・ページがウェブ・ページを表示し終わったかどうか調べるためにブロック２３４に戻る。その場合は、方法は終わる。それ以外の場合は、ブロック２３６に戻る。そして処理は続けられる。
【００２６】
図３は、率先して、遅れずに期限切れとなったＩＰアドレスを再変換する方法の実施例のフローチャートである。また、方法は、ソフトウエア（例えばオペレーティングシステムの上に動作しているアプリケーション）、ハードウェア（例えばコンピュータシステムの回路）、ファームウェア（例えばマイクロコード）又は上記の３つの形式のロジックのいかなる処理ロジックの組合せであってもよい。
【００２７】
図３を参照する。この方法は、変換されたＩＰアドレスに対するいつまで有効かの時間の値が期限切れになったかどうか、判断するＤＮＳキャッシュの処理ロジックから始まる（処理ブロック３００）。いくつかの実施例では、いつまで有効かの時間の値が、期限切れになる順番で待ち行列があってもよい。ＤＮＳキャッシュ処理ロジックは、最も短いいつまで有効かの時間の値と等しい値を満了タイマーにセットし、タイマーが期限切れになったときに、待ち行列の先頭の方法（プロセス）に知らせてもよい。そして、一旦待ち行列の先頭がサービスを提供されると、タイマーは次の最も短いいつまで有効かの時間の値にリセットされる。いつまで有効かの時間の値が期限切れになるときを判断する多くの他のインプリメンテーションを実現することが可能である。この特定のインプリメンテーションは一実施例に過ぎない。
【００２８】
いつまで有効かの時間の値が期限切れにならなかった場合、全ての変換されたＩＰアドレスが現在も有効であるので、方法は終わる。
【００２９】
一方、いつまで有効かの時間の値が期限切れになった場合、処理ロジックは期限切れの変換されたＩＰアドレスがポピュラリティレベル（ｐｏｐｕｌａｒｉｔｙ  ｌｅｖｅｌ）の閾値を上回るポピュラリティレベルを有するかどうか決定する（処理ブロック３０２）。与えられた変換されたＩＰアドレスのポピュラリティレベルは、いかなる一つ以上の可能な基準値（ｍｅｔｒｉｃ）に基づいて算出されてもよい。例えば、現在のブラウザのセッションの間に、特定のＩＰアドレスがアクセスされた純粋な回数は、比較される閾値回数としての基準値となり得る。他の例としては、特定のＩＰアドレスが複数の数のブラウザ・セッションにおいてアクセスされた純粋な数は、基準値であってもよい。複数の数のブラウザ・セッションとは、コンピューティング装置に対するブラウザ・セッションの全ての有効期間であってもよいいし、ごく最近の期間（例えばこの一ヶ月）の内のブラウザ・セッションの数であってもよい。他の複数の基準値の例としては、トップレベルのホストネームの全体のアクセス数（特定のドメイン内のウェブ・ページをアクセスする回数ではなく）閾値と比較することが挙げられる。ポピュラリティ基準を決定する多くの他の例がインプリメントされてもよい。
【００３０】
図３に戻る。ポピュラリティが閾値を上回らない場合、方法は終わる。それ以外の場合として、ポピュラリティが閾値を上回る場合、ＤＮＳキャッシュの処理ロジックは、期限切れのＩＰアドレスに対応するホストネームを再変換するために要求をリモートＤＮＳサーバに送信する（処理ブロック３０４）。次に、ＤＮＳキャッシュは、記憶アレイに変換されたＩＰアドレス、及び新しいいつまで有効かの時間の値の最新版を記憶する（処理ブロック３０６）。そして方法は終わる。
【００３１】
多くの実施例において、ポピュラリティ基準は、また、コンピューティング装置１００の再起動、低電力状態又は電源サイクルによる不揮発性記憶装置スペースに記憶される多くの、変換されたＩＰアドレスのキャッシングを決定するために使用されてもよい。換言すれば、コンピューティング装置１００が完全には動作していないときに、一部の又は多くの変換されたＩＰアドレスが、ポピュラであると判断されれば、いつまで有効かの時間の値とともに電源サイクルの間に記憶され続けてもよい。コンピュータの再起動において、ＤＮＳキャッシュは、全ての記憶アレイに保存された変換されたＩＰアドレスをチェックすることができ、いつまで有効かの時間の値が期限切れのものを再変換するためにリクエスト送信することができる。このことは、コンピューティング装置が動作可能でない時にも、将来においてローカルで利用できるポピュラな変換されたＩＰアドレスを使用することを可能とする。
【００３２】
図１において例示されるデバイス、及びシステムをインプリメントする多くの他の方法が存在する。例えば、図４は、ＤＮＳキャッシュ、及びウェブプロキシをインプリメントした、デバイス及びシステムの他の実施例を例示している。
【００３３】
図４において、コンピューティング装置１００は、ウェブ・ブラウザ１０２、ＤＮＳキャッシュ１２０、及び入出力インターフェース１２６を含むが、ウェブ・プロキシ・ロジックは他の場所に設置されてもよい。例えば、ウェブプロキシは、セントラルサーバに設置されてもよい。セントラルサーバは、ローカルネットワーク４００（すなわちセントラルサーバＡ  ４０４Ａ）上に設置されてもよい。これは、ローカルネットワークと称してもよい。なぜならセントラルサーバは、コンピューティング装置１００が同様に接続される同じネットワーク４００に信号伝達接続されるからである。具体的には、セントラルサーバＡ  ４０４Ａは、コンピューティング装置１００と同様に、ゲートウェイサーバ１０４を介してインターネット上の他のサーバ、及びデバイスと通信する。さらにまた、コンピューティング装置１００、及びセントラルサーバ４０４Ａは、相対的に「ローカル」であると認識しあってもよい。なぜなら、インターネット１０６による通信リンクを必要とせずに各々が通信することができるからである。
【００３４】
あるいは、ウェブプロキシを含んでいる図４のセントラルサーバは、インターネット１０６を介してコンピューティング装置１００によって、遠隔でアクセスされてもよい（すなわちセントラルサーバＢ  ４０４Ｂ）。また、図４で、コンピューティング装置１００は、ワイヤ接続１０８かワイヤレス接続１１０により、ローカルネットワーク４００に信号伝達接続されてもよい。ワイヤレス接続の実施例において、当然のことながら、入出力インターフェース４０２を介して、送受信伝送アンテナ１１４は、ローカルネットワーク４００に接続されることを必要とする。図２Ａ、図２Ｂ、図２Ｃ、及び図３において述べたように、ウェブ・ブラウザ、ＤＮＳキャッシュ、及びウェブプロキシ等の、図４のメインコンポーネントは同じ機能を全て提供する。
【００３５】
図５は、ＤＮＳキャッシュ及びウェブプロキシをインプリメントするデバイス、及びシステムのさらにもう一つの実施例である。
【００３６】
図５において、コンピューティング装置１００は、ウェブ・ブラウザ１０２、及び入出力インターフェース１２６を含むが、ウェブ・プロキシ・ロジック、及びＤＮＳキャッシュは他の場所に設置されてもよい。例えば、ウェブプロキシは、セントラルサーバに設置されてもよい。セントラルサーバは、ローカルネットワーク４００（すなわちセントラルサーバＡ  ５００Ａ）に又は異なる実施例においてインターネット１０６（すなわちセントラルサーバＢ  ５００Ｂ）に信号伝達接続されてもよい。セントラルサーバの位置に係る実施例は、図４によって既に述べたとおりである。図５のＤＮＳキャッシュは、また、セントラルサーバ上に設置される。異なる実施例において、ＤＮＳキャッシュは５０４Ａ、セントラルサーバＡ  ５００Ａに維持され、又は、ＤＮＳキャッシュ５０４ＢはセントラルサーバＢ  ５００Ｂに維持される。また、図４と同様に、ウェブ・ブラウザ、ＤＮＳキャッシュ、及びウェブプロキシを含む図５のメインコンポーネントは、全て図２Ａ、図２Ｂ、図２Ｃ、及び図３において説明したものと同様の機能を提供する。
【００３７】
図６は、モバイル・インターネット接続のためのホストネームのルックアップ待ち時間を減少させるためのウェブプロキシ、及びＤＮＳキャッシュ・ロジックを含むコンピュータシステムの実施例である。
【００３８】
コンピュータシステム６００が示されている。図６のコンピュータシステムは、一般にチップ（ＳｏＣ）レイアウト上のシステムを有する。ＳｏＣレイアウトは、コンピュータシステムの何れのタイプにおいて利用されてもよいが、例えば携帯電話、スマートフォン、及び小さいラップトップコンピュータ（ノートブックコンピューティング装置のような小さいフォームファクタ・コンピューティング装置）に役立つものである。
【００３９】
コンピュータシステム６００は、ＣＰＵ（中央処理装置）６０２を含む。ＳｏＣレイアウトにおいて、単一ＣＰＵを有することが通常であるが、他の実施例においては、示されていない。一つ以上の付加的なＣＰＵがコンピュータシステム６００に設置される。
【００４０】
ＣＰＵ６０２は、Ｉｎｔｅｌ（登録商標）社のもの、あるいは、他のブランドの会社ＣＰＵであってもよい。ＣＰＵ６０２は、一つ以上のコアを含む。図の実施形態では、ＣＰＵ６０２は、Ｃｏｒｅ  Ａ（６０４）、Ｃｏｒｅ  Ｂ（６０６）、Ｃｏｒｅ  Ｃ（６０８）、及びＣｏｒｅ  Ｄ（６１０）を含む。１つのコアだけがコンピュータシステムのオペレーションのために必要とされる。しかし、付加的なコアはワークロードを分配することができ、かつ潜在的に全体のシステム性能を増加させることができる。多くの実施例において、各々のコア（例えばコアＡ（６０４））は、内部機能ブロック（例えば一つ以上の実行ユニット、リタイヤメント装置、一組の汎用及び専用レジスタなど）を含む。図６において示されるコアがマルチスレッドか又はハイパースレッドである場合、各々のハードウェア・スレッドは同様にコアとして考慮されてもよい。
【００４１】
ＣＰＵ６０２はまた、一つ以上のキャッシュを含んでもよい。例えば、最後のレベルのキャッシュ６１２（ＬＬＣ）である。図示されない多くの実施例において、複数の・レベルのキャッシュが各々のコア、及びメモリの実行ユニットの間に存在する。キャッシュ６１２以外の付加的なキャッシュがインプリメントされる。異なる実施例において、キャッシュ６１２は、異なる方法で割り当てられてもよい。キャッシュ６１２は、多くの異なる実施例で異なるサイズであってもよい。例えば、キャッシュ６１２は、８メガバイトの（ＭＢ）キャッシュ、１６ＭＢのキャッシュ、などであってもよい。加えて、異なる実施例で、キャッシュは、他のタイプのマッピングを有する。フルアソシアティブキャッシュ、マルチウエイ・セットアソシアティブキャッシュ、あるいは、その他のマッピングタイプのキャッシュが挙げられる。キャッシュは、全てのコアで共有される１つの大きな部分を含んでもよい。又はいくつかの別の機能スライス（例えば各々のコアのための１つのスライス）に分けられてもよい。キャッシュはまた、全てのコアで共有される１つの部分と、コアにつき別々の機能的なスライスに対する他の部分とを含んでもよい。
【００４２】
多くの実施例において、ＣＰＵ６０２は、システムメモリ６１６によって通信するインターフェースを提供するシステムメモリ・コントローラ６１４を有する。システムメモリ６１６は、ダイナミック・ランダム・アクセス・メモリ（ＤＲＡＭ）（例えば１タイプの二重データレート（ＤＤＲ）ＤＲＡＭ、不揮発性メモリ（例えばフラッシュメモリ）、位相変化メモリ（ＰＣＭ）又は他のタイプの記憶装置技術）を有してもよい。システムメモリ６１６は、データ、及びＣＰＵ６０２によって動作する命令を記憶する汎用メモリであってもよい。加えて、コンピュータシステム６００には、その他のポテンシャルデバイスが存在し得る。システムメモリに読込み及び書込みを行う能力を有するデバイス、例えばダイレクトメモリアクセス（ＤＭＡ）のような−可能なＩ／Ｏ（入出力）デバイスが挙げられる。ＣＰＵ６０２をシステムメモリ６１６に接続するリンク（すなわち、バス、相互接続、その他）としては、一つ以上の光学、金属又はその他のワイヤであって、データ、アドレス、制御、及びクロック情報を伝送するものが挙げられる。ＣＰＵ６０２は、一体化されたグラフィックサブシステム６１８（ディスプレイ装置６２０に表示されるピクセル、頂点、及び幾何学データを計算することが可能である）を含み得る。ＣＰＵ６０２は、加えて、外部デバイスと通信する入出力インターフェースを提供する通信サブシステム６２２を含んでもよい。通信サブシステム６２２は、有線６２４とワイヤレス６２６との両方のインターフェースを含んでもよい。一部の実施例で、有線のインターフェース６２４は、イーサネット（登録商標）互換性を持つインターフェースであってもよい。ワイヤレス・インターフェース６２６（送受信のための一つ以上のアンテナ・コンポーネント）は、いくつかのプロトコルによるワイヤレス通信に関して互換性を持ってもよい。例えば、通信サブシステム６２２のワイヤレス・インターフェース６２６は、ＩＥＥＥ８０２．１１ベースのプロトコル、ブルートゥース・プロトコル、セルラープロトコル、ＷｉＭＡＸプロトコル及び／又は一つ以上の他のワイヤレス・プロトコルで通信してもよい。
【００４３】
ＣＰＵ６０２は、また、大容量記憶装置６３０にインターフェースを提供する記憶コントローラ６２８を含んでもよい。大容量記憶装置６３０は、ハードディスクドライブ、固体ドライブ又は他の大容量記憶域の形式であってもよい。加えて、ＣＰＵ６０２は、また、それぞれ入出力デバイス、例えばＩ／Ｏホストコントローラ６３６、及び６３８をそれぞれ介して、入出力デバイス６３２、及び入出力デバイス６３４へ通信することが可能である。Ｉ／Ｏホストコントローラの各々は、特定のプロトコルによって、ＣＰＵ６０２を一つ以上の入出力デバイスと通信することを可能としてもよい。例えば、１つのＩ／Ｏホストコントローラは、ＣＰＵ６０２と、他の外部のＵＳＢインターフェースと間のＵＳＢポートによるプラグイン通信を可能とするユニバーサルシリアルバス（ＵＳＢ）ホストコントローラであってもよい。最後に、入力インターフェース６４０は、コンピュータシステムを入力装置（例えばキーボード６４２又はマウス６４４）に接続することを可能とする。
【００４４】
図示されない多くの他の実施例において、例えばＳｏＣ設計としての代わりに標準のＣＰＵ／チップセット構成によって、コンピューティング装置１００（図１のアイテム１００）を形成するコンピューティング・システムは、異なる方法でインプリメントされてもよい。
【００４５】
多くの実施キャッシュ・ロジックは、潜在的にウェブ・プロキシ・ロジック、及びＤＮＳキャッシュ・ロジックを含んでおり、以下の位置のいずれに存在してもよい。すなわち、少なくとも一部のロジックが、ソフトウエアでインプリメントされるときには、ロジックはシステムメモリ６１６（ロジック７００）、大容量記憶域６３０（ロジック７０２）、キャッシュ６１２（ロジック７０４）あるいは、潜在的にいかなるコア（図示せず）に存在してもよい。少なくとも一部のロジックがハードウェアにインプリメントされるときには、ロジックはコア（ロジック７０６）の外のＣＰＵ６０２の一般な回路（ｕｎｃｏｒｅ）に存在してもよい。すなわち、システムメモリ・コントローラ６１４（ロジック７０８）内、通信サブシステム６２２（ロジック７１０）内、又は潜在的にいかなるコア（図示せず）内に存在してもよい。さらにまた、図４及び図５に示すように、ウェブ・プロキシ・ロジック、及びＤＮＳキャッシュ・ロジックを潜在的に含み、これらはコンピュータシステム６００の外部のセントラルサーバに設置されてもよい。したがって、
以上、ドメイン・ネーム・システム・ルックアップ待ち時間を減少させるデバイス及びシステムの実施例を記載した。これらの実施例は、その特定の例示的実施形態に関して記載した。この開示から利益を得る者は、開示が本願明細書における記載よりも広い趣旨及び範囲に逸脱することなく、実施例に対しさまざまな変更と改変を行うことができることは明らかである。明細書及び図面は、したがって、実例を示したものであり、限定することを目的とするものではない。
【符号の説明】
【００４６】
１００  コンピューティングデバイス
１０２  ウェブ・ブラウザ
１０４  ゲートウェイサーバ
１０６  インターネット
１０８  インターフェース
１１０  ワイヤレスネットワーク
１１２  インターフェース
１１４  アンテナ
１１８  ウェブプロキシ
１２０  ＤＮＳキャッシュ
１２２  ＤＮＳキャッシュ・ロジック
１２４  記憶装置
１２６  入出力インターフェース
【図１】
0005632053.tif 000002
【図２Ａ】
0005632053.tif 000003
【図２Ｂ】
0005632053.tif 000004
【図２Ｃ】
0005632053.tif 000005
【図３】
0005632053.tif 000006
【図４】
0005632053.tif 000007
【図５】
0005632053.tif 000008
【図６】
0005632053.tif 000009