通信システム
【課題】 DNS環境下において、ポーリング通信にかかる通信コストを低減することができる通信システムを提供する。
【解決手段】 機器通信サーバ4は、特定のクライアント機器1との通信要求をDNSサーバ2へ送信し、通信要求を受信したDNSサーバ2は、機器通信サーバ4にアクセスするためのアクセス情報を特定のクライアント機器1に関連付けて格納し、クライアント機器1は、自端末を特定するための特定情報を含む問い合わせ信号を送信し、問い合わせ信号を受信したDNSサーバ2は、問い合わせ信号に含まれる特定情報に対応するクライアント機器1に関連付けられたアクセス情報を格納している場合、問い合わせ信号の送信元であるクライアント機器1へアクセス情報を送信し、クライアント機器1は、アクセス情報に基づいて機器通信サーバ4にアクセスする。
【解決手段】 機器通信サーバ4は、特定のクライアント機器1との通信要求をDNSサーバ2へ送信し、通信要求を受信したDNSサーバ2は、機器通信サーバ4にアクセスするためのアクセス情報を特定のクライアント機器1に関連付けて格納し、クライアント機器1は、自端末を特定するための特定情報を含む問い合わせ信号を送信し、問い合わせ信号を受信したDNSサーバ2は、問い合わせ信号に含まれる特定情報に対応するクライアント機器1に関連付けられたアクセス情報を格納している場合、問い合わせ信号の送信元であるクライアント機器1へアクセス情報を送信し、クライアント機器1は、アクセス情報に基づいて機器通信サーバ4にアクセスする。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、通信システムに関するものである。
【背景技術】
【0002】
一般に、機器通信サーバが、NATルータ、ファイアウォールを介してネットワーク接続しているクライアント機器ヘデータを送信する場合、クライアント機器から機器通信サーバへのポーリングが必要である。
【0003】
クライアント機器は、ポーリングを行う際、接続先である機器通信サーバのドメイン名をIPアドレスに変換するために、DNS(Domain Name System)による名前解決を行う。そして、クライアント機器は、事業者が所有するドメイン名に加えて固有のサーバ名称を加えたFQDN(Fully Qualified Domain Name)をDNSに問い合わせることで、FQDNから変換したIPアドレスをDNSから取得できる。このようなDNSは、DNSコンテンツサーバとDNSキャッシュサーバからなる階層分散管理が行われている。
【0004】
DNSにおいて、DNSキャッシュサーバは、クライアント機器が一度取得したIPアドレスを、設定されているキャッシュ保持期間(キャッシュのTTL(Time To Live))に亘ってキャッシュする。そのため、DNSコンテンツサーバは、クライアント機器からの問い合わせに対して、名前解決を毎回行うわけではない。しかしながら、機器通信の場合はFQDNが更新されることがあるので、このような場合、DNSコンテンツサーバは、クライアント機器からの問い合わせに対して、名前解決を毎回行うことになる。
【0005】
クライアント機器は、上述のようにして機器通信サーバのIPアドレスを取得した後、この取得したIPアドレスを用いて、機器通信サーバへのポーリングを行う。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開平2004−280717号公報
【特許文献2】特開平2007−172048号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
上記従来の通信システムでは、クライアント機器から機器通信サーバへのポーリングが発生する毎に、DNSによる名前解決のための通信と、ポーリングのための通信との両方が発生するため、通信負荷が増大していた。したがって、回線費用、サーバ側およびクライアント装置側の計算機資源等の通信コストがかかっていた。
【0008】
本発明は、上記事由に鑑みてなされたものであり、その目的は、DNS環境下において、ポーリング通信にかかる通信コストを低減することができる通信システムを提供することにある。
【課題を解決するための手段】
【0009】
本発明の通信システムは、機器通信サーバと、DNSサーバと、前記機器通信サーバおよび前記DNSサーバにネットワークを介して接続しているクライアント機器とで構成され、前記機器通信サーバは、特定の前記クライアント機器との通信要求を前記DNSサーバへ送信し、前記通信要求を受信した前記DNSサーバは、前記機器通信サーバにアクセスするためのアクセス情報を前記特定のクライアント機器に関連付けて格納し、前記クライアント機器は、自端末を特定するための特定情報を含む問い合わせ信号を送信し、前記問い合わせ信号を受信した前記DNSサーバは、前記問い合わせ信号に含まれる前記特定情報に対応する前記クライアント機器に関連付けられた前記アクセス情報を格納している場合、前記問い合わせ信号の送信元である前記クライアント機器へ前記アクセス情報を送信し、前記クライアント機器は、前記アクセス情報に基づいて前記機器通信サーバにアクセスすることを特徴とする。
【0010】
この発明において、前記DNSサーバは、前記通信要求を受信することによって、前記アクセス情報を前記特定のクライアント機器に関連付けて、コンテンツ保持期間に亘って保存するDNSコンテンツサーバと、前記クライアント機器が取得した前記アクセス情報を、このアクセス情報を取得した前記クライアント機器に関連付けてキャッシュ保持期間に亘って保存するDNSキャッシュサーバとで構成され、前記クライアント機器は、前記キャッシュ保持期間の時間長さが前記コンテンツ保持期間の時間長さより短い場合、前記問い合わせ信号を前記DNSキャッシュサーバへ送信し、前記DNSキャッシュサーバは、前記問い合わせ信号の送信元である前記クライアント機器に関連付けられた前記アクセス情報が格納されていない場合、前記DNSコンテンツサーバへ前記問い合わせ信号を送信し、前記キャッシュ保持期間の時間長さが前記コンテンツ保持期間の時間長さより長い場合、前記クライアント機器は、前記問い合わせ信号を前記DNSコンテンツサーバへ送信することが好ましい。
【0011】
この発明において、前記クライアント機器は、前記問い合わせ信号の送信毎に、前記特定情報を異なるデータ列で生成することが好ましい。
【0012】
この発明において、前記クライアント機器は、自端末に予め割り付けられている機器IDと、前記機器通信サーバから取得した暗号化キーとを少なくとも含むデータ列をハッシュすることによって前記特定情報を生成し、この特定情報を含む前記問い合わせ信号を送信した後、前記機器通信サーバから新たな暗号化キーを取得することが好ましい。
【0013】
この発明において、前記DNSサーバは、前記通信要求を受信することによって、前記アクセス情報を前記特定のクライアント機器に関連付けて格納するDNSコンテンツサーバと、前記クライアント機器が取得した前記アクセス情報を、このアクセス情報を取得した前記クライアント機器に関連付けてキャッシュ保持期間に亘って保存するDNSキャッシュサーバとで構成され、前記DNSキャッシュサーバの前記キャッシュ保持期間は、前記クライアント機器が前記問い合わせ信号を送信する周期より短く、前記クライアント機器は、前記問い合わせ信号を前記DNSキャッシュサーバへ送信して、前記DNSキャッシュサーバは、前記問い合わせ信号の送信元である前記クライアント機器に関連付けられた前記アクセス情報が格納されていない場合、前記DNSコンテンツサーバへ前記問い合わせ信号を送信し、前記クライアント機器は、前記問い合わせ信号に対応する前記アクセス情報を受信しなかった場合、予め保持している前記機器通信サーバのアクセス情報に基づいて前記機器通信サーバにアクセスすることが好ましい。
【発明の効果】
【0014】
以上説明したように、本発明では、DNSによる名前解決のための通信がポーリングの機能を兼ねることができるので、DNS環境下において、ポーリング通信にかかる通信コストを低減することができるという効果がある。
【図面の簡単な説明】
【0015】
【図1】実施形態1の通信システムの構成を示すブロック図である。
【図2】同上のクライアント機器の機器情報テーブルの構造を示すテーブル図である。
【図3】同上の機器通信サーバの機器情報テーブルの構造を示すテーブル図である。
【図4】同上のコンテンツ情報の構造を示すテーブル図である。
【図5】同上のキャッシュ情報の構造を示すテーブル図である。
【図6】同上のポーリング通信を示すシーケンス図である。
【図7】同上のコンテンツ情報を示すテーブル図である。
【図8】同上のキャッシュ情報を示すテーブル図である。
【図9】同上のネガティブキャッシュ生成処理を示すシーケンス図である。
【図10】実施形態3のクライアント機器の機器情報テーブルの構造を示すテーブル図である。
【図11】同上の機器通信サーバの機器情報テーブルの構造を示すテーブル図である。
【発明を実施するための形態】
【0016】
以下、本発明の実施の形態を図面に基づいて説明する。
【0017】
(実施形態1)
図1は、本実施形態の通信システムの構成を示し、顧客宅には宅内ネットワークNT1が構築され、クライアント機器1、DNSキャッシュサーバ2Bが宅内ネットワークNT1に接続している。そして、宅内ネットワークNT1は、NATルータ3を介して、インターネットを含む広域網である外部ネットワークNT2に接続している。外部ネットワークNT2には、DNSコンテンツサーバ2A、機器通信サーバ4が接続しており、DNSコンテンツサーバ2Aと機器通信サーバ4とで、センターサーバCSを構成している。さらに、DNSコンテンツサーバ2AとDNSキャッシュサーバ2Bとで、DNSサーバ2を構成している。
【0018】
まず、クライアント機器1は、監視・制御対象となる機器で構成され、データ取得部11、DNSクライアント部12、機器情報テーブル13を備える。データ取得部11は、監視・制御に関するデータを機器通信サーバ4から取得する機能を有し、DNSクライアント部12は、DNSサーバ2に対してDNS問い合わせ(以降、問い合わせと称す)を行い、DNSによる名前解決のための通信を行う。この問い合わせは、DNSクライアント部12が、機器通信サーバ4のFQDN(Fully Qualified Domain Name)をDNSサーバ2へ送信することで、FQDNから変換したIPアドレスをDNSサーバ2から取得できる。このFQDNが、本発明の問い合わせ信号に相当する。そして、データ取得部11は、取得したIPアドレスを用いて機器通信サーバ4にアクセスし、機器通信サーバ4から自端末宛のデータを取得する。さらに機器情報テーブル13は、図2に示すように、当該クライアント機器1に予め割り付けられた機器IDを格納している。
【0019】
DNSキャッシュサーバ2Bは、クライアント機器1からの問い合わせに対するキャッシュ機能を有しており、キャッシュ情報を格納するキャッシュ情報保持部22を備える。なお、DNSキャッシュサーバ2Bは、顧客宅外で、クライアント機器1にネットワーク的に近い場所に設置されてもよい。
【0020】
DNSコンテンツサーバ2Aは、ドメイン管理業者から権限委譲されたサブドメインに関するコンテンツ情報を格納するコンテンツ情報保持部21を備える。
【0021】
機器通信サーバ4は、クライアント機器1へ伝達するデータをデータ保持部41に格納している。さらに機器通信サーバ4は、クライアント機器1毎の機器IDを格納した機器情報テーブル42(図3参照)と、クライアント機器1およびDNSコンテンツサーバ2Aとの間でネットワーク通信を行う通信部43とを備える。なお、宅内ネットワークNT1に接続したクライアント機器1が自端末の機器IDを機器通信サーバ4へ送信することによって、クライアント機器1毎の機器IDが機器情報テーブル42に格納される。
【0022】
また、本システムのDNSサーバ2は、DNSコンテンツサーバ2AとDNSキャッシュサーバ2Bとからなる分散データベース機能を持つ。
【0023】
DNSコンテンツサーバ2Aは、図4に示すコンテンツ情報[FQDN、IPアドレス、コンテンツ保持期間]をコンテンツ情報保持部21に格納している。このIPアドレスが、本発明のアクセス情報に相当する。そして、例えば、当該サーバが「example.jp」ドメインを保持している場合、コンテンツ情報には、FQDN「polling1.example.jp」に対応するIPアドレスとして「12.34.56.78」が設定されている。そして、DNSコンテンツサーバ2Aは、FQDN「polling1.example.jp」に対応するIPアドレスの問い合わせがあった場合、IPアドレス「12.34.56.78」を返答する(正引き)。この正引きデータはしばしば変更されるため、このIPアドレスの有効期間を示すコンテンツ保持期間(コンテンツのTTL(Time To Live))を、コンテンツ情報毎に設定している(図4参照)。
【0024】
DNSキャッシュサーバ2Bは、図5に示すキャッシュ情報[FQDN、IPアドレス、キャッシュ保持期間]をキャッシュ情報保持部22に格納している。このIPアドレスが、本発明のアクセス情報に相当する。そして、通常、クライアント機器1は、DNSキャッシュサーバ2Bに最初の問い合わせを行う。そして、DNSキャッシュサーバ2Bは、キャッシュ情報保持部22内に問い合わせのFQDNに対応するIPアドレスが保持されていない場合、もしくは保持されているキャッシュデータのキャッシュ保持期間(キャッシュのTTL)が過ぎている場合、DNSコンテンツサーバ2Aに問い合わせを行う。DNSキャッシュサーバ2Bは、問い合わせのFQDNに対応するIPアドレスをDNSコンテンツサーバ2Aから取得し、問い合わせ元のクライアント機器1へ送信する。さらに、問い合わせのFQDNに対応するIPアドレスをDNSコンテンツサーバ2Aから取得した場合、これらのデータを、図5に示すようにキャッシュ保持期間(有効期限)とともにキャッシュ情報に保存する。そして、DNSキャッシュサーバ2Bは、キャッシュ保持期間内に、同じFQDNに対応するIPアドレスの問い合わせがクライアント機器1からあった場合、キャッシュ情報保持部22内のIPアドレスをクライアント機器1に返答する。なお、図5では、キャッシュ保持期間として、キャッシュ情報を保持している有効期限(時刻)を用いている。
【0025】
また、DNSキャッシュサーバ2Bが、DNSコンテンツサーバ2Aからコンテンツ情報が得られない場合がある。この場合、DNSキャッシュサーバ2Bは、問い合わせのあったFQDNを、ドメイン全体に予め設定されているネガティブキャッシュ時のキャッシュ保持期間とともにキャッシュ情報に保持する(図5参照)。このように、IPアドレスが得られないFQDNによる問い合わせに対しては、ネガティブキャッシュ期間を設定して、DNSコンテンツサーバ2Aに無効な問い合わせが発生しないようにする。本システムでは、ネガティブキャッシュ期間の時間長さを、クライアント機器1による問い合せの送信周期より短く設定する(例えば、10秒間)。
【0026】
このような通信システムでは、NATルータ3が存在するため、クライアント機器1によるポーリング通信を行うことなく、機器通信サーバ4からクライアント機器1へデータを送信することはできない。すなわち、機器通信サーバ4が、NATルータ3を介してネットワーク接続しているクライアント機器1ヘデータを送信する場合、クライアント機器1によるポーリング通信が必要である。
【0027】
以下、本システムのポーリング通信について、図6の通信シーケンスを用いて説明する。
【0028】
まず、機器通信サーバ4は、機器ID「12345−00001」を割り付けられたクライアント機器1に対してデータを送信したい場合、DNSコンテンツサーバ2Aに機器ID「12345−00001」を含んだ通信要求を送信する(S1)。具体的には、機器通信サーバ4のFQDNと、クライアント機器1のアクセス先となるIPアドレスと、コンテンツ保持期間の各データを含んで、通信要求は生成される。そして、FQDNのホスト名には、通信要求の対象となるクライアント機器1の機器IDが設定されている。
【0029】
そして、通信要求を受信したDNSコンテンツサーバ2Aは、図7に示すコンテンツ情報をコンテンツ情報保持部21に格納する(S2)。コンテンツ情報は、機器通信サーバ4のFQDNと、クライアント機器1のアクセス先となるIPアドレスと、コンテンツ保持期間との各データで構成される。
【0030】
そして、クライアント機器1が、自端末の機器IDを含むFQDN「12345−00001.example.jp」を用いた問い合わせを生成し(S3)、この問い合わせをDNSキャッシュサーバ2Bに対して行う(S4)。この場合、DNSキャッシュサーバ2Bのキャッシュ情報保持部22に、問い合わせ元のクライアント機器1の機器IDに関連付けられたキャッシュ情報がないので(S5)、DNSキャッシュサーバ2Bは、DNSコンテンツサーバ2Aに対して同様の問い合わせを行う(S6)。この問い合わせ周期T1は、一定期間(例えば、10秒)に設定されている。
【0031】
DNSコンテンツサーバ2Aのコンテンツ情報保持部21には、FQDN「12345−00001.example.jp」に対応するIPアドレスが格納されている(図7参照)。すなわち、問い合わせ元のクライアント機器1の機器IDに関連付けられたコンテンツ情報が格納されている(S7)。そこで、DNSコンテンツサーバ2Aは、このコンテンツ情報のIPアドレス「12.34.56.78」をDNSキャッシュサーバ2Bへ返答する(S8)。
【0032】
DNSキャッシュサーバ2Bは、図8に示すように、FQDN「12345−00001.example.jp」にIPアドレス「12.34.56.78」を対応付けたキャッシュ情報を生成して、キャッシュ情報保持部22に格納する(S9)。さらに、DNSキャッシュサーバ2Bは、IPアドレス「12.34.56.78」をクライアント機器1へ返答する(S10)。
【0033】
通信要求の送信に対して、IPアドレスの返答を受けたクライアント機器1は、機器通信サーバ4との通信が必要であることを認識し(S11)、返答されたIPアドレスにアクセスする(S12)。クライアント機器1からアクセスされた機器通信サーバ4は、クライアント機器1の機器IDを用いた認証を行った後、データ保存部41に格納しているデータをクライアント機器1へ送信し(S13,S14)、クライアント機器1は、機器通信サーバ4からデータを受信する(S15)。
【0034】
以降、DNSキャッシュサーバ2Bは、FQDN「12345−00001.example.jp」を用いた問い合わせがキャッシュ保持期間T2内にあった場合、キャッシュ情報保持部22を参照して、クライアント機器1に対してIPアドレスを返答する。
【0035】
機器通信サーバ4がクライアント機器1へデータを送信した後、DNSコンテンツサーバ2Aは、コンテンツ情報保持部21から、送信したデータに対応するコンテンツ情報を削除する。したがって、クライアント機器1は、以降の問い合わせに対応するIPアドレスの返答がないので、機器通信サーバ4との通信が不要であることを認識できる。
【0036】
ここで、キャッシュ保持期間T2の時間長さは、コンテンツ保持期間の時間長さ以下に設定されることが望ましい。
【0037】
次に、本システムのポーリング通信におけるネガティブキャッシュについて、図9の通信シーケンスを用いて説明する。
【0038】
まず、クライアント機器1が、自端末の機器IDを含むFQDN「12345−00001.example.jp」を用いた問い合わせを生成し(S21)、この問い合わせをDNSキャッシュサーバ2Bに対して行う(S22)。この場合、DNSキャッシュサーバ2Bのキャッシュ情報保持部22に、問い合わせ元のクライアント機器1の機器IDに関連付けられたキャッシュ情報がないので(S23)、DNSキャッシュサーバ2Bは、DNSコンテンツサーバ2Aに対して同様の問い合わせを行う(S24)。この問い合わせ周期T11は、一定期間毎(例えば、10秒毎)に行われる。
【0039】
DNSコンテンツサーバ2Aのコンテンツ情報保持部21には、問い合わせ元のクライアント機器1の機器IDに関連付けられたコンテンツ情報が格納されていない(S25)。そこで、DNSコンテンツサーバ2Aは、コンテンツ情報がないことをDNSキャッシュサーバ2Bへ通知する(S26)。コンテンツ情報がないことを通知されたDNSキャッシュサーバ2Bは、キャッシュ情報保持部22に、クライアント機器1が問い合わせに用いたFQDNに対応して、ネガティブキャッシュ時のキャッシュ保持期間T12(ネガティブキャッシュ期間T12)を設定する(S27)。さらに、DNSキャッシュサーバ2Bは、コンテンツ情報がないことをクライアント機器1へ通知し(S28)、クライアント機器1は、問い合わせに対応するコンテンツ情報がないことを認識し、機器通信サーバ4へのアクセスを行わない(S29)。
【0040】
そして、クライアント機器1が、自端末の機器IDを含むFQDN「12345−00001.example.jp」を用いた問い合わせを再度生成し(S30)、この問い合わせをDNSキャッシュサーバ2Bに対して再度行う(S31)。この場合、DNSキャッシュサーバ2Bのキャッシュ情報保持部22には、問い合わせに用いたFQDNに対応して、ネガティブキャッシュ期間T12が設定されている(S32)。そして、DNSキャッシュサーバ2Bは、このネガティブキャッシュ期間T12内の再度の問い合わせに対して、コンテンツ情報がないことをクライアント機器1へ通知する(S33)。クライアント機器1は、問い合わせに対応するコンテンツ情報がないことを認識し、機器通信サーバ4へのアクセスを行わない(S34)。
【0041】
このように、クライアント機器1は、DNSサーバ2に対する問い合わせを用いて、機器通信サーバ4に自端末へのデータが存在するか否かを知ることができる。そして、クライアント機器1は、機器通信サーバ4に自端末へのデータが存在する場合に、機器通信サーバ4にアクセスし、機器通信サーバ4に自端末へのデータが存在しない場合には、機器通信サーバ4にアクセスしない。また、クライアント機器1は、ネガティブキャッシュ期間においても、機器通信サーバ4にアクセスしない。
【0042】
したがって、本システムでは、DNSによる名前解決のための通信がポーリングの機能を兼ねることができるので、DNS環境下において、無駄な通信を行うことなく、ポーリング通信にかかる通信コストを低減することができる。
【0043】
なお、クライアント機器1が、機器通信サーバ4のIPアドレスをDNSサーバ2から取得し、取得したIPアドレスにアクセスした場合、攻撃者によってキャッシュ情報に細工がなされて、異なるサーバに接続させられる虞がある。そこで、クライアント機器1の問い合わせに対して返答する情報は、機器通信サーバ4への接続が必要なことだけを示すことにして、クライアント機器1は、自端末に予め保持している機器通信サーバ4のIPアドレスにアクセスする構成であってもよい。
【0044】
また、NATルータ3の代わりに、ファイアウォール機能を有するネットワーク機器を設けてもよい。
【0045】
(実施形態2)
本実施形態の通信システムは、DNSキャッシュサーバ2Bのキャッシュ保持期間の時間長さを、外部からの指示によって変更可能な構成を備える。なお、実施形態1と同様の構成には同一の符号を付して説明は省略する。
【0046】
一般に、サービス事業者が、DNSコンテンツサーバ2Aにおけるコンテンツ保持期間、DNSキャッシュサーバ2Bのキャッシュ保持期間を管理する。そして、キャッシュ保持期間がコンテンツ保持期間より長い場合、コンテンツ保持期間が過ぎて、コンテンツ情報が削除されたにも関わらず、クライアント機器1が、キャッシュ情報に基づいた無駄な問い合わせを行う場合がある。そこで、キャッシュ保持期間の時間長さは、コンテンツ保持期間の時間長さ以下に設定されることが望ましい。
【0047】
しかしながら、顧客宅内に設置されたルータ機器(例えば、NATルータ3)が、DNSキャッシュサーバ2Bの機能を有する場合がある。ルータ機器で構成されたDNSキャッシュサーバ2Bは、キャッシュ保持期間の時間長さに下限が設けられることがある。このキャッシュ保持期間の下限制約によって、サービス事業者が短いコンテンツ保持期間を設定したときに、キャッシュ保持期間の時間長さをコンテンツ保持期間の時間長さ以下に設定できない虞がある。そこで、本実施形態のクライアント機器1は、キャッシュ保持期間の時間長さがコンテンツ保持期間の時間長さより長い場合、DNSキャッシュサーバ2Bに問い合わせをせず、DNSコンテンツサーバ2Aに直接問い合わせを行う。
【0048】
具体的に、クライアント機器1は、自端末の起動時に、起動したことを示す信号を機器通信サーバ4に送信する。機器通信サーバ4は、短いコンテンツ保持期間に設定されたコンテンツ情報を、DNSコンテンツサーバ2Aに登録する。これは、このクライアント機器1が用いるDNSキャッシュサーバ2Bがキャッシュ保持期間に下限制約を設けて、キャッシュ保持期間の時間長さがコンテンツ保持期間の時間長さより長くなっているか否かを検知するためである。
【0049】
そして、サービス事業者は、DNSコンテンツサーバ2Aのコンテンツ保持期間より短いキャッシュ保持時間を設定するように、DNSキャッシュサーバ2Bに対して指示する。
【0050】
次に、クライアント機器1は、一定期間毎の問い合わせによって、IPアドレスを取得して、機器通信サーバ4にアクセスする。そして、機器通信サーバ4は、コンテンツ保持期間が過ぎて、DNSコンテンツサーバ2Aから当該コンテンツ情報が削除された後も、クライアント機器1から当該コンテンツ情報に基づくアクセスがある場合、キャッシュ保持期間の時間長さが下限制約の影響を受けていると判断する。すなわち、キャッシュ保持期間の時間長さは、コンテンツ保持期間の時間長さ以下に設定されるが、コンテンツ保持期間が短くなりすぎると、キャッシュ保持期間の時間長さは、下限制約の影響によってコンテンツ保持期間より長くなる。
【0051】
そこで、機器通信サーバ4は、キャッシュ保持期間が下限制約の影響を受けていると判断した場合、クライアント機器1に対して、DNSキャッシュサーバ2Bへの問い合わせをやめ、DNSコンテンツサーバ2Aに直接問い合わせを行うように指示する。
【0052】
したがって、DNSキャッシュサーバ2Bのキャッシュ保持期間が下限制約の影響を受けている場合、クライアント機器1は、DNSコンテンツサーバ2Aに直接問い合わせることで、DNSキャッシュサーバ2Bの影響を受けずにポーリングを行うことができる。
【0053】
(実施形態3)
本実施形態の通信システムは、暗号化キーを用いた通信を行うものであり、実施形態1と同様の構成には同一の符号を付して説明は省略する。
【0054】
本実施形態のクライアント機器1の機器情報テーブル13は、図10に示すように、当該クライアント機器1に予め割り付けられた機器IDと、当該クライアント機器1が機器通信サーバ4から取得した暗号化キーとを格納している。この暗号化キーには、有効期間が設定されており、クライアント機器1は、暗号化キーの有効期間情報も保持している。
【0055】
この暗号化キーは乱数値であり、機器通信サーバ4によってクライアント機器1毎に異なる値に設定され、機器通信サーバ4が、クライアント機器1のそれぞれに暗号化キーを通知することによって、機器情報テーブル13に暗号化キーが格納される。
【0056】
そして、クライアント機器1がDNSサーバ2への問い合わせに用いるFQDNは、当該クライアント機器1の機器IDおよび暗号化キー、この暗号化キーの有効期間で構成される文字列(データ列)をハッシュした結果が、ホスト名になる。
【0057】
さらに機器通信サーバ4の機器情報テーブル42は、図11に示すように、クライアント機器1毎の機器IDおよび暗号化キーを格納している。この暗号化キーには、有効期間が設定されており、機器通信サーバ4は、暗号化キーの有効期間情報も保持している。
【0058】
そして、機器通信サーバ4は、機器ID「12345−00001」を割り付けられたクライアント機器1に対してデータを送信したい場合、DNSコンテンツサーバ2Aに通信要求を送信する。この通信要求は、機器通信サーバ4のFQDNと、クライアント機器1のアクセス先となるIPアドレスと、コンテンツ保持期間の各データを含んで生成される。通信要求に含まれるFQDNは、データ送信先のクライアント機器1の機器IDおよび暗号化キー、この暗号化キーの有効期間で構成される文字列(データ列)を、クライアント機器1と同じハッシュ関数でハッシュした結果が、ホスト名になる。
【0059】
例えば、機器ID「12345−00001」、暗号化キー「akjasdkje」、暗号化キーの有効期間「2011年3月14日18時30分10秒〜19秒」とし、ハッシュ関数shaを用いるとする。この場合、FQDNのホスト名は、sha(1234500001akjasdkje2011031418301)=「b7543dfe53e1043a481367cfac581a7a88a2a79c」で求められる。したがって、FQDNは、「b7543dfe53e1043a481367cfac581a7a88a2a79c.example.jp」となる。
【0060】
そして、機器通信サーバ4は、クライアント機器1の問い合わせ周期毎に暗号化キーを更新し、クライアント機器1は、問い合わせ周期毎に異なる暗号化キーを機器通信サーバ4から取得する。したがって、暗号化キーが漏洩し難くなり、攻撃者は、クライアント機器1が次の問い合わせに用いるFQDNを類推することが難しくなる。すなわち、攻撃者がポーリング通信の盗聴を行って、偽のIPアドレスをクライアント機器1へ通知することが困難になる。
【0061】
(実施形態4)
実施形態1乃至3において、クライアント機器1は、自端末に関連付けられたFQDNがDNSコンテンツサーバ2Aのコンテンツ情報に格納されている場合、DNSコンテンツサーバ2AからIPアドレスを取得して、機器通信サーバ4との間で通信を行う。しかし、DNSコンテンツサーバ2Aに障害が発生するなどして、コンテンツ情報のFQDNの更新が正しく反映されなかった場合、クライアント機器1と機器通信サーバ4との通信が不可能になる虞がある。
【0062】
そこで、本実施形態では、DNSキャッシュサーバ2Bのキャッシュ保持時間を、クライアント端末1の問い合わせ周期より短くしている。すなわち、DNSキャッシュサーバ2Bは、クライアント機器1の問い合わせ周期より短い周期で、キャッシュ情報を更新する。すなわち、キャッシュ情報が無効になるタイミングを早くすることができる。
【0063】
そして、本実施形態のクライアント端末1は、機器通信サーバ4にアクセスするためのIPアドレスを予め保持している。したがって、クライアント端末1は、自端末に関連付けられたFQDNがDNSコンテンツサーバ2Aのコンテンツ情報に格納されていない場合、機器通信サーバ4に問い合わせ信号を直接送信することができる。而して、DNSサーバ2に障害が発生した場合、クライアント端末1は機器通信サーバに直接接続することによって、障害につよいシステムを構築できる。
【0064】
なお、他の構成は、実施形態1乃至3と同様であり、説明は省略する。
【符号の説明】
【0065】
1 クライアント機器
2 DNSサーバ
2A DNSコンテンツサーバ
2B DNSキャッシュサーバ
3 NATルータ
4 機器通信サーバ
NT1 宅内ネットワーク
NT2 外部ネットワーク
【技術分野】
【0001】
本発明は、通信システムに関するものである。
【背景技術】
【0002】
一般に、機器通信サーバが、NATルータ、ファイアウォールを介してネットワーク接続しているクライアント機器ヘデータを送信する場合、クライアント機器から機器通信サーバへのポーリングが必要である。
【0003】
クライアント機器は、ポーリングを行う際、接続先である機器通信サーバのドメイン名をIPアドレスに変換するために、DNS(Domain Name System)による名前解決を行う。そして、クライアント機器は、事業者が所有するドメイン名に加えて固有のサーバ名称を加えたFQDN(Fully Qualified Domain Name)をDNSに問い合わせることで、FQDNから変換したIPアドレスをDNSから取得できる。このようなDNSは、DNSコンテンツサーバとDNSキャッシュサーバからなる階層分散管理が行われている。
【0004】
DNSにおいて、DNSキャッシュサーバは、クライアント機器が一度取得したIPアドレスを、設定されているキャッシュ保持期間(キャッシュのTTL(Time To Live))に亘ってキャッシュする。そのため、DNSコンテンツサーバは、クライアント機器からの問い合わせに対して、名前解決を毎回行うわけではない。しかしながら、機器通信の場合はFQDNが更新されることがあるので、このような場合、DNSコンテンツサーバは、クライアント機器からの問い合わせに対して、名前解決を毎回行うことになる。
【0005】
クライアント機器は、上述のようにして機器通信サーバのIPアドレスを取得した後、この取得したIPアドレスを用いて、機器通信サーバへのポーリングを行う。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開平2004−280717号公報
【特許文献2】特開平2007−172048号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
上記従来の通信システムでは、クライアント機器から機器通信サーバへのポーリングが発生する毎に、DNSによる名前解決のための通信と、ポーリングのための通信との両方が発生するため、通信負荷が増大していた。したがって、回線費用、サーバ側およびクライアント装置側の計算機資源等の通信コストがかかっていた。
【0008】
本発明は、上記事由に鑑みてなされたものであり、その目的は、DNS環境下において、ポーリング通信にかかる通信コストを低減することができる通信システムを提供することにある。
【課題を解決するための手段】
【0009】
本発明の通信システムは、機器通信サーバと、DNSサーバと、前記機器通信サーバおよび前記DNSサーバにネットワークを介して接続しているクライアント機器とで構成され、前記機器通信サーバは、特定の前記クライアント機器との通信要求を前記DNSサーバへ送信し、前記通信要求を受信した前記DNSサーバは、前記機器通信サーバにアクセスするためのアクセス情報を前記特定のクライアント機器に関連付けて格納し、前記クライアント機器は、自端末を特定するための特定情報を含む問い合わせ信号を送信し、前記問い合わせ信号を受信した前記DNSサーバは、前記問い合わせ信号に含まれる前記特定情報に対応する前記クライアント機器に関連付けられた前記アクセス情報を格納している場合、前記問い合わせ信号の送信元である前記クライアント機器へ前記アクセス情報を送信し、前記クライアント機器は、前記アクセス情報に基づいて前記機器通信サーバにアクセスすることを特徴とする。
【0010】
この発明において、前記DNSサーバは、前記通信要求を受信することによって、前記アクセス情報を前記特定のクライアント機器に関連付けて、コンテンツ保持期間に亘って保存するDNSコンテンツサーバと、前記クライアント機器が取得した前記アクセス情報を、このアクセス情報を取得した前記クライアント機器に関連付けてキャッシュ保持期間に亘って保存するDNSキャッシュサーバとで構成され、前記クライアント機器は、前記キャッシュ保持期間の時間長さが前記コンテンツ保持期間の時間長さより短い場合、前記問い合わせ信号を前記DNSキャッシュサーバへ送信し、前記DNSキャッシュサーバは、前記問い合わせ信号の送信元である前記クライアント機器に関連付けられた前記アクセス情報が格納されていない場合、前記DNSコンテンツサーバへ前記問い合わせ信号を送信し、前記キャッシュ保持期間の時間長さが前記コンテンツ保持期間の時間長さより長い場合、前記クライアント機器は、前記問い合わせ信号を前記DNSコンテンツサーバへ送信することが好ましい。
【0011】
この発明において、前記クライアント機器は、前記問い合わせ信号の送信毎に、前記特定情報を異なるデータ列で生成することが好ましい。
【0012】
この発明において、前記クライアント機器は、自端末に予め割り付けられている機器IDと、前記機器通信サーバから取得した暗号化キーとを少なくとも含むデータ列をハッシュすることによって前記特定情報を生成し、この特定情報を含む前記問い合わせ信号を送信した後、前記機器通信サーバから新たな暗号化キーを取得することが好ましい。
【0013】
この発明において、前記DNSサーバは、前記通信要求を受信することによって、前記アクセス情報を前記特定のクライアント機器に関連付けて格納するDNSコンテンツサーバと、前記クライアント機器が取得した前記アクセス情報を、このアクセス情報を取得した前記クライアント機器に関連付けてキャッシュ保持期間に亘って保存するDNSキャッシュサーバとで構成され、前記DNSキャッシュサーバの前記キャッシュ保持期間は、前記クライアント機器が前記問い合わせ信号を送信する周期より短く、前記クライアント機器は、前記問い合わせ信号を前記DNSキャッシュサーバへ送信して、前記DNSキャッシュサーバは、前記問い合わせ信号の送信元である前記クライアント機器に関連付けられた前記アクセス情報が格納されていない場合、前記DNSコンテンツサーバへ前記問い合わせ信号を送信し、前記クライアント機器は、前記問い合わせ信号に対応する前記アクセス情報を受信しなかった場合、予め保持している前記機器通信サーバのアクセス情報に基づいて前記機器通信サーバにアクセスすることが好ましい。
【発明の効果】
【0014】
以上説明したように、本発明では、DNSによる名前解決のための通信がポーリングの機能を兼ねることができるので、DNS環境下において、ポーリング通信にかかる通信コストを低減することができるという効果がある。
【図面の簡単な説明】
【0015】
【図1】実施形態1の通信システムの構成を示すブロック図である。
【図2】同上のクライアント機器の機器情報テーブルの構造を示すテーブル図である。
【図3】同上の機器通信サーバの機器情報テーブルの構造を示すテーブル図である。
【図4】同上のコンテンツ情報の構造を示すテーブル図である。
【図5】同上のキャッシュ情報の構造を示すテーブル図である。
【図6】同上のポーリング通信を示すシーケンス図である。
【図7】同上のコンテンツ情報を示すテーブル図である。
【図8】同上のキャッシュ情報を示すテーブル図である。
【図9】同上のネガティブキャッシュ生成処理を示すシーケンス図である。
【図10】実施形態3のクライアント機器の機器情報テーブルの構造を示すテーブル図である。
【図11】同上の機器通信サーバの機器情報テーブルの構造を示すテーブル図である。
【発明を実施するための形態】
【0016】
以下、本発明の実施の形態を図面に基づいて説明する。
【0017】
(実施形態1)
図1は、本実施形態の通信システムの構成を示し、顧客宅には宅内ネットワークNT1が構築され、クライアント機器1、DNSキャッシュサーバ2Bが宅内ネットワークNT1に接続している。そして、宅内ネットワークNT1は、NATルータ3を介して、インターネットを含む広域網である外部ネットワークNT2に接続している。外部ネットワークNT2には、DNSコンテンツサーバ2A、機器通信サーバ4が接続しており、DNSコンテンツサーバ2Aと機器通信サーバ4とで、センターサーバCSを構成している。さらに、DNSコンテンツサーバ2AとDNSキャッシュサーバ2Bとで、DNSサーバ2を構成している。
【0018】
まず、クライアント機器1は、監視・制御対象となる機器で構成され、データ取得部11、DNSクライアント部12、機器情報テーブル13を備える。データ取得部11は、監視・制御に関するデータを機器通信サーバ4から取得する機能を有し、DNSクライアント部12は、DNSサーバ2に対してDNS問い合わせ(以降、問い合わせと称す)を行い、DNSによる名前解決のための通信を行う。この問い合わせは、DNSクライアント部12が、機器通信サーバ4のFQDN(Fully Qualified Domain Name)をDNSサーバ2へ送信することで、FQDNから変換したIPアドレスをDNSサーバ2から取得できる。このFQDNが、本発明の問い合わせ信号に相当する。そして、データ取得部11は、取得したIPアドレスを用いて機器通信サーバ4にアクセスし、機器通信サーバ4から自端末宛のデータを取得する。さらに機器情報テーブル13は、図2に示すように、当該クライアント機器1に予め割り付けられた機器IDを格納している。
【0019】
DNSキャッシュサーバ2Bは、クライアント機器1からの問い合わせに対するキャッシュ機能を有しており、キャッシュ情報を格納するキャッシュ情報保持部22を備える。なお、DNSキャッシュサーバ2Bは、顧客宅外で、クライアント機器1にネットワーク的に近い場所に設置されてもよい。
【0020】
DNSコンテンツサーバ2Aは、ドメイン管理業者から権限委譲されたサブドメインに関するコンテンツ情報を格納するコンテンツ情報保持部21を備える。
【0021】
機器通信サーバ4は、クライアント機器1へ伝達するデータをデータ保持部41に格納している。さらに機器通信サーバ4は、クライアント機器1毎の機器IDを格納した機器情報テーブル42(図3参照)と、クライアント機器1およびDNSコンテンツサーバ2Aとの間でネットワーク通信を行う通信部43とを備える。なお、宅内ネットワークNT1に接続したクライアント機器1が自端末の機器IDを機器通信サーバ4へ送信することによって、クライアント機器1毎の機器IDが機器情報テーブル42に格納される。
【0022】
また、本システムのDNSサーバ2は、DNSコンテンツサーバ2AとDNSキャッシュサーバ2Bとからなる分散データベース機能を持つ。
【0023】
DNSコンテンツサーバ2Aは、図4に示すコンテンツ情報[FQDN、IPアドレス、コンテンツ保持期間]をコンテンツ情報保持部21に格納している。このIPアドレスが、本発明のアクセス情報に相当する。そして、例えば、当該サーバが「example.jp」ドメインを保持している場合、コンテンツ情報には、FQDN「polling1.example.jp」に対応するIPアドレスとして「12.34.56.78」が設定されている。そして、DNSコンテンツサーバ2Aは、FQDN「polling1.example.jp」に対応するIPアドレスの問い合わせがあった場合、IPアドレス「12.34.56.78」を返答する(正引き)。この正引きデータはしばしば変更されるため、このIPアドレスの有効期間を示すコンテンツ保持期間(コンテンツのTTL(Time To Live))を、コンテンツ情報毎に設定している(図4参照)。
【0024】
DNSキャッシュサーバ2Bは、図5に示すキャッシュ情報[FQDN、IPアドレス、キャッシュ保持期間]をキャッシュ情報保持部22に格納している。このIPアドレスが、本発明のアクセス情報に相当する。そして、通常、クライアント機器1は、DNSキャッシュサーバ2Bに最初の問い合わせを行う。そして、DNSキャッシュサーバ2Bは、キャッシュ情報保持部22内に問い合わせのFQDNに対応するIPアドレスが保持されていない場合、もしくは保持されているキャッシュデータのキャッシュ保持期間(キャッシュのTTL)が過ぎている場合、DNSコンテンツサーバ2Aに問い合わせを行う。DNSキャッシュサーバ2Bは、問い合わせのFQDNに対応するIPアドレスをDNSコンテンツサーバ2Aから取得し、問い合わせ元のクライアント機器1へ送信する。さらに、問い合わせのFQDNに対応するIPアドレスをDNSコンテンツサーバ2Aから取得した場合、これらのデータを、図5に示すようにキャッシュ保持期間(有効期限)とともにキャッシュ情報に保存する。そして、DNSキャッシュサーバ2Bは、キャッシュ保持期間内に、同じFQDNに対応するIPアドレスの問い合わせがクライアント機器1からあった場合、キャッシュ情報保持部22内のIPアドレスをクライアント機器1に返答する。なお、図5では、キャッシュ保持期間として、キャッシュ情報を保持している有効期限(時刻)を用いている。
【0025】
また、DNSキャッシュサーバ2Bが、DNSコンテンツサーバ2Aからコンテンツ情報が得られない場合がある。この場合、DNSキャッシュサーバ2Bは、問い合わせのあったFQDNを、ドメイン全体に予め設定されているネガティブキャッシュ時のキャッシュ保持期間とともにキャッシュ情報に保持する(図5参照)。このように、IPアドレスが得られないFQDNによる問い合わせに対しては、ネガティブキャッシュ期間を設定して、DNSコンテンツサーバ2Aに無効な問い合わせが発生しないようにする。本システムでは、ネガティブキャッシュ期間の時間長さを、クライアント機器1による問い合せの送信周期より短く設定する(例えば、10秒間)。
【0026】
このような通信システムでは、NATルータ3が存在するため、クライアント機器1によるポーリング通信を行うことなく、機器通信サーバ4からクライアント機器1へデータを送信することはできない。すなわち、機器通信サーバ4が、NATルータ3を介してネットワーク接続しているクライアント機器1ヘデータを送信する場合、クライアント機器1によるポーリング通信が必要である。
【0027】
以下、本システムのポーリング通信について、図6の通信シーケンスを用いて説明する。
【0028】
まず、機器通信サーバ4は、機器ID「12345−00001」を割り付けられたクライアント機器1に対してデータを送信したい場合、DNSコンテンツサーバ2Aに機器ID「12345−00001」を含んだ通信要求を送信する(S1)。具体的には、機器通信サーバ4のFQDNと、クライアント機器1のアクセス先となるIPアドレスと、コンテンツ保持期間の各データを含んで、通信要求は生成される。そして、FQDNのホスト名には、通信要求の対象となるクライアント機器1の機器IDが設定されている。
【0029】
そして、通信要求を受信したDNSコンテンツサーバ2Aは、図7に示すコンテンツ情報をコンテンツ情報保持部21に格納する(S2)。コンテンツ情報は、機器通信サーバ4のFQDNと、クライアント機器1のアクセス先となるIPアドレスと、コンテンツ保持期間との各データで構成される。
【0030】
そして、クライアント機器1が、自端末の機器IDを含むFQDN「12345−00001.example.jp」を用いた問い合わせを生成し(S3)、この問い合わせをDNSキャッシュサーバ2Bに対して行う(S4)。この場合、DNSキャッシュサーバ2Bのキャッシュ情報保持部22に、問い合わせ元のクライアント機器1の機器IDに関連付けられたキャッシュ情報がないので(S5)、DNSキャッシュサーバ2Bは、DNSコンテンツサーバ2Aに対して同様の問い合わせを行う(S6)。この問い合わせ周期T1は、一定期間(例えば、10秒)に設定されている。
【0031】
DNSコンテンツサーバ2Aのコンテンツ情報保持部21には、FQDN「12345−00001.example.jp」に対応するIPアドレスが格納されている(図7参照)。すなわち、問い合わせ元のクライアント機器1の機器IDに関連付けられたコンテンツ情報が格納されている(S7)。そこで、DNSコンテンツサーバ2Aは、このコンテンツ情報のIPアドレス「12.34.56.78」をDNSキャッシュサーバ2Bへ返答する(S8)。
【0032】
DNSキャッシュサーバ2Bは、図8に示すように、FQDN「12345−00001.example.jp」にIPアドレス「12.34.56.78」を対応付けたキャッシュ情報を生成して、キャッシュ情報保持部22に格納する(S9)。さらに、DNSキャッシュサーバ2Bは、IPアドレス「12.34.56.78」をクライアント機器1へ返答する(S10)。
【0033】
通信要求の送信に対して、IPアドレスの返答を受けたクライアント機器1は、機器通信サーバ4との通信が必要であることを認識し(S11)、返答されたIPアドレスにアクセスする(S12)。クライアント機器1からアクセスされた機器通信サーバ4は、クライアント機器1の機器IDを用いた認証を行った後、データ保存部41に格納しているデータをクライアント機器1へ送信し(S13,S14)、クライアント機器1は、機器通信サーバ4からデータを受信する(S15)。
【0034】
以降、DNSキャッシュサーバ2Bは、FQDN「12345−00001.example.jp」を用いた問い合わせがキャッシュ保持期間T2内にあった場合、キャッシュ情報保持部22を参照して、クライアント機器1に対してIPアドレスを返答する。
【0035】
機器通信サーバ4がクライアント機器1へデータを送信した後、DNSコンテンツサーバ2Aは、コンテンツ情報保持部21から、送信したデータに対応するコンテンツ情報を削除する。したがって、クライアント機器1は、以降の問い合わせに対応するIPアドレスの返答がないので、機器通信サーバ4との通信が不要であることを認識できる。
【0036】
ここで、キャッシュ保持期間T2の時間長さは、コンテンツ保持期間の時間長さ以下に設定されることが望ましい。
【0037】
次に、本システムのポーリング通信におけるネガティブキャッシュについて、図9の通信シーケンスを用いて説明する。
【0038】
まず、クライアント機器1が、自端末の機器IDを含むFQDN「12345−00001.example.jp」を用いた問い合わせを生成し(S21)、この問い合わせをDNSキャッシュサーバ2Bに対して行う(S22)。この場合、DNSキャッシュサーバ2Bのキャッシュ情報保持部22に、問い合わせ元のクライアント機器1の機器IDに関連付けられたキャッシュ情報がないので(S23)、DNSキャッシュサーバ2Bは、DNSコンテンツサーバ2Aに対して同様の問い合わせを行う(S24)。この問い合わせ周期T11は、一定期間毎(例えば、10秒毎)に行われる。
【0039】
DNSコンテンツサーバ2Aのコンテンツ情報保持部21には、問い合わせ元のクライアント機器1の機器IDに関連付けられたコンテンツ情報が格納されていない(S25)。そこで、DNSコンテンツサーバ2Aは、コンテンツ情報がないことをDNSキャッシュサーバ2Bへ通知する(S26)。コンテンツ情報がないことを通知されたDNSキャッシュサーバ2Bは、キャッシュ情報保持部22に、クライアント機器1が問い合わせに用いたFQDNに対応して、ネガティブキャッシュ時のキャッシュ保持期間T12(ネガティブキャッシュ期間T12)を設定する(S27)。さらに、DNSキャッシュサーバ2Bは、コンテンツ情報がないことをクライアント機器1へ通知し(S28)、クライアント機器1は、問い合わせに対応するコンテンツ情報がないことを認識し、機器通信サーバ4へのアクセスを行わない(S29)。
【0040】
そして、クライアント機器1が、自端末の機器IDを含むFQDN「12345−00001.example.jp」を用いた問い合わせを再度生成し(S30)、この問い合わせをDNSキャッシュサーバ2Bに対して再度行う(S31)。この場合、DNSキャッシュサーバ2Bのキャッシュ情報保持部22には、問い合わせに用いたFQDNに対応して、ネガティブキャッシュ期間T12が設定されている(S32)。そして、DNSキャッシュサーバ2Bは、このネガティブキャッシュ期間T12内の再度の問い合わせに対して、コンテンツ情報がないことをクライアント機器1へ通知する(S33)。クライアント機器1は、問い合わせに対応するコンテンツ情報がないことを認識し、機器通信サーバ4へのアクセスを行わない(S34)。
【0041】
このように、クライアント機器1は、DNSサーバ2に対する問い合わせを用いて、機器通信サーバ4に自端末へのデータが存在するか否かを知ることができる。そして、クライアント機器1は、機器通信サーバ4に自端末へのデータが存在する場合に、機器通信サーバ4にアクセスし、機器通信サーバ4に自端末へのデータが存在しない場合には、機器通信サーバ4にアクセスしない。また、クライアント機器1は、ネガティブキャッシュ期間においても、機器通信サーバ4にアクセスしない。
【0042】
したがって、本システムでは、DNSによる名前解決のための通信がポーリングの機能を兼ねることができるので、DNS環境下において、無駄な通信を行うことなく、ポーリング通信にかかる通信コストを低減することができる。
【0043】
なお、クライアント機器1が、機器通信サーバ4のIPアドレスをDNSサーバ2から取得し、取得したIPアドレスにアクセスした場合、攻撃者によってキャッシュ情報に細工がなされて、異なるサーバに接続させられる虞がある。そこで、クライアント機器1の問い合わせに対して返答する情報は、機器通信サーバ4への接続が必要なことだけを示すことにして、クライアント機器1は、自端末に予め保持している機器通信サーバ4のIPアドレスにアクセスする構成であってもよい。
【0044】
また、NATルータ3の代わりに、ファイアウォール機能を有するネットワーク機器を設けてもよい。
【0045】
(実施形態2)
本実施形態の通信システムは、DNSキャッシュサーバ2Bのキャッシュ保持期間の時間長さを、外部からの指示によって変更可能な構成を備える。なお、実施形態1と同様の構成には同一の符号を付して説明は省略する。
【0046】
一般に、サービス事業者が、DNSコンテンツサーバ2Aにおけるコンテンツ保持期間、DNSキャッシュサーバ2Bのキャッシュ保持期間を管理する。そして、キャッシュ保持期間がコンテンツ保持期間より長い場合、コンテンツ保持期間が過ぎて、コンテンツ情報が削除されたにも関わらず、クライアント機器1が、キャッシュ情報に基づいた無駄な問い合わせを行う場合がある。そこで、キャッシュ保持期間の時間長さは、コンテンツ保持期間の時間長さ以下に設定されることが望ましい。
【0047】
しかしながら、顧客宅内に設置されたルータ機器(例えば、NATルータ3)が、DNSキャッシュサーバ2Bの機能を有する場合がある。ルータ機器で構成されたDNSキャッシュサーバ2Bは、キャッシュ保持期間の時間長さに下限が設けられることがある。このキャッシュ保持期間の下限制約によって、サービス事業者が短いコンテンツ保持期間を設定したときに、キャッシュ保持期間の時間長さをコンテンツ保持期間の時間長さ以下に設定できない虞がある。そこで、本実施形態のクライアント機器1は、キャッシュ保持期間の時間長さがコンテンツ保持期間の時間長さより長い場合、DNSキャッシュサーバ2Bに問い合わせをせず、DNSコンテンツサーバ2Aに直接問い合わせを行う。
【0048】
具体的に、クライアント機器1は、自端末の起動時に、起動したことを示す信号を機器通信サーバ4に送信する。機器通信サーバ4は、短いコンテンツ保持期間に設定されたコンテンツ情報を、DNSコンテンツサーバ2Aに登録する。これは、このクライアント機器1が用いるDNSキャッシュサーバ2Bがキャッシュ保持期間に下限制約を設けて、キャッシュ保持期間の時間長さがコンテンツ保持期間の時間長さより長くなっているか否かを検知するためである。
【0049】
そして、サービス事業者は、DNSコンテンツサーバ2Aのコンテンツ保持期間より短いキャッシュ保持時間を設定するように、DNSキャッシュサーバ2Bに対して指示する。
【0050】
次に、クライアント機器1は、一定期間毎の問い合わせによって、IPアドレスを取得して、機器通信サーバ4にアクセスする。そして、機器通信サーバ4は、コンテンツ保持期間が過ぎて、DNSコンテンツサーバ2Aから当該コンテンツ情報が削除された後も、クライアント機器1から当該コンテンツ情報に基づくアクセスがある場合、キャッシュ保持期間の時間長さが下限制約の影響を受けていると判断する。すなわち、キャッシュ保持期間の時間長さは、コンテンツ保持期間の時間長さ以下に設定されるが、コンテンツ保持期間が短くなりすぎると、キャッシュ保持期間の時間長さは、下限制約の影響によってコンテンツ保持期間より長くなる。
【0051】
そこで、機器通信サーバ4は、キャッシュ保持期間が下限制約の影響を受けていると判断した場合、クライアント機器1に対して、DNSキャッシュサーバ2Bへの問い合わせをやめ、DNSコンテンツサーバ2Aに直接問い合わせを行うように指示する。
【0052】
したがって、DNSキャッシュサーバ2Bのキャッシュ保持期間が下限制約の影響を受けている場合、クライアント機器1は、DNSコンテンツサーバ2Aに直接問い合わせることで、DNSキャッシュサーバ2Bの影響を受けずにポーリングを行うことができる。
【0053】
(実施形態3)
本実施形態の通信システムは、暗号化キーを用いた通信を行うものであり、実施形態1と同様の構成には同一の符号を付して説明は省略する。
【0054】
本実施形態のクライアント機器1の機器情報テーブル13は、図10に示すように、当該クライアント機器1に予め割り付けられた機器IDと、当該クライアント機器1が機器通信サーバ4から取得した暗号化キーとを格納している。この暗号化キーには、有効期間が設定されており、クライアント機器1は、暗号化キーの有効期間情報も保持している。
【0055】
この暗号化キーは乱数値であり、機器通信サーバ4によってクライアント機器1毎に異なる値に設定され、機器通信サーバ4が、クライアント機器1のそれぞれに暗号化キーを通知することによって、機器情報テーブル13に暗号化キーが格納される。
【0056】
そして、クライアント機器1がDNSサーバ2への問い合わせに用いるFQDNは、当該クライアント機器1の機器IDおよび暗号化キー、この暗号化キーの有効期間で構成される文字列(データ列)をハッシュした結果が、ホスト名になる。
【0057】
さらに機器通信サーバ4の機器情報テーブル42は、図11に示すように、クライアント機器1毎の機器IDおよび暗号化キーを格納している。この暗号化キーには、有効期間が設定されており、機器通信サーバ4は、暗号化キーの有効期間情報も保持している。
【0058】
そして、機器通信サーバ4は、機器ID「12345−00001」を割り付けられたクライアント機器1に対してデータを送信したい場合、DNSコンテンツサーバ2Aに通信要求を送信する。この通信要求は、機器通信サーバ4のFQDNと、クライアント機器1のアクセス先となるIPアドレスと、コンテンツ保持期間の各データを含んで生成される。通信要求に含まれるFQDNは、データ送信先のクライアント機器1の機器IDおよび暗号化キー、この暗号化キーの有効期間で構成される文字列(データ列)を、クライアント機器1と同じハッシュ関数でハッシュした結果が、ホスト名になる。
【0059】
例えば、機器ID「12345−00001」、暗号化キー「akjasdkje」、暗号化キーの有効期間「2011年3月14日18時30分10秒〜19秒」とし、ハッシュ関数shaを用いるとする。この場合、FQDNのホスト名は、sha(1234500001akjasdkje2011031418301)=「b7543dfe53e1043a481367cfac581a7a88a2a79c」で求められる。したがって、FQDNは、「b7543dfe53e1043a481367cfac581a7a88a2a79c.example.jp」となる。
【0060】
そして、機器通信サーバ4は、クライアント機器1の問い合わせ周期毎に暗号化キーを更新し、クライアント機器1は、問い合わせ周期毎に異なる暗号化キーを機器通信サーバ4から取得する。したがって、暗号化キーが漏洩し難くなり、攻撃者は、クライアント機器1が次の問い合わせに用いるFQDNを類推することが難しくなる。すなわち、攻撃者がポーリング通信の盗聴を行って、偽のIPアドレスをクライアント機器1へ通知することが困難になる。
【0061】
(実施形態4)
実施形態1乃至3において、クライアント機器1は、自端末に関連付けられたFQDNがDNSコンテンツサーバ2Aのコンテンツ情報に格納されている場合、DNSコンテンツサーバ2AからIPアドレスを取得して、機器通信サーバ4との間で通信を行う。しかし、DNSコンテンツサーバ2Aに障害が発生するなどして、コンテンツ情報のFQDNの更新が正しく反映されなかった場合、クライアント機器1と機器通信サーバ4との通信が不可能になる虞がある。
【0062】
そこで、本実施形態では、DNSキャッシュサーバ2Bのキャッシュ保持時間を、クライアント端末1の問い合わせ周期より短くしている。すなわち、DNSキャッシュサーバ2Bは、クライアント機器1の問い合わせ周期より短い周期で、キャッシュ情報を更新する。すなわち、キャッシュ情報が無効になるタイミングを早くすることができる。
【0063】
そして、本実施形態のクライアント端末1は、機器通信サーバ4にアクセスするためのIPアドレスを予め保持している。したがって、クライアント端末1は、自端末に関連付けられたFQDNがDNSコンテンツサーバ2Aのコンテンツ情報に格納されていない場合、機器通信サーバ4に問い合わせ信号を直接送信することができる。而して、DNSサーバ2に障害が発生した場合、クライアント端末1は機器通信サーバに直接接続することによって、障害につよいシステムを構築できる。
【0064】
なお、他の構成は、実施形態1乃至3と同様であり、説明は省略する。
【符号の説明】
【0065】
1 クライアント機器
2 DNSサーバ
2A DNSコンテンツサーバ
2B DNSキャッシュサーバ
3 NATルータ
4 機器通信サーバ
NT1 宅内ネットワーク
NT2 外部ネットワーク
【特許請求の範囲】
【請求項1】
機器通信サーバと、DNSサーバと、前記機器通信サーバおよび前記DNSサーバにネットワークを介して接続しているクライアント機器とで構成され、
前記機器通信サーバは、特定の前記クライアント機器との通信要求を前記DNSサーバへ送信し、
前記通信要求を受信した前記DNSサーバは、前記機器通信サーバにアクセスするためのアクセス情報を前記特定のクライアント機器に関連付けて格納し、
前記クライアント機器は、自端末を特定するための特定情報を含む問い合わせ信号を送信し、
前記問い合わせ信号を受信した前記DNSサーバは、前記問い合わせ信号に含まれる前記特定情報に対応する前記クライアント機器に関連付けられた前記アクセス情報を格納している場合、前記問い合わせ信号の送信元である前記クライアント機器へ前記アクセス情報を送信し、
前記クライアント機器は、前記アクセス情報に基づいて前記機器通信サーバにアクセスする
ことを特徴とする通信システム。
【請求項2】
前記DNSサーバは、前記通信要求を受信することによって、前記アクセス情報を前記特定のクライアント機器に関連付けて、コンテンツ保持期間に亘って保存するDNSコンテンツサーバと、前記クライアント機器が取得した前記アクセス情報を、このアクセス情報を取得した前記クライアント機器に関連付けてキャッシュ保持期間に亘って保存するDNSキャッシュサーバとで構成され、
前記クライアント機器は、
前記キャッシュ保持期間の時間長さが前記コンテンツ保持期間の時間長さより短い場合、前記問い合わせ信号を前記DNSキャッシュサーバへ送信し、前記DNSキャッシュサーバは、前記問い合わせ信号の送信元である前記クライアント機器に関連付けられた前記アクセス情報が格納されていない場合、前記DNSコンテンツサーバへ前記問い合わせ信号を送信し、
前記キャッシュ保持期間の時間長さが前記コンテンツ保持期間の時間長さより長い場合、前記クライアント機器は、前記問い合わせ信号を前記DNSコンテンツサーバへ送信する
ことを特徴とする請求項1記載の通信システム。
【請求項3】
前記クライアント機器は、前記問い合わせ信号の送信毎に、前記特定情報を異なるデータ列で生成することを特徴とする請求項1または2記載の通信システム。
【請求項4】
前記クライアント機器は、自端末に予め割り付けられている機器IDと、前記機器通信サーバから取得した暗号化キーとを少なくとも含むデータ列をハッシュすることによって前記特定情報を生成し、この特定情報を含む前記問い合わせ信号を送信した後、前記機器通信サーバから新たな暗号化キーを取得することを特徴とする請求項3記載の通信システム。
【請求項5】
前記DNSサーバは、前記通信要求を受信することによって、前記アクセス情報を前記特定のクライアント機器に関連付けて格納するDNSコンテンツサーバと、前記クライアント機器が取得した前記アクセス情報を、このアクセス情報を取得した前記クライアント機器に関連付けてキャッシュ保持期間に亘って保存するDNSキャッシュサーバとで構成され、
前記DNSキャッシュサーバの前記キャッシュ保持期間は、前記クライアント機器が前記問い合わせ信号を送信する周期より短く、
前記クライアント機器は、前記問い合わせ信号を前記DNSキャッシュサーバへ送信して、前記DNSキャッシュサーバは、前記問い合わせ信号の送信元である前記クライアント機器に関連付けられた前記アクセス情報が格納されていない場合、前記DNSコンテンツサーバへ前記問い合わせ信号を送信し、
前記クライアント機器は、前記問い合わせ信号に対応する前記アクセス情報を受信しなかった場合、予め保持している前記機器通信サーバのアクセス情報に基づいて前記機器通信サーバにアクセスする
ことを特徴とする請求項1乃至4いずれか記載の通信システム。
【請求項1】
機器通信サーバと、DNSサーバと、前記機器通信サーバおよび前記DNSサーバにネットワークを介して接続しているクライアント機器とで構成され、
前記機器通信サーバは、特定の前記クライアント機器との通信要求を前記DNSサーバへ送信し、
前記通信要求を受信した前記DNSサーバは、前記機器通信サーバにアクセスするためのアクセス情報を前記特定のクライアント機器に関連付けて格納し、
前記クライアント機器は、自端末を特定するための特定情報を含む問い合わせ信号を送信し、
前記問い合わせ信号を受信した前記DNSサーバは、前記問い合わせ信号に含まれる前記特定情報に対応する前記クライアント機器に関連付けられた前記アクセス情報を格納している場合、前記問い合わせ信号の送信元である前記クライアント機器へ前記アクセス情報を送信し、
前記クライアント機器は、前記アクセス情報に基づいて前記機器通信サーバにアクセスする
ことを特徴とする通信システム。
【請求項2】
前記DNSサーバは、前記通信要求を受信することによって、前記アクセス情報を前記特定のクライアント機器に関連付けて、コンテンツ保持期間に亘って保存するDNSコンテンツサーバと、前記クライアント機器が取得した前記アクセス情報を、このアクセス情報を取得した前記クライアント機器に関連付けてキャッシュ保持期間に亘って保存するDNSキャッシュサーバとで構成され、
前記クライアント機器は、
前記キャッシュ保持期間の時間長さが前記コンテンツ保持期間の時間長さより短い場合、前記問い合わせ信号を前記DNSキャッシュサーバへ送信し、前記DNSキャッシュサーバは、前記問い合わせ信号の送信元である前記クライアント機器に関連付けられた前記アクセス情報が格納されていない場合、前記DNSコンテンツサーバへ前記問い合わせ信号を送信し、
前記キャッシュ保持期間の時間長さが前記コンテンツ保持期間の時間長さより長い場合、前記クライアント機器は、前記問い合わせ信号を前記DNSコンテンツサーバへ送信する
ことを特徴とする請求項1記載の通信システム。
【請求項3】
前記クライアント機器は、前記問い合わせ信号の送信毎に、前記特定情報を異なるデータ列で生成することを特徴とする請求項1または2記載の通信システム。
【請求項4】
前記クライアント機器は、自端末に予め割り付けられている機器IDと、前記機器通信サーバから取得した暗号化キーとを少なくとも含むデータ列をハッシュすることによって前記特定情報を生成し、この特定情報を含む前記問い合わせ信号を送信した後、前記機器通信サーバから新たな暗号化キーを取得することを特徴とする請求項3記載の通信システム。
【請求項5】
前記DNSサーバは、前記通信要求を受信することによって、前記アクセス情報を前記特定のクライアント機器に関連付けて格納するDNSコンテンツサーバと、前記クライアント機器が取得した前記アクセス情報を、このアクセス情報を取得した前記クライアント機器に関連付けてキャッシュ保持期間に亘って保存するDNSキャッシュサーバとで構成され、
前記DNSキャッシュサーバの前記キャッシュ保持期間は、前記クライアント機器が前記問い合わせ信号を送信する周期より短く、
前記クライアント機器は、前記問い合わせ信号を前記DNSキャッシュサーバへ送信して、前記DNSキャッシュサーバは、前記問い合わせ信号の送信元である前記クライアント機器に関連付けられた前記アクセス情報が格納されていない場合、前記DNSコンテンツサーバへ前記問い合わせ信号を送信し、
前記クライアント機器は、前記問い合わせ信号に対応する前記アクセス情報を受信しなかった場合、予め保持している前記機器通信サーバのアクセス情報に基づいて前記機器通信サーバにアクセスする
ことを特徴とする請求項1乃至4いずれか記載の通信システム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【公開番号】特開2013−26730(P2013−26730A)
【公開日】平成25年2月4日(2013.2.4)
【国際特許分類】
【出願番号】特願2011−158162(P2011−158162)
【出願日】平成23年7月19日(2011.7.19)
【出願人】(000005821)パナソニック株式会社 (73,050)
【Fターム(参考)】
【公開日】平成25年2月4日(2013.2.4)
【国際特許分類】
【出願日】平成23年7月19日(2011.7.19)
【出願人】(000005821)パナソニック株式会社 (73,050)
【Fターム(参考)】
[ Back to top ]