(57)【要約】      （修正有）【課題】ドメイン名を指定して得られた名前解決結果の一時記憶における記憶容量の浪費を防ぐ通信装置を提供する。【解決手段】通信装置は、ネットワークにおける名前を指定して名前解決を要求し、要求に応じて応答を受信し、名前の長さが所定長以下である場合に、その名前と、その名前に関する応答に含まれる情報とを記憶する。また、名前解決要求の回数を記録し、応答時間を計測して、それぞれが所定回数以上、所定時間以上の場合には、名前の長さが所定長以下でない場合でも、その名前と、その名前に関する応答に含まれる情報とを記憶する。【選択図】図６
2015201798.tif 000002
【特許請求の範囲】
【請求項１】
名前解決手段に対して、ネットワークにおける名前を指定して名前解決を要求する要求手段と、
前記要求に応じて応答を受信する受信手段と、
前記名前の長さが所定長以下である場合に、当該名前と当該名前に関する前記応答に含まれる情報とを記憶する記憶手段と、
を有することを特徴とする通信装置。
【請求項２】
１つの名前に対して、前記要求手段が名前解決を要求した回数を計数する計数手段をさらに有し、
前記記憶手段は、前記回数が所定回数を超えた場合、前記１つの名前の長さによらず、当該１つの名前と当該１つの名前に関する前記応答に含まれる情報とを記憶する、
ことを特徴とする請求項１に記載の通信装置。
【請求項３】
前記回数と前記１つの名前を短縮した情報とを関連付けて保持する保持手段をさらに有する、
ことを特徴とする請求項２に記載の通信装置。
【請求項４】
１つの名前に関して、前記要求手段が名前解決を要求してから前記受信手段が前記応答を受信するまでの時間を計測する計測手段をさらに有し、
前記記憶手段は、前記時間が所定時間長を超えた場合、前記１つの名前の長さによらず、当該１つの名前と当該１つの名前に関する前記応答に含まれる情報とを記憶する、
ことを特徴とする請求項１から３のいずれか１項に記載の通信装置。
【請求項５】
前記記憶手段は、予め登録された名前について、当該名前の長さによらず、当該名前と当該名前に関する前記応答に含まれる情報とを記憶する、
ことを特徴とする請求項１から４のいずれか１項に記載の通信装置。
【請求項６】
前記記憶手段において、名前を記憶するための領域として、前記所定長と記憶可能であるべき名前の数とを乗じたサイズの第１の領域が事前に確保される、
ことを特徴とする請求項１から５のいずれか１項に記載の通信装置。
【請求項７】
前記記憶手段において、前記所定長より長い名前を記憶するための領域として、前記第１の領域と異なる第２の領域が確保される、
ことを特徴とする請求項６に記載の通信装置。
【請求項８】
通信装置の制御方法であって、
要求手段が、名前解決手段に対して、ネットワークにおける名前を指定して名前解決を要求する要求工程と、
受信手段が、前記要求に応じて応答を受信する受信工程と、
記憶手段が、前記名前の長さが所定長以下である場合に、当該名前と当該名前に関する前記応答に含まれる情報とを記憶する記憶工程と、
を有することを特徴とする制御方法。
【請求項９】
コンピュータを請求項１から７のいずれか１項に記載の通信装置が備える各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークにおける名前解決に関する。
【背景技術】
【０００２】
近年、ＴＣＰ／ＩＰ通信機能を有する通信端末が数多く存在する。これらの通信端末が通信を行うためには、ネットワーク上で相手方の装置を識別するために各端末に個別のＩＰアドレスを設定する必要がある。一方、例えば、通信端末を使用するユーザの利便性のため、相手方の装置を特定するのにＩＰアドレスそのものではなく、そのＩＰアドレスに対応するドメイン名が用いられることが多い。ドメイン名が用いられる場合、そのドメイン名に対応するＩＰアドレスが、ＤＮＳ（Ｄｏｍａｉｎ  Ｎａｍｅ  Ｓｙｓｔｅｍ）による名前解決によって特定されて通信に使用されることとなる。
【０００３】
通信端末は、ドメイン名を指定して名前解決を要求した結果得られたＩＰアドレスを、その対応するドメイン名と対応付けてキャッシュ（一時記憶）することができる（非特許文献１参照）。このキャッシュ機能により、通信端末が同じドメイン名について名前解決要求を繰り返すことを防ぎ、名前解決の応答時間を短縮し、又は、ネットワークトラフィックを削減することができる。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】ＲＦＣ  １０３５  ＤＯＭＡＩＮ  ＮＡＭＥＳ  −  ＩＭＰＬＥＭＥＮＴＡＴＩＯＮ  ＡＮＤ  ＳＰＥＣＩＦＩＣＡＴＩＯＮ、［ｏｎｌｉｎｅ］、昭和６２年１１月、［平成２６年３月２８日検索］、インターネット（ＵＲＬ：ｈｔｔｐ：／／ｗｗｗ．ｉｅｔｆ．ｏｒｇ／ｒｆｃ／ｒｆｃ１０３５．ｔｘｔ）
【発明の概要】
【発明が解決しようとする課題】
【０００５】
名前解決の結果をキャッシュするためには、一定のメモリが確保されている必要がある。このとき、メモリ等の資源が限られている組み込み機器では、キャッシュのために動的にメモリを確保してしまうと、処理負荷の増加や他のアプリケーションで使用できる資源が不足する場合がありうる。このため、名前解決結果のキャッシュのために、予め設定されたサイズのメモリを確保しておくことがある。このとき、ドメイン名をキャッシュするために必要なメモリのサイズは、「ドメイン名の最大長（２５５文字）×記憶可能であるべきドメイン名の数」となる。しかし、現実的にはドメイン名が２５５文字あるものは少なく、限られたメモリで動作する組み込み機器において、メモリ資源が浪費される場合があるという課題があった。
【０００６】
本発明は上記課題に鑑みなされたものであり、名前解決結果の一時記憶における記憶容量の浪費を防ぐための技術を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するため、本発明による通信装置は、名前解決手段に対して、ネットワークにおける名前を指定して名前解決を要求する要求手段と、前記要求に応じて応答を受信する受信手段と、前記名前の長さが所定長以下である場合に、当該名前と当該名前に関する前記応答に含まれる情報とを記憶する記憶手段と、を有する。
【発明の効果】
【０００８】
本発明によれば、名前解決結果の一時記憶における記憶容量の浪費を防ぐことができる。
【図面の簡単な説明】
【０００９】
【図１】ネットワーシステムの構成を示す図。
【図２】ＤＮＳクライアントの機能構成例を示すブロック図。
【図３】キャッシュに記憶される内容を示す概念図。
【図４】名前解決の要求回数を管理するためのテーブルを示す図。
【図５】名前解決処理の流れの例を示すフローチャート。
【図６】キャッシュ登録処理の流れの例を示すフローチャート。
【図７】キャッシュ登録処理の流れの別の例を示すフローチャート。
【発明を実施するための形態】
【００１０】
以下、添付図面を参照して本発明の実施の形態を詳細に説明する。なお、以下の実施形態は本発明の説明のためのものであり、本発明が以下の実施形態に限定されるものではない。また、本実施形態で説明されている特徴の組み合わせの全てが本発明に必須のものとは限らない。
【００１１】
（ネットワークシステムの構成）
図１は、本実施形態に係るネットワークシステムの構成例を示す図である。本実施形態に係るネットワークシステムは、ネットワークに接続される各機器のドメイン名などの名前解決を行うドメインネームシステムを構成し、例えば、通信装置であるＤＮＳクライアント１０１、通信の相手装置としてＤＮＳサーバ１０２を含む。なお、ＤＮＳクライアント１０１は、ネットワーク１０３を介してＤＮＳサーバとの通信を行う。
【００１２】
ＤＮＳクライアント１０１は、ＤＮＳサーバ１０２に対して、名前（ドメイン名）を指定して、その名前解決を要求する。すなわち、ＤＮＳクライアント１０１は、例えば「ａａ．ｃｏｍ」というドメイン名を指定して名前解決をＤＮＳサーバ１０２に要求する。ＤＮＳサーバは、この要求に対して、例えば、指定されたドメイン名に関連付けられてデータベースに登録された「１．１．１．１」などのＩＰアドレスを含む情報を、ＤＮＳクライアント１０１に対して送信する。これにより、ＤＮＳクライアント１０１は、指定した「ａａ．ｃｏｍ」に対応するＩＰアドレス「１．１．１．１」を含む情報を受信し、このＩＰアドレスを有する機器にアクセスすることが可能となる。
【００１３】
本実施形態に係るＤＮＳクライアント１０１は、名前解決を要求したドメイン名と、その要求に対するＤＮＳサーバ１０２からの応答、すなわちＩＰアドレスとを、関連付けて、自装置内の例えばＲＡＭ等に一時記憶（キャッシュ）することができる。これにより、一度名前解決がなされた後のドメイン名について、再度の名前解決を行う必要がなくなるため、そのドメイン名に対応する機器への接続を高速化することができる。
【００１４】
ここで、上述の通り、事前にドメイン名とＩＰアドレスとをキャッシュするための記憶領域を確保しておく場合、ドメイン名の最大長（２５５文字）を、記憶可能であるべきドメイン名の数分だけのサイズの記憶領域が確保される。しかしながら、ドメイン名が２５５文字もの長さを有する頻度は高くはないため、この高くない頻度で起こり得る事象のために、多量の記憶領域が使われないまま確保のみされうる、という問題があった。
【００１５】
このため、本実施形態に係るＤＮＳクライアント１０１は、ドメイン名が所定長以下である場合に、そのドメイン名と、ＤＮＳサーバ１０２からの応答に含まれるＩＰアドレスとを関連付けて記憶する。すなわち、ＤＮＳクライアント１０１は、ドメイン名が所定長より長い場合は、基本的にはそのドメイン名を記憶しないようにする。例えば、この所定長を２０文字とすれば、２５５−２０＝２３５文字に、記憶可能であるべきドメイン名の数を乗じた分の記憶領域を節約することができる。
【００１６】
ただし、例えば頻繁にアクセスするドメインについて、そのドメイン名の長さが所定長以下でない、という理由のみでキャッシュしないようにすると、そのドメインに対するアクセスが発生するたびに、ＤＮＳサーバ１０２へのアクセスが発生してしまう。このため、ＤＮＳクライアント１０１は、そのようなドメインについても記憶するようにしてもよい。この場合、ＤＮＳクライアント１０１は、長さが所定長以下でなかったドメイン名のそれぞれについて、名前解決をした回数を記憶しておき、その回数が所定回数を超えた場合に、そのドメイン名と、応答として受け取ったＩＰアドレスとをキャッシュしておく。これにより、頻繁に使用するドメイン名については、その名前の長さによらずキャッシュされるため、ＤＮＳサーバ１０２に対する名前解決の要求が生じないようにすることができる。
【００１７】
同様に、例えば、長さが所定長以下でないあるドメイン名について、名前解決に要する時間が所定時間長を超える場合、そのドメインについての名前解決を再度行うごとに長い時間が必要となることが考えられる。このため、そのようなドメイン名については、その長さによらず、キャッシュしておくことで、名前解決に要する時間を短縮することができる。また、名前解決に要する時間が所定時間長を超える場合であっても、ほとんどそのドメインにアクセスすることがない場合は、キャッシュしておかなくてもよい。すなわち、ＤＮＳクライアント１０１は、例えば、上述のように、名前解決が要求された回数をカウントして、その回数が所定回数以上であると共に、その名前解決に要する時間が所定時間長以上である場合に、そのドメイン名をキャッシュするようにしてもよい。
【００１８】
さらに、ＤＮＳクライアント１０１は、事前に登録されたドメイン名については、その名前の長さによらず、キャッシュするようにしてもよい。これにより、例えば、あるドメインに頻繁にアクセスすることが予め分かっている場合に、上述のような、名前解決の要求回数や、その処理に要する時間によらないで、そのドメイン名をキャッシュしておくことが可能となる。
【００１９】
なお、上述のように、ドメイン名が所定長以下でない場合に、そのドメイン名を記憶する記憶領域は、その長さが所定長以下のドメイン名が記憶される記憶領域とは別に、動的に確保されてもよい。このとき、ＤＮＳクライアント１０１の他の処理等に使用される記憶部が使用されてもよい。所定長以下でないようなドメイン名が発生することは多くないため、ＤＮＳクライアント１０１において、処理負荷の増加や他のアプリケーションで使用する領域が不足する事態は生じにくいと考えられるからである。
【００２０】
以下では、このようなＤＮＳクライアント１０１の構成例と、その処理の流れの例について、詳細に説明する。
【００２１】
（ＤＮＳクライアントの構成例）
図２は、本実施形態に係るＤＮＳクライアント１０１の機能構成例を示すブロック図である。ＤＮＳクライアント１０１は、例えば、名前受付部２０１、名前解決要求部２０２、応答受信部２０３、名前長判定部２０４、記憶制御部２０５及び記憶部２０６を有する。なお、ＤＮＳクライアント１０１は、オプションとして、要求回数計数部２０７、応答時間計測部２０８、事前登録部２０９を有していてもよい。
【００２２】
ＤＮＳクライアント１０１は、アクセス対象のドメインが取得された場合、まず、記憶部２０６にそのドメイン名と対応するＩＰアドレスとが記憶されているかを判定する。この判定において、アクセス対象のドメイン名とＩＰアドレスとが記憶されていない場合、このドメイン名とＩＰアドレスとを記憶する処理が行われる。図２の各機能は、主としてこの処理に関するものである。すなわち、図２には、アクセス対象のドメイン名とＩＰアドレスとが記憶されている場合や名前解決後に行われる、その記憶されているＩＰアドレスを用いて、そのドメインへのアクセスを行う処理についての機能などは示されていない。このように、本実施形態に係るＤＮＳクライアント１０１である通信装置は、図２に示される機能の他に、一般的なＤＮＳクライアント及び通信装置としての機能を有する。ＤＮＳクライアント１０１である通信装置は、その他の、例えば組み込み機器としてのアプリケーションなどを実行する機能をも有してもよい。
【００２３】
名前受付部２０１は、アクセス対象となるドメイン名を受け付ける。名前受付部２０１は、例えば、ＤＮＳクライアント１０１（通信装置）のユーザからのドメイン名の操作入力を受け付け、又は、ＤＮＳクライアント１０１内のアプリケーションからのドメイン名を受け付ける。なお、名前受付部２０１は、受け付けたドメイン名が、すでに記憶部２０６に記憶されているかを判定する機能をも有してもよい。この場合、名前受付部２０１は、受け付けたドメイン名が記憶部２０６に記憶されていない場合に、その受け付けたドメイン名を、名前解決要求部２０２、名前長判定部２０４、及び記憶制御部２０５等に入力する。一方、名前受付部２０１は、受け付けたドメイン名が記憶部２０６に記憶されている場合は、記憶部２０６から、記憶されているＩＰアドレスを取得して、ＤＮＳクライアント１０１の通信を司る機能部へそのＩＰアドレスを出力してもよい。
【００２４】
名前解決要求部２０２は、ＤＮＳサーバ１０２に対して、ドメイン名を指定して名前解決を要求する。名前解決要求部２０２は、例えば、ＤＮＳサーバ１０２に対して名前解決のパケットを送信する。応答受信部２０３は、ＤＮＳサーバ１０２からの、名前解決の要求に対する応答を受信する。なお、この応答には、名前解決要求において指定されたドメイン名に対応するＩＰアドレスの情報が含まれる。取得されたＩＰアドレスの情報は、ＤＮＳクライアント１０１の通信を司る機能部へ出力されると共に、記憶制御部２０５へ出力される。
【００２５】
名前長判定部２０４は、名前受付部２０１で受け付けたドメイン名が、所定長以下であるかを判定する。その判定結果は、記憶制御部２０５へ入力される。名前長判定部２０４は、例えば、所定長を７文字とすると、「ｄｄｄ．ｃｏｍ」は７文字であるため、所定長以下であると判定し、一方で、「ｄｄｄ．ｃｏ．ｊｐ」は９文字であるため、所定長以下でないと判定する。記憶制御部２０５は、名前長判定部２０４の判定結果に応じて、名前受付部２０１で受け付けられたドメイン名の名前長が所定長以下である場合は、そのドメイン名と応答受信部２０３で受信した応答に含まれるＩＰアドレスとを記憶部２０６に記憶させる。すなわち、上述の例では、「ｄｄｄ．ｃｏｍ」については、対応するＩＰアドレスと共に記憶部２０６に記憶させ、「ｄｄｄ．ｃｏ．ｊｐ」については、記憶部２０６に記憶させない。
【００２６】
記憶部２０６は、記憶制御部２０５の制御に応じて、所定長以下の長さのドメイン名とその対応するＩＰアドレスを記憶する。記憶部２０６では、例えば図３に示すように、ドメイン名と、その対応するＩＰアドレスとが記憶される。図３によれば、ドメイン名「ａａ．ｃｏｍ」に対しては、その対応するＩＰアドレスが「１．１．１．１」であることが分かる。同様に、「ｂｂ．ｃｏｍ」「ｃ．ｃｏ．ｊｐ」に対応するＩＰアドレスが、それぞれ「１．１．１．２」「１．１．１．３」であることが分かる。このように、ＤＮＳクライアント１０１の機能を有する通信装置は、この記憶部２０６を参照することにより、それまでに名前解決がなされたドメイン名についてのＩＰアドレスを知ることができ、再度の名前解決を省略することができる。
【００２７】
記憶制御部２０５は、ドメイン名の長さが所定長以下でない場合にも、記憶部２０６に、ドメイン名とその対応するＩＰアドレスとを記憶させてもよい。記憶制御部２０５は、例えば、要求回数計数部２０７で計数された、１つのドメインについての名前解決が行われた回数が所定回数を超えた場合には、その１つのドメインについての情報を記憶部２０６に記憶させてもよい。なお、所定回数は、要求回数計数部２０７において保持されていてもよく、要求回数計数部２０７は、計数した回数が所定回数を超えた場合に、記憶制御部２０５にその旨を通知するように構成されてもよい。
【００２８】
なお、要求回数計数部２０７では、（長さが所定長以下でない）ドメイン名のそれぞれについての、名前解決がなされた回数を記憶するが、このドメイン名をそのまま記憶するのでは、この回数の記憶自体が記憶容量を浪費してしまう場合がある。このため、要求回数計数部２０７は、ドメイン名をキーとして求めたハッシュ値を、ドメイン名に代えて用いて、そのドメイン名に対応する名前解決の要求回数を記憶する。要求回数計数部２０７は、例えば、図４に示すように、要求回数が計数されるドメイン名を、ハッシュ値を用いて短縮して保持すると共に、それに対応する、名前解決の要求回数を関連付けて保持する。なお、ここではハッシュ値を用いているが、ドメイン名が短縮されながらも、どのドメインがどの値に対応するかを識別できるような値であれば、どのようなものが用いられてもよい。
【００２９】
また、記憶制御部２０５は、応答時間計測部２０８が計測した、あるドメインについて名前解決を要求してからその要求に対する応答を受信するまでの時間が所定時間長を超えた場合、そのドメインについての情報を記憶部２０６に記憶させてもよい。このとき、応答時間計測部２０８は、この所定時間長の情報を保持していてもよい。すなわち、応答時間計測部２０８は、あるドメインについて、要求があってから応答を受信するまでの時間が、保持している所定時間長を超えた場合に、記憶制御部２０５にその旨を通知するように構成されてもよい。なお、応答時間計測部２０８は、例えば、名前解決要求部２０２が名前解決のためのパケットを送信してから、応答受信部２０３においてそのパケットに対する応答を受信するまでの時間を計測する。
【００３０】
さらに、記憶制御部２０５は、事前登録部２０９において事前登録されたドメイン名については、そのドメイン名の長さが所定長以下でなくとも、そのドメインについての情報を記憶部２０６に記憶させてもよい。なお、このドメイン名の事前登録は、例えばＤＮＳクライアント１０１の機能を有する通信装置の出荷前、名前受付部２０１において、ユーザからの特別の指示があった場合など、様々な状況においてなされうる。
【００３１】
なお、記憶部２０６では、例えば、ドメイン名の長さの基準である所定長に、記憶可能であるべきドメイン名の数を乗じたサイズの記憶領域が、ドメイン名の記憶のために事前に確保される。例えば、所定長が７文字であり、記憶可能であるべきドメインの数が１００個である場合は、７００文字分の記憶領域が事前に確保される。なお、記憶部２０６では、ドメイン名の長さが所定長以下でないドメインについては、ドメイン名の長さが所定長以下であるドメイン名が記憶される領域とは異なる記憶領域が動的に確保されてもよい。すなわち、ドメイン名の長さが所定長以下のドメインと、所定長より長いドメインとが、記憶部２０６の異なる記憶領域に記憶されてもよい。なお、ドメイン名の長さが所定長以下でないドメイン名について記憶する記憶領域を静的に用意しておいてもよい。例えば、所定長以下のドメイン名を記憶するための、所定長×記憶可能であるべきドメイン名の数分のサイズの記憶領域に加えて、２５５文字分のドメイン名を所定数分だけ記憶するための記憶領域が予め用意されてもよい。この場合でも、全てのドメイン名記憶のための領域を２５５文字分のサイズで用意するよりは、記憶容量の浪費を抑える効果を得ることができる。
【００３２】
（ＤＮＳクライアントの処理例）
続いて、ＤＮＳクライアント１０１が実行する処理の流れについて説明する。図５は、本実施形態に係るＤＮＳクライアント１０１における名前解決処理の流れを示すフローチャートである。
【００３３】
ＤＮＳクライアント１０１は、まず、名前受付部２０１において、アクセス対象となるドメイン名を受け付け（Ｓ５０１）、そのドメイン名が記憶部２０６にキャッシュされているかを判定する（Ｓ５０２）。そして、ＤＮＳクライアント１０１は、受け付けられたドメイン名がキャッシュされている場合（Ｓ５０２でＹＥＳ）は、キャッシュされているＩＰアドレスを出力して（Ｓ５０６）、そのまま処理を終了する。その後、ＤＮＳクライアント１０１の機能を有する通信装置は、出力されたＩＰアドレスを利用してそのドメインへアクセスする。
【００３４】
一方、ＤＮＳクライアント１０１は、ドメイン名がキャッシュされていなかった場合（Ｓ５０２でＮＯ）は、名前解決要求部２０２において名前解決を要求するパケットを送信し（Ｓ５０３）、応答受信部２０３においてその応答を受信する（Ｓ５０４）。そして、ＤＮＳクライアント１０１は、受け付けられたドメイン名と応答に含まれるＩＰアドレスとについて、キャッシュ登録処理を行う（Ｓ５０５）。その後、ＤＮＳクライアント１０１は、その応答に含まれるＩＰアドレスを出力して（Ｓ５０６）、処理を終了する。その後、ＤＮＳクライアント１０１の機能を有する通信装置は、出力されたＩＰアドレスを利用してそのドメインへアクセスする。
【００３５】
キャッシュ登録処理の一例について、図６を用いて説明する。本処理は、記憶制御部２０５において実行される。記憶制御部２０５は、受け付けられたドメイン名の長さが所定長を超えるかを判定する（Ｓ６０１）。そして、受け付けられたドメイン名の長さが所定長を超える場合は（Ｓ６０１でＹＥＳ）、そのドメイン名と対応するＩＰアドレスとをキャッシュに登録することなく処理を終了する。一方、受け付けられたドメイン名の長さが所定長以下である場合は（Ｓ６０１でＮＯ）、そのドメイン名と対応するＩＰアドレスとをキャッシュに登録する（Ｓ６０２）。すなわち、上述のように、例えば所定長が７文字である場合に、「ｄｄｄ．ｃｏｍ」がアクセス対象として受け付けられた場合は、このドメイン名は７文字であり、所定長以下であるため、その対応するＩＰアドレスと共に記憶部２０６に記憶させる。例えば、対応するＩＰアドレスが「２．２．２．２」である場合は、図３のように、ドメイン名「ｄｄｄ．ｃｏｍ」とＩＰアドレス「２．２．２．２」とが対応付けられて記憶される。一方、アクセス対象として受け付けられたドメイン名が「ｄｄｄ．ｃｏ．ｊｐ」である場合は、このドメイン名は９文字であり、所定長を超えるため、記憶制御部２０５は、このドメイン名については記憶部２０６に記憶させない。
【００３６】
なお、上述の通り、ドメイン名が所定長を超える場合であっても、そのドメイン名が記憶される場合があってもよい。その場合の記憶制御部２０５が実行するキャッシュ登録処理の流れの例を、図７に示す。
【００３７】
図７の例では、記憶制御部２０５は、受け付けられたドメイン名の長さが所定長を超える場合（Ｓ６０１でＹＥＳ）に、続いて、そのドメイン名について、名前解決が要求された回数が所定回数を超えたかを判定する（Ｓ７０１）。なお、要求回数計数部２０７が、要求回数が所定回数を超えた場合に通知を行うように構成されている場合は、記憶制御部２０５は、その通知を受け取ったかを判定するようにしてもよい。そして、記憶制御部２０５は、名前解決の要求回数が所定回数を超えた場合（Ｓ７０１でＹＥＳ）、例えば記憶部２０６において動的に記憶領域を確保し（Ｓ７０４）、アクセス対象のドメイン名と、対応するＩＰアドレスとをキャッシュに登録する（Ｓ６０２）。
【００３８】
一方、記憶制御部２０５は、名前解決の要求回数が所定回数以下である場合は、続いて、名前解決が要求されてから応答が受信されるまでの応答時間が所定時間長を超えるかを判定する（Ｓ７０２）。なお、応答時間計測部２０８が、応答時間が所定時間長を超えた場合に通知を行うように構成されている場合は、記憶制御部２０５は、その通知を受け取ったかを判定するようにしてもよい。そして、記憶制御部２０５は、名前解決の要求から応答までに要した時間が所定時間長を超えた場合（Ｓ７０２でＹＥＳ）、記憶領域を動的に確保して（Ｓ７０４）、アクセス対象のドメイン名と、対応するＩＰアドレスとをキャッシュに登録する（Ｓ６０２）。
【００３９】
記憶制御部２０５は、名前解決の要求から応答までに要した時間が所定時間長以下であった場合（Ｓ７０２でＮＯ）は、続いて、アクセス対象のドメイン名が、事前登録部２０９において事前登録されているかを確認する（Ｓ７０３）。そして、記憶制御部２０５は、アクセス対象のドメイン名が事前登録されている場合（Ｓ７０３でＹＥＳ）は、記憶領域を動的に確保して（Ｓ７０４）、アクセス対象のドメイン名と、対応するＩＰアドレスとをキャッシュに登録する（Ｓ６０２）。一方、記憶制御部２０５は、アクセス対象のドメイン名が事前登録されていない場合（Ｓ７０３でＮＯ）は、そのドメイン名と、対応するＩＰアドレスとをキャッシュに登録せずに処理を終了する。
【００４０】
なお、図７の例におけるＳ７０１〜Ｓ７０３の各処理は、いずれか１つ又は２つのみが行われてもよく、また、その順序についてもどのような順序であってもよい。すなわち、Ｓ７０１の判定のみが行われ、名前解決の要求回数が所定回数以下のドメイン名については、キャッシュに登録しないように制御してもよい。同様に、Ｓ７０２の判定のみ、又はＳ７０３の判定のみが行われてもよく、また、Ｓ７０１とＳ７０２、Ｓ７０１とＳ７０３、又はＳ７０２とＳ７０３の２つの判定のみが行われてもよい。さらに、例えば、Ｓ７０３の判定が、Ｓ７０１及びＳ７０２より先に行われてもよいし、Ｓ７０２の判定がＳ７０１及びＳ７０３の判定より先に行われてもよい。
【００４１】
また、Ｓ７０２の判定は、Ｓ７０１の判定において、名前解決の要求が所定回数を超える回数だけ行われたと判定された場合に行われてもよい。また、名前解決の要求回数が第１の所定回数を超えた場合にはＳ７０２の判定が行われずにドメイン名がキャッシュされ、要求回数が第１の所定回数以下だが、第２の所定回数（＜第１の所定回数）を超える場合はＳ７０２の判定が行われるようにしてもよい。そして、これらの場合、要求から応答までの時間が所定時間長を超える場合に、そのドメイン名（及び対応するＩＰアドレス）がキャッシュされる。
【００４２】
また、逆に、Ｓ７０２の判定の結果、名前解決の要求から応答までの時間が所定時間長を超える場合に、Ｓ７０１の判定が行われてもよい。すなわち、応答を得るまでの時間が所定時間長を超えるドメイン名に限り、その名前解決の要求の回数を計数し、その回数が所定回数を超える場合にキャッシュされるようにしてもよい。なお、上述の場合と同様に、応答を得るまでの時間が第１の所定時間長を超える場合は、要求回数の判定を行わずに、キャッシュにドメイン名を登録してもよい。そして、その時間が第１の所定時間長未満であるが第２の所定時間長（＜第１の所定時間長）を超える場合に、名前解決の要求回数の判定を行ってもよい。
【００４３】
このように、本実施形態によれば、ＤＮＳクライアントは、各ドメインについて、ドメイン名についての上述の所定長の分だけメモリを確保し、その所定長以下の長さのドメイン名とその対応するＩＰアドレスのみをキャッシュする。これにより、ＤＮＳクライアントは、名前解決結果の一時記憶における記憶容量の浪費を防ぐことができる。また、所定長を超える長さのドメイン名についても、例えばアクセス頻度が高いドメイン、名前解決に長い時間がかかるドメイン、又は事前登録されたドメインについては、記憶されるようにすることで、名前解決の効率を改善することができる。すなわち、不必要に名前解決の要求が出されることを防ぎ、システム全体としての名前解決に関する通信リソースなどの資源の浪費を防ぐことができる。
【００４４】
＜＜その他の実施形態＞＞
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【符号の説明】
【００４５】
２０２：名前解決要求部、２０３：応答受信部、２０４：名前長判定部、２０５：記憶制御部、２０６：記憶部
【図１】
2015201798.tif 000003
【図２】
2015201798.tif 000004
【図３】
2015201798.tif 000005
【図４】
2015201798.tif 000006
【図５】
2015201798.tif 000007
【図６】
2015201798.tif 000008
【図７】
2015201798.tif 000009