本発明は、ルータ等の中継装置を介してインターネットに接続されるインターネット接続端末装置に関し、特に、DNSサーバを用いてインターネット接続状況を判定するインターネット接続端末装置に関する。
近年、ブロードバンドのホーム環境への普及に伴い、インターネットに接続される民生機器が増えつつあり、それら機器を利用した様々なサービスが提案されている。
この民生機器の代表例としてプリンタがある。プリンタのネットワーク対応はオフィスにおいて広く普及しているが、それらは主にLAN(Local Area Network)上でパーソナルコンピューター(以下、PC)と接続され、PCからの印刷指示に基づいてPC上の印刷コンテンツを印刷するものである。
これに対してURI(Uniform Resorce Identifier)で指定されたインターネット上の印刷コンテンツを、プリンタが直接インターネットからダウンロードして印刷する「URIプリント方式」が提案されている。このURIプリント方式では、印刷命令を出す装置(以下、ホスト装置と称す)には印刷コンテンツをスプーリングする必要がなく、また、ホスト装置にインターネット接続機能がなくてもインターネット上の印刷コンテンツを印刷できるため、十分なシステムリソースを持たないノンPCであってもホスト装置とすることが比較的容易である。
また、自装置のユーザーインターフェースから印刷コンテンツのURIを入力して印刷指示をすることもでき、この場合、ホスト装置は不要となる。
ところで、URIプリント方式対応のプリンタ(以下、URIプリンタと称す)では、自装置のインターネット接続状態をチェックする機能が必要である。なぜなら、インターネット接続されていない状態で印刷指示を出しても無駄であるので、事前にURIプリンタがインターネット接続であることを確認してから印刷指示を出せば、無駄な印刷指示を出さなくてもすむからである。
上記においては、インターネット接続装置としてURIプリンタで説明したが、プリンタに限らずインターネット接続状態チェック機能はインターネット接続装置に共通して必要とされる機能である。インターネット接続装置はインターネット接続状態において本来の機能を提供できるので、本来の機能が使用可能状態かをチェックする上でインターネット接続状態チェック機能は不可欠な機能であることは自明である。
そして、インターネット接続装置において、インターネットへの接続が可能な状態かどうかを判断する方法としては、インターネット上のサーバに対してアクセスを試み、応答が返ってきたか否かで接続を判断する方法が提案されている。
具体的には、(1)インターネット接続チェック用のWEBサーバ(HTTPサーバ)をインターネット上に立てて、それに対してアクセスを試み、その応答状況により判断する方法や、(2)インターネット接続チェック用のサーバに対してPINGコマンドを実行し、その応答状況により判断する方法などがある。
しかしながら、前記(1)に示すWEBサーバによる方法では、インターネット接続チェックを行う装置の増大とともにアクセス数も増大してゆき、その結果、WEBサーバに非常に大きな通信負荷がかかってサーバの限界を超えてサーバダウンの危険性が想定される。また、WEBサーバを常時運転し、またそれを保証する必要があるため、その保守コストがかかるなどの課題を有する。
また、前記(2)に示すPINGコマンドによる方法では、通信負荷の問題は回避できるが、PINGの応答を利用してサーバに侵入しようとするワームと呼ばれるコンピューターウイルスがあるためセキュリティ保持の観点からPING方式には問題がある。
これに対して、(3)インターネット接続チェック用サーバとして専用のサーバを立てるのではなく既存のDNSサーバを利用し、DNSサーバへの名前解決要求という形でアクセスを行い、その応答状況により判断する方法がある。
なお、インターネットに接続する手順として、WWWサーバ等に接続する場合には、IPアドレスを使用する変わりに、取得容易なホスト(ドメイン)名を使用するのが一般的であり、このホスト(ドメイン)名を対応するIPアドレスに変換するものとしてDNSサーバを利用することが記載されている(特許文献1参照。)。
前記(3)に示すDNSによる方法は、DNSサーバに対して「インターネット上に存在するホスト名」の名前解決要求を出し、その解決結果によりインターネット接続状態を判別する。
そして、前記(3)に示すDNSによる方法においては専用サーバを運営・管理する必要がない。また、DNSにおいては負荷分散の仕組みが用意されており、多くのアクセスが集中することに対しても対応可能である。さらに、DNSサーバに対しては単にホスト名の名前解決を行っているだけであり、セキュリティ面でも安全である。
特開2000−183900号公報
しかしながら、前記(3)に示すDNSによるインターネット接続チェック方法においては、ルータ等の中継装置に、DNSキャッシュ機能が存在すると、インターネット接続装置はインターネット接続状態を正確に判定できないという課題がある。
即ち、DNSの名前解決が成功すると、ルータはその結果を有効期間の間、DNSキャッシュに保持する機能を有する。そして、インターネット接続端末装置から再度同じホスト名に対するDNS名前解決要求があった場合、インターネット側のDNSサーバに対してDNS名前解決要求を出すことなく、DNSキャッシュから名前解決結果を要求元に返す。多くのルータはDNSキャッシュ機能を備えており、このDNSキャッシュ機能により、DNS解決を見かけ上、高速に行なうことができる。
そして、ルータによっては、WAN(Wide Area Network)側(インターネット側)のケーブルが外れていても、DNSキャッシュにホスト名とアドレスとの関係が保持されている場合には、ルータのDNSキャッシュからの名前解決結果を要求元に返すため、このような場合には、インターネット接続装置はDNS名前解決応答からはインターネット接続状態を正確に判断できないという問題がある。
また、インターネット接続端末装置が置かれたLANの制約上、インターネット接続端末装置がそのLAN上のDNSサーバ(以下、ローカルDNSサーバ)を使わざるを得ない場合がある。この場合、インターネット接続端末装置はローカルDNSサーバに対してDNS名前解決要求をだし、ローカルDNSサーバは自装置にてDNS名前解決できない場合はインターネット上のDNSサーバに対してDNS名前解決要求を出すことになる。
ここで、DNSサーバはDNS名前解決要求結果をキャッシュすることが多く、このためローカルDNSサーバ内にDNS名前解決要求結果が一旦キャッシュされると、その結果の有効期間において、インターネット接続端末装置はローカルDNSサーバに対してDNS名前解決要求をだしても、ローカルDNSサーバはインターネット上のDNSサーバに対してDNS名前解決要求を出さないことになる。
そして、ルータ等の中継装置のインターネット側ケーブルが外れるなどによりインターネット接続端末装置からインターネット接続ができない状態であっても、ローカルDNSサーバに対して名前解決済みのホスト名でDNS名前解決要求を出すと、ローカルDNSサーバはインターネット上のDNSサーバにDNS要求を中継することなくキャッシュされているDNS名前解決結果をインターネット接続端末装置に対して返信するので、DNS名前解決要求の応答結果が返ってきたからといってインターネット接続ができる状態であるとは言えないことになり、インターネット接続状態を正しく判定できないことになるという課題を有している。
また、ホスト端末装置からインターネット接続端末装置に対して、インターネットに接続された状況にあるかどうかを問い合わせる要求があった場合に、インターネット接続端末装置はそのタイミングで目的のDNSサーバへ名前解決要求を試みるが、その応答が返ってくるまでの時間はDNSサーバの内部処理やDNSサーバ間の通信時間に依存する。従って、インターネットへの接続状況の検出自体に時間がかかる可能性があり、前記応答を待ってからその情報を前記他のホスト装置に返すようにすると、前記他の端末装置での応答に応じた次の処理に移行するまでの所要時間が長くなり、前記他の端末装置での操作性レスポンスが低下するなどの課題を有している。
本発明は、前記従来の課題を解決するもので、インターネット接続端末装置が、DNSサーバへ名前解決要求を試み、その応答状況によってインターネットへの接続状況を判断する場合であっても、ネットワーク環境下の中継機器やDNSサーバ内に存在するDNSキャッシュの影響を受けずに、真の意味で、インターネット接続状況の特定を正確に判定できるインターネット接続端末装置を提供することを目的とする。
また、ホスト装置からインターネット接続端末装置に対してインターネットに接続されているかを問い合わせる要求があった場合であっても、ホスト装置に対するレスポンスが低下する等の悪影響を防止しながら、DNSサーバを用いてインターネットへの接続確認を行うことができるインターネット接続端末装置を提供することをも目的とする。
前記従来の課題を解決するために、本発明の請求項1のインターネット接続端末装置は、中継装置を介してインターネットへの接続が可能なインターネット接続端末装置であって、前記中継装置を介して、ホスト名又はドメイン名を用いて名前解決を行うサーバに、存在しないホスト名又はドメイン名を用いて名前解決要求を送信する送信手段と、前記名前解決要求の応答に基づいて、前記インターネット接続端末装置のインターネットへの接続状態の可否を判定するインターネット接続状態判定手段とを備えることを特徴としたものである。
また、本願の請求項2に係る発明は、請求項1に係る発明において、前記インターネット接続端末装置の前記インターネット接続状態判定手段は、前記名前解決要求の応答が所定時間内に返信された場合には、前記インターネット接続端末装置はインターネットに接続されていると判定し、前記名前解決要求の応答が所定時間内に返信されなかった場合には、前記インターネット接続端末装置はインターネットへ接続されていないと判定することを特徴としたものである。
また、さらに、本願の請求項3に係る発明は、請求項2に係る発明において、前記名前解決要求に対する応答は、前記サーバでの名前解決の失敗に対応する応答であることを特徴としたものである。
また、さらに、本願の請求項4に係る発明は、請求項1に係る発明において、前記サーバは、DNS(Domain Name System)サーバであることを特徴としたものである。
また、さらに、本願の請求項5に係る発明は、請求項1に係る発明において、前記インターネット接続端末装置は、さらに、前記インターネット接続状態判定手段で得られた前記インターネット接続状態の可否を示す判定結果情報を格納しておく格納手段と、通信網を介して接続されたホスト装置との通信を行う通信手段とを備え、前記送信手段は、前記ホスト装置からのインターネット接続状態の問い合わせのタイミングで、前記名前解決要求を前記サーバに送信し、前記インターネット接続状態判定手段は、当該名前解決要求の応答に基づいてインターネットへの接続状態の可否を判定して、判定結果である判定結果情報を前記格納手段に格納し、前記通信手段は、当該判定結果情報を前記問い合わせに対する応答として前記ホスト装置に返信することを特徴としたものである。
また、さらに、本願の請求項6に係る発明は、請求項5に係る発明において、前記通信手段は、前記ホスト装置からのインターネット接続状態の問い合わせのタイミングで、当該タイミングよりも以前に前記インターネット接続状態判定手段において判定され、前記格納手段に格納されている前記判定結果情報を前記ホスト装置へ返信することを特徴としたものである。
また、さらに、本願の請求項7に係る発明は、請求項5に係る発明において、前記送信手段は、所定間隔毎に前記名前解決要求を前記サーバに送信し、前記インターネット接続状態判定手段は、当該名前解決要求の応答毎に、インターネット接続状態の可否の判定を行い、判定結果である判定結果情報を前記格納手段に格納し、前記通信手段は、前記ホスト装置からのインターネット接続状態の問い合わせのタイミングで、前記格納手段に格納されている当該判定結果情報を前記ホスト装置に返信することを特徴としたものである。
また、さらに、本願の請求項8に係る発明は、請求項5に係る発明において、前記通信手段は、前記ホスト装置からインターネット接続状態の問い合わせが初回である場合には、前記格納手段を参照することなく、前記ホスト装置に接続状態と返信することを特徴としたものである。
これらの構成により、本発明に係るインターネット接続端末装置は、所定の端末装置が実際にインターネットへの接続が可能な状態かどうかを判断することが必要とされる場合において、DNSサーバへのアクセスを試みることによって、その応答状況によって判断する方法の際に課題であった、ネットワーク環境下に存在するDNSキャッシュの影響を受けるようなことがなく、真の意味で、目的のDNSサーバ(インターネット)に接続された状況にあるかどうかを特定することができる。
また、本発明に係るインターネット接続端末装置は、目的のDNSサーバへの問い合わせから応答に要する時間の影響を、他の端末装置の処理や操作性レスポンスに及ぼすことなく、少なく済ませることができる。
尚、前記目的を達成するために、本発明は、インターネット接続端末装置の特徴的な手段をステップとするインターネット接続状態確認方法として実現したり、コンピュータに各ステップを実行させるためのプログラムとして実現することもできる。そのようなプログラムは、CD−ROM等の記録媒体やインターネット等の伝送媒体を通じて配信することができるのは言うまでもない。
本発明に係るインターネット接続端末装置は、DNSキャッシュの影響を受けることなく、インターネット接続状況を正確に判定することが可能となる。また、ホスト装置からインターネット接続状態の問い合わせを受けた場合においても、速やかにインターネット接続状態を応答でき、応答が遅延することによるホスト装置での弊害を確実に回避できる。本発明は、以下の実施の形態及び添付の図面を用いて説明されるが、これは例示を目的としており、本発明はこれらに限定されることを意図しない。
[図1]図1は、インターネットプリンタの内部機能構成を示すブロック図である。
[図2]図2は、インターネットプリンタが接続されたネットワークシステム図である。
[図3]図3は、インターネットプリンタの起動時でのインターネット接続チェック処理の流れを示すフローチャートである。
[図4]図4は、インターネットプリンタと、デジタルテレビと、DNSサーバと、コンテンツサーバとの間のインターネット接続状態の確認処理の流れと、コンテンツの印刷処理の手順を示すシーケンス図である。
[図5]図5は、インターネット接続状況問い合わせ時のインターネットプリンタ内部処理の流れを示すフローチャートである。
[図6]図6は、インターネットプリンタと、デジタルテレビと、DNSサーバと、コンテンツサーバとの間のインターネット接続状態の確認処理の流れと、コンテンツの印刷処理の手順を示すシーケンス図である。
[図7]図7は、インターネットプリンタが接続されたLAN上にDNSサーバが存在する場合のネットワークシステム図である。
符号の説明
100 インターネットプリンタ
105 状態問合せ処理部
106 インターネット接続チェック部
107 接続状態キャッシュ
108 DNSクライアント
200 デジタルテレビ
204 DNSサーバ
205 ルータ
206 DNSキャッシュ
700 ローカルDNSサーバ
701 DNSキャッシュ
以下、本発明に係るインターネット接続端末装置の実施の形態について、図面を参照しながら説明する。
(実施の形態)
図1は、本発明に係るインターネットプリンタ100の内部機能構成を示すブロック図である。本実施の形態に係るインターネットプリンタ100は、DNSサーバに対して存在しないホスト名やドメイン名を用いて名前解決要求を行い、その応答に応じて、ルータ等の中継装置のキャッシュ機能に影響を受けることなく、インターネット接続状況の判定を行うことを特徴とする。尚、本実施の形態の説明において、インターネットに接続されて接続状態の確認を行うインターネット接続端末装置をインターネットプリンタとして説明を行うが、本発明はこれに限定されるものではなく、インターネットに接続されるテレビ、ビデオ、パソコン、オーディオ機器、プリンタ等の機器においても本発明を適用できる。
インターネットプリンタ100は、ネットワーク101に接続され、ネットワーク101との通信インターフェースを提供する通信部102、TCP/IP通信におけるプロトコル処理機能を提供するTCP/IPプロトコルスタック103、URIプリント機能に必要な通信処理、プリントデータ解析処理等を行なうインターネットプリントアプリケーション104、他装置からのインターネット接続状態問合せに対応する処理を行なう状態問合せ処理部105、自装置がインターネット接続をしているかの判定処理を行なうインターネット接続チェック部106、インターネット接続チェック部106の判定結果を格納する接続状態キャッシュ107、及びDNSサーバに対して名前解決要求を行なうDNSクライアント108を備える。
ここで、インターネットプリンタ100が本発明での「インターネット接続端末装置」に、インターネット接続チェック部106が「インターネット接続状態判定手段」に、DNSクライアント108が「送信手段」に、接続状態キャッシュ107が「格納手段」に各々相当する一例である。
図2は、本発明のインターネットプリンタ100が接続されたネットワークシステム図であり、ネットワーク101を介してインターネットプリンタ100と接続されているデジタルテレビ200、インターネットプリンタ100とデジタルテレビ200より構成されるLAN201、インターネット202、インターネットプリンタ100で印刷されるプリントコンテンツが格納されているコンテンツサーバ203、インターネットプリンタ100からの名前解決要求に対する応答を行うDNSサーバ204、及びインターネット202とLAN201とを中継するルータ205を備える。
ルータ205は、DNSサーバ204でのDNS名前解決結果をキャッシュするDNSキャッシュ206を備えている。DNSキャッシュ206には、例えば、ホスト名とIPアドレスとの対応関係が記述され、ルータ205は、インターネットプリンタ100から問い合わされたホスト名がDNSキャッシュ206に記述されている場合には、DNSサーバ204に名前解決要求を送信することなく、インターネットプリンタ100にホスト名に対応するIPアドレスを返信する機能を備えるものである。
ここで、デジタルテレビ200は本発明での「ホスト装置」に相当する一例である。
デジタルテレビ200には、BML(Broadcast Markup Language)で記述されたコンテンツを再生するBMLブラウザが搭載されている。ここでBMLについて印刷関連拡張が行なわれ、印刷用拡張関数がいくつか定義されている。
主な拡張関数としては、デジタルテレビ200に接続されているインターネットプリンタ100の状態を取得するgetPrinterStatus関数や、インターネットプリンタ100に対してURIプリントジョブを発行するprintUri関数がある。これらの関数はBMLコンテンツに記述されユーザのリモコン操作等のイベント処理時にBMLブラウザによりコールされる。
上記関数はいずれも同期関数であり関数からの戻りは短時間で行なう必要がある。なぜなら、同期関数から戻るまではBMLブラウザの処理がロックされ、ロック期間中はコンテンツに書かれたスクリプト処理が停止するので、そのロック期間中にはコンテンツをコンテンツプロバイダーの意図したとおりに表示できないためである。つまり、このロック期間を可能な限り短くすることで、同期関数のコンテンツ表示への影響を可能な限り小さくすることが求められる。
BMLコンテンツにおいては、まずgetPrinterStatus関数でデジタルテレビ200に接続されているインターネットプリンタ100がインターネット接続状態であるかの確認を行い、接続状態である場合のみprintUri関数が実行できる状態にする必要がある。
次に、インターネットプリンタ100のシステム起動時に実行されるインターネット接続チェック処理の流れを図3により説明する。
図3は、インターネットプリンタ100の起動時でのインターネット接続チェック処理の流れを示すフローチャートである。
最初に、システム起動時においてインターネット接続チェック部106は、通信部102、TCP/IPプロトコルスタック103、DNSクライアント108が利用可能状態になるのを確認後、「インターネット上に存在しないホスト名でのDNS名前解決要求」をDNSクライアント108に対して行なう(S301)。
そして、DNSクライアント108は、通信部102、TCP/IPプロトコルスタック103を用いてインターネット202上のDNSサーバ204に対して前記「インターネット上に存在しないホスト名でのDNS名前解決要求」に対応するDNS名前解決要求パケットを送信する。送信後、インターネット接続チェック部106は、所定の時間、応答パケットの受信待ち状態となる。
次に、ルータ206がインターネット202と接続されている場合、DNS名前解決要求パケットはDNSサーバ204に送られ名前解決が行なわれるが、インターネット上に存在しないホスト名の名前解決要求のためDNSサーバ204は「名前解決失敗」というDNS応答パケットをルータ206経由でインターネットプリンタ100に対して返信する。インターネット接続チェック部106は、受信待ち状態においてこのDNS応答パケットを受信する場合、即ち、DNSサーバからの応答がタイムアウトせずに「名前解決失敗」に対応する応答パケットを受信した場合には(S302でNO)、インターネット接続状態であると判定し、接続状態キャッシュ107に「接続状態」と格納する(S304)。
なお、DNSサーバ204からの「名前解決失敗」という結果は、DNSキャッシュ206に格納されることはない。というのも、名前解決失敗の原因としてDNSサーバ間での名前解決情報交換の遅延やホストアドレス変更登録のDNSへの反映の遅延が考えられ、この場合はDNSサーバ間での名前解決情報交換が完了すると名前解決可能となる。しかしながら、「名前解決失敗」結果をルータ205がDNSキャッシュ206に保管し、それが存在する場合にはDNSサーバ204に名前解決要求を転送せずに「名前解決失敗」結果をDNS名前解決要求元に返信してしまうと、すでに名前解決可能状態となっているにも関わらずDNS解決ができないことになってしまい好ましくない。よって「名前解決失敗」はDNSキャッシュ206に格納されることはない。
つまり、本発明に係るインターネットプリンタ100は、「インターネット上に存在しないホスト名でのDNS名前解決要求」をインターネットプリンタ100から行うことにより、ルータ205のDNSキャッシュ206の有無に関わらずインターネット上のDNSサーバ204に対するDNS問合せ要求を行なわせることができるのである。
一方、ルータ206がインターネット202と接続されていない場合、例えばルータ206からインターネットに接続されるケーブルが外れている等の場合には、DNS名前解決要求パケットはDNSサーバ204に送ることができず要求パケットは損失するため応答パケットは返信されず、その結果、インターネット接続チェック部106は受信待ち状態がタイムアウトして(S302でYES)、インターネット非接続状態であると判定し、接続状態キャッシュ107に「非接続状態」と格納する(S303)。
なお、本図においては、インターネットプリンタ100は、システム起動後はデジタルテレビ200からのインターネット接続状況問い合わせ要求受信時にインターネット接続状態のチェックを行うことになる。
図4は、本発明に係るインターネットプリンタ100と、デジタルテレビ200と、DNSサーバ204と、コンテンツサーバ203との間のインターネット接続状態の確認処理の流れと、コンテンツの印刷処理の手順を示すシーケンス図である。
最初に、デジタルテレビ200からインターネットプリンタ100に対してインターネット接続状態確認の要求が行われる(S401)。
次に、状態確認の要求を受けたインターネットプリンタ100は、DNSサーバ204に対して、存在しないホスト名を用いて名前解決要求を行う(S402)。
そして、インターネットプリンタ100のインターネット接続チェック部106は、DNSサーバ204側から「名前解決失敗」に対応する応答があった場合に、インターネットに接続されていると判定し、「接続状態」とデジタルテレビ側に返信する(S404)。また、接続状態キャッシュ107に「接続状態」と記録する。
次に、「接続状態」との状態確認を受けたデジタルテレビ200から印刷コンテンツのURIプリントジョブの指定がインターネットプリンタ100に送信され(S405)、インターネットプリンタ100は、指定されたURIのコンテンツサーバ203に印刷コンテンツ取得要求を行い(S406)、印刷コンテンツを取得して(S407)、印刷処理を行う。
次に、インターネットプリンタ100が、デジタルテレビ200等のホスト装置からのインターネット接続状況問い合わせ要求受信時のインターネットプリンタ内部処理の流れを図5により説明する。
図5は、ホスト装置からのインターネット接続状況問い合わせ時のインターネットプリンタ内部処理の流れを示すフローチャートである。なお、図5において、図3と同じ処理については図3と同じ番号を付している。尚、図5においては、図3の場合と異なり、インターネットプリンタ100は、デジタルテレビ200からのインターネット接続状態確認を受けた場合に、DNSサーバ204に名前解決要求を送信して応答結果を判定する以前に接続状態キャッシュ107に既に記録されている接続状態情報を返信するものである。
最初に、getPrinterStatus関数がBMLコンテンツから呼ばれるとデジタルテレビ200から、インターネットプリンタ100に対してインターネット接続状況問い合わせ要求が送信される。
そして、状態問合せ処理部105は、上記インターネット接続状況問い合わせ要求を受信すると(S501)、接続状態キャッシュ107から接続状態情報を参照し(S502)、既に記録されている接続状態情報をインターネット接続状況問い合わせ応答に盛り込んでデジタルテレビ200に返信する(S503)。インターネットプリンタ100は接続状態情報問合せ応答を受信すると、getPrinterStatus関数が戻り、インターネットプリンタ100のインターネット接続状態をBMLコンテンツに返す。
状態問合せ処理部105は、インターネット接続状況問い合わせ応答返信後(S403)に、インターネット接続チェック部106に対してインターネット接続状態チェック要求を行い、これを受けてインターネット接続チェック部106はDNS名前解決要求によるインターネット接続状態チェックを実行するが(S301からS304)、手順は図3と同じであるので説明を省略する。
そして、デジタルテレビ200側においては、getPrinterStatus関数実行結果よりインターネットプリンタ100がインターネット接続状態であることがわかった場合は、printUri関数が実行できる状態にし、ユーザからのリモコン操作等によりprintUri関数が呼ばれるとインターネットプリンタ100にURIプリントジョブが送信され、インターネットプリントアプリケーション104は、DNSクライアント108、DNSサーバ204により名前解決をした上で、コンテンツサーバ203から、URI指定された印刷コンテンツを取り出して印刷を実行する。
従って、本図に示す方法では、デジタルテレビ200側において、BMLブラウザの処理がロックされるロック期間を短くして、スクリプト処理がロック期間中において停止することを防止して、コンテンツをコンテンツプロバイダーの意図したとおりに表示できない等の弊害を確実に防止することが可能となる。
図6は、本発明に係るインターネットプリンタ100と、デジタルテレビ200と、DNSサーバ204と、コンテンツサーバ203との間のインターネット接続状態の確認処理の流れと、コンテンツの印刷処理の手順を示すシーケンス図である。
最初に、デジタルテレビ200からインターネットプリンタ100に対してインターネット接続状態確認の要求が行われる(S601)。
次に、状態確認の要求を受けたインターネットプリンタ100は、DNSサーバ204に対して、存在しないホスト名を用いて名前解決要求を行う(S602)。
また、インターネットプリンタ100は、インターネット接続状態確認の要求を受信する直前においてインターネット接続チェック部106において判定されて接続状態キャッシュ107に記録されている接続状態を返信する(S603)。
次に、インターネットプリンタ100のインターネット接続チェック部106は、DNSサーバ204側から「名前解決失敗」に対応する応答があった場合に(S604)、インターネットに接続されていると判定し、接続状態キャッシュ107を「接続状態」として更新する。
そして、「接続状態」との状態確認を受けたデジタルテレビ200から印刷コンテンツのURIプリントジョブの指定がインターネットプリンタ100に送信され(S605)、インターネットプリンタ100は、指定されたURIのコンテンツサーバ203に印刷コンテンツ取得要求を行い(S606)、印刷コンテンツを取得して(S607)、印刷処理を行う。
なお、本図におけるS603において接続状態キャッシュ107の内容を返答するとしているが、インターネットプリンタ100は、最初のインターネット接続状態の確認においては、常に「接続状態」とデジタルテレビ200に返答し、当該確認以降においては、接続状態キャッシュ107に記録されている接続状態を返信することが考えられる。このことにより、デジタルテレビ200側において、BMLブラウザの処理がロックされるロック期間の発生を回避することができる。
また、図7に示すように、インターネットプリンタ100と同じLAN上にDNSサーバ(以下、ローカルDNSサーバ700)が存在し、インターネットプリンタ100はネットワークの制約上、名前解決をローカルDNSサーバ700により行なう必要がある場合においても本発明は有効である。
図7は、インターネットプリンタ100が接続されたLAN上にローカルDNSサーバ700が存在する場合のネットワークシステム図である。図7においては、インターネットプリンタ100からのDNS要求を受け付けるローカルDNSサーバ700、DNSサーバ204のDNS結果を保管するDNSキャッシュ701、インターネットプリンタ100、デジタルテレビ200、ローカルDNSサーバ700よりなるLANから構成されている。
ここで、ローカルDNSサーバ700においても「名前解決失敗」は、DNSキャッシュ701に格納されることはない。ルータ205においてDNSキャッシュ206に格納されないのと同様の理由による。
以上の説明のように、本実施の形態に係るインターネットプリンタ100は、DNSでは「名前解決失敗」という結果はルータ205やローカルDNSサーバ700等のDNSキャッシュに格納されることはないという特性に着目して、あえて「インターネット上に存在しないホスト名」でのDNS名前解決要求を行う。このため、DNSキャッシュの有無に関わらずインターネット上のDNSサーバ204へDNS名前解決要求を行なわせ、その応答を受信することにより、インターネットプリンタ100がインターネット接続状態であることを正しく判定できる。
また、本実施の形態に係るインターネットプリンタ100は、デジタルテレビ200等のホスト装置からのインターネット接続状況の問い合わせに対する応答を返信してから、DNSサーバ204を用いたインターネット接続状況を確認することも可能である。これにより、インターネットプリンタ100は、インターネット接続状況問い合わせに対する応答を速やかにデジタルテレビ200に返信でき、デジタルテレビ200ではgetPrinterStatus関数は速やかに戻ることができ、BMLブラウザのロック期間を短くできるので、テレビ画面等に表示されるコンテンツ表示への影響を小さくすることができる。
なお、本発明に係るインターネットプリンタ100は、上述の図3及び図5に示す名前解決要求のDNSサーバ204への送信タイミング以外に、定期的に名前解決要求をDNSサーバ204にポーリング処理しても良い。即ち、インターネットプリンタ100は、定期的にDNSサーバ204に対して名前解決要求を送信し、その応答毎に、インターネット接続チェック部106は「接続状態」又は「非接続状態」を判定して、接続状態キャッシュ107に格納する。従って、インターネットプリンタ100は、デジタルテレビ200からインターネット接続状態が問い合わされた場合には、常に接続状態キャッシュ107に格納されている最新の接続情報を応答することができる。
また、本実施の形態ではデジタルテレビ200からインターネットプリンタ100へのインターネット接続状況問合せはネットワーク経由で行っているが、USB等でデジタルテレビ200からインターネットプリンタ100を1対1に接続して行っても構わない。
本発明にかかるインターネット接続端末装置は、インターネット接続状態の確認を行う装置、例えば、テレビ、ビデオ、パソコン、オーディオ機器、プリンタ、FAX等に適用できる。
本発明は、ルータ等の中継装置を介してインターネットに接続されるインターネット接続端末装置に関し、特に、DNSサーバを用いてインターネット接続状況を判定するインターネット接続端末装置に関する。
近年、ブロードバンドのホーム環境への普及に伴い、インターネットに接続される民生機器が増えつつあり、それら機器を利用した様々なサービスが提案されている。
この民生機器の代表例としてプリンタがある。プリンタのネットワーク対応はオフィスにおいて広く普及しているが、それらは主にLAN(Local Area Network)上でパーソナルコンピューター(以下、PC)と接続され、PCからの印刷指示に基づいてPC上の印刷コンテンツを印刷するものである。
これに対してURI(Uniform Resorce Identifier)で指定されたインターネット上の印刷コンテンツを、プリンタが直接インターネットからダウンロードして印刷する「URIプリント方式」が提案されている。このURIプリント方式では、印刷命令を出す装置(以下、ホスト装置と称す)には印刷コンテンツをスプーリングする必要がなく、また、ホスト装置にインターネット接続機能がなくてもインターネット上の印刷コンテンツを印刷できるため、十分なシステムリソースを持たないノンPCであってもホスト装置とすることが比較的容易である。
また、自装置のユーザーインターフェースから印刷コンテンツのURIを入力して印刷指示をすることもでき、この場合、ホスト装置は不要となる。
ところで、URIプリント方式対応のプリンタ(以下、URIプリンタと称す)では、自装置のインターネット接続状態をチェックする機能が必要である。なぜなら、インターネット接続されていない状態で印刷指示を出しても無駄であるので、事前にURIプリンタがインターネット接続であることを確認してから印刷指示を出せば、無駄な印刷指示を出さなくてもすむからである。
上記においては、インターネット接続装置としてURIプリンタで説明したが、プリンタに限らずインターネット接続状態チェック機能はインターネット接続装置に共通して必要とされる機能である。インターネット接続装置はインターネット接続状態において本来の機能を提供できるので、本来の機能が使用可能状態かをチェックする上でインターネット接続状態チェック機能は不可欠な機能であることは自明である。
そして、インターネット接続装置において、インターネットへの接続が可能な状態かどうかを判断する方法としては、インターネット上のサーバに対してアクセスを試み、応答が返ってきたか否かで接続を判断する方法が提案されている。
具体的には、(1)インターネット接続チェック用のWEBサーバ(HTTPサーバ)をインターネット上に立てて、それに対してアクセスを試み、その応答状況により判断する方法や、(2)インターネット接続チェック用のサーバに対してPINGコマンドを実行し、その応答状況により判断する方法などがある。
しかしながら、前記(1)に示すWEBサーバによる方法では、インターネット接続チェックを行う装置の増大とともにアクセス数も増大してゆき、その結果、WEBサーバに非常に大きな通信負荷がかかってサーバの限界を超えてサーバダウンの危険性が想定される。また、WEBサーバを常時運転し、またそれを保証する必要があるため、その保守コストがかかるなどの課題を有する。
また、前記(2)に示すPINGコマンドによる方法では、通信負荷の問題は回避できるが、PINGの応答を利用してサーバに侵入しようとするワームと呼ばれるコンピューターウイルスがあるためセキュリティ保持の観点からPING方式には問題がある。
これに対して、(3)インターネット接続チェック用サーバとして専用のサーバを立てるのではなく既存のDNSサーバを利用し、DNSサーバへの名前解決要求という形でアクセスを行い、その応答状況により判断する方法がある。
なお、インターネットに接続する手順として、WWWサーバ等に接続する場合には、IPアドレスを使用する変わりに、取得容易なホスト(ドメイン)名を使用するのが一般的であり、このホスト(ドメイン)名を対応するIPアドレスに変換するものとしてDNSサーバを利用することが記載されている(特許文献1参照。)。
前記(3)に示すDNSによる方法は、DNSサーバに対して「インターネット上に存在するホスト名」の名前解決要求を出し、その解決結果によりインターネット接続状態を判別する。
そして、前記(3)に示すDNSによる方法においては専用サーバを運営・管理する必要がない。また、DNSにおいては負荷分散の仕組みが用意されており、多くのアクセスが集中することに対しても対応可能である。さらに、DNSサーバに対しては単にホスト名の名前解決を行っているだけであり、セキュリティ面でも安全である。
特開2000−183900号公報
しかしながら、前記(3)に示すDNSによるインターネット接続チェック方法においては、ルータ等の中継装置に、DNSキャッシュ機能が存在すると、インターネット接続装置はインターネット接続状態を正確に判定できないという課題がある。
即ち、DNSの名前解決が成功すると、ルータはその結果を有効期間の間、DNSキャッシュに保持する機能を有する。そして、インターネット接続端末装置から再度同じホスト名に対するDNS名前解決要求があった場合、インターネット側のDNSサーバに対してDNS名前解決要求を出すことなく、DNSキャッシュから名前解決結果を要求元に返す。多くのルータはDNSキャッシュ機能を備えており、このDNSキャッシュ機能により、DNS解決を見かけ上、高速に行なうことができる。
そして、ルータによっては、WAN(Wide Area Network)側(インターネット側)のケーブルが外れていても、DNSキャッシュにホスト名とアドレスとの関係が保持されている場合には、ルータのDNSキャッシュからの名前解決結果を要求元に返すため、このような場合には、インターネット接続装置はDNS名前解決応答からはインターネット接続状態を正確に判断できないという問題がある。
また、インターネット接続端末装置が置かれたLANの制約上、インターネット接続端末装置がそのLAN上のDNSサーバ(以下、ローカルDNSサーバ)を使わざるを得ない場合がある。この場合、インターネット接続端末装置はローカルDNSサーバに対してDNS名前解決要求をだし、ローカルDNSサーバは自装置にてDNS名前解決できない場合はインターネット上のDNSサーバに対してDNS名前解決要求を出すことになる。
ここで、DNSサーバはDNS名前解決要求結果をキャッシュすることが多く、このためローカルDNSサーバ内にDNS名前解決要求結果が一旦キャッシュされると、その結果の有効期間において、インターネット接続端末装置はローカルDNSサーバに対してDNS名前解決要求をだしても、ローカルDNSサーバはインターネット上のDNSサーバに対してDNS名前解決要求を出さないことになる。
そして、ルータ等の中継装置のインターネット側ケーブルが外れるなどによりインターネット接続端末装置からインターネット接続ができない状態であっても、ローカルDNSサーバに対して名前解決済みのホスト名でDNS名前解決要求を出すと、ローカルDNSサーバはインターネット上のDNSサーバにDNS要求を中継することなくキャッシュされているDNS名前解決結果をインターネット接続端末装置に対して返信するので、DNS名前解決要求の応答結果が返ってきたからといってインターネット接続ができる状態であるとは言えないことになり、インターネット接続状態を正しく判定できないことになるという課題を有している。
また、ホスト端末装置からインターネット接続端末装置に対して、インターネットに接続された状況にあるかどうかを問い合わせる要求があった場合に、インターネット接続端末装置はそのタイミングで目的のDNSサーバへ名前解決要求を試みるが、その応答が返ってくるまでの時間はDNSサーバの内部処理やDNSサーバ間の通信時間に依存する。従って、インターネットへの接続状況の検出自体に時間がかかる可能性があり、前記応答を待ってからその情報を前記他のホスト装置に返すようにすると、前記他の端末装置での応答に応じた次の処理に移行するまでの所要時間が長くなり、前記他の端末装置での操作性レスポンスが低下するなどの課題を有している。
本発明は、前記従来の課題を解決するもので、インターネット接続端末装置が、DNSサーバへ名前解決要求を試み、その応答状況によってインターネットへの接続状況を判断する場合であっても、ネットワーク環境下の中継機器やDNSサーバ内に存在するDNSキャッシュの影響を受けずに、真の意味で、インターネット接続状況の特定を正確に判定できるインターネット接続端末装置を提供することを目的とする。
また、ホスト装置からインターネット接続端末装置に対してインターネットに接続されているかを問い合わせる要求があった場合であっても、ホスト装置に対するレスポンスが低下する等の悪影響を防止しながら、DNSサーバを用いてインターネットへの接続確認を行うことができるインターネット接続端末装置を提供することをも目的とする。
前記従来の課題を解決するために、本発明の請求項1のインターネット接続端末装置は、中継装置を介してインターネットへの接続が可能なインターネット接続端末装置であって、前記中継装置を介して、ホスト名又はドメイン名を用いて名前解決を行うサーバに、存在しないホスト名又はドメイン名を用いて名前解決要求を送信する送信手段と、前記名前解決要求の応答に基づいて、前記インターネット接続端末装置のインターネットへの接続状態の可否を判定するインターネット接続状態判定手段とを備えることを特徴としたものである。
また、本願の請求項2に係る発明は、請求項1に係る発明において、前記インターネット接続端末装置の前記インターネット接続状態判定手段は、前記名前解決要求の応答が所定時間内に返信された場合には、前記インターネット接続端末装置はインターネットに接続されていると判定し、前記名前解決要求の応答が所定時間内に返信されなかった場合には、前記インターネット接続端末装置はインターネットへ接続されていないと判定することを特徴としたものである。
また、さらに、本願の請求項3に係る発明は、請求項2に係る発明において、前記名前解決要求に対する応答は、前記サーバでの名前解決の失敗に対応する応答であることを特徴としたものである。
また、さらに、本願の請求項4に係る発明は、請求項1に係る発明において、前記サーバは、DNS(Domain Name System)サーバであることを特徴としたものである。
また、さらに、本願の請求項5に係る発明は、請求項1に係る発明において、前記インターネット接続端末装置は、さらに、前記インターネット接続状態判定手段で得られた前記インターネット接続状態の可否を示す判定結果情報を格納しておく格納手段と、通信網を介して接続されたホスト装置との通信を行う通信手段とを備え、前記送信手段は、前記ホスト装置からのインターネット接続状態の問い合わせのタイミングで、前記名前解決要求を前記サーバに送信し、前記インターネット接続状態判定手段は、当該名前解決要求の応答に基づいてインターネットへの接続状態の可否を判定して、判定結果である判定結果情報を前記格納手段に格納し、前記通信手段は、当該判定結果情報を前記問い合わせに対する応答として前記ホスト装置に返信することを特徴としたものである。
また、さらに、本願の請求項6に係る発明は、請求項5に係る発明において、前記通信手段は、前記ホスト装置からのインターネット接続状態の問い合わせのタイミングで、当該タイミングよりも以前に前記インターネット接続状態判定手段において判定され、前記格納手段に格納されている前記判定結果情報を前記ホスト装置へ返信することを特徴としたものである。
また、さらに、本願の請求項7に係る発明は、請求項5に係る発明において、前記送信手段は、所定間隔毎に前記名前解決要求を前記サーバに送信し、前記インターネット接続状態判定手段は、当該名前解決要求の応答毎に、インターネット接続状態の可否の判定を行い、判定結果である判定結果情報を前記格納手段に格納し、前記通信手段は、前記ホスト装置からのインターネット接続状態の問い合わせのタイミングで、前記格納手段に格納されている当該判定結果情報を前記ホスト装置に返信することを特徴としたものである。
また、さらに、本願の請求項8に係る発明は、請求項5に係る発明において、前記通信手段は、前記ホスト装置からインターネット接続状態の問い合わせが初回である場合には、前記格納手段を参照することなく、前記ホスト装置に接続状態と返信することを特徴としたものである。
これらの構成により、本発明に係るインターネット接続端末装置は、所定の端末装置が実際にインターネットへの接続が可能な状態かどうかを判断することが必要とされる場合において、DNSサーバへのアクセスを試みることによって、その応答状況によって判断する方法の際に課題であった、ネットワーク環境下に存在するDNSキャッシュの影響を受けるようなことがなく、真の意味で、目的のDNSサーバ(インターネット)に接続された状況にあるかどうかを特定することができる。
また、本発明に係るインターネット接続端末装置は、目的のDNSサーバへの問い合わせから応答に要する時間の影響を、他の端末装置の処理や操作性レスポンスに及ぼすことなく、少なく済ませることができる。
尚、前記目的を達成するために、本発明は、インターネット接続端末装置の特徴的な手段をステップとするインターネット接続状態確認方法として実現したり、コンピュータに各ステップを実行させるためのプログラムとして実現することもできる。そのようなプログラムは、CD−ROM等の記録媒体やインターネット等の伝送媒体を通じて配信することができるのは言うまでもない。
本発明に係るインターネット接続端末装置は、DNSキャッシュの影響を受けることなく、インターネット接続状況を正確に判定することが可能となる。また、ホスト装置からインターネット接続状態の問い合わせを受けた場合においても、速やかにインターネット接続状態を応答でき、応答が遅延することによるホスト装置での弊害を確実に回避できる。本発明は、以下の実施の形態及び添付の図面を用いて説明されるが、これは例示を目的としており、本発明はこれらに限定されることを意図しない。
以下、本発明に係るインターネット接続端末装置の実施の形態について、図面を参照しながら説明する。
(実施の形態)
図1は、本発明に係るインターネットプリンタ100の内部機能構成を示すブロック図である。本実施の形態に係るインターネットプリンタ100は、DNSサーバに対して存在しないホスト名やドメイン名を用いて名前解決要求を行い、その応答に応じて、ルータ等の中継装置のキャッシュ機能に影響を受けることなく、インターネット接続状況の判定を行うことを特徴とする。尚、本実施の形態の説明において、インターネットに接続されて接続状態の確認を行うインターネット接続端末装置をインターネットプリンタとして説明を行うが、本発明はこれに限定されるものではなく、インターネットに接続されるテレビ、ビデオ、パソコン、オーディオ機器、プリンタ等の機器においても本発明を適用できる。
インターネットプリンタ100は、ネットワーク101に接続され、ネットワーク101との通信インターフェースを提供する通信部102、TCP/IP通信におけるプロトコル処理機能を提供するTCP/IPプロトコルスタック103、URIプリント機能に必要な通信処理、プリントデータ解析処理等を行なうインターネットプリントアプリケーション104、他装置からのインターネット接続状態問合せに対応する処理を行なう状態問合せ処理部105、自装置がインターネット接続をしているかの判定処理を行なうインターネット接続チェック部106、インターネット接続チェック部106の判定結果を格納する接続状態キャッシュ107、及びDNSサーバに対して名前解決要求を行なうDNSクライアント108を備える。
ここで、インターネットプリンタ100が本発明での「インターネット接続端末装置」に、インターネット接続チェック部106が「インターネット接続状態判定手段」に、DNSクライアント108が「送信手段」に、接続状態キャッシュ107が「格納手段」に各々相当する一例である。
図2は、本発明のインターネットプリンタ100が接続されたネットワークシステム図であり、ネットワーク101を介してインターネットプリンタ100と接続されているデジタルテレビ200、インターネットプリンタ100とデジタルテレビ200より構成されるLAN201、インターネット202、インターネットプリンタ100で印刷されるプリントコンテンツが格納されているコンテンツサーバ203、インターネットプリンタ100からの名前解決要求に対する応答を行うDNSサーバ204、及びインターネット202とLAN201とを中継するルータ205を備える。
ルータ205は、DNSサーバ204でのDNS名前解決結果をキャッシュするDNSキャッシュ206を備えている。DNSキャッシュ206には、例えば、ホスト名とIPアドレスとの対応関係が記述され、ルータ205は、インターネットプリンタ100から問い合わされたホスト名がDNSキャッシュ206に記述されている場合には、DNSサーバ204に名前解決要求を送信することなく、インターネットプリンタ100にホスト名に対応するIPアドレスを返信する機能を備えるものである。
ここで、デジタルテレビ200は本発明での「ホスト装置」に相当する一例である。
デジタルテレビ200には、BML(Broadcast Markup Language)で記述されたコンテンツを再生するBMLブラウザが搭載されている。ここでBMLについて印刷関連拡張が行なわれ、印刷用拡張関数がいくつか定義されている。
主な拡張関数としては、デジタルテレビ200に接続されているインターネットプリンタ100の状態を取得するgetPrinterStatus関数や、インターネットプリンタ100に対してURIプリントジョブを発行するprintUri関数がある。これらの関数はBMLコンテンツに記述されユーザのリモコン操作等のイベント処理時にBMLブラウザによりコールされる。
上記関数はいずれも同期関数であり関数からの戻りは短時間で行なう必要がある。なぜなら、同期関数から戻るまではBMLブラウザの処理がロックされ、ロック期間中はコンテンツに書かれたスクリプト処理が停止するので、そのロック期間中にはコンテンツをコンテンツプロバイダーの意図したとおりに表示できないためである。つまり、このロック期間を可能な限り短くすることで、同期関数のコンテンツ表示への影響を可能な限り小さくすることが求められる。
BMLコンテンツにおいては、まずgetPrinterStatus関数でデジタルテレビ200に接続されているインターネットプリンタ100がインターネット接続状態であるかの確認を行い、接続状態である場合のみprintUri関数が実行できる状態にする必要がある。
次に、インターネットプリンタ100のシステム起動時に実行されるインターネット接続チェック処理の流れを図3により説明する。
図3は、インターネットプリンタ100の起動時でのインターネット接続チェック処理の流れを示すフローチャートである。
最初に、システム起動時においてインターネット接続チェック部106は、通信部102、TCP/IPプロトコルスタック103、DNSクライアント108が利用可能状態になるのを確認後、「インターネット上に存在しないホスト名でのDNS名前解決要求」をDNSクライアント108に対して行なう(S301)。
そして、DNSクライアント108は、通信部102、TCP/IPプロトコルスタック103を用いてインターネット202上のDNSサーバ204に対して前記「インターネット上に存在しないホスト名でのDNS名前解決要求」に対応するDNS名前解決要求パケットを送信する。送信後、インターネット接続チェック部106は、所定の時間、応答パケットの受信待ち状態となる。
次に、ルータ206がインターネット202と接続されている場合、DNS名前解決要求パケットはDNSサーバ204に送られ名前解決が行なわれるが、インターネット上に存在しないホスト名の名前解決要求のためDNSサーバ204は「名前解決失敗」というDNS応答パケットをルータ206経由でインターネットプリンタ100に対して返信する。インターネット接続チェック部106は、受信待ち状態においてこのDNS応答パケットを受信する場合、即ち、DNSサーバからの応答がタイムアウトせずに「名前解決失敗」に対応する応答パケットを受信した場合には(S302でNO)、インターネット接続状態であると判定し、接続状態キャッシュ107に「接続状態」と格納する(S304)。
なお、DNSサーバ204からの「名前解決失敗」という結果は、DNSキャッシュ206に格納されることはない。というのも、名前解決失敗の原因としてDNSサーバ間での名前解決情報交換の遅延やホストアドレス変更登録のDNSへの反映の遅延が考えられ、この場合はDNSサーバ間での名前解決情報交換が完了すると名前解決可能となる。しかしながら、「名前解決失敗」結果をルータ205がDNSキャッシュ206に保管し、それが存在する場合にはDNSサーバ204に名前解決要求を転送せずに「名前解決失敗」結果をDNS名前解決要求元に返信してしまうと、すでに名前解決可能状態となっているにも関わらずDNS解決ができないことになってしまい好ましくない。よって「名前解決失敗」はDNSキャッシュ206に格納されることはない。
つまり、本発明に係るインターネットプリンタ100は、「インターネット上に存在しないホスト名でのDNS名前解決要求」をインターネットプリンタ100から行うことにより、ルータ205のDNSキャッシュ206の有無に関わらずインターネット上のDNSサーバ204に対するDNS問合せ要求を行なわせることができるのである。
一方、ルータ206がインターネット202と接続されていない場合、例えばルータ206からインターネットに接続されるケーブルが外れている等の場合には、DNS名前解決要求パケットはDNSサーバ204に送ることができず要求パケットは損失するため応答パケットは返信されず、その結果、インターネット接続チェック部106は受信待ち状態がタイムアウトして(S302でYES)、インターネット非接続状態であると判定し、接続状態キャッシュ107に「非接続状態」と格納する(S303)。
なお、本図においては、インターネットプリンタ100は、システム起動後はデジタルテレビ200からのインターネット接続状況問い合わせ要求受信時にインターネット接続状態のチェックを行うことになる。
図4は、本発明に係るインターネットプリンタ100と、デジタルテレビ200と、DNSサーバ204と、コンテンツサーバ203との間のインターネット接続状態の確認処理の流れと、コンテンツの印刷処理の手順を示すシーケンス図である。
最初に、デジタルテレビ200からインターネットプリンタ100に対してインターネット接続状態確認の要求が行われる(S401)。
次に、状態確認の要求を受けたインターネットプリンタ100は、DNSサーバ204に対して、存在しないホスト名を用いて名前解決要求を行う(S402)。
そして、インターネットプリンタ100のインターネット接続チェック部106は、DNSサーバ204側から「名前解決失敗」に対応する応答があった場合に、インターネットに接続されていると判定し、「接続状態」とデジタルテレビ側に返信する(S404)。また、接続状態キャッシュ107に「接続状態」と記録する。
次に、「接続状態」との状態確認を受けたデジタルテレビ200から印刷コンテンツのURIプリントジョブの指定がインターネットプリンタ100に送信され(S405)、インターネットプリンタ100は、指定されたURIのコンテンツサーバ203に印刷コンテンツ取得要求を行い(S406)、印刷コンテンツを取得して(S407)、印刷処理を行う。
次に、インターネットプリンタ100が、デジタルテレビ200等のホスト装置からのインターネット接続状況問い合わせ要求受信時のインターネットプリンタ内部処理の流れを図5により説明する。
図5は、ホスト装置からのインターネット接続状況問い合わせ時のインターネットプリンタ内部処理の流れを示すフローチャートである。なお、図5において、図3と同じ処理については図3と同じ番号を付している。尚、図5においては、図3の場合と異なり、インターネットプリンタ100は、デジタルテレビ200からのインターネット接続状態確認を受けた場合に、DNSサーバ204に名前解決要求を送信して応答結果を判定する以前に接続状態キャッシュ107に既に記録されている接続状態情報を返信するものである。
最初に、getPrinterStatus関数がBMLコンテンツから呼ばれるとデジタルテレビ200から、インターネットプリンタ100に対してインターネット接続状況問い合わせ要求が送信される。
そして、状態問合せ処理部105は、上記インターネット接続状況問い合わせ要求を受信すると(S501)、接続状態キャッシュ107から接続状態情報を参照し(S502)、既に記録されている接続状態情報をインターネット接続状況問い合わせ応答に盛り込んでデジタルテレビ200に返信する(S503)。インターネットプリンタ100は接続状態情報問合せ応答を受信すると、getPrinterStatus関数が戻り、インターネットプリンタ100のインターネット接続状態をBMLコンテンツに返す。
状態問合せ処理部105は、インターネット接続状況問い合わせ応答返信後(S403)に、インターネット接続チェック部106に対してインターネット接続状態チェック要求を行い、これを受けてインターネット接続チェック部106はDNS名前解決要求によるインターネット接続状態チェックを実行するが(S301からS304)、手順は図3と同じであるので説明を省略する。
そして、デジタルテレビ200側においては、getPrinterStatus関数実行結果よりインターネットプリンタ100がインターネット接続状態であることがわかった場合は、printUri関数が実行できる状態にし、ユーザからのリモコン操作等によりprintUri関数が呼ばれるとインターネットプリンタ100にURIプリントジョブが送信され、インターネットプリントアプリケーション104は、DNSクライアント108、DNSサーバ204により名前解決をした上で、コンテンツサーバ203から、URI指定された印刷コンテンツを取り出して印刷を実行する。
従って、本図に示す方法では、デジタルテレビ200側において、BMLブラウザの処理がロックされるロック期間を短くして、スクリプト処理がロック期間中において停止することを防止して、コンテンツをコンテンツプロバイダーの意図したとおりに表示できない等の弊害を確実に防止することが可能となる。
図6は、本発明に係るインターネットプリンタ100と、デジタルテレビ200と、DNSサーバ204と、コンテンツサーバ203との間のインターネット接続状態の確認処理の流れと、コンテンツの印刷処理の手順を示すシーケンス図である。
最初に、デジタルテレビ200からインターネットプリンタ100に対してインターネット接続状態確認の要求が行われる(S601)。
次に、状態確認の要求を受けたインターネットプリンタ100は、DNSサーバ204に対して、存在しないホスト名を用いて名前解決要求を行う(S602)。
また、インターネットプリンタ100は、インターネット接続状態確認の要求を受信する直前においてインターネット接続チェック部106において判定されて接続状態キャッシュ107に記録されている接続状態を返信する(S603)。
次に、インターネットプリンタ100のインターネット接続チェック部106は、DNSサーバ204側から「名前解決失敗」に対応する応答があった場合に(S604)、インターネットに接続されていると判定し、接続状態キャッシュ107を「接続状態」として更新する。
そして、「接続状態」との状態確認を受けたデジタルテレビ200から印刷コンテンツのURIプリントジョブの指定がインターネットプリンタ100に送信され(S605)、インターネットプリンタ100は、指定されたURIのコンテンツサーバ203に印刷コンテンツ取得要求を行い(S606)、印刷コンテンツを取得して(S607)、印刷処理を行う。
なお、本図におけるS603において接続状態キャッシュ107の内容を返答するとしているが、インターネットプリンタ100は、最初のインターネット接続状態の確認においては、常に「接続状態」とデジタルテレビ200に返答し、当該確認以降においては、接続状態キャッシュ107に記録されている接続状態を返信することが考えられる。このことにより、デジタルテレビ200側において、BMLブラウザの処理がロックされるロック期間の発生を回避することができる。
また、図7に示すように、インターネットプリンタ100と同じLAN上にDNSサーバ(以下、ローカルDNSサーバ700)が存在し、インターネットプリンタ100はネットワークの制約上、名前解決をローカルDNSサーバ700により行なう必要がある場合においても本発明は有効である。
図7は、インターネットプリンタ100が接続されたLAN上にローカルDNSサーバ700が存在する場合のネットワークシステム図である。図7においては、インターネットプリンタ100からのDNS要求を受け付けるローカルDNSサーバ700、DNSサーバ204のDNS結果を保管するDNSキャッシュ701、インターネットプリンタ100、デジタルテレビ200、ローカルDNSサーバ700よりなるLANから構成されている。
ここで、ローカルDNSサーバ700においても「名前解決失敗」は、DNSキャッシュ701に格納されることはない。ルータ205においてDNSキャッシュ206に格納されないのと同様の理由による。
以上の説明のように、本実施の形態に係るインターネットプリンタ100は、DNSでは「名前解決失敗」という結果はルータ205やローカルDNSサーバ700等のDNSキャッシュに格納されることはないという特性に着目して、あえて「インターネット上に存在しないホスト名」でのDNS名前解決要求を行う。このため、DNSキャッシュの有無に関わらずインターネット上のDNSサーバ204へDNS名前解決要求を行なわせ、その応答を受信することにより、インターネットプリンタ100がインターネット接続状態であることを正しく判定できる。
また、本実施の形態に係るインターネットプリンタ100は、デジタルテレビ200等のホスト装置からのインターネット接続状況の問い合わせに対する応答を返信してから、DNSサーバ204を用いたインターネット接続状況を確認することも可能である。これにより、インターネットプリンタ100は、インターネット接続状況問い合わせに対する応答を速やかにデジタルテレビ200に返信でき、デジタルテレビ200ではgetPrinterStatus関数は速やかに戻ることができ、BMLブラウザのロック期間を短くできるので、テレビ画面等に表示されるコンテンツ表示への影響を小さくすることができる。
なお、本発明に係るインターネットプリンタ100は、上述の図3及び図5に示す名前解決要求のDNSサーバ204への送信タイミング以外に、定期的に名前解決要求をDNSサーバ204にポーリング処理しても良い。即ち、インターネットプリンタ100は、定期的にDNSサーバ204に対して名前解決要求を送信し、その応答毎に、インターネット接続チェック部106は「接続状態」又は「非接続状態」を判定して、接続状態キャッシュ107に格納する。従って、インターネットプリンタ100は、デジタルテレビ200からインターネット接続状態が問い合わされた場合には、常に接続状態キャッシュ107に格納されている最新の接続情報を応答することができる。
また、本実施の形態ではデジタルテレビ200からインターネットプリンタ100へのインターネット接続状況問合せはネットワーク経由で行っているが、USB等でデジタルテレビ200からインターネットプリンタ100を1対1に接続して行っても構わない。
本発明にかかるインターネット接続端末装置は、インターネット接続状態の確認を行う装置、例えば、テレビ、ビデオ、パソコン、オーディオ機器、プリンタ、FAX等に適用できる。
図1は、インターネットプリンタの内部機能構成を示すブロック図である。
図2は、インターネットプリンタが接続されたネットワークシステム図である。
図3は、インターネットプリンタの起動時でのインターネット接続チェック処理の流れを示すフローチャートである。
図4は、インターネットプリンタと、デジタルテレビと、DNSサーバと、コンテンツサーバとの間のインターネット接続状態の確認処理の流れと、コンテンツの印刷処理の手順を示すシーケンス図である。
図5は、インターネット接続状況問い合わせ時のインターネットプリンタ内部処理の流れを示すフローチャートである。
図6は、インターネットプリンタと、デジタルテレビと、DNSサーバと、コンテンツサーバとの間のインターネット接続状態の確認処理の流れと、コンテンツの印刷処理の手順を示すシーケンス図である。
図7は、インターネットプリンタが接続されたLAN上にDNSサーバが存在する場合のネットワークシステム図である。
符号の説明
100 インターネットプリンタ
105 状態問合せ処理部
106 インターネット接続チェック部
107 接続状態キャッシュ
108 DNSクライアント
200 デジタルテレビ
204 DNSサーバ
205 ルータ
206 DNSキャッシュ
700 ローカルDNSサーバ
701 DNSキャッシュ