(57)【要約】【課題】ＤＮＳサーバにかかる負荷を軽減することができる負荷分散装置および負荷軽減方法を提供すること【解決手段】本発明にかかる負荷軽減装置は、通信網９とＤＮＳサーバ８間に設けられる。ＤＮＳサーバ８の負荷を軽減する負荷軽減装置７であって、問い合わせ情報と回答情報を関連付けて記憶するデータベース７２と、ＤＮＳサーバ８に対して送信された問い合わせ情報を受信した場合に、データベース７２に当該問い合わせ情報に対応する回答情報があるときは、当該回答情報を問い合わせ元に対して送信し、データベース７２に当該問い合わせ情報に対応する回答情報がないときは、当該問い合わせ情報をＤＮＳサーバ８に対して転送する問い合わせ処理部７１を備えたものである。【選択図】図１
2010141471.tif 000002
【特許請求の範囲】
【請求項１】
通信網とＤＮＳサーバ間に設けられ、前記ＤＮＳサーバの負荷を軽減する負荷軽減装置であって、
問い合わせ情報と回答情報を関連付けて記憶するデータベースと、
前記ＤＮＳサーバに対して送信された問い合わせ情報を受信した場合に、前記データベースに当該問い合わせ情報に対応する回答情報があるときは、当該回答情報を問い合わせ元に対して送信し、前記データベースに当該問い合わせ情報に対応する回答情報がないときは、当該問い合わせ情報を前記ＤＮＳサーバに対して転送する問い合わせ処理部を備えた負荷軽減装置。
【請求項２】
前記データベースは、さらに前記問い合わせ情報および前記回答情報が記憶された登録時間を、当該情報に関連付けて記憶し、
前記問い合わせ処理部は、前記データベースに前記問い合わせ情報に対応する回答情報があるときであっても、当該回答情報に関連付けられた登録時間から所定の時間が経過している場合には、前記問い合わせ情報を前記ＤＮＳサーバに対して転送する請求項１に記載の負荷軽減装置。
【請求項３】
前記問い合わせ処理部は、前記ＤＮＳサーバから問い合わせ元に対して送信された前記問い合わせ情報および前記回答情報を受信した場合に、当該問い合わせ情報および回答情報を前記データベースに記憶する請求項１又は２に記載の負荷軽減装置。
【請求項４】
前記負荷軽減装置は、ハッシュ値を算出するハッシュ処理部をさらに備え、
前記問い合わせ処理部は、前記ＤＮＳサーバから前記回答情報とともに受信した問い合わせ情報に基づいて前記ハッシュ処理部が算出したハッシュ値が示す前記データベースの位置に、当該問い合わせ情報に対応する回答情報を記憶するとともに、前記ＤＮＳサーバに対して送信された問い合わせ情報に基づいて前記ハッシュ処理部が算出したハッシュ値が示す前記データベースの位置に記憶されている回答情報を問い合わせ元に対して送信する請求項３に記載の負荷軽減装置。
【請求項５】
前記問い合わせ処理部は、前記ＤＮＳサーバに対して送信された問い合わせ情報と、当該問い合わせ情報に基づいて前記ハッシュ処理部が算出したハッシュ値が示す前記データベースの位置に記憶されている回答情報に関連付けられた問い合わせ情報が一致しない場合には、前記問い合わせ情報を前記ＤＮＳサーバに対して転送する請求項５に記載の負荷軽減装置。
【請求項６】
前記負荷軽減装置が備える各部における処理をハードウェアにより実装したことを特徴とする請求項１乃至５のいずれかに記載の負荷軽減装置。
【請求項７】
前記負荷軽減装置が備える各部における処理をパイプライン処理することを特徴とする請求項１乃至６のいずれかに記載の負荷軽減装置。
【請求項８】
通信網とＤＮＳサーバ間に送信される情報を制御することによって、前記ＤＮＳサーバの負荷を軽減する負荷軽減方法であって、
問い合わせ情報と回答情報を関連付けて記憶するステップと、
前記ＤＮＳサーバに対して送信された問い合わせ情報を取得するステップと、
当該問い合わせ情報に対応する回答情報が記憶されているときは、当該回答情報を問い合わせ元に対して送信するステップと、
当該問い合わせ情報に対応する回答情報が記憶されていないときは、当該問い合わせ情報を前記ＤＮＳサーバに対して転送するステップを備えた負荷軽減方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、負荷軽減装置および負荷軽減方法に関する。
【背景技術】
【０００２】
インターネットにおいて、ＰＣ（Personal computer）から特定のサーバにアクセスする場合、まず、このサーバのドメイン名を含めた問い合わせパケットをＤＮＳ（Domain Name System）サーバに送信する。ＤＮＳサーバは、ドメイン名に対応するＩＰ（Internet Protocol）アドレスが含まれた回答パケットをＰＣに送信する。ＰＣは、取得したＩＰアドレスを使用することによって、特定のサーバへのアクセスを可能としている。
一方、ＤＮＳサーバには、上述のような問い合わせが、インターネットに接続された複数のＰＣから集中するため、負荷がかかってしまうという問題がある。
【０００３】
このような負荷を分散する技術について、図４を用いて説明する。図４は、大量に送信されてくる問い合わせパケットを負荷分散装置５０が複数のＤＮＳサーバ５１、５２、５３，５４に分散して送信することによって、負荷を分散して、１台のＤＮＳサーバにかかる負荷を軽減することができる。
しかし、かかる負荷分散技術において、問い合わせパケットの増加に対応するには、ＤＮＳサーバを増設しなければならないという問題がある。
【０００４】
なお、特許文献１には、ハッシュ値を用いて、検索時間の短縮を図る技術が開示されている。
また、特許文献２には、ＩＰアドレスのレコードデータを、そのＴＴＬ（Time To Alive）の値が０となってもＤＮＳキャッシュから削除せずに残しておき、ＤＮＳサーバへの問い合わせが失敗した場合に、残しておいたレコードデータを利用する技術が開示されている。
【特許文献１】特開平５−１４３６４８号公報
【特許文献２】特開２００６−２８７４１６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
背景技術として説明したように、ＤＮＳサーバには負荷がかかってしまうという問題がある。
【０００６】
本発明の目的は、上述したような課題を解決するためになされたものであり、ＤＮＳサーバにかかる負荷を軽減することができる負荷分散装置および負荷軽減方法を提供することにある。
【課題を解決するための手段】
【０００７】
本発明にかかる負荷軽減装置は、通信網とＤＮＳサーバ間に設けられ、前記ＤＮＳサーバの負荷を軽減する負荷軽減装置であって、問い合わせ情報と回答情報を関連付けて記憶するデータベースと、前記ＤＮＳサーバに対して送信された問い合わせ情報を受信した場合に、前記データベースに当該問い合わせ情報に対応する回答情報があるときは、当該回答情報を問い合わせ元に対して送信し、前記データベースに当該問い合わせ情報に対応する回答情報がないときは、当該問い合わせ情報を前記ＤＮＳサーバに対して転送する問い合わせ処理部を備えたものである。
【発明の効果】
【０００８】
本発明により、ＤＮＳサーバにかかる負荷を軽減することができる負荷軽減装置および負荷軽減方法を提供することができる。
【発明を実施するための最良の形態】
【０００９】
以下、本発明の実施の形態について、図面を参照しながら説明する。
図１は、本発明の実施の形態にかかる負荷軽減装置の概要を示すブロック図である。
負荷軽減装置７は、問い合わせ処理部７１及びデータベース７２を備える。負荷軽減装置７は、ＤＮＳサーバ８と、インターネットや電話回線網などの通信網９に接続されている。また、負荷軽減装置７は、ＤＮＳサーバ８と通信網９との間に設けられている。
問い合わせ処理部７１は、ＤＮＳサーバ８と通信網９との間に送信される情報を処理する。
データベース７２は、問い合わせ情報と回答情報を関連付けて記憶する。
【００１０】
続いて、図１に示す負荷軽減装置の処理について説明する。
まず、通信網９からＤＮＳサーバ８に対して問い合わせ情報が送信されたときに、負荷軽減装置７は、この問い合わせ情報を取得する。
次に、負荷軽減装置７の問い合わせ処理部７１は、取得した問い合わせ情報に対応する回答情報がデータベース７２にあるかどうかを判断する。
問い合わせ処理部７１は、データベース７２に回答情報があるときは、この回答情報を問い合わせ元に対して送信する。
問い合わせ処理部７１は、データベース７２に回答情報がないときは、取得した問い合わせ情報をＤＮＳサーバ２に対して転送する。
【００１１】
続いて、負荷軽減装置の詳細について説明する。
図２は、本発明の実施の形態にかかる負荷軽減装置の詳細を示すブロック図である。
負荷軽減装置１は、Ｃｕｓｔｏｍｉｚｅｄ ＬＳＩ（Large Scale Integration）１１、データベース１２及びイーサ制御ＬＳＩ１３を含む。負荷軽減装置１は、ＤＮＳサーバ２とインターネット３に接続されている。また、負荷軽減装置１は、ＤＮＳサーバ２とインターネット３との間に設けられている。
ＤＮＳサーバ２とインターネット３との間には、任意のパケットが送信されている。このパケットには、ＰＣもしくはサーバ等の情報処理装置からインターネット３を介して、ＤＮＳサーバ２に対して送信される問い合わせパケットやＤＮＳサーバ２から問い合わせパケットの送信元の情報処理装置に対して送信される回答パケットが含まれる。
【００１２】
ここで、問い合わせパケットとは、ＩＰヘッダ、ＵＤＰヘッダ及び問い合わせ情報などが含まれる情報である。
また、回答パケットには、ＩＰヘッダ、ＵＤＰヘッダ、問い合わせ情報およびその回答情報などが含まれる情報である。
問い合わせ情報とは、ドメイン名や問い合わせの種類を指定するタイプ等を含む情報である。タイプには、例えば、ドメイン名に対応するＩＰアドレスの問い合わせか、ネームサーバ名の問い合わせか等が指定される。
回答情報とは、問い合わせ情報に対する回答となる情報である。例えば、問い合わせ情報に含まれていたドメイン名に対応するＩＰアドレスやネームサーバ名等を含む情報である。
【００１３】
なお、問い合わせ情報および回答情報には、上述した例に限られず、ＤＮＳサーバに問い合わせされる情報およびそれに対して回答される情報であればどのような情報であってもよい。例えば、上述したドメイン名からＩＰアドレスを問い合わせる等の正引きではなく、ＩＰアドレスからドメイン名を問い合わせる逆引きの場合も含まれる。
【００１４】
負荷軽減装置１は、情報処理装置からインターネット３を経由してＤＮＳサーバ２に対して送信され、問い合わせ情報を含む問い合わせパケットを受信する。そして、受信した問い合わせパケットに対して回答ができる場合は、回答情報を含めた回答パケットを問い合わせパケットの送信元に対してインターネット３に送信する。回答ができない場合は、問い合わせパケットをＤＮＳサーバ２に対して転送する。
また、負荷軽減装置１は、ＤＮＳサーバ２から問い合わせパケットの送信元に対して送信された回答パケットを受信する。そして、受信した回答パケットに含まれる問い合わせ情報、回答情報およびこれらの情報を記憶する時間を示す登録時間を、それぞれ関連付けてデータベース１２に記憶し、回答パケットをそのまま問い合わせパケットの送信元に対してインターネット３に送信する。これにより、次に同じ内容の問い合わせパケットが送信されてきたときに、回答ができるようにする。
【００１５】
Ｃｕｓｔｏｍｉｚｅｄ  ＬＳＩ１１は、ＲＣＶ処理部１１１、ＨＡＳＨ処理部１１２、ＡＤＤＩＴＩＯＮ処理部１１３及びＳＥＮＤ処理部１１４を含む。
ＲＣＶ処理部１１１は、取得したパケットの内容から、このパケットの種別を判断する処理を行う。
ＨＡＳＨ処理部１１２は、問い合わせ情報に基づいて、ハッシュ値を算出する処理を行う。ＨＡＳＨ処理部１１２は、ハッシュ処理部として機能する。
ＡＤＤＩＴＩＯＮ処理部１１３は、受信した問い合わせパケットに含まれる問い合わせ情報に対応する回答情報がデータベース１２にある場合は、この回答情報をデータベース１２から取得する処理を行う。また、受信した回答パケットに含まれる問い合わせ情報および回答情報をデータベース１２に記憶する処理を行う。
ＳＥＮＤ処理部１１４は、パケットに含まれるＩＰヘッダ及びＵＤＰ（User Datagram Protocol）ヘッダの内容を変更する処理を行う。
なお、上述したＣｕｓｔｏｍｉｚｅｄ  ＬＳＩ１１に含まれる各部の処理は、ＬＳＩにおける処理としてハードウェアにより実装されている。
【００１６】
データベース１２は、問い合わせ情報と、それに対応する回答情報を関連付けて記憶する。データベース１２は、例えば、メモリのような記憶手段により構成される。
イーサ制御ＬＳＩ１３は、ＤＮＳサーバ２とインターネット３との間に送信されるパケットを受信する。また、問い合わせパケットの送信元に対するパケットの送信およびＤＮＳサーバ２に対するパケットの送信を行う。
Ｃｕｓｔｏｍｉｚｅｄ ＬＳＩ１１のＡＤＤＩＴＩＯＮ処理部１１３及びイーサ制御部ＬＳＩ１３は、問い合わせ処理部として機能する。
【００１７】
続いて、負荷軽減装置１の処理について、図３に示すフローチャートを用いて説明する。
まず、イーサ制御ＬＳＩ１３は、ＤＮＳサーバ２とインターネット３との間に送信されるパケットを受信する。そして、受信したパケットに負荷軽減装置１内部における処理に用いる情報を格納するヘッダを付加する（Ｓ３０１）。そして、ヘッダを付加したパケットをＣｕｓｔｏｍｉｚｅｄ ＬＳＩ１１に出力する。
【００１８】
次に、Ｃｕｓｔｏｍｉｚｅｄ ＬＳＩ１１のＲＣＶ処理部１１１は、イーサ制御ＬＳＩ１３から出力されたパケットを取得し、取得したパケットの内容から、問い合わせパケットか、回答パケットか、それら以外のそのままＤＮＳサーバ２もしくはインターネット３に対して転送するパケットであるのかどうかを判断する。そして、いずれの情報であるかを示すパケット種別情報をパケットのヘッダに格納する（Ｓ３０２）。
【００１９】
次に、ＨＡＳＨ処理部１１２は、パケット種別情報が問い合わせパケット又は回答パケットを示している場合は、パケットに含まれる問い合わせ情報に基づいて、任意のハッシュ関数を用いて、ハッシュ値を算出し、パケットのヘッダに格納する（Ｓ３０３、Ｓ３０４）。
なお、このハッシュ値は、データベース１２の回答情報の記憶されているアドレスを示す情報となる。つまり、パケットが問い合わせパケットの場合は、この問い合わせパケットに含まれる問い合わせ情報に対応する回答情報と、この回答情報に関連付けられた問い合わせ情報および登録時間が記憶されているデータベース１２のアドレスを示す情報となる。また、パケットが回答パケットの場合は、この回答パケットに含まれる問い合わせ情報、回答情報および登録時間を記憶するアドレスを示す情報となる。
【００２０】
次に、ＡＤＤＩＴＩＯＮ処理部１１３は、パケット種別情報が問い合わせパケットを示している場合は、ヘッダに格納されているハッシュ値が示すアドレスに記憶されている問い合わせ情報、回答情報および登録情報をデータベース１２から取得する（Ｓ３０５、Ｓ３０６）。
そして、ＡＤＤＩＴＩＯＮ処理部１１３は、パケットに含まれる問い合わせ情報と、データベース１２から取得した問い合わせ情報が一致すると判断し、かつ、登録時間から所定の時間を経過していないと判断した場合は、パケットに回答情報を格納する（Ｓ３０７、Ｓ３０８、Ｓ３０９）。
【００２１】
このように、問い合わせ情報の一致を確認することにより、ハッシュ値が同一であるが問い合わせ情報が異なり、データベース１２に記憶されている回答情報がパケットに含まれる問い合わせ情報と対応していない場合や、問い合わせ情報および回答情報がデータベース１２に記憶されていない場合に、誤った回答情報を回答しないようにすることができる。なお、データベース１２にＮＵＬＬ等の任意の初期値を記憶しておくことにより、問い合わせ情報および回答情報がデータベース１２に記憶されていない場合を上述のように検出することができる。
【００２２】
次に、ＳＥＮＤ処理部１１４は、パケットに回答情報を格納した場合は、パケットに含まれるＵＤＰヘッダのポート番号や、ＩＰヘッダのＩＰアドレス情報を問い合わせパケット送信元の情報処理装置が受信できるように変更する（Ｓ３１０）。ここまでのＳ３０９、Ｓ３１０における処理により、問い合わせパケットに回答情報を格納し、ＵＤＰヘッダ及びＩＰヘッダの内容を問い合わせパケットの送信元に対して送信する変更することによって、回答パケットが生成される。
【００２３】
一方、ＡＤＤＩＴＩＯＮ処理部１１３は、パケット種別情報が回答パケットを示している場合は、パケットに含まれる問い合わせ情報、回答情報および登録時間を、データベース１２のハッシュ値が示すアドレスに記憶する（Ｓ３１１、Ｓ３１２）。
【００２４】
そして、ＳＥＮＤ処理部１１４は、パケットをイーサ制御ＬＳＩ１３に出力する。このパケットは、ＤＮＳサーバ２から送信されてきて、データベース１２へ情報を記憶する元となった回答パケット、ステップＳ３１０までの処理により生成した回答パケット、又はステップＳ３０２において、そのまま転送すると判断されたパケットのいずれかとなる。
次に、イーサ制御ＬＳＩ１３は、Ｃｕｓｔｏｍｉｚｅｄ ＬＳＩ１１から出力されたパケットを取得し、取得したパケットからステップＳ３０１において付加したヘッダを削除して、ＤＮＳサーバ２又はインターネット３に送信する（Ｓ３１４）。
【００２５】
なお、上述したＣｕｓｔｏｍｉｚｅｄ  ＬＳＩ１１に含まれる各処理部の処理は、パイプライン処理を行うことができる。ここで、本実施の形態において、パイプライン処理とは、上述した各処理部においてパケットの全てのデータを取得する前に、順次処理を実行することができる処理をいう。
例えば、ＲＣＶ処理部１１１において、イーサ制御ＬＳＩ１３から出力されるパケットのデータを先頭データから順次取得している場合に、パケット種別情報を判断できるところまでのデータを取得したら、ステップＳ３０２における処理を実行することができる。
その他に、例えば、ＨＡＳＨ処理部１１２において、ＲＣＶ処理部１１１から出力されるパケットのデータを先頭データから順次取得している場合に、ヘッダのパケット種別情報までのデータを取得したら、ステップＳ３０３、３０４における処理を実行することができる。
これにより、上述した各部は、パケットのデータサイズよりも少ない記憶手段を有していても、処理が可能である。
【００２６】
また、本実施の形態におけるパイプライン処理は、パケットに対して上述した各処理部のうちのある処理部がパケットに対して処理を実行している場合に、その処理部の前処理を行う処理部において、次のパケットの処理を開始することもできる。例えば、あるパケットに対してＨＡＳＨ処理部１１２における処理を実行しているときに、次のパケットに対してＲＣＶ処理部１１１による処理を実行することができる。
【００２７】
以上に説明したように、本実施の形態にかかる負荷軽減装置によれば、ＤＮＳサーバに対して送信された問い合わせパケットを受信した場合に、データベースに問い合わせパケットに含まれる問い合わせ情報に対応する回答情報があるときは、この回答情報を含む回答パケットを問い合わせ元に対して送信することができるため、ＤＮＳサーバの負荷を軽減することができる。
【００２８】
また、負荷軽減装置における処理は、ハードウェアにより実装し、パイプライン処理を実行するため、ソフトウェアによる実装と比較しても非常に早く処理を実行することができ、大量の問い合わせに対しても負荷分散装置や複数のＤＮＳサーバを用いずに、１台の負荷軽減装置によって対応することができる。例えば、光ファイバーにおける通信速度によって、連続的にパケットが送信されてきたとしても、パケットをストアすることなく処理が可能である。
【００２９】
さらに、問い合わせ情報に基づいて算出したハッシュ値が示すデータベースの位置に、問い合わせ情報に対応する回答情報を記憶しているため、データベースから回答情報を検索する必要がなくなる。これにより、検索する場合と比べて回答情報をより早く取得して、回答することができる。このとき、問い合わせパケットに含まれる問い合わせ情報と、データベースに記憶されている問い合わせ情報を比較することにより、正確な回答情報を回答することができる。
【００３０】
その他に、ＤＮＳサーバから問い合わせ元に対して送信された回答パケットを受信し、この回答パケットに含まれる問い合わせ情報および回答情報をデータベースに記憶しているため、データベースに対する情報の登録を自動的に行うことができ、手動によって行う必要がない。
【００３１】
また、データベースに問い合わせパケットに含まれる問い合わせ情報に対応する回答情報があるときであっても、回答情報に関連付けられた登録時間から所定の時間が経過している場合には、この回答情報によって回答せずに、問い合わせパケットをＤＮＳサーバに転送する。これにより、ＤＮＳサーバにおいて、回答情報が新しく更新されていた場合に、古く、誤った回答情報を回答しないようにすることができる。
【図面の簡単な説明】
【００３２】
【図１】本発明の実施の形態にかかる負荷軽減装置の概要を示す図である。
【図２】本発明の実施の形態にかかる負荷軽減装置の詳細を示す図である。
【図３】本発明の実施の形態にかかる負荷軽減装置の処理を示すフローチャートである。
【図４】ＤＮＳサーバの負荷を分散する技術を説明するための図である。
【符号の説明】
【００３３】
１、７    負荷軽減装置
２、８    ＤＮＳサーバ
３    インターネット
９    通信網
１１    Ｃｕｓｔｏｍｉｚｅｄ ＬＳＩ
１２、７２    データベース
１３    イーサ制御ＬＳＩ
７１    問い合わせ処理部
１１１    ＲＣＶ処理部
１１２    ＨＡＳＨ処理部
１１３    ＡＤＤＩＴＩＯＮ処理部
１１４    ＳＥＮＤ処理部
【図１】
2010141471.tif 000003
【図２】
2010141471.tif 000004
【図３】
2010141471.tif 000005
【図４】
2010141471.tif 000006