JP6734804B2 - キャッシュサーバおよびキャッシュ方法 - Google Patents

キャッシュサーバおよびキャッシュ方法 Download PDF

Info

Publication number
JP6734804B2
JP6734804B2 JP2017064140A JP2017064140A JP6734804B2 JP 6734804 B2 JP6734804 B2 JP 6734804B2 JP 2017064140 A JP2017064140 A JP 2017064140A JP 2017064140 A JP2017064140 A JP 2017064140A JP 6734804 B2 JP6734804 B2 JP 6734804B2
Authority
JP
Japan
Prior art keywords
cache
record information
server
information
expired
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2017064140A
Other languages
English (en)
Other versions
JP2018169638A (ja
Inventor
雄紀 花澤
雄紀 花澤
豊治 佐藤
豊治 佐藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2017064140A priority Critical patent/JP6734804B2/ja
Publication of JP2018169638A publication Critical patent/JP2018169638A/ja
Application granted granted Critical
Publication of JP6734804B2 publication Critical patent/JP6734804B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、クライアントに対しコンテンツを提供するコンテンツサーバと、そのコンテンツサーバに記憶されるレコード情報をキャッシュとして記憶しておき、クライアントに参照させるキャッシュサーバ(参照サーバ)とを備えたシステムにおける、キャッシュサーバおよびキャッシュ方法に関する。
従来、IP(Internet Protocol)網において、コンテンツを提供するサーバ(コンテンツサーバ)の負荷を低減するために、そのコンテンツサーバへの問合せのあった情報を、キャッシュに記憶しておき、コンテンツサーバに代わって応答するキャッシュサーバを用いたシステムが構築されている。例えば、DNS(Domain Name System)においては、ドメインの管理情報を記憶するDNS権威サーバに対し、DNSキャッシュサーバが、クライアントからの要求を受け付けてDNS権威サーバへの問合せを行うことで、そのドメイン名に対応するIPアドレスを取得し、キャッシュとして保持しておく。これにより、DNSキャッシュサーバは、同じドメイン名の問合せがあった場合には、DNS権威サーバに問合せを行うことなく、キャッシュとして保存している情報を用いて、クライアントに対して応答する。このように、キャッシュサーバ(DNSキャッシュサーバ)を設けることにより、コンテンツサーバ(DNS権威サーバ)への問合せの数を減少させ、コンテンツサーバ(DNS権威サーバ)の負荷を低減することができる。
しかしながら、大規模災害の発生やチケット予約等のイベント発生時において、特定の接続先について大量の接続要求が発生した場合には、キャッシュサーバ(DNSキャッシュサーバ等)は自身が保持していない大量の情報を、コンテンツサーバ(DNS権威サーバ等)に対して問い合わせるため、コンテンツサーバ(DNS権威サーバ等)が処理しきれず接続遅延や接続障害が発生するおそれがあった。このような事態に備えるために、コンテンツサーバ(DNS権威サーバ等)の処理能力の向上や台数の増加等を行う必要があった。
この問題を解決するため、DNSの仕組みを利用したENUM(E.164 Number Mapping)システムにおいては、以下の手法が提案されている(特許文献1参照)。なお、ENUMシステムは、ENUM権威サーバが電話番号とURIとを対応付けた接続先情報を記憶し、DNSと同様の仕組みにより、キャッシュサーバ(ENUMキャッシュサーバ)からの問合せを受け付け、ENUM権威サーバが応答するものである。
特許文献1に記載の手法では、ENUM権威サーバが、大規模災害等により着信先への問合せが大量に発生することにより輻輳した通信エリア(輻輳エリア)の情報を受信し、その輻輳エリアに属する着信先の電話番号に対応する接続先情報を一括してキャッシュサーバに送信する。キャッシュサーバは、輻輳エリアの接続先情報をENUM権威サーバから取得しておくことにより、キャッシュを先行して作成しておくことができる。
特開2016−163225号公報
しかしながら、上記した特許文献1に記載の手法では、各コンテンツに関するレコード情報を記憶したコンテンツサーバ(特許文献1ではDNS権威サーバ)に、キャッシュサーバに対して輻輳に関連するレコード情報を出力させる機能を増設する必要があった。つまり、コンテンツサーバ側に新たな機能を追加する必要があった。また、新たな機能をコンテンツサーバに追加したとしても、コンテンツサーバからキャッシュサーバへレコード情報を転送する通信時間を要するものであった。
このような背景を鑑みて本発明がなされたのであり、本発明は、コンテンツサーバが記憶する特定のレコード情報への問合せが急増した場合でも、コンテンツサーバに新たな機能を追加することなく、コンテンツサーバへの問合せの増加を抑制することができる、キャッシュサーバおよびキャッシュ方法を提供することを課題とする。
前記した課題を解決するため、請求項1に記載の発明は、問合せ情報に対応する接続先情報をレコード情報として記憶するコンテンツサーバに接続され、前記コンテンツサーバが有するレコード情報を取得して記憶するキャッシュ機能を有し、クライアントからの要求に応答するキャッシュサーバであって、前記問合せ情報を含むレコード情報要求メッセージを受信した場合において、当該問合せ情報に関する前記レコード情報がキャッシュとして記憶されていないときに、前記コンテンツサーバに対して、前記レコード情報要求メッセージを送信することにより、当該レコード情報を取得し、キャッシュとして記憶するレコード情報取得部と、キャッシュとして記憶したレコード情報のうち、キャッシュ保持期間が経過したレコード情報を抽出し、期限切れキャッシュデータベースに、期限切れキャッシュとして保存する期限切れキャッシュ保存部と、所定のキャッシュ生成要件を満たした場合に、前記期限切れキャッシュデータベースに保存された前記期限切れキャッシュに基づく新たなキャッシュを生成するキャッシュ生成部と、を備え、前記キャッシュ生成部は、前記レコード情報が更新される予定がない場合に、前記生成する新たなキャッシュにおいて、前記期限切れキャッシュに付されたキャッシュ保持期間よりも大きい値の前記キャッシュ保持期間を設定すること、を特徴とするキャッシュサーバとした。
請求項に記載の発明は、問合せ情報に対応する接続先情報をレコード情報として記憶するコンテンツサーバに接続され、前記コンテンツサーバが有するレコード情報を取得して記憶するキャッシュ機能を有し、クライアントからの要求に応答するキャッシュサーバのキャッシュ方法であって、前記キャッシュサーバが、前記問合せ情報を含むレコード情報要求メッセージを受信した場合において、当該問合せ情報に関する前記レコード情報がキャッシュとして記憶されていないときに、前記コンテンツサーバに対して、前記レコード情報要求メッセージを送信することにより、当該レコード情報を取得し、キャッシュとして記憶するステップと、キャッシュとして記憶したレコード情報のうち、キャッシュ保持期間が経過したレコード情報を抽出し、期限切れキャッシュデータベースに、期限切れキャッシュとして保存するステップと、所定のキャッシュ生成要件を満たした場合に、前記期限切れキャッシュデータベースに保存された前記期限切れキャッシュに基づく新たなキャッシュを生成するステップと、を実行し、前記新たなキャッシュを生成するステップにおいて、前記レコード情報が更新される予定がない場合に、前記生成する新たなキャッシュにおいて、前記期限切れキャッシュに付されたキャッシュ保持期間よりも大きい値の前記キャッシュ保持期間を設定すること、を特徴とするキャッシュ方法とした。
このように、キャッシュサーバは、キャッシュ保持期間が経過したレコード情報を破棄せずに、期限切れキャッシュとして期限切れキャッシュデータベースに保存しておく。そして、キャッシュサーバは、所定のキャッシュ生成要件を満たした場合に、期限切れキャッシュを抽出し新たなキャッシュを生成することができる。
よって、コンテンツサーバに新たな機能を追加することなく、コンテンツサーバへの問
合せの増加を抑制することができる。また、従来技術のようにコンテンツサーバからキャッシュサーバへレコード情報を送信する必要がなく、キャッシュサーバのみで処理可能であるため、転送のための通信時間が不要となり即時性の観点でも有利となる。
また、キャッシュサーバは、期限切れキャッシュに基づき新たなキャッシュを生成する際に、その新たなキャッシュのキャッシュ保持期間を所定の値に設定することができる。例えば、問合せが急増している一方で、そのレコード情報が更新される予定がない場合に、キャッシュ保持期間をより大きな値に設定することが可能となる。これにより、キャッシュサーバは、コンテンツサーバへの問合せを抑制できるとともに、期限切れキャッシュの保存処理や新たなキャッシュの生成処理の実行を抑制できるため、キャッシュサーバの処理負荷も低減させることができる。
また、請求項に記載の発明は、キャッシュサーバ自身のリソース使用率を監視する監視部をさらに備え、前記所定のキャッシュ生成要件が、前記リソース使用率が所定の閾値を上回ることであり、前記キャッシュ生成部が、前記リソース使用率が所定の閾値を上回ったことを示す監視情報を前記監視部から取得したときに、前記新たなキャッシュを生成すること、を特徴とする請求項1に記載のキャッシュサーバとした。
このように、キャッシュサーバが監視部を備え、自身のリソース使用率を監視することにより、問合せが増加し輻輳が発生するおそれがある場合に、コンテンツサーバへの問合せに先行して期限切れキャッシュから新たなキャッシュを生成しておくことができる。よって、コンテンツサーバへの問合せの増加を事前に防ぐことが可能となる。
また、請求項に記載の発明は、キャッシュサーバ自身の処理信号数を監視する監視部をさらに備え、前記所定のキャッシュ生成要件が、前記処理信号数が所定の閾値を上回ることであり、前記キャッシュ生成部が、前記処理信号数が所定の閾値を上回ったことを示す監視情報を前記監視部から取得したときに、新たなキャッシュを生成すること、を特徴とする請求項1に記載のキャッシュサーバとした。
このように、キャッシュサーバが監視部を備え、自身の処理信号数を監視することにより、問合せが増加し輻輳が発生するおそれがある場合に、コンテンツサーバへの問合せに先行して期限切れキャッシュから新たなキャッシュを生成しておくことができる。よって、コンテンツサーバへの問合せの増加を事前に防ぐことが可能となる。
また、請求項に記載の発明は、問合せ情報に対応する接続先情報をレコード情報として記憶するコンテンツサーバに接続され、前記コンテンツサーバが有するレコード情報を取得して記憶するキャッシュ機能を有し、クライアントからの要求に応答するキャッシュサーバであって、前記問合せ情報を含むレコード情報要求メッセージを受信した場合において、当該問合せ情報に関する前記レコード情報がキャッシュとして記憶されていないときに、前記コンテンツサーバに対して、前記レコード情報要求メッセージを送信することにより、当該レコード情報を取得し、キャッシュとして記憶するレコード情報取得部と、キャッシュとして記憶したレコード情報のうち、キャッシュ保持期間が経過したレコード情報を抽出し、期限切れキャッシュデータベースに、期限切れキャッシュとして保存する期限切れキャッシュ保存部と、所定のキャッシュ生成要件を満たした場合に、前記期限切れキャッシュデータベースに保存された前記期限切れキャッシュに基づく新たなキャッシュを生成するキャッシュ生成部と、キャッシュサーバ自身のキャッシュのメモリ使用率を監視する監視部とを備え、前記所定のキャッシュ生成要件が、前記メモリ使用率が所定の閾値を下回ることであり、前記キャッシュ生成部は、前記メモリ使用率が所定の閾値を下回ったことを示す監視情報を前記監視部から取得したときに、前記新たなキャッシュを生成すること、を特徴とするキャッシュサーバとした。
このように、キャッシュサーバが監視部を備え、自身のメモリ使用率を監視することにより、メモリの空き容量が充分にある場合に、期限切れキャッシュから新たなキャッシュを生成しておくことができる。つまり、キャッシュの空きメモリを有効活用することができる。また、これによりコンテンツサーバへの問合せの増加を防ぐことも可能となる。
本発明によれば、コンテンツサーバが記憶する特定のレコード情報への問合せが急増した場合でも、コンテンツサーバへの問合せの増加を抑制する、キャッシュサーバおよびキャッシュ方法を提供することができる。
そして、本発明のキャッシュサーバを設けることにより、コンテンツサーバ側で、問合せの増加を抑制するための新たな機能を増設する必要をなくすことができる。
本実施形態に係るキャッシュサーバを含むシステムの構成と処理概要を説明するための図である。 本実施形態に係るDNSキャッシュサーバを含むDNSシステムの構成例を示す機能ブロック図である。 レコード情報要求メッセージ(DNS要求)とレコード情報応答メッセージ(DNS応答)とを例示する図である。図3(a)はAレコードの場合を示し、図3(b)は、NSレコードの場合を示す。 レコード情報要求メッセージ(DNS要求)とレコード情報応答メッセージ(DNS応答)とを例示する図であり、NAPTRレコードの場合を示す。 本実施形態に係るDNSキャッシュサーバの処理を説明するための図である。図5(a)は、レコード情報のキャッシュへの保存処理を示す。図5(b)は、期限が切れたキャッシュの期限切れキャッシュデータベースへの保存処理を示す。 本実施形態に係るDNSキャッシュサーバの処理を説明するための図である。図6(a)は、再度のDNS権威サーバへの問合せ処理を示す。図6(b)は、新たなレコード情報のキャッシュへの保存処理を示す。 本実施形態に係るDNSキャッシュサーバの処理を説明するための図である。図7(a)は、期限が切れたキャッシュの期限切れキャッシュサーバへの上書き保存処理を示す。図7(b)は、期限切れキャッシュに基づくキャッシュの生成処理を示す。
次に、本発明を実施するための形態(以下、本実施形態と称する。)における、キャッシュサーバおよびキャッシュ方法について説明する。
≪概要≫
まず、本実施形態に係るキャッシュサーバ1を含むシステムと処理の概要を説明する。
図1は、本実施形態に係るキャッシュサーバ1を含むシステムの構成と処理概要を説明するための図である。
図1(a)に示すように、システムは、クライアント3に接続されるキャッシュサーバ1と、そのキャッシュサーバ1に接続させるコンテンツサーバ2とから構成される。
キャッシュサーバ1は、クライアント3からの情報要求メッセージを受け取り、自身がその要求された情報をキャッシュとして記憶していない場合は、コンテンツサーバ2への問合せを行う。そして、キャッシュサーバ1は、コンテンツサーバ2に記憶されたレコード情報を取得しクライアント3に応答するとともに、自身のキャッシュにそのレコード情報を記憶する。
なお、従来のキャッシュサーバにおいて、キャッシュとして保存される情報は、予め設定されたTTL(Time To Live:キャッシュ保持期間)が過ぎると破棄される。
本実施形態に係るキャッシュサーバ1では、図1(a)に示すように、保持期限が切れたキャッシュの情報を破棄せずに「期限切れキャッシュ」として保存しておく(符号α)、そして、図1(b)に示すように、クライアント3からの問合せが急増した場合に、期限切れキャッシュの情報に基づき、その急増した問合せに関するキャッシュを先行して生成すること(符号β)を特徴とする。
これにより、特定のレコード情報への問合せが急増した場合に、期限切れキャッシュから生成したキャッシュの情報に基づき、クライアント3に対して応答することができる。よって、コンテンツサーバ2への問合せの増加を抑制することができる。
次に、本実施形態に係るキャッシュサーバ1およびキャッシュ方法について具体的に説明する。なお、以下においては、図1に示したシステムをDNSシステムに適応した例として説明する。即ち、図1のキャッシュサーバ1の具体例を図2のDNSキャッシュサーバ10とし、同じく図1のコンテンツサーバ2の具体例を図2のDNS権威サーバ20として説明する。
また、図1に示したシステムは、DNSシステムに限定されずENUMシステム等でもよい。この場合、キャッシュサーバ1は、例えば、ENUMキャッシュサーバ等でもよく、コンテンツサーバ2は、ENUM権威サーバ等でもよい。
DNSキャッシュサーバ≫
図2は、本実施形態に係るDNSキャッシュサーバ10を含むDNSシステムの構成例を示す機能ブロック図である。
DNS権威サーバ20は、各ドメイン名に対応するIPアドレス等のレコード情報200を記憶する。DNSキャッシュサーバ10は、クライアント3からのドメイン名に対応するIPアドレスの問合せ(後記する「レコード情報要求メッセージ(DNS要求)」)を受け付け、自身のキャッシュ100に記憶している場合には、そのキャッシュの情報を応答情報としてクライアント3に返信する。一方、DNSキャッシュサーバ10は、自身のキャッシュ100に問合せに関する情報を記憶していない場合には、DNS権威サーバ20に対し問合せを行い、クライアント3に返信するとともに、その情報(レコード情報)をキャッシュ100に記憶する。
本実施形態に係るDNSキャッシュサーバ10は、記憶部13内に期限切れキャッシュデータベース300を備える。このDNSキャッシュサーバ10は、TTL(キャッシュ保持期間)の期限が切れたキャッシュの情報を破棄せずに、期限切れキャッシュデータベース300に保存しておく。そして、DNSキャッシュサーバ10は、輻輳時若しくはキャッシュ100のメモリ使用率が所定の閾値を下回った場合等に、期限切れキャッシュデータベース300に保存された期限切れのキャッシュ(期限切れキャッシュ)を利用してキャッシュを生成することを特徴とする。
このDNSキャッシュサーバ10は、通信部11と、制御部12と、記憶部13とを備える。
通信部11は、クライアント3や他装置、DNS権威サーバ20等との間で、情報の送受信を行う通信インタフェースにより構成される。通信部11は、外部の装置からメッセージ等を受信すると、そのメッセージ等を制御部12に引き渡す。また、通信部11は、制御部12内で生成されたメッセージ等を外部の装置に向けて送信する。
制御部12は、DNSキャッシュサーバ10が実行する処理の全般を司り、レコード情報キャッシュ検索部121、レコード情報取得部122、レコード情報応答部123、期限切れキャッシュ保存部124、キャッシュ生成部125を含んで構成される。また、後記するように、制御部12に監視部126を含めるようにしてもよい。
なお、この制御部12は、例えば、DNSキャッシュサーバ10の記憶部13に格納されたプログラムをCPU(Central Processing Unit)がRAM(Random Access Memory)に展開し実行することにより実現される。
レコード情報キャッシュ検索部121は、通信部11を介してクライアント3から、レコード情報要求メッセージ(DNS要求)を受信すると、そのレコード情報要求メッセージに付された問合せ情報(ここでは、ドメイン名)を抽出する。そして、レコード情報キャッシュ検索部121は、記憶部13内のキャッシュ100を参照し、そのドメイン名の情報に対応する接続先情報(ここでは、IPアドレス)を検索する。
レコード情報キャッシュ検索部121は、問合せ情報(ドメイン名)に対応する接続先情報(IPアドレス)がキャッシュ100に記憶されている場合には、その接続先情報(IPアドレス)を抽出し、レコード情報応答部123に応答処理の指示を出力する。一方、レコード情報キャッシュ検索部121は、問合せ情報(ドメイン名)に対応する接続先情報(IPアドレス)がキャッシュ100に記憶されていない場合には、その旨の情報をレコード情報取得部122に出力する。
レコード情報取得部122は、レコード情報キャッシュ検索部121が問合せ情報(ドメイン名)に対応する接続先情報(IPアドレス)がキャッシュ100に記憶されていないと判定した場合に、その問合せ情報(ドメイン名)に対応する接続先情報(IPアドレス)を要求するDNS権威サーバ20宛てのレコード情報要求メッセージを生成する。
そして、レコード情報取得部122は、問合せ情報(ドメイン名)を付したレコード情報要求メッセージを、通信部11を介して、DNS権威サーバ20に送信することにより、レコード情報(問合せ情報(ドメイン名)に対応する接続先情報(IPアドレス))が付されたレコード情報応答メッセージ(DNS応答)をDNS権威サーバ20から取得する。レコード情報取得部122は、取得したレコード情報(問合せ情報(ドメイン名)に対応する接続先情報(IPアドレス))をキャッシュ100に記憶する。
また、レコード情報取得部122は、取得したレコード情報をキャッシュ100に記憶すると、レコード情報応答部123に応答処理の指示を出力する。
レコード情報応答部123は、レコード情報キャッシュ検索部121またはレコード情報取得部122から、応答処理の指示を受け取ると、キャッシュ100を参照し、問合せ情報(ドメイン名)に対応する接続先情報(IPアドレス)を付したクライアント3宛てのレコード情報応答メッセージ(DNS応答)を生成する。そして、レコード情報応答部123は、通信部11を介して、生成したレコード情報応答メッセージをクライアント3に送信する。
図3は、本実施形態に係る、レコード情報要求メッセージ(DNS要求)と、レコード情報応答メッセージ(DNS応答)の例を示す図である。
図3(a)は、DNS要求として、DNS権威サーバ20に記憶されたAレコードに基づき、ドメイン名「example.com」に対応するIPv4アドレスの取得を要求する例を示している。このDNS要求に対する応答メッセージであるDNS応答において、ドメイン名「example.com」に対応する「xxx.xxx.xxx.xxx(IPv4アドレス)」と「TTL = 120」が返信される。なお、このTTLは、DNS権威サーバ20において予め設定されたキャッシュ保持期間(秒)である。
図3(b)は、「DNS要求」として、DNS権威サーバ20に記憶されたNS(Name Server)レコードに基づき、ドメイン名「example.com」に対応するDNS権威サーバのドメインの取得を要求する例を示している。このDNS要求に対するDNS応答において、ドメイン名「example.com」に対応するDNS権威サーバのドメイン名「ns1.example.com」と「TTL = 86400」、および、ドメイン名「ns2.example.com」と「TTL = 86400」が返信される。
なお、本実施形態をENUMシステムにおいて実現する場合には、図4に示すように、DNS要求として、例えば、着信先の電話番号(0422−99−9999)のE.164番号(+81−422−99−9999)を逆順にして、ドットで区切り、「e164enum.net」を付けた形式(9.9.9.9.9.9.2.2.4.1.8.e164enum.net)を問合せ情報とし、ENUM権威サーバに記憶されたNAPTRレコードに基づき、着信先の電話番号に対応する接続先のアドレス情報を要求する。このDNS要求に対するDNS応答において、(9.9.9.9.9.9.2.2.4.1.8.e164enum.net)に対応するSIPサーバのドメイン名「+81422999999@example.ne.jp」と、「TTL = 60」が返信される。
図2に戻り、期限切れキャッシュ保存部124は、記憶部13内のキャッシュ100に記憶されているレコード情報のうち、設定されているTTL(キャッシュ保持期間)が経過したキャッシュの情報(レコード情報)を抽出し、期限切れキャッシュデータベース300に保存する。なお、期限切れキャッシュ保存部124は、TTLが経過したキャッシュの情報(レコード情報)については、キャッシュ100から削除する。
なお、期限切れキャッシュ保存部124は、TTL(キャッシュ保持期間)が経過したレコード情報のうち、問合せ情報(例えば、ドメイン名)をキーとして期限切れキャッシュデータベース300内を検索する。そして、期限切れキャッシュ保存部124は、問合せ情報が同一の期限切れキャッシュ(レコード情報)が存在しない場合には、新規にそのレコード情報を期限切れキャッシュとして期限切れキャッシュデータベース300に記憶する。一方、期限切れキャッシュ保存部124は、問合せ情報が同一の期限切れキャッシュ(レコード情報)が存在する場合には、そのレコード情報に上書きして保存する。
キャッシュ生成部125は、期限切れキャッシュデータベース300に記憶された期限切れキャッシュ(レコード情報)を用いてキャッシュを生成し、キャッシュ100に記憶する。
キャッシュ生成部125が、期限切れキャッシュの情報を用いて、キャッシュを生成する契機(所定のキャッシュ生成要件)は、例えば以下のような場合がある。
(1)DNSキャッシュサーバ10自身のリソース使用率を監視
DNSキャッシュサーバ10は、自身のリソース使用率を監視する監視部126を備えており、例えば、監視部126が、CPU使用率が所定の閾値を上回った場合や、キャッシュ100のメモリ使用率が所定の閾値(第1の閾値)を上回った場合に、その旨の監視情報をキャッシュ生成部125に出力する。そして、キャッシュ生成部125が、その監視情報を取得したことにより、問合せが増加しDNS権威サーバ20において輻輳が発生するおそれがあると判定し、期限切れキャッシュを用いてキャッシュを生成する。
また、キャッシュ生成部125は、監視部126から、キャッシュ100のメモリ使用率が所定の閾値(第2の閾値)を下回ったことを示す監視情報を取得した場合に、期限切れキャッシュを用いて、キャッシュを生成する。この処理は、例えば、充分にキャッシュ100のメモリ容量が確保されている場合に、そのメモリを有効活用することにより、DNS権威サーバ20への問合せ数を抑え、DNS権威サーバ20の負荷を低減したい場合に設定される。
なお、このとき、キャッシュ生成部125が生成の対象とする期限切れキャッシュ(レコード情報)は、例えば、DNSキャッシュサーバ10の監視部126において、問合せに関する統計情報を記録しておき、問合せ数の多いレコード情報を優先して、期限切れキャッシュからキャッシュを生成するようにする。
(2)DNSキャッシュサーバ10自身が処理する信号数(トラヒック数)を監視
DNSキャッシュサーバ10は、自身が処理する信号数(トラヒック数)を監視する監視部126を備えており、例えば、監視部126が、単位時間当たりの信号数(トラヒック数)についての閾値を上回った場合に、その旨の監視情報をキャッシュ生成部125に出力する。そして、キャッシュ生成部125が、その監視情報を取得したことにより、問合せが増加しDNS権威サーバ20において輻輳が発生するおそれがあると判定し、期限切れキャッシュを用いてキャッシュを生成する。
なお、監視部126は、単位時間当たりの信号数(トラヒック数)について、その閾値を所定回数連続で上回った場合に、その旨の監視情報をキャッシュ生成部125に出力し、期限切れキャッシュを用いてキャッシュを生成させるようにしてもよい。
(3)ネットワーク保守者からの指示情報の取得
DNSキャッシュサーバ10のキャッシュ生成部125は、ネットワーク管理装置(不図示)等から、ネットワーク保守者による指示情報を受信したことを契機として、期限切れキャッシュからキャッシュを生成する。
例えば、ネットワーク保守者が、特定のレコード情報について、所定の期間、更新することがないと分かっている場合に、ネットワーク管理装置からDNSキャッシュサーバ10に対して指示情報を送信する。この指示情報に基づき、DNSキャッシュサーバ10のキャッシュ生成部125は、その特定のレコード情報についての期限切れキャッシュを用いてキャッシュを生成する。
(4)輻輳を検知した他装置からの輻輳情報の取得
DNSキャッシュサーバ10のキャッシュ生成部125は、ネットワーク全体の輻輳を監視していている監視装置(不図示)や、トラヒックを監視している装置(不図示)等から輻輳の発生を知らせる輻輳情報を受信したことを契機として、期限切れキャッシュからキャッシュを生成する。キャッシュ生成部125は、例えば、輻輳が発生しているエリアが、取得した輻輳情報により特定できる場合には、その輻輳エリアに関係する期限切れキャッシュ(レコード情報)を抽出し、その抽出した期限切れキャッシュを用いてキャッシュを生成する。
キャッシュ生成部125には、上記の所定の契機(1)〜(4)のいずれか、または、その組み合わせが予め設定される。
キャッシュ生成部125は、期限切れキャッシュからキャッシュを生成する際のTTLの設定を、期限切れキャッシュデータベース300に記憶されているときのレコード情報の値をそのまま設定しても良いし、任意の値に設定してもよい。キャッシュ生成部125が期限切れキャッシュから新たなキャッシュを生成する際のTTLは、予めキャッシュ生成部125に設定されたロジックに基づく任意の値が、所定のキャッシュ保持期間として設定される。
例えば、キャッシュ生成部125は、問合せが急増している一方で、そのレコード情報が更新される予定がない場合等では、TTLの値をより大きく設定する。具体的には、既存のTTLのn倍に設定したり、予め既存のTTLよりも大きい値を所定のキャッシュ保持期間として設定したりしておく。
このようにすることで、DNSキャッシュサーバ10自身の処理負荷も減らすことができる。
監視部126は、上記のように、キャッシュ生成部125が自身のリソース使用率や自身が処理する信号数(トラヒック数)に基づき、期限切れキャッシュからのキャッシュの生成処理の実行を判断する場合に、DNSキャッシュサーバ10の制御部12に設けられる。そして、監視部126が、自身のリソース使用率(CPU使用率、メモリ使用率等)や、信号数(トラヒック数)を監視し、所定の条件(閾値等)を満たす場合に監視情報をキャッシュ生成部125に出力する。
記憶部13は、ハードディスクやフラッシュメモリ、RAM等により構成される。
この記憶部13には、図2に示すように、キャッシュ100、期限切れキャッシュデータベース300が格納されるとともに、制御部12の各機能を実行させるためのプログラムや、制御部12の処理に必要な情報が一時的に記憶される。
なお、キャッシュ100は、キャッシュメモリにより構成させる。また、期限切れキャッシュデータベース300は、ハードディスクやメモリにより構成される。
≪キャッシュサーバの処理≫
次に、本実施形態に係るDNSキャッシュサーバ10の処理を図5〜図7を参照して説明する。図5〜図7において、DNSキャッシュサーバ10が実行する処理を順を追って説明する。
図5(a)は、DNSキャッシュサーバ10がクライアント3からレコード情報要求メッセージ(DNS要求)を受信した場合に、キャッシュ100内に該当するレコード情報が記憶されていないため、レコード情報取得部122(図2参照)によりDNS権威サーバ20から、レコード情報を取得する際の処理を示している。
ここで、DNSキャッシュサーバ10のレコード情報取得部122は、DNS権威サーバ20から図5(a)に示すように、レコード情報として「example.com. TTL=120 IN A xxx.xxx.xxx.xxx(IPv4アドレス)」を取得し、そのレコード情報を、キャッシュAとしてキャッシュ100に記憶する(ステップS1)。
そして、DNSキャッシュサーバ10のレコード情報応答部123が、クライアント3宛てのレコード情報応答メッセージ(DNS応答)を生成し、問合せ情報(ドメイン名)に対応する接続先情報(IPアドレス)をクライアント3に送信する。
続いて、DNSキャッシュサーバ10の期限切れキャッシュ保存部124(図2参照)は、キャッシュ100に記憶された各キャッシュの情報(レコード情報)を監視し、TTL(キャッシュ保持期間)が経過した(TTL=0となった)レコード情報を抽出する。そして、期限切れキャッシュ保存部124は、抽出したレコード情報の問合せ情報(例えば、ドメイン名)をキーとして期限切れキャッシュデータベース300を検索し、問合せ情報が同一のレコード情報が存在しない場合には、新規の期限切れキャッシュ(レコード情報)として保存する(図5(b)のステップS2)。また、期限切れキャッシュ保存部124は、キャッシュ100に記憶されているキャッシュを破棄する。
図5(b)に示す例では、キャッシュA(レコード情報)がTTL=0となったことにより、期限切れキャッシュ保存部124が、そのキャッシュAを期限切れキャッシュデータベース300に保存し、キャッシュ100内のキャッシュAを破棄する。
次に、DNSキャッシュサーバ10が、再度キャッシュA、具体的には、問合せ情報としてドメイン名(example.com)のレコード情報要求メッセージ(DNS要求)をクライアント3から受信すると、レコード情報キャッシュ検索部121(図2参照)がキャッシュ100を検索する。ここでは、キャッシュAが破棄され記憶されていないことから、レコード情報取得部122(図2参照)が、DNS権威サーバ20に問合せを行う(図6(a)のステップS3)。なお、ここで、DNSキャッシュサーバ10は、期限切れキャッシュデータベース300に記憶された期限切れキャッシュの情報(キャッシュA)では応答を行わない。
また、図6(a)に示すように、DNS権威サーバ20において、問合せの対象となるレコード情報が「example.com. TTL=120 IN A yyy.yyy.yyy.yyy(IPv4アドレス)」に更新されたものとする。
DNSキャッシュサーバ10のレコード情報取得部122(図2参照)は、DNS権威サーバ20から図6(b)に示すように、新たなレコード情報として「example.com. TTL=120 IN A yyy.yyy.yyy.yyy(IPv4アドレス)」を取得し、その新たなレコード情報を、キャッシュA2としてキャッシュ100に記憶する(ステップS4)。
そして、DNSキャッシュサーバ10のレコード情報応答部123(図2参照)は、キャッシュ100に記憶されたキャッシュA2に基づき、クライアント3宛てのレコード情報応答メッセージ(DNS応答)を生成し、問合せ情報(ドメイン名:example.com)に対応する接続先情報(IPアドレス:yyy.yyy.yyy.yyy)をクライアント3に送信する。
続いて、DNSキャッシュサーバ10の期限切れキャッシュ保存部124(図2参照)は、キャッシュ100に記憶された各キャッシュの情報(レコード情報)を監視し、TTL(キャッシュ保持期間)が経過した(TTL=0となった)レコード情報を抽出する。ここでは、キャッシュA2が抽出されたものとする。そして、期限切れキャッシュ保存部124は、抽出したレコード情報の問合せ情報(例えば、ドメイン名(example.com))をキーとして期限切れキャッシュデータベース300を検索し、問合せ情報が同一の期限切れキャッシュ(レコード情報)が存在するか否かを判定する。そして、期限切れキャッシュ保存部124は、問合せ情報が同一の期限切れキャッシュ(レコード情報)が存在する場合には、既存の期限切れキャッシュの情報(ここでは、キャッシュA)を新たなレコード情報(キャッシュA2)により上書き(更新)する(図7(a)のステップS5)。なお、期限切れキャッシュ保存部124は、キャッシュ100に記憶されたキャッシュA2は破棄する。
そして、DNSキャッシュサーバ10のキャッシュ生成部125(図2参照)は、上記した所定の契機に該当した際に、期限切れキャッシュデータベース300に記憶された期限切れキャッシュを用いてキャッシュを生成し、キャッシュ100に記憶する。
つまり、キャッシュ生成部125は、DNSキャッシュサーバ10自身のリソース使用率(CPU使用率、メモリ使用率等)が所定の閾値を上回った場合や、処理信号数(トラヒック数)が所定の閾値を上回った場合、他の装置からキャッシュ生成の指示情報や輻輳情報を取得した場合等に、対象となる期限切れのキャッシュの情報(図7(b)においてはキャッシュA2)を抽出してキャッシュを生成し(図7(b)のステップS6)、キャッシュ100に記憶する。
なお、ここでキャッシュ生成部125が新たに生成するキャッシュのTTLは、予め設定された所定のロジックに基づき決定される。例えば、期限切れキャッシュ(レコード情報)に付された既存のTTLの値をそのまま用いてもよいし、既存のTTLの値よりも長い若しくは短い任意の値を設定するようにしておいてもよい。
DNSキャッシュサーバ10は、次に、再度キャッシュA2、具体的には、問合せ情報としてドメイン名(example.com)のレコード情報要求メッセージ(DNS要求)をクライアント3から受信した場合には、キャッシュ100に記憶されたキャッシュA2に基づき、クライアント3宛てのレコード情報応答メッセージ(DNS応答)を生成し、問合せ情報(ドメイン名:example.com)に対応する接続先情報(IPアドレス:yyy.yyy.yyy.yyy)をクライアント3に送信する。
以上説明したように、本実施形態に係るキャッシュサーバ1およびキャッシュ方法によれば、保持期間が切れたキャッシュの情報を破棄せずに期限切れキャッシュデータベース300に保存しておく。そして、キャッシュサーバ1は、クライアント3からの問合せが増加した場合等に、期限切れキャッシュデータベース300に保存された期限切れキャッシュの情報に基づき、新たなキャッシュを生成することができる。
これにより、コンテンツサーバ2(DNS権威サーバ20)において、キャッシュサーバ1に対して輻輳等に関連するレコード情報を出力させる特別な機能を備えさせなくても、キャッシュサーバ1側において、コンテンツサーバ2への問合せの増加を抑制することができる。
1 キャッシュサーバ
2 コンテンツサーバ
3 クライアント
10 DNSキャッシュサーバ
11 通信部
12 制御部
13 記憶部
20 DNS権威サーバ
100 キャッシュ
121 レコード情報キャッシュ検索部
122 レコード情報取得部
123 レコード情報応答部
124 期限切れキャッシュ保存部
125 キャッシュ生成部
126 監視部
200 レコード情報
300 期限切れキャッシュデータベース

Claims (5)

  1. 問合せ情報に対応する接続先情報をレコード情報として記憶するコンテンツサーバに接続され、前記コンテンツサーバが有するレコード情報を取得して記憶するキャッシュ機能を有し、クライアントからの要求に応答するキャッシュサーバであって、
    前記問合せ情報を含むレコード情報要求メッセージを受信した場合において、当該問合せ情報に関する前記レコード情報がキャッシュとして記憶されていないときに、前記コンテンツサーバに対して、前記レコード情報要求メッセージを送信することにより、当該レコード情報を取得し、キャッシュとして記憶するレコード情報取得部と、
    キャッシュとして記憶したレコード情報のうち、キャッシュ保持期間が経過したレコード情報を抽出し、期限切れキャッシュデータベースに、期限切れキャッシュとして保存する期限切れキャッシュ保存部と、
    所定のキャッシュ生成要件を満たした場合に、前記期限切れキャッシュデータベースに保存された前記期限切れキャッシュに基づく新たなキャッシュを生成するキャッシュ生成部と、を備え
    前記キャッシュ生成部は、前記レコード情報が更新される予定がない場合に、前記生成する新たなキャッシュにおいて、前記期限切れキャッシュに付されたキャッシュ保持期間よりも大きい値の前記キャッシュ保持期間を設定すること、
    特徴とするキャッシュサーバ。
  2. キャッシュサーバ自身のリソース使用率を監視する監視部をさらに備え、
    前記所定のキャッシュ生成要件が、前記リソース使用率が所定の閾値を上回ることであり、
    前記キャッシュ生成部は、前記リソース使用率が所定の閾値を上回ったことを示す監視情報を前記監視部から取得したときに、前記新たなキャッシュを生成すること、
    を特徴とする請求項1に記載のキャッシュサーバ。
  3. キャッシュサーバ自身の処理信号数を監視する監視部をさらに備え、
    前記所定のキャッシュ生成要件が、前記処理信号数が所定の閾値を上回ることであり、
    前記キャッシュ生成部は、前記処理信号数が所定の閾値を上回ったことを示す監視情報を前記監視部から取得したときに、新たなキャッシュを生成すること、
    を特徴とする請求項1に記載のキャッシュサーバ。
  4. 問合せ情報に対応する接続先情報をレコード情報として記憶するコンテンツサーバに接続され、前記コンテンツサーバが有するレコード情報を取得して記憶するキャッシュ機能を有し、クライアントからの要求に応答するキャッシュサーバであって、
    前記問合せ情報を含むレコード情報要求メッセージを受信した場合において、当該問合せ情報に関する前記レコード情報がキャッシュとして記憶されていないときに、前記コンテンツサーバに対して、前記レコード情報要求メッセージを送信することにより、当該レコード情報を取得し、キャッシュとして記憶するレコード情報取得部と、
    キャッシュとして記憶したレコード情報のうち、キャッシュ保持期間が経過したレコード情報を抽出し、期限切れキャッシュデータベースに、期限切れキャッシュとして保存する期限切れキャッシュ保存部と、
    所定のキャッシュ生成要件を満たした場合に、前記期限切れキャッシュデータベースに保存された前記期限切れキャッシュに基づく新たなキャッシュを生成するキャッシュ生成部と、
    キャッシュサーバ自身のキャッシュのメモリ使用率を監視する監視部とを備え、
    前記所定のキャッシュ生成要件が、前記メモリ使用率が所定の閾値を下回ることであり、
    前記キャッシュ生成部は、前記メモリ使用率が所定の閾値を下回ったことを示す監視情報を前記監視部から取得したときに、前記新たなキャッシュを生成すること、
    を特徴とするキャッシュサーバ。
  5. 問合せ情報に対応する接続先情報をレコード情報として記憶するコンテンツサーバに接続され、前記コンテンツサーバが有するレコード情報を取得して記憶するキャッシュ機能を有し、クライアントからの要求に応答するキャッシュサーバのキャッシュ方法であって、
    前記キャッシュサーバは、
    前記問合せ情報を含むレコード情報要求メッセージを受信した場合において、当該問合せ情報に関する前記レコード情報がキャッシュとして記憶されていないときに、前記コンテンツサーバに対して、前記レコード情報要求メッセージを送信することにより、当該レコード情報を取得し、キャッシュとして記憶するステップと、
    キャッシュとして記憶したレコード情報のうち、キャッシュ保持期間が経過したレコード情報を抽出し、期限切れキャッシュデータベースに、期限切れキャッシュとして保存するステップと、
    所定のキャッシュ生成要件を満たした場合に、前記期限切れキャッシュデータベースに保存された前記期限切れキャッシュに基づく新たなキャッシュを生成するステップと、
    を実行し、
    前記新たなキャッシュを生成するステップにおいて、前記レコード情報が更新される予定がない場合に、前記生成する新たなキャッシュにおいて、前記期限切れキャッシュに付されたキャッシュ保持期間よりも大きい値の前記キャッシュ保持期間を設定すること、
    特徴とするキャッシュ方法。
JP2017064140A 2017-03-29 2017-03-29 キャッシュサーバおよびキャッシュ方法 Active JP6734804B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017064140A JP6734804B2 (ja) 2017-03-29 2017-03-29 キャッシュサーバおよびキャッシュ方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017064140A JP6734804B2 (ja) 2017-03-29 2017-03-29 キャッシュサーバおよびキャッシュ方法

Publications (2)

Publication Number Publication Date
JP2018169638A JP2018169638A (ja) 2018-11-01
JP6734804B2 true JP6734804B2 (ja) 2020-08-05

Family

ID=64020287

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017064140A Active JP6734804B2 (ja) 2017-03-29 2017-03-29 キャッシュサーバおよびキャッシュ方法

Country Status (1)

Country Link
JP (1) JP6734804B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114090223A (zh) * 2020-08-24 2022-02-25 北京百度网讯科技有限公司 访存请求调度方法、装置、设备以及存储介质
CN113253922B (zh) * 2021-03-12 2023-07-25 北京百度网讯科技有限公司 缓存管理方法、装置、电子设备和计算机可读存储介质
CN115695495B (zh) * 2022-11-01 2023-04-07 河南省保时安电子科技有限公司 基于物联网技术的气体探测仪高效组网通讯系统及方法

Also Published As

Publication number Publication date
JP2018169638A (ja) 2018-11-01

Similar Documents

Publication Publication Date Title
US11108729B2 (en) Managing request routing information utilizing client identifiers
US20190222666A1 (en) Routing for origin-facing points of presence
US20180205697A1 (en) Managing content delivery network service providers by a content broker
US11044262B2 (en) Method, apparatus and system for anti-attacking in domain name system (DNS)
US10958501B1 (en) Request routing information based on client IP groupings
US9954815B2 (en) Domain name collaboration service using domain name dependency server
CN104079534B (zh) 一种http缓存实现方法和系统
JP6734804B2 (ja) キャッシュサーバおよびキャッシュ方法
JP2007066161A (ja) キャッシュシステム
CN103701957A (zh) Dns递归方法及其系统
US11089128B2 (en) Content node selection using network performance profiles
WO2011116726A2 (zh) 网络缓存方法和系统及dns重定向子系统
WO2015027743A1 (zh) 域名解析的方法、域名缓存服务器及最终域名服务器
WO2015039475A1 (zh) 一种域名解析方法、服务器及系统
CN109067936A (zh) 一种域名解析的方法及装置
CN103685213A (zh) 一种减少针对dns的攻击的装置、系统和方法
US20150006622A1 (en) Web contents transmission method and apparatus
JP4291284B2 (ja) キャッシュシステム及びキャッシュサーバ
JP2014211758A (ja) キャッシュサーバ装置、キャッシュ制御方法及びキャッシュ制御プログラム
JP6368127B2 (ja) 通信装置、制御方法、及びプログラム
KR101645222B1 (ko) 어드밴스드 도메인 네임 시스템 및 운용 방법
JP2007233700A (ja) キャッシュシステム、負荷監視サーバ、キャッシュ管理サーバ及びキャッシュサーバ。
JP6329479B2 (ja) Enumキャッシュサーバ、enumキャッシュ方法、および、enumシステム
JP4774814B2 (ja) サーバアクセス制御システム、サーバアクセス制御方法およびサーバアクセス制御プログラム
CN109218454A (zh) Dns请求的响应方法及dns服务器

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190225

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20191211

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200114

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200316

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20200707

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200710

R150 Certificate of patent or registration of utility model

Ref document number: 6734804

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150