(57)【要約】  【課題】  名前解決のための専用機器を利用することなく自機内にある情報源を利用して名前解決を実施可能で、情報源更新のための専用機器を導入したり利用者が手作業で情報源を更新したりしなくても情報源が適切に更新される端末装置の提供。  【解決手段】  ＰＣからネットワーク上のプリンタを利用可能とするため、ＰＣにプリンタドライバをインストールする際、インストーラは、ＳＮＭＰブロードキャストまたはマルチキャストでデバイスの情報を収集し、収集した情報を表示する（Ｓ１０５〜Ｓ１１５）。その表示を見て利用者がプリンタを選択すると（Ｓ１２０）、ＰＣは選択されたプリンタのノード名とＩＰアドレスをｈｏｓｔｓファイルに書き込む（Ｓ１２０〜Ｓ１３０）。以降、ＰＣは、ＤＮＳサーバ等を利用しなくても、ｈｏｓｔｓファイルを参照して名前解決を行うことができる。【選択図】  図５
2007019614.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークに接続される端末装置であり、ＯＳが機能するとともに前記ＯＳの制御下でアプリケーションが機能しており、前記ＯＳは、ネットワーク上のノードに付与されたＩＰアドレスとノード名との対応関係を記憶する第１のデータ記憶手段を備えていて、前記アプリケーションがノード名で指定されたノードとの通信を行う際には、前記第１のデータ記憶手段に記憶された対応関係を利用して前記ノード名から前記ＩＰアドレスへの変換を行うように構成された端末装置であって、
ブロードキャストまたはマルチキャストにより、ネットワーク上のノードに対してＩＰアドレスおよびノード名の伝送を要求する要求手段と、
前記要求手段による要求に応じたノードから伝送されてくる前記ＩＰアドレスおよび前記ノード名を受信する受信手段と、
前記受信手段によって受信した前記ＩＰアドレスおよび前記ノード名を前記第１のデータ記憶手段に書き込む書込手段と
を備えることを特徴とする端末装置。
【請求項２】
前記受信手段によって受信した、複数のノードに対応する複数組の前記ＩＰアドレスおよび前記ノード名の中から、１組以上の前記ＩＰアドレスおよび前記ノード名を選択する選択手段を備えており、
前記書込手段は、前記選択手段によって選択した１組以上の前記ＩＰアドレスおよび前記ノード名を前記第１のデータ記憶手段に書き込む手段である
ことを特徴とする請求項１に記載の端末装置。
【請求項３】
前記第１のデータ記憶手段に記憶された対応関係を利用して前記ノード名から前記ＩＰアドレスへの変換を行う際に、変換対象となる前記ＩＰアドレスを持つノードが実際にネットワーク上に存在するか否かを確認する確認手段と、
前記確認手段による確認の結果、前記変換対象となる前記ＩＰアドレスを持つノードがネットワーク上に存在しない場合には、あらためて前記要求手段による要求、および前記受信手段による受信を行い、前記受信手段によって受信した新たな前記ＩＰアドレスおよび前記ノード名で、前記第１のデータ記憶手段を更新する更新手段と
を備えることを特徴とする請求項１または請求項２に記載の端末装置。
【請求項４】
前記確認手段は、変換対象となる前記ＩＰアドレスおよび前記ノード名のうち、前記ＩＰアドレスに対する応答要求を送信して、その応答要求に対する応答の有無により、当該ＩＰアドレスを持つノードが実際にネットワーク上に存在するか否かを確認する手段である
ことを特徴とする請求項３に記載の端末装置。
【請求項５】
前記確認手段は、前記応答要求として、少なくともノード名が含まれる応答を返すように要求する応答要求を送信するとともに、前記応答要求に対する応答があった場合には、さらに、前記応答に含まれるノード名が、前記第１のデータ記憶手段に記憶されたノード名と一致するか否かにより、当該ＩＰアドレスを持つノードが実際にネットワーク上に存在するか否かを確認する手段である
ことを特徴とする請求項４に記載の端末装置。
【請求項６】
前記要求手段は、ノード毎にユニークなデータが付与されていて利用者が任意に変更することはできない情報とされている個体識別情報の伝送をも要求する手段であり、
前記受信手段は、前記要求手段による要求に応じたノードから伝送されてくる前記個体識別情報をも受信する手段であり、
前記書込手段は、前記受信手段によって受信した前記ＩＰアドレスおよび前記ノード名を前記第１のデータ記憶手段に書き込む他に、前記受信手段によって受信した前記ＩＰアドレス、前記ノード名、および前記個体識別情報を、前記第１のデータ記憶手段とは別の第２のデータ記憶手段に書き込む手段であり、
前記確認手段は、変換対象となる前記ＩＰアドレスおよび前記ノード名のうち、前記ＩＰアドレスに対する応答要求を送信して、その応答要求に対する応答の有無により、当該ＩＰアドレスを持つノードが実際にネットワーク上に存在するか否かを確認するとともに、前記応答要求に対する応答があった場合に、さらに、前記応答に含まれる個体識別情報が、前記第２のデータ記憶手段に記憶された個体識別情報と一致するか否かにより、当該ＩＰアドレスを持つノードが実際にネットワーク上に存在するか否かを確認する手段であり、
前記更新手段は、前記確認手段による確認の結果、前記変換対象となる前記ＩＰアドレスおよび前記ノード名を持つノードがネットワーク上に存在しない場合には、あらためて前記要求手段による要求、および前記受信手段による受信を行い、前記受信手段によって受信した新たな前記ＩＰアドレスおよび前記ノード名で、前記第１のデータ記憶手段を更新するとともに、前記受信手段によって受信した新たな前記ＩＰアドレス、前記ノード名、および前記個体識別情報で、前記第２のデータ記憶手段を更新する手段である
ことを特徴とする請求項５に記載の端末装置。
【請求項７】
前記個体識別情報は、前記ノードのＭＡＣアドレスまたはシリアル番号である
ことを特徴とする請求項６に記載の端末装置。
【請求項８】
ネットワークに接続される端末装置であり、ＯＳが機能するとともに前記ＯＳの制御下でアプリケーションが機能しており、前記ＯＳは、ネットワーク上のノードに付与されたＩＰアドレスとノード名との対応関係を記憶する第１のデータ記憶手段を備えていて、前記アプリケーションがノード名で指定されたノードとの通信を行う際には、前記第１のデータ記憶手段に記憶された対応関係を利用して前記ノード名から前記ＩＰアドレスへの変換を行うように構成された端末装置を機能させるためのプログラムであって、
前記端末装置を、
ブロードキャストまたはマルチキャストにより、ネットワーク上のノードに対してＩＰアドレスおよびノード名の伝送を要求する要求手段と、
前記要求手段による要求に応じたノードから伝送されてくる前記ＩＰアドレスおよび前記ノード名を受信する受信手段と、
前記受信手段によって受信した前記ＩＰアドレスおよび前記ノード名を前記第１のデータ記憶手段に書き込む書込手段
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、名前解決を実施するための機能を備えた端末装置と、そのような端末装置を構成するために利用されるプログラムに関する。
【背景技術】
【０００２】
従来、ネットワークに接続された端末において、アクセスしたいネットワーク上の他のノードがノード名で指定された際には、指定されたノード名をＩＰアドレスに変換し、そのＩＰアドレスを利用して端末装置から他のノードへのアクセスを行っている。このようなノード名からＩＰアドレスへの変換は、一般に名前解決と呼ばれている。
【０００３】
名前解決を行うための具体的手法については、既に様々な手法が実用化されているが、代表的な名前解決のための一手法として、端末毎にｈｏｓｔｓファイルと呼ばれるファイルを用意し、そのｈｏｓｔｓファイル中にノード名とアドレスとの対応関係を記述しておき、名前解決を行う際に、ｈｏｓｔｓファイルを参照してノード名をアドレスに変換する方法が知られている。
【０００４】
しかし、この種のｈｏｓｔｓファイルは、一般的には、利用者が手作業でファイル中にノード名とアドレスとの対応関係を記述しなければならないため、面倒な手間がかかる上に、利用者の誤入力に起因して所期のノードにアクセスできないといった問題を招くことがあった。また、アドレスの変更があった場合には、その都度手作業でｈｏｓｔｓファイルのメンテナンスを行わないと、所期のノードにアクセスできなくなるという問題もあった。
【０００５】
一方、下記特許文献１には、端末のアドレスをホストで一元管理するとともに、各端末毎のローカルファイルにも各端末のアドレスを格納したシステムが記載されている。このシステムでは、通信の度に各端末が利用したアドレスとホスト側で管理するアドレスとの比較が行われ、端末が古いアドレスを使用している場合には、各端末毎のローカルファイルが更新されるようになっていた。
【０００６】
このようなシステムであれば、利用者が手作業でｈｏｓｔｓファイルのメンテナンスを行うものとは異なり、利用者が面倒な手間をかけなくてもローカルファイルのメンテナンスを行うことができた。また、手作業によるメンテナンスではないため誤入力の発生も回避することができた。
【特許文献１】特開平４−２２２０４１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、上記特許文献１に記載の技術では、ネットワーク内に、端末の他にホストを導入しなければならず、ホストの導入に相応の費用がかかるため、ネットワークの構築に過大な費用をかけたくない小規模な事業所や一般家庭には導入が難しいという欠点があった。
【０００８】
また、代表的な名前解決のための手法としては、上記以外にも、ＤＮＳサーバを利用する方法が知られているが、これも、ネットワーク内に、端末の他にＤＮＳサーバを導入しなければならず、ＤＮＳサーバの導入に相応の費用がかかるため、やはり、ネットワークの構築に過大な費用をかけたくない小規模な事業所や一般家庭には導入が難しいという欠点があった。
【０００９】
本発明は、上記問題を解決するためになされたものであり、その目的は、名前解決のための専用機器を利用することなく自機内にある情報源を利用して名前解決を実施可能で、情報源更新のための専用機器を導入したり利用者が手作業で情報源を更新したりしなくても情報源が適切に更新される端末装置と、そのような端末装置を構成するために利用されるプログラムを提供することにある。
【課題を解決するための手段】
【００１０】
以下、本発明の特徴的構成について説明する。
請求項１に記載の端末装置は、ネットワークに接続される端末装置であり、ＯＳが機能するとともに前記ＯＳの制御下でアプリケーションが機能しており、前記ＯＳは、ネットワーク上のノードに付与されたＩＰアドレスとノード名との対応関係を記憶する第１のデータ記憶手段を備えていて、前記アプリケーションがノード名で指定されたノードとの通信を行う際には、前記第１のデータ記憶手段に記憶された対応関係を利用して前記ノード名から前記ＩＰアドレスへの変換を行うように構成された端末装置であって、ブロードキャストまたはマルチキャストにより、ネットワーク上のノードに対してＩＰアドレスおよびノード名の伝送を要求する要求手段と、前記要求手段による要求に応じたノードから伝送されてくる前記ＩＰアドレスおよび前記ノード名を受信する受信手段と、前記受信手段によって受信した前記ＩＰアドレスおよび前記ノード名を前記第１のデータ記憶手段に書き込む書込手段とを備えることを特徴とする。
【００１１】
このように構成された端末装置によれば、ブロードキャストまたはマルチキャストにより、ネットワーク上のノードに対してＩＰアドレスおよびノード名の伝送を要求し、要求に応じたノードから伝送されてくるＩＰアドレスおよびノード名が第１のデータ記憶手段に書き込まれる。
【００１２】
したがって、利用者が手作業で第１のデータ記憶手段の内容を編集しなくても、ＩＰアドレスとノード名との対応関係を第１のデータ記憶手段に記憶させることができる。また、端末装置以外に設けたアドレス管理サーバのような機器においてＩＰアドレスとノード名との対応関係リストを作成し、その対応関係リストを個々の端末装置に配信するシステムではないので、ネットワーク内にアドレス管理サーバのような機器は不要であり、比較的情報量が多くなりがちな対応関係リストを複数の端末装置それぞれに対して配信する場合に比べ、ネットワークにかける負荷を軽減することもできる。さらに、アプリケーションがノード名で指定されたノードとの通信を行う際に、第１のデータ記憶手段に記憶された対応関係を利用して名前解決（ノード名からＩＰアドレスへの変換）を行うことができるので、ネットワーク内にネームサーバ（ＤＮＳサーバ）のような機器は不要である。よって、端末装置以外に別途上記アドレス管理サーバやネームサーバを設けなくてもよく、ネットワークシステム全体を構築するために必要なコストを低減することができる。
【００１３】
なお、以上説明した端末装置は、さらに次のような構成を備えていると望ましい。
まず、請求項１に記載の端末装置において、前記受信手段によって受信した、複数のノードに対応する複数組の前記ＩＰアドレスおよび前記ノード名の中から、１組以上の前記ＩＰアドレスおよび前記ノード名を選択する選択手段を備えていてもよく、この場合、前記書込手段は、前記選択手段によって選択した１組以上の前記ＩＰアドレスおよび前記ノード名を前記第１のデータ記憶手段に書き込む手段であるとよい。
【００１４】
選択手段は、利用者に入力操作を要求し、その入力操作に基づいて複数組のＩＰアドレスおよびノード名の中から１組以上を選択する手段であればよい。より具体的な例を挙げれば、例えば、複数組のＩＰアドレスおよびノード名のリストを表示装置に表示して、その中の１組以上を利用者の入力操作で指定することにより、指定されたＩＰアドレスおよびノード名が、第１のデータ記憶手段への書き込み対象として選択されるようになっていればよい。
【００１５】
あるいは、選択手段は、あらかじめ所定の選択条件を取り決めておき、その選択条件に基づいて複数組のＩＰアドレスおよびノード名の中から１組以上を選択する手段であってもよい。より具体的な例を挙げれば、例えば、選択条件として、第１のデータ記憶手段に未登録のノードがあれば選択するとか、要求手段による要求に応じたノードが１つだけであれば選択する、といった条件を取り決めておくことで、この選択条件を満足するノードが存在する場合には、利用者に入力操作を要求することなく、選択条件を満足したノードのＩＰアドレスおよびノード名が、第１のデータ記憶手段への書き込み対象として選択されるようになっていればよい。
【００１６】
さらに、上記のような利用者の入力操作に基づいて選択する手段と、あらかじめ取り決められた選択条件に基づいて選択する手段は、いずれか一方を採用してもよいし、両方を採用してもよく、例えば、両方を採用するのであれば、あらかじめ取り決められた選択条件を満足するノードが存在する場合は、選択条件を満足したノードのＩＰアドレスおよびノード名を選択し、選択条件を満足するノードが存在しない場合には、利用者の入力操作に基づいてＩＰアドレスおよびノード名を選択するようになっていればよい。
【００１７】
このように構成された端末装置によれば、選択手段によって選択されたノードの情報のみが第１のデータ記憶手段へ書き込まれる一方、それ以外のノードが応答を返していても、そのようなノードの情報は第１のデータ記憶手段へ書き込まれない。したがって、ネットワーク上のノードから取得した情報すべてを無条件に第１のデータ記憶手段に書き込むものに比べ、第１のデータ記憶手段に記憶された情報のデータ量を抑制することができ、これにより、第１のデータ記憶手段を利用した名前解決をより迅速に実施できるようになる。
【００１８】
また、請求項１または請求項２に記載の端末装置において、前記第１のデータ記憶手段に記憶された対応関係を利用して前記ノード名から前記ＩＰアドレスへの変換を行う際に、変換対象となる前記ＩＰアドレスを持つノードが実際にネットワーク上に存在するか否かを確認する確認手段と、前記確認手段による確認の結果、前記変換対象となる前記ＩＰアドレスを持つノードがネットワーク上に存在しない場合には、あらためて前記要求手段による要求、および前記受信手段による受信を行い、前記受信手段によって受信した新たな前記ＩＰアドレスおよび前記ノード名で、前記第１のデータ記憶手段を更新する更新手段とを備えていてもよい。
【００１９】
このように構成された端末装置によれば、第１のデータ記憶手段に記憶されたＩＰアドレスを持つノードが、実際にネットワーク上に存在するか否かが確認されるので、第１のデータ記憶手段に記憶された情報を単に鵜呑みにして名前解決を行うものとは異なり、その時点で無効な名前解決を行ってしまうことがない。
【００２０】
また、更新手段が、要求手段による要求および受信手段による受信を行うのは、変換対象となるＩＰアドレスを持つノードがネットワーク上に存在しない場合なので、何ら確認を行うことなく常に無条件に要求手段による要求および受信手段による受信を行うものに比べ、要求手段によるブロードキャストまたはマルチキャストの発行回数は抑制されることになり、ネットワークにかかる負荷を軽減することができる。
【００２１】
さらに、変換対象となるＩＰアドレスを持つノードがネットワーク上に存在しない場合は、あらためて要求手段による要求および受信手段による受信が行われ、新たなＩＰアドレスおよびノード名で第１のデータ記憶手段が更新されるので、この更新以降は、さらにノード側でＩＰアドレスの変更が生じない限り、適切に名前解決を実施できるようになる。
【００２２】
ところで、請求項４に記載の通り、前記確認手段は、変換対象となる前記ＩＰアドレスおよび前記ノード名のうち、前記ＩＰアドレスに対する応答要求を送信して、その応答要求に対する応答の有無により、当該ＩＰアドレスを持つノードが実際にネットワーク上に存在するか否かを確認する手段であるとよい。
【００２３】
このように構成された端末装置によれば、変換対象となるＩＰアドレスを持つノードが実際にネットワーク上に存在するか否かを確認することができるしたがって、変換対象となるＩＰアドレスを持つノードがネットワーク上に存在しないにもかかわらず、その時点で無効な名前解決を行ってしまうことがない。
【００２４】
また、請求項５に記載の通り、前記確認手段は、前記応答要求として、少なくともノード名が含まれる応答を返すように要求する応答要求を送信するとともに、前記応答要求に対する応答があった場合には、さらに、前記応答に含まれるノード名が、前記第１のデータ記憶手段に記憶されたノード名と一致するか否かにより、当該ＩＰアドレスを持つノードが実際にネットワーク上に存在するか否かを確認する手段であってもよい。
【００２５】
このように構成された端末装置によれば、変換対象となるＩＰアドレスを持つノードが実際にネットワーク上に存在する場合であっても、さらにノード名による確認まで行われる。したがって、例えば、ＩＰアドレスが動的に割り当てられるネットワークにおいて、第１のノードに割り当てられていたＩＰアドレスが、その後、第２のノードに割り当てられることになった場合に、第１のノードに関する情報が第１のデータ記憶手段に残っていたとしても、第１のノードと第２のノードのノード名が異なっていれば、第２のノードを第１のノードと誤認して名前解決を行ってしまうことがない。さらに、更新手段が機能することにより、第１のノードに関する情報があらためて取得できる可能性もあり、取得できた場合は、第１のノードに新たに割り当てられたＩＰアドレスを第１のデータ記憶手段に記憶させることができる。したがって、以後は、単に第１のデータ記憶手段を利用して名前解決を行うだけでよく、何ら確認を行うことなく常に無条件に要求手段による要求および受信手段による受信を行うものに比べ、ネットワークに余計な負荷をかけることがない。
【００２６】
さらに、請求項６に記載の通り、前記要求手段は、ノード毎にユニークなデータが付与されていて利用者が任意に変更することはできない情報とされている個体識別情報の伝送をも要求する手段であってもよく、この場合、前記受信手段は、前記要求手段による要求に応じたノードから伝送されてくる前記個体識別情報をも受信する手段であり、前記書込手段は、前記受信手段によって受信した前記ＩＰアドレスおよび前記ノード名を前記第１のデータ記憶手段に書き込む他に、前記受信手段によって受信した前記ＩＰアドレス、前記ノード名、および前記個体識別情報を、前記第１のデータ記憶手段とは別の第２のデータ記憶手段に書き込む手段であり、前記確認手段は、変換対象となる前記ＩＰアドレスおよび前記ノード名のうち、前記ＩＰアドレスに対する応答要求を送信して、その応答要求に対する応答の有無により、当該ＩＰアドレスを持つノードが実際にネットワーク上に存在するか否かを確認するとともに、前記応答要求に対する応答があった場合に、さらに、前記応答に含まれる個体識別情報が、前記第２のデータ記憶手段に記憶された個体識別情報と一致するか否かにより、当該ＩＰアドレスを持つノードが実際にネットワーク上に存在するか否かを確認する手段であり、前記更新手段は、前記確認手段による確認の結果、前記変換対象となる前記ＩＰアドレスおよび前記ノード名を持つノードがネットワーク上に存在しない場合には、あらためて前記要求手段による要求、および前記受信手段による受信を行い、前記受信手段によって受信した新たな前記ＩＰアドレスおよび前記ノード名で、前記第１のデータ記憶手段を更新するとともに、前記受信手段によって受信した新たな前記ＩＰアドレス、前記ノード名、および前記個体識別情報で、前記第２のデータ記憶手段を更新する手段であるとよい。
【００２７】
このような構成を採用する場合、請求項７に記載の通り、前記個体識別情報は、前記ノードのＭＡＣアドレスまたはシリアル番号であるとよい。
このように構成された端末装置によれば、変換対象となるＩＰアドレスを持つノードが実際にネットワーク上に存在する場合であっても、さらに第２のデータ記憶手段をも利用して個体識別情報による確認まで行われる。したがって、例えば、ＩＰアドレスが動的に割り当てられるネットワークにおいて、第１のノードに割り当てられていたＩＰアドレスが、その後、第２のノードに割り当てられることになった場合に、第１のノードに関する情報が第１のデータ記憶手段に残っていたとしても、第２のデータ記憶手段を利用した確認の結果、第１のノードと第２のノードの個体識別情報が異なっていれば、第２のノードを第１のノードと誤認して名前解決を行ってしまうことがない。さらに、更新手段が機能することにより、第１のノードに関する情報があらためて取得できる可能性もあり、取得できた場合は、第１のノードに新たに割り当てられたＩＰアドレスを第１，第２のデータ記憶手段に記憶させることができるので、以後は、単に第１のデータ記憶手段を利用して名前解決を行うだけでよく、何ら確認を行うことなく常に無条件に要求手段による要求および受信手段による受信を行うものに比べ、ネットワークに余計な負荷をかけることがない。
【００２８】
次に、請求項８に記載のプログラムは、ネットワークに接続される端末装置であり、ＯＳが機能するとともに前記ＯＳの制御下でアプリケーションが機能しており、前記ＯＳは、ネットワーク上のノードに付与されたＩＰアドレスとノード名との対応関係を記憶する第１のデータ記憶手段を備えていて、前記アプリケーションがノード名で指定されたノードとの通信を行う際には、前記第１のデータ記憶手段に記憶された対応関係を利用して前記ノード名から前記ＩＰアドレスへの変換を行うように構成された端末装置を機能させるためのプログラムであって、前記端末装置を、ブロードキャストまたはマルチキャストにより、ネットワーク上のノードに対してＩＰアドレスおよびノード名の伝送を要求する要求手段と、前記要求手段による要求に応じたノードから伝送されてくる前記ＩＰアドレスおよび前記ノード名を受信する受信手段と、前記受信手段によって受信した前記ＩＰアドレスおよび前記ノード名を前記第１のデータ記憶手段に書き込む書込手段として機能させるためのプログラムである。
【００２９】
このように構成されたプログラムに従って端末装置を機能させれば、端末装置は、先に説明した請求項１に記載の各手段を備えた端末装置として機能するので、請求項１に記載の端末装置について述べた通りの作用、効果を奏するものとなる。
【００３０】
なお、請求項８に記載のプログラムは、端末装置を、先に説明した請求項１に記載の各手段を備えた端末装置として機能させるためのプログラムであるが、さらに、端末装置を、先に説明した請求項２〜請求項７のいずれかに記載の各手段を備えた端末装置として機能させるためのプログラムであってもよく、それらのプログラムを利用すれば、各端末装置は、それぞれ請求項２〜請求項７のいずれかに記載の端末装置について述べた通りの作用、効果を奏するものとなる。
【発明を実施するための最良の形態】
【００３１】
次に、本発明の実施形態について一例を挙げて説明する。
［システム全体の概要］
図１は、本発明の実施形態として例示する端末装置を備えたネットワークシステムの概略構成図である。
【００３２】
このネットワークシステムは、パーソナルコンピュータ（以下、パーソナルコンピュータをＰＣと略称する）１と、プリンタ３とを備えてなり、これらがＬＡＮ（Local Area Network）５に接続されて、相互に通信可能となっている。図１には、１台のＰＣ１と、１台のプリンタ３を図示してあるが、ネットワークシステム内に存在するＰＣ１やプリンタ３の数は任意である。また、ＬＡＮ５は、ハブなどの中継機器や機器間を結ぶネットワークケーブルによって構成されている。
【００３３】
図２は、ＰＣ１およびプリンタ３のハードウェア構成を示したブロック図である。
ＰＣ１は、図２に示す通り、ＣＰＵ１１と、メモリ１２と、ハードディスク装置１３（ＨＤＤ１３）と、入力部１４と、表示部１５と、ネットワークインターフェース（ネットワークＩＦ）１６などを備えている。
【００３４】
これらのうち、ＣＰＵ１１は、メモリ１２に記憶されたプログラムに従って各種演算や各種制御を実行する周知の装置である。
メモリ１２は、読み出し専用で電源が断たれても記憶内容が消えないＲＯＭ、読み書き可能で電源が断たれると記憶内容が消えるＲＡＭ、読み書き可能で電源が断たれたときは内蔵する電池で記憶内容を保持する不揮発性ＲＡＭなどで構成される。これらのうち、ＲＯＭには、ＢＩＯＳ（Basic Input Output System）や基本的ないくつかのデータが記憶されている。また、ＲＡＭにはＯＳや各種アプリケーションなどのプログラムがＨＤＤ１３から読み込まれ、ＣＰＵ１１での演算に伴って得られる各種データもＲＡＭに記憶されるようになっている。また、不揮発性ＲＡＭには、ＰＣ１において任意に設定変更可能な各種パラメータ等が記憶されるようになっている。
【００３５】
ＨＤＤ１３は、ＯＳやアプリケーションに相当する各種プログラムファイル、および各種データファイルを記憶する装置である。
入力部１４は、利用者がＰＣ１に対して各種指令を与える際に操作する装置で、例えば、キーボードや各種ポインティングデバイス（例えば、マウス）等によって構成される。
【００３６】
表示部１５は、ＰＣ１が利用者に対して各種情報を提示するための装置で、例えば、液晶ディスプレイによって構成される。
ネットワークＩＦ１６は、ＬＡＮ５に接続された各機器との間で通信を行うための装置で、ネットワークインターフェースカード（Network Interface Card；以下、ＮＩＣと略称する。）等を中心に構成されている。
【００３７】
プリンタ３は、図２に示す通り、ＣＰＵ３１と、メモリ３２と、印刷部３３と、入力部３４と、表示部３５と、ネットワークインターフェース（ネットワークＩＦ）３６などを備えている。
【００３８】
これらのうち、ＣＰＵ３１は、メモリ３２に記憶されたプログラムに従ってプリンタ３の各部を制御する装置である。
メモリ３２は、既に説明したＲＯＭ、ＲＡＭ、不揮発性ＲＡＭなどで構成される。本実施形態において、メモリ３２の不揮発性ＲＡＭ内には、簡易ネットワーク管理プロトコル（ＳＮＭＰ：Simple Network Management Protocol）において利用される管理情報ベース（ＭＩＢ；Management Information Base）が設けられ、このＭＩＢ内に、プリンタ３のノード名、ＩＰアドレス、ＭＡＣアドレス、シリアル番号等を含むデバイス情報が格納されている。これらのデバイス情報は、ＰＣ１からＳＮＭＰによるデータ取得要求が送信されてきたときに、その要求に応じてプリンタ３からＰＣ１へと提供される。
【００３９】
印刷部３３は、記録媒体（例えば記録用紙）の搬送機構や記録媒体に対して画像を記録する画像記録機構などからなり、これらの各機構がＣＰＵ３１によって制御されるようになっている。
【００４０】
入力部３４は、利用者がプリンタ３に対して各種指令を与える際に操作する装置で、例えば、いくつかのキーを有する操作パネルによって構成される。
表示部３５は、プリンタ３が利用者に対して各種情報を提示するための装置で、例えば、液晶ディスプレイによって構成される。
【００４１】
ネットワークＩＦ３６は、ＬＡＮ５に接続された各機器との間で通信を行うための装置で、ＮＩＣ等を中心に構成されている。
図３は、ＰＣ１の印刷機能に関連するソフトウェアおよびデータの構成を示したブロック図である。
【００４２】
ＰＣ１では、周知のように、起動に伴って最初にＯＳ（オペレーティングシステム）１０１が機能する状態になり、その後は、このＯＳ１０１の制御下で、各種アプリケーションが機能可能な状態となるように構成されている。本実施形態において、アプリケーションとしては、図３に示すように、インストーラ１０３、専用アプリ１０５、汎用アプリ１０７などが機能するが、これら各アプリケーションの詳細については後述する。
【００４３】
ＯＳ１０１は、ＰＣ１おける基本的な入出力制御やメモリ管理などを行うためのソフトウェアで、ＯＳ１０１の備えるマルチタスク機能により、ＯＳ１０１の制御下で複数のソフトウェアが時分割処理にて並列に作動可能となっている。また、このＯＳ１０１は、複数のウィンドウをＰＣ１の表示部１５に表示して、各ウィンドウ毎に様々な情報を表示するマルチウィンドウ機能を備えている。このようなマルチタスク機能およびマルチウィンドウ機能を持つＯＳの具体例としては、Ｗｉｎｄｏｗｓ（登録商標）、ＭａｃＯＳ（登録商標）などを挙げることができる。なお、これらのＯＳによって提供される各種機能は公知なので、マルチタスク機能およびマルチウィンドウ機能についての詳細な説明は省略するが、以下の説明においては、ＰＣ１が、Ｗｉｎｄｏｗｓ（登録商標）によって提供される各種機能を有するとの前提で説明を続ける。
【００４４】
ＯＳ１０１内では、様々な機能を提供するために複数のソフトウェアが作動しており、例えば、標準的な印刷機能を提供するための通常印刷処理部１１１や、ＬＡＮ５経由で通信可能なデバイス（例えばプリンタ３）に対するデータ送信機能を提供する汎用データ送信部１１３などが作動している。
【００４５】
通常印刷処理部１１１は、プリンタドライバやスプーラなどを中心に構成され、印刷機能を有するアプリケーションなどから印刷データが出力された際には、その印刷データが通常印刷処理部１１１に引き渡され、通常印刷処理部１１１において、印刷データに対してプリンタ３の機種に応じた加工を加える処理や、印刷データを印刷ジョブとして管理して所定の順序で汎用データ送信部１１３等へ伝送する処理などが実行される。
【００４６】
汎用データ送信部１１３は、ポートモニタなどを中心に構成され、この汎用データ送信部１１３において、ＯＳのｈｏｓｔｓファイル１１５を参照して名前解決を行う処理や、ＬＡＮ５側へのデータ送出処理などが実行される。ＯＳのｈｏｓｔｓファイル１１５は、ＯＳ１０１が名前解決のために標準的に備えているファイルで、図４（ａ）に示すように、対応関係にあると認識すべきＩＰアドレスとノード名が１行毎に記述されたテキストファイルとなっている。通常印刷処理部１１１経由で汎用データ送信部１１３に印刷データが伝送されてきた場合には、汎用データ送信部１１３において、印刷データ中に格納されているノード名をｈｏｓｔｓファイル１１５の中から探して、探し出したノード名と対になるＩＰアドレス宛に、印刷データを格納したパケットを送出する処理が実行されることになる。
【００４７】
次に、本実施形態においてＰＣ１で機能するアプリケーションについて説明する。
図３に示したアプリケーション、すなわち、インストーラ１０３、専用アプリ１０５、汎用アプリ１０７などのアプリケーションは、いずれもＯＳ１０１の制御下で稼働するソフトウェアである。
【００４８】
これらのうち、インストーラ１０３は、ＰＣ１からプリンタ３を利用する際に必要となる各種ソフトウェア（プリンタドライバやステータスモニタ等）を、ＰＣ１に導入するためのソフトウェアである。ＰＣ１で初めてプリンタ３を利用する際には、プリンタ３の利用に先だって少なくとも１度はインストーラ１０３による処理が実行され、これにより、ＰＣ１においてプリンタ３を利用するために必要な設定等が行われる。このインストーラ１０３のプログラムは、例えば、プリンタ３の付属品として添付されたリムーバブルメディア（ＣＤ−ＲＯＭ等）に格納されており、リムーバブルメディアをドライブ装置にマウントすると、プログラムが自動的にリムーバブルメディアからＰＣ１のメモリ１２に読み込まれて、インストーラ１０３による処理が実行されることになる。あるいは、インターネットなどの伝送路を介してインストーラ１０３のプログラムをダウンロードすることもでき、この場合は、ダウンロードしたプログラムを起動するための入力操作を利用者が入力部１４で実施すると、プログラムがＨＤＤ１３等からＰＣ１のメモリ１２にプログラムが読み込まれて、インストーラ１０３による処理が実行されることになる。
【００４９】
専用アプリ１０５は、ＯＳ１０１によって提供される通常印刷処理部１１１や汎用データ送信部１１３を利用せず、独自の専用データ送信部１２１を利用して印刷データをプリンタ３へと送信するアプリケーションである。専用アプリ１０５が利用する専用データ送信部１２１は、専用アプリ１０５とともにＰＣ１にインストールされるソフトウェアであり、機能的には、上述の汎用データ送信部１１３と同種の機能を備えている。具体的には、専用アプリ１０５の印刷機能を利用した場合には、印刷データが専用データ送信部１２１に引き渡され、専用データ送信部１２１において、専用のｈｏｓｔｓファイル１２３を参照して名前解決を行う処理や、ＬＡＮ５側へのデータ送出処理などが実行される。専用のｈｏｓｔｓファイル１２３は、先に説明したＯＳのｈｏｓｔｓファイル１１５とは別に用意されたファイルで、図４（ｂ）に示すように、対応関係にあると認識すべきＩＰアドレスとノード名と個体識別情報（本実施形態の場合はプリンタのシリアル番号；以下同様）が１行毎に記述されたテキストファイルとなっている。このような専用のｈｏｓｔｓファイル１２３を用意しておくと、万が一ＯＳのｈｏｓｔｓファイル１１５が壊れたり不正な内容に書き換えられたりした場合でも、専用アプリ１０５からの印刷出力時には、専用データ送信部１２１において適切に名前解決を実施することができる。
【００５０】
汎用アプリ１０７は、ＯＳ１０１によって提供される通常印刷処理部１１１や汎用データ送信部１１３を利用して印刷データをプリンタ３へと送信するアプリケーションである。
【００５１】
［インストーラが実行する処理］
次に、インストーラ１０３によって実行される処理について、図５に基づいて説明する。インストーラ１０３は、上述の通り、ＰＣ１からプリンタ３を利用する上で必要となる各種ソフトウェア（プリンタドライバやステータスモニタ等）をＰＣ１に導入するための処理を実行するソフトウェアである。ただし、図５のフローチャートには、インストーラ１０３によって実行されるすべての処理ステップの中から、本発明の要部に関連する処理ステップのみを抜粋して示してある。すなわち、インストーラ１０３は、実際には、図５に示されない処理ステップをも実行するが、図５においては、本発明の要部に関連しない処理ステップについては図示を省略してある。
【００５２】
インストーラ１０３が、図５に示した処理を開始すると、まず、ＳＮＭＰブロードキャストあるいはマルチキャストでデバイス情報を要求し（Ｓ１０５）、プリンタ３からの応答を一定時間受信する（Ｓ１１０）。
【００５３】
本実施形態において、デバイス情報としては、ノード名、ＩＰアドレス、および個体識別情報を要求し、この要求に応じたデバイス（本実施形態の場合はプリンタ３）から応答（デバイス情報）が返されると、その応答をＳ１１０の処理で受信することになる。要求に応じたデバイスが複数ある場合、Ｓ１１０の処理では、一定時間の間に複数の応答（デバイス情報）を受信することになる。
【００５４】
続いて、インストーラ１０３は、ノード名を一覧表示し、利用者に選択を促す（Ｓ１１５）。具体的には、Ｓ１１５の処理では、図６に示すような検索結果ウィンドウ２０１をＰＣ１の表示部１５に表示する。この検索結果ウィンドウ２０１には、ノード名リスト表示欄２０３、ＯＫボタン２０５などが設けられていて、Ｓ１１０の処理で受信した１以上のデバイス情報それぞれに含まれるノード名が、ノード名リスト表示欄２０３に一覧表示される。ここで、利用者は、検索結果ウィンドウ２０１中にあるノード名リスト表示欄２０３において、一つのノード名を選択する操作（ポインティングデバイスを使って一つのノード名をクリックする操作、もしくは、キーボードのカーソルキーを使って反転表示された位置を変更する操作など）を実施でき、さらに、ＯＫボタン２０５を押下する（ポインティングデバイスを使ってクリックする）ことにより、選択したノード名を確定することができる。
【００５５】
インストーラ１０３は、利用者がＯＫボタン２０５を押下したか否かにより、ノード名が選択されたか否かを判断し（Ｓ１２０）、ノード名が選択されていなければ（Ｓ１２０：ＮＯ）、Ｓ１２０の処理を繰り返すことにより、ノード名が選択されるまで待機する。
【００５６】
利用者がＯＫボタン２０５を押下して、一つのノード名が選択されたら（Ｓ１２０：ＹＥＳ）、ＯＳのｈｏｓｔｓファイル１１５にデバイス情報を書き込み（Ｓ１２５）、専用のｈｏｓｔｓファイル１２３にもデバイス情報を書き込む（Ｓ１３０）。Ｓ１２５の処理において、ＯＳのｈｏｓｔｓファイル１１５には、デバイス情報として、選択された一つのノード名と、そのノード名に対応するＩＰアドレス（Ｓ１１０の処理でノード名とともに取得した情報）が書き込まれる。また、Ｓ１３０の処理において、専用のｈｏｓｔｓファイル１２３には、デバイス情報として、選択された一つのノード名と、そのノード名に対応するＩＰアドレス（Ｓ１１０の処理でノード名とともに取得した情報）と、そのノード名に対応する個体識別情報（これもＳ１１０の処理でノード名とともに取得した情報）が書き込まれる。Ｓ１２５，Ｓ１３０いずれの処理においても、既に各ｈｏｓｔｓファイル１１５，１２３に同じノード名が登録されていれば、そのノード名が記述されている行が新たなデバイス情報によって上書きされる。これにより、動的にＩＰアドレスの割り当てが変更されるネットワークシステムにおいても、最新のＩＰアドレスが各ｈｏｓｔｓファイル１１５，１２３に反映されることになる。
【００５７】
こうして各ｈｏｓｔｓファイル１１５，１２３への書き込みを終えたら、インストーラ１０３は、専用ノード名変数にノード名を記憶し（Ｓ１３５）、さらに、汎用ノード名変数にもノード名を記憶して（Ｓ１４０）、この処理を終了する。専用ノード名変数は、専用アプリ１０５からの印刷出力先となるプリンタのノード名を格納する変数であり、専用アプリ１０５の印刷機能を利用する際には、専用ノード名変数から読み出されたノード名が、専用アプリ１０５からの印刷出力先として表示されることになる。また、汎用ノード名変数は、汎用アプリ１０７からの印刷出力先となるプリンタのノード名を格納する変数であり、汎用アプリ１０７の印刷機能を利用する際には、汎用ノード名変数から読み出されたノード名が、汎用アプリ１０７からの印刷出力先として表示されることになる。
【００５８】
以上説明した通り、このＰＣ１においては、インストーラ１０３によって、プリンタ３のデバイス情報がＯＳのｈｏｓｔｓファイル１１５および専用のｈｏｓｔｓファイル１２３に登録される。したがって、利用者が面倒な手作業を実施してＯＳのｈｏｓｔｓファイル１１５や専用のｈｏｓｔｓファイル１２３にデバイス情報を登録しなくても、インストーラ１０３を使ってプリンタ３を利用する上で必要となる各種ソフトウェアをＰＣ１に導入するだけで、それに連動してＯＳのｈｏｓｔｓファイル１１５や専用のｈｏｓｔｓファイル１２３にデバイス情報が登録され、以降は、ＰＣ１以外の機器（例えばＤＮＳサーバ等）をネットワーク上に設けなくても、ＰＣ１単独でＯＳのｈｏｓｔｓファイル１１５や専用のｈｏｓｔｓファイル１２３を利用した名前解決を実施できるようになる。
【００５９】
しかも、Ｓ１１０の処理では、ネットワーク上に存在する複数のデバイスからデバイス情報を受け取る可能性があるが、ＯＳのｈｏｓｔｓファイル１１５や専用のｈｏｓｔｓファイル１２３には、上記Ｓ１１５の処理において利用者が選択したノードについてのみデバイス情報が登録される。したがって、過剰に多くのデバイス情報が各ｈｏｓｔｓファイル１１５，１２３に登録されることはなく、各ｈｏｓｔｓファイル１１５，１２３からデバイス情報を得る際には、過剰に多くのデバイス情報が登録されている場合に比べ、必要な情報をより迅速に得ることができるようになる。
【００６０】
［専用アプリおよび専用データ送信部が実行する処理］
次に、専用アプリ１０５および専用データ送信部１２１による専用印刷処理について、図７〜図９のフローチャートに基づいて説明する。この専用印刷処理は、専用アプリ１０５の印刷機能を利用して印刷出力を行う際に、専用アプリ１０５および専用データ送信部１２１が連携して実行する処理である。
【００６１】
専用印刷処理を開始すると、図７に示すように、専用アプリ１０５は、印刷データ生成処理を実行し（Ｓ２０５）、印刷データを生成する。そして、専用印刷時印刷前確認処理を実行する（Ｓ２１０）。この専用印刷時印刷前確認処理は、詳しくは図８に示すような処理となる。
【００６２】
すなわち、専用印刷時印刷前確認処理を開始すると、図８に示すように、専用アプリ１０５は、専用ノード名変数に記憶されているノード名に対応するＩＰアドレスおよび個体識別情報を、専用のｈｏｓｔｓファイル１２３から見つける（Ｓ３０５）。
【００６３】
続いて、Ｓ３０５の処理で、専用ノード名変数に記憶されているノード名に対応するＩＰアドレスが見つかったか否かを判断し（Ｓ３１０）、見つかった場合には（Ｓ３１０：ＹＥＳ）、ノード名に対応するＩＰアドレスを対象にして、ユニキャストにてＰＩＮＧ（packet internet groper；ＩＣＭＰ（Internet Control Message Protocol）を利用した応答要求パケットの送信）を行う（Ｓ３１５）。
【００６４】
そして、ＰＩＮＧに対する応答が有るか否かを判断し（Ｓ３２０）、応答がある場合は（Ｓ３２０：ＹＥＳ）、その応答中に含まれる個体識別情報と上記Ｓ３０５の処理で取得した個体識別情報が一致するか否かを判断する（Ｓ３２５）。
【００６５】
ここで、個体識別情報が一致した場合は（Ｓ３２５：ＹＥＳ）、専用のｈｏｓｔｓファイル１２３から取得したＩＰアドレスを持つデバイスが、同じく専用のｈｏｓｔｓファイル１２３から取得した個体識別情報を持っていることを確認できたことになる。したがって、専用のｈｏｓｔｓファイル１２３を参照すれば、適切な名前解決を実施できるものと考えられるので、この専用印刷時印刷前確認処理を正常終了する。
【００６６】
一方、Ｓ３１０の処理において、専用ノード名変数に記憶されているノード名に対応するＩＰアドレスが専用のｈｏｓｔｓファイル１２３から見つからなかった場合（Ｓ３１０：ＮＯ）、Ｓ３２０の処理において、ＰＩＮＧに対する応答が無かった場合（Ｓ３２０：ＮＯ）、または、Ｓ３２５の処理において、個体識別情報が一致しなかった場合は（Ｓ３２５：ＮＯ）、専用のｈｏｓｔｓファイル１２３を参照しても適切な名前解決を実施できないおそれがある。そこで、専用のｈｏｓｔｓファイル１２３を参照した名前解決を適切に実施できるようにするため、引き続いて、以下の処理ステップを実行する。
【００６７】
まず、ＳＮＭＰブロードキャストあるいはマルチキャストでデバイス情報を要求し（Ｓ３３０）、プリンタ３からの応答を一定時間受信する（Ｓ３３５）。Ｓ３３０の処理において、デバイス情報としては、ノード名、ＩＰアドレス、および個体識別情報を要求し、この要求に応じたデバイス（本実施形態の場合はプリンタ３）から応答（デバイス情報）が返されると、その応答をＳ３３５の処理で受信することになる。要求に応じたデバイスが複数ある場合、Ｓ３３５の処理では、一定時間の間に複数の応答（デバイス情報）を受信することになる。
【００６８】
こうしてＳ３３５の処理を終えたら、専用アプリ１０５は、目的のデバイスから応答があったか否かを判断する（Ｓ３４０）。このＳ３４０の処理では、専用のｈｏｓｔｓファイル１２３に記憶された複数組のデバイス情報の中から、専用ノード名変数に記憶されているノード名を含む１組のデバイス情報を探し出し、探し出した１組のデバイス情報中に含まれる個体識別情報と一致する個体識別情報を持っているデバイスから応答があったら、目的のデバイスから応答があったと判断する。
【００６９】
ここで、目的のデバイス（上述の如き特定の個体識別情報を持っているデバイス）から応答があった場合は（Ｓ３４０：ＹＥＳ）、ＯＳのｈｏｓｔｓファイル１１５にデバイス情報を書き込み、汎用ノード名変数も書き換える（Ｓ３４５）。そして、専用のｈｏｓｔｓファイル１２３にもデバイス情報を書き込み、専用ノード名変数も書き換えて（Ｓ３５０）、この専用印刷時印刷前確認処理を正常終了する。Ｓ３４５の処理において、ＯＳのｈｏｓｔｓファイル１１５には、デバイス情報として、Ｓ３３５の処理で取得したノード名およびＩＰアドレスが書き込まれる。また、Ｓ３５０の処理において、専用のｈｏｓｔｓファイル１２３には、デバイス情報として、Ｓ３３５の処理で取得したノード名、ＩＰアドレス、および個体識別情報が書き込まれる。Ｓ３４５，Ｓ３５０いずれの処理においても、既に各ｈｏｓｔｓファイル１１５，１２３に同じノード名が登録されていれば、そのノード名が記述されている行が新たなデバイス情報によって上書きされる。これにより、動的にＩＰアドレスの割り当てが変更されるネットワークシステムにおいても、最新のＩＰアドレスが各ｈｏｓｔｓファイル１１５，１２３に反映されることになる。
【００７０】
なお、Ｓ３４０の処理で、目的のデバイスから応答がなかった場合は（Ｓ３４０：ＮＯ）、専用ノード名変数に記憶されているノード名を持つデバイスの存在が確認できないことになるので、この専用印刷時印刷前確認処理をエラー終了する。
【００７１】
さて、以上説明した専用印刷時印刷前確認処理を終了した場合、専用アプリ１０５は、図７に示したＳ２１０の処理を終えたことになる。ここで、専用印刷時印刷前確認処理を正常終了した場合は、専用ノード名変数に記憶されているノード名を持つデバイスの存在が確認できたことになるので、この場合、専用アプリ１０５から専用データ送信部１２１へ印刷データが引き渡され、引き続いて、専用データ送信部１２１が、専用データ送信処理を実行する（Ｓ２１５）。一方、専用印刷時印刷前確認処理をエラー終了した場合は、専用ノード名変数に記憶されているノード名を持つデバイスの存在が確認できなかったことになるので、この場合、専用アプリ１０５は専用データ送信部１２１へ印刷データを引き渡すことなく専用印刷処理を中止し、Ｓ２１５の処理へは移行しない。
【００７２】
Ｓ２１５の専用データ送信処理は、詳しくは図９に示すような処理となる。
すなわち、専用データ送信処理を開始すると、専用データ送信部１２１は、専用ノード名変数に記憶しているノード名に対するＩＰアドレスを専用のｈｏｓｔｓファイル１２３から見つける（Ｓ４０５）。つまり、専用データ送信部１２１において、専用のｈｏｓｔｓファイル１２３を利用した名前解決が実施される。
【００７３】
そして、Ｓ４０５の処理によって得られたＩＰアドレスのデバイスに対して、印刷データを送信して（Ｓ４１０）、専用データ送信処理を終了する。これにより、ＰＣ１からデバイス（プリンタ３）へ印刷データが送信され、プリンタ３において印刷出力がなされることになる。
【００７４】
以上のようにして専用データ送信処理を終了すると、図７に示したＳ２１５の処理を終えたことになり、その結果、図７に示した専用印刷処理を終了することになる。
以上説明した通り、このＰＣ１においては、専用アプリ１０５による印刷処理（専用印刷処理）を行う際には、専用のｈｏｓｔｓファイル１２３を利用して名前解決を行うので、ＰＣ１以外の機器（例えばＤＮＳサーバ等）をネットワーク上に設けなくても、ＰＣ１単独で名前解決を実施できる。
【００７５】
しかも、専用のｈｏｓｔｓファイル１２３に登録されたデバイス情報に基づいて名前解決が適切に実施できるかどうかをユニキャストで確認し、適切に実施できないおそれがある場合にのみ、ブロードキャストまたはマルチキャストで専用のｈｏｓｔｓファイル１２３の情報を更新するので、専用のｈｏｓｔｓファイル１２３に登録されたデバイス情報に基づいて名前解決が適切に実施できる場合には、ネットワークに対してブロードキャストまたはマルチキャストによる過大な負荷をかけることがない。
【００７６】
また、上記Ｓ３２５の処理では、利用者による書き換えが容易ではない個体識別情報が一致するか否かを確認することにより、専用のｈｏｓｔｓファイル１２３の有効性を確認しているので、利用者による書き換えが容易なノード名等によって専用のｈｏｓｔｓファイル１２３の有効性を確認する場合に比べ、より信頼性の高い確認を行うことができる。
【００７７】
［通常印刷処理部および汎用データ送信部が実行する処理］
次に、通常印刷処理部１１１および汎用データ送信部１１３による通常印刷処理について、図１０〜図１２のフローチャートに基づいて説明する。この通常印刷処理は、汎用アプリ１０７の印刷機能を利用して印刷出力を行う際に、汎用アプリ１０７がＯＳ１０１の標準印刷機能を呼び出すことにより、通常印刷処理部１１１および汎用データ送信部１１３が連携して実行することになる処理である。
【００７８】
通常印刷処理を開始すると、図１０に示すように、通常印刷処理部１１１は、通常印刷時印刷前確認処理を実行する（Ｓ５０５）。この通常印刷時印刷前確認処理は、詳しくは図１１に示すような処理となる。
【００７９】
すなわち、通常印刷時印刷前確認処理を開始すると、図１１に示すように、通常印刷処理部１１１は、汎用ノード名変数に記憶されているノード名に対応するＩＰアドレスを、ＯＳのｈｏｓｔｓファイル１１５から見つける（Ｓ６０５）。
【００８０】
続いて、Ｓ６０５の処理で、汎用ノード名変数に記憶されているノード名に対応するＩＰアドレスが見つかったか否かを判断し（Ｓ６１０）、見つかった場合には（Ｓ６１０：ＹＥＳ）、ノード名に対応するＩＰアドレスを対象にして、ユニキャストにてＰＩＮＧを行う（Ｓ６１５）。
【００８１】
そして、ＰＩＮＧに対する応答が有るか否かを判断し（Ｓ６２０）、応答がある場合は（Ｓ６２０：ＹＥＳ）、その応答中に含まれるノード名と上記Ｓ６０５の処理で取得したノード名が一致するか否かを判断する（Ｓ６２５）。
【００８２】
ここで、ノード名が一致した場合は（Ｓ６２５：ＹＥＳ）、ＯＳのｈｏｓｔｓファイル１１５から取得したＩＰアドレスを持つデバイスが、同じくＯＳのｈｏｓｔｓファイル１１５から取得したノード名を持っていることを確認できたことになる。したがって、ＯＳのｈｏｓｔｓファイル１１５を参照すれば、適切な名前解決を実施できるものと考えられるので、この通常印刷時印刷前確認処理を正常終了する。
【００８３】
一方、Ｓ６１０の処理において、汎用ノード名変数に記憶されているノード名に対応するＩＰアドレスがＯＳのｈｏｓｔｓファイル１１５から見つからなかった場合（Ｓ６１０：ＮＯ）、Ｓ６２０の処理において、ＰＩＮＧに対する応答が無かった場合（Ｓ６２０：ＮＯ）、または、Ｓ６２５の処理において、ノード名が一致しなかった場合は（Ｓ６２５：ＮＯ）、ＯＳのｈｏｓｔｓファイル１１５を参照しても適切な名前解決を実施できないおそれがある。そこで、ＯＳのｈｏｓｔｓファイル１１５を参照した名前解決を適切に実施できるようにするため、引き続いて、以下の処理ステップを実行する。
【００８４】
まず、ＳＮＭＰブロードキャストあるいはマルチキャストでデバイス情報を要求し（Ｓ６３０）、プリンタ３からの応答を一定時間受信する（Ｓ６３５）。Ｓ６３０の処理において、デバイス情報としては、ノード名、ＩＰアドレス、および個体識別情報を要求し、この要求に応じたデバイス（本実施形態の場合はプリンタ３）から応答（デバイス情報）が返されると、その応答をＳ６３５の処理で受信することになる。要求に応じたデバイスが複数ある場合、Ｓ６３５の処理では、一定時間の間に複数の応答（デバイス情報）を受信することになる。
【００８５】
こうしてＳ６３５の処理を終えたら、通常印刷処理部１１１は、目的のデバイスから応答があったか否かを判断する（Ｓ６４０）。このＳ６４０の処理では、専用のｈｏｓｔｓファイル１２３に記憶された複数組のデバイス情報の中から、汎用ノード名変数に記憶されているノード名を含む１組のデバイス情報を探し出し、探し出した１組のデバイス情報中に含まれる個体識別情報と一致する個体識別情報を持っているデバイスから応答があったら、目的のデバイスから応答があったと判断する。
【００８６】
ここで、目的のデバイス（上述の如き特定の個体識別情報を持っているデバイス）から応答があった場合は（Ｓ６４０：ＹＥＳ）、ＯＳのｈｏｓｔｓファイル１１５にデバイス情報を書き込み、汎用ノード名変数も書き換える（Ｓ６４５）。そして、専用のｈｏｓｔｓファイル１２３にもデバイス情報を書き込み、専用ノード名変数も書き換えて（Ｓ６５０）、この通常印刷時印刷前確認処理を正常終了する。Ｓ６４５の処理において、ＯＳのｈｏｓｔｓファイル１１５には、デバイス情報として、Ｓ６３５の処理で取得したノード名およびＩＰアドレスが書き込まれる。また、Ｓ６５０の処理において、専用のｈｏｓｔｓファイル１２３には、デバイス情報として、Ｓ６３５の処理で取得したノード名、ＩＰアドレス、および個体識別情報が書き込まれる。Ｓ６４５，Ｓ６５０いずれの処理においても、既に各ｈｏｓｔｓファイル１１５，１２３に同じノード名が登録されていれば、そのノード名が記述されている行が新たなデバイス情報によって上書きされる。これにより、動的にＩＰアドレスの割り当てが変更されるネットワークシステムにおいても、最新のＩＰアドレスが各ｈｏｓｔｓファイル１１５，１２３に反映されることになる。
【００８７】
なお、Ｓ６４０の処理で、目的のデバイスから応答がなかった場合は（Ｓ６４０：ＮＯ）、汎用ノード名変数に記憶されているノード名を持つデバイスの存在が確認できないことになるので、この通常印刷時印刷前確認処理をエラー終了する。
【００８８】
さて、以上説明した通常印刷時印刷前確認処理を終了した場合、通常印刷処理部１１１は、図１０に示したＳ５０５の処理を終えたことになる。ここで、通常印刷時印刷前確認処理をエラー終了した場合は、汎用ノード名変数に記憶されているノード名を持つデバイスの存在が確認できなかったことになるので、この場合、通常印刷処理部１１１はＳ５１０以降の処理を実行せず、通常印刷処理を中止する。一方、通常印刷時印刷前確認処理を正常終了した場合は、汎用ノード名変数に記憶されているノード名を持つデバイスの存在が確認できたことになるので、この場合、Ｓ５１０以降の処理を実行する。
【００８９】
Ｓ５１０以降の処理を実行する場合、通常印刷処理部１１１は、汎用アプリ１０７からＧＤＩで描画処理を受け取る（Ｓ５１０）。ＧＤＩ（Graphic Device Interface）は、Ｗｉｎｄｏｗｓ（登録商標）が標準機能として備えるソフトウェアモジュールの一つで、アプリケーションからの表示／印刷時にＧＤＩを利用して出力を行うことにより、アプリケーション側では出力先となる機器の仕様を意識しなくても、ＧＤＩすることなく表示／印刷を実施することができる。
【００９０】
汎用アプリ１０７から描画処理を受け取ったら、通常印刷処理部１１１は、受け取った描画処理に従い、印刷データを作成し、スプーラに格納する（Ｓ５１５）。そして、ＧＤＩによる描画処理が全て終了したか否かを判断し（Ｓ５２０）、まだ描画処理が残っている場合には（Ｓ５２０：ＮＯ）、Ｓ５１０の処理へと戻ることにより、Ｓ５１０〜Ｓ５２０の処理を繰り返す。
【００９１】
そして、ＧＤＩによる描画処理が全て終了したら（Ｓ５２０：ＹＥＳ）、汎用データ送信部１１３が、汎用データ送信処理を実行する（Ｓ５２５）。
Ｓ５２５の汎用データ送信処理は、詳しくは図１２に示すような処理となる。
【００９２】
すなわち、汎用データ送信処理を開始すると、汎用データ送信部１１３は、汎用ノード名変数に記憶しているノード名に対するＩＰアドレスをＯＳのｈｏｓｔｓファイル１１５から見つける（Ｓ７０５）。つまり、汎用データ送信部１１３において、ＯＳのｈｏｓｔｓファイル１１５を利用した名前解決が実施される。
【００９３】
そして、スプーラから印刷データを取り出して、その印刷データをＳ７０５の処理によって得られたＩＰアドレスのデバイスに対して送信して（Ｓ７１０）、汎用データ送信処理を終了する。これにより、ＰＣ１からデバイス（プリンタ３）へ印刷データが送信され、プリンタ３において印刷出力がなされることになる。
【００９４】
以上のようにして汎用データ送信処理を終了すると、図１０に示したＳ５２５の処理を終えたことになり、その結果、図１０に示した通常印刷処理を終了することになる。
以上説明した通り、このＰＣ１においては、通常印刷処理部１１１による印刷処理（通常印刷処理）を行う際には、ＯＳのｈｏｓｔｓファイル１１５を利用して名前解決を行うので、ＰＣ１以外の機器（例えばＤＮＳサーバ等）をネットワーク上に設けなくても、ＰＣ１単独で名前解決を実施できる。
【００９５】
しかも、ＯＳのｈｏｓｔｓファイル１１５に登録されたデバイス情報に基づいて名前解決が適切に実施できるかどうかをユニキャストで確認し、適切に実施できないおそれがある場合にのみ、ブロードキャストまたはマルチキャストでＯＳのｈｏｓｔｓファイル１１５の情報を更新するので、ＯＳのｈｏｓｔｓファイル１１５に登録されたデバイス情報に基づいて名前解決が適切に実施できる場合には、ネットワークに対してブロードキャストまたはマルチキャストによる過大な負荷をかけることがない。
【００９６】
また、上記Ｓ６２５の処理では、ノード名が一致するか否かを確認することにより、ＯＳのｈｏｓｔｓファイル１１５の有効性を確認しているので、専用のｈｏｓｔｓファイル１２３のように個体識別情報が記録されていなくても、相応にファイルの有効性を確認することができる。
【００９７】
［上記実施形態と本発明との対応関係］
以上説明した実施形態において、ＰＣ１が本発明でいう端末装置に相当し、プリンタ３が本発明でいうネットワーク上のノードに相当する。また、インストーラ１０３、専用アプリ１０５、汎用アプリ１０７が、本発明でいうＯＳの制御下で機能するアプリケーションに相当する。さらに、ＯＳのｈｏｓｔｓファイル１１５が、本発明でいう第１のデータ記憶手段に相当し、専用のｈｏｓｔｓファイル１２３が、本発明でいう第２のデータ記憶手段に相当する。
【００９８】
また、Ｓ１０５，Ｓ３３０，Ｓ６３０の各処理を実行するＣＰＵ１１が、本発明でいう要求手段に相当し、Ｓ１１０，Ｓ３３５，Ｓ６３５の各処理を実行するＣＰＵ１１が、本発明でいう受信手段に相当し、Ｓ１２５，Ｓ１３０，Ｓ３４５，Ｓ３５０，Ｓ６４５，Ｓ６５０の各処理を実行するＣＰＵ１１が、本発明でいう書込手段に相当する。また、Ｓ１２０，Ｓ３４０，Ｓ６４０の各処理を実行するＣＰＵ１１が、本発明でいう選択手段に相当し、Ｓ３１５〜Ｓ３２５、Ｓ６１５〜Ｓ６２５の各処理を実行するＣＰＵ１１が、本発明でいう確認手段に相当し、Ｓ３３０〜Ｓ３５０、Ｓ６３０〜Ｓ６５０の各処理を実行するＣＰＵ１１が、本発明でいう更新手段に相当する。
【００９９】
［変形例等］
以上、本発明の実施形態について説明したが、本発明は上記の具体的な一実施形態に限定されず、この他にも種々の形態で実施することができる。
【０１００】
例えば、上記実施形態においては、ＯＳのｈｏｓｔｓファイル１１５および専用のｈｏｓｔｓファイル１２３の双方に、ＩＰアドレスとノード名との対応関係を記憶するようにしていたが、汎用アプリ１０７がＯＳ１０１の機能を利用して名前解決を行うためには、ＯＳのｈｏｓｔｓファイル１１５にのみＩＰアドレスとノード名との対応関係を記憶するようにしても十分である。ただし、ＯＳのｈｏｓｔｓファイル１１５には、仕様上の制約があり、ＩＰアドレスとノード名との対応関係しか記憶させることができないので、上記実施形態のように個体識別情報をも記録したい（すなわち、個体識別情報を利用した確認をも行いたい）場合には、専用のｈｏｓｔｓファイルを利用すると好ましい。
【０１０１】
また、上記実施形態においては、利用者による書き換えが容易ではない個体識別情報として、デバイスのシリアル番号を例示したが、この他、デバイスのＭＡＣアドレスなどを個体識別情報として利用することができる。これらの個体識別情報は、製造元において特殊な作業を行った場合には書き換え可能となる場合もあり得るが、ごく一般的な利用者を想定すれば書き換え不能な情報と考えることができる。
【０１０２】
また、上記実施形態においては、ＯＳのｈｏｓｔｓファイル１１５や専用のｈｏｓｔｓファイル１２３に記憶されたＩＰアドレスの有効性を確認するため、ＩＰアドレスを指定した応答要求に対する応答からノード名や個体識別情報を取得して、ＯＳのｈｏｓｔｓファイル１１５や専用のｈｏｓｔｓファイル１２３に記憶されたノード名や個体識別情報と一致するか否かを確認していたが、ＩＰアドレスが動的に変化せず、且つ、ノード名の変更も行われないことが保証されているネットワークであれば、ＩＰアドレスを指定した応答要求に対する応答の有無のみを確認するだけでも、ＯＳのｈｏｓｔｓファイル１１５や専用のｈｏｓｔｓファイル１２３に記憶されたＩＰアドレスの有効性を確認することができる。
【０１０３】
さらに、上記実施形態においては、ブロードキャストまたはマルチキャストにより、ネットワーク上のノードに対してＩＰアドレスおよびノード名の伝送を要求した後、利用者の指定または目的とするノードであるか否かといった選択条件に基づき、特定のノードのみが対象となるように絞り込んで、その特定のノードのノード名とＩＰアドレスだけをＯＳのｈｏｓｔｓファイル１１５や専用のｈｏｓｔｓファイル１２３に記憶するようにしていたが、例えば、ネットワークの規模が小さい場合など、全ノードをＯＳのｈｏｓｔｓファイル１１５や専用のｈｏｓｔｓファイル１２３に記憶しても実害がない場合には、ブロードキャストまたはマルチキャストにより、ネットワーク上のノードに対してＩＰアドレスおよびノード名の伝送を要求した後、応答を返したすべてのノードを対象に、ノード名とＩＰアドレスをＯＳのｈｏｓｔｓファイル１１５や専用のｈｏｓｔｓファイル１２３に記憶してもよい。
【図面の簡単な説明】
【０１０４】
【図１】端末装置を備えたネットワークシステムの概略構成図。
【図２】ＰＣおよびプリンタのハードウェア構成を示したブロック図。
【図３】ＰＣの印刷機能に関連するソフトウェアおよびデータの構成を示したブロック図。
【図４】ＯＳのｈｏｓｔｓファイルおよび専用のｈｏｓｔｓファイルを例示した説明図。
【図５】インストーラによって実行される処理のフローチャート。
【図６】検索結果ウィンドウを示す説明図。
【図７】専用印刷処理のフローチャート。
【図８】専用印刷時印刷前確認処理のフローチャート。
【図９】専用データ送信処理のフローチャート。
【図１０】通常印刷処理のフローチャート。
【図１１】通常印刷時印刷前確認処理のフローチャート。
【図１２】汎用データ送信処理のフローチャート。
【符号の説明】
【０１０５】
１・・・ＰＣ（端末装置）、３・・・プリンタ、１１・・・ＣＰＵ、１２・・・メモリ、１３・・・ハードディスク装置、１４・・・入力部、１５・・・表示部、１６・・・ネットワークＩＦ、３１・・・ＣＰＵ、３２・・・メモリ、３３・・・印刷部、３４・・・入力部、３５・・・表示部、３６・・・ネットワークＩＦ、１０３・・・インストーラ、１０５・・・専用アプリ、１０７・・・汎用アプリ、１１１・・・通常印刷処理部、１１３・・・汎用データ送信部、１１５・・・ＯＳのｈｏｓｔｓファイル、１２１・・・専用データ送信部、１２３・・・専用のｈｏｓｔｓファイル。
【図２】
2007019614.tif 000003
【図３】
2007019614.tif 000004
【図４】
2007019614.tif 000005
【図５】
2007019614.tif 000006
【図７】
2007019614.tif 000007
【図８】
2007019614.tif 000008
【図９】
2007019614.tif 000009
【図１０】
2007019614.tif 000010
【図１１】
2007019614.tif 000011
【図１２】
2007019614.tif 000012
【図１】
2007019614.tif 000013
【図６】
2007019614.tif 000014