(57)【要約】【課題】  ＰＣがプリンタとのユニキャスト通信を実行することができない事態が発生する場合に、そのような事態を解消すること。【解決手段】  ＰＣ１０は、ＤＮＳサーバ６２から取得したプリンタ７０のＩＰアドレスを用いて、印刷データをユニキャスト送信することを試行する。ＰＣ１０は、ユニキャスト送信が失敗する場合に、プリンタ７０のＭＡＣアドレスと、新たなＩＰアドレスと、ＰＣ１０に現在設定されているサブネットマスクと、ＰＣ１０に現在設定されているゲートウェイアドレスと、を含む設定パケットをＬＡＮ４にブロードキャストする。プリンタ７０は、設定パケットに含まれるＩＰアドレスを、プリンタ７０の固定的なＩＰアドレスとして、新たに設定する。また、プリンタ７０は、設定パケットに含まれるサブネットマスク及びゲートウェイアドレスを、自己のサブネットマスク及びゲートウェイアドレスとして、新たに設定する。【選択図】  図１
2011209889.tif 000002
【特許請求の範囲】
【請求項１】
特定のデバイスとネットワークを介して接続される通信装置であって、
前記特定のデバイスを識別するための特定のデバイス識別情報を取得するデバイス識別情報取得部と、
前記特定のデバイスに設定された特定のＩＰアドレスを取得するＩＰアドレス取得部と、
前記特定のＩＰアドレスを用いて、前記特定のデバイスと通信する通信部と、
前記通信装置に現在設定されているＩＰアドレスに含まれるネットワークアドレスと同一のネットワークアドレスを含む新たなＩＰアドレスを生成する生成部と、
前記特定のＩＰアドレスを用いた前記特定のデバイスとの通信が失敗する場合に、前記特定のデバイス識別情報と、前記新たなＩＰアドレスと、を含む設定パケットであって、前記設定パケットを受信する受信側デバイスを識別するためのデバイス識別情報と、前記設定パケットに含まれる前記特定のデバイス識別情報と、が一致することを条件として、前記設定パケットに含まれる前記新たなＩＰアドレスが前記受信側デバイスに新たに設定されるように、前記受信側デバイスに指示する前記設定パケットを、前記ネットワークにブロードキャストする設定部と、
を備える通信装置。
【請求項２】
前記デバイス識別情報取得部は、前記特定のデバイスのためのデバイスドライバが前記通信装置にインストールされる際に、前記特定のデバイスから前記特定のデバイス識別情報を取得し、
前記デバイスドライバによって実現される前記通信部が、前記特定のデバイスに特定のコマンドを送信した場合であって、前記特定のコマンドを前記特定のデバイスに正常に送信できなかった場合に、前記設定部は、前記設定パケットを前記ネットワークにブロードキャストする、請求項１に記載の通信装置。
【請求項３】
前記設定部は、さらに、前記通信が失敗する場合に、所定のパケットを前記ネットワークにブロードキャストすることによって、前記特定のデバイスを探索し、
前記設定部は、前記探索の結果、前記特定のデバイスが見つからない場合に、前記設定パケットを前記ネットワークにブロードキャストする、請求項１又は２に記載の通信装置。
【請求項４】
前記生成部は、前記探索の結果、前記特定のデバイスが見つからない場合に、前記新たなＩＰアドレスを生成する、請求項３に記載の通信装置。
【請求項５】
前記通信部は、さらに、前記探索の結果、前記特定のデバイスからの応答がある場合に、前記応答に含まれるＩＰアドレスを用いて、前記特定のデバイスと通信する、請求項３又は４に記載の通信装置。
【請求項６】
前記設定パケットは、前記受信側デバイスを識別するための前記デバイス識別情報と、前記特定のデバイス識別情報と、が一致することを条件として、前記新たなＩＰアドレスが、固定的なＩＰアドレスとして、前記受信側デバイスに新たに設定されるように、前記受信側デバイスに指示するパケットである、請求項１から５のいずれか一項に記載の通信装置。
【請求項７】
前記通信部は、さらに、前記設定パケットがブロードキャストされた後に、前記新たなＩＰアドレスを用いて、前記特定のデバイスと通信することによって、前記新たなＩＰアドレスが前記特定のデバイスに新たに設定されたのか否かを確認する、請求項１から６のいずれか一項に記載の通信装置。
【請求項８】
特定のデバイスとネットワークを介して接続される通信装置を実現するためのコンピュータプログラムであって、
特定のデバイスとネットワークを介して接続される通信装置であって、前記特定のデバイスを識別するための特定のデバイス識別情報を取得するデバイス識別情報取得処理と、前記特定のデバイスに設定された特定のＩＰアドレスを取得するＩＰアドレス取得処理と、前記特定のＩＰアドレスを用いて、前記特定のデバイスと通信する通信処理と、を実行可能である前記通信装置に搭載されるコンピュータに、以下の各処理、即ち、
前記通信装置に現在設定されているＩＰアドレスに含まれるネットワークアドレスと同一のネットワークアドレスを含む新たなＩＰアドレスを生成する生成処理と、
前記特定のＩＰアドレスを用いた前記特定のデバイスとの通信が失敗する場合に、前記特定のデバイス識別情報と、前記新たなＩＰアドレスと、を含む設定パケットであって、前記設定パケットを受信する受信側デバイスを識別するためのデバイス識別情報と、前記設定パケットに含まれる前記特定のデバイス識別情報と、が一致することを条件として、前記設定パケットに含まれる前記新たなＩＰアドレスが前記受信側デバイスに新たに設定されるように、前記受信側デバイスに指示する前記設定パケットを、前記ネットワークにブロードキャストする設定処理と、
を実行させるコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書によって開示される技術は、他のデバイスとネットワークを介して接続される通信装置に関する。
【背景技術】
【０００２】
特許文献１には、プリンタのためのプリンタドライバをコンピュータにインストールするための技術が開示されている。プリンタドライバがコンピュータにインストールされる際に、コンピュータは、プリンタのプリンタ名、プリンタのＩＰアドレス等を取得する。なお、プリンタのＩＰアドレスが、ＤＨＣＰ（Dynamic Host Configuration Protocol）サーバによって割り当てられる場合には、プリンタのＩＰアドレスが更新される可能性がある。従って、コンピュータは、プリンタとユニキャスト通信を実行すべき際に、取得済みのプリンタ名を用いて、名前解決（例えばＤＮＳ（Domain Name system）サーバによる名前解決）を実行し、プリンタの現在のＩＰアドレスを取得する。コンピュータは、プリンタの現在のＩＰアドレスを用いて、プリンタとユニキャスト通信を実行する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０００−３３０７４２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
例えば、複数のＤＨＣＰサーバが同一のＬＡＮに接続される可能性がある。この場合、第１のＤＨＣＰサーバが、第１のネットワークアドレスを含むＩＰアドレスをプリンタに割り当て、第２のＤＨＣＰサーバが、第１のネットワークアドレスと異なる第２のネットワークアドレスを含むＩＰアドレスをコンピュータに割り当てる可能性がある。このような状況が発生すると、例えば、コンピュータが名前解決によってプリンタの現在のＩＰアドレスを取得しても、そのＩＰアドレスのネットワークアドレスは、コンピュータのＩＰアドレスのネットワークアドレスと異なる。従って、コンピュータが、プリンタの現在のＩＰアドレスを用いて、プリンタとユニキャスト通信を実行しようとしても、その通信が失敗する可能性が高い。即ち、従来の技術によると、コンピュータとプリンタとの間でユニキャスト通信を実行することができない事態が発生し得る。
【０００５】
本明細書では、通信装置が他のデバイスとのユニキャスト通信を実行することができない事態が発生する場合に、そのような事態を解消し得る技術を開示する。
【課題を解決するための手段】
【０００６】
本明細書では、特定のデバイスとネットワークを介して接続される通信装置を開示する。通信装置は、デバイス識別情報取得部と、ＩＰアドレス取得部と、通信部と、生成部と、設定部とを備える。デバイス識別情報取得部は、特定のデバイスを識別するための特定のデバイス識別情報を取得する。ＩＰアドレス取得部は、特定のデバイスに設定された特定のＩＰアドレスを取得する。通信部は、特定のＩＰアドレスを用いて、特定のデバイスと通信する。生成部は、通信装置に現在設定されているＩＰアドレスに含まれるネットワークアドレスと同一のネットワークアドレスを含む新たなＩＰアドレスを生成する。設定部は、特定のＩＰアドレスを用いた特定のデバイスとの通信が失敗する場合に、特定のデバイス識別情報と、新たなＩＰアドレスと、を含む設定パケットであって、設定パケットを受信する受信側デバイスを識別するためのデバイス識別情報と、設定パケットに含まれる特定のデバイス識別情報と、が一致することを条件として、設定パケットに含まれる新たなＩＰアドレスが受信側デバイスに新たに設定されるように、受信側デバイスに指示する設定パケットを、ネットワークにブロードキャストする。
【０００７】
上記の構成によると、通信装置は、特定のＩＰアドレスを用いた特定のデバイスとの通信が失敗する場合、即ち、特定のデバイスとのユニキャスト通信が失敗する場合に、設定パケットをネットワークにブロードキャストする。特定のデバイスとのユニキャスト通信が失敗する場合であっても、宛先が不特定であるブロードキャスト通信であれば、特定のデバイスが、設定パケットを受信し得る。このために、特定のデバイスに新たなＩＰアドレスが設定され得る。この場合、さらに、特定のデバイスに設定された新たなＩＰアドレスのネットワークアドレスと、通信装置の現在のＩＰアドレスのネットワークアドレスと、が同一であるため、特定のデバイスと通信装置とは、同じネットワークを介して、ユニキャスト通信を実行することができる。上記の構成によると、通信装置が特定のデバイスとのユニキャスト通信を実行することができない事態が発生する場合に、そのような事態を解消し得る。
【０００８】
デバイス識別情報取得部は、特定のデバイスのためのデバイスドライバが通信装置にインストールされる際に、特定のデバイスから特定のデバイス識別情報を取得してもよい。また、デバイスドライバによって実現される通信部が、特定のデバイスに特定のコマンドを送信した場合であって、特定のコマンドを特定のデバイスに正常に送信できなかった場合に、設定部は、設定パケットをネットワークにブロードキャストしてもよい。この構成によると、通信装置は、デバイスドライバが通信装置にインストールされる際に、即ち、通信部が実現される際に、特定のデバイスから特定のデバイス識別情報を取得することができる。従って、仮に、通信部が実行する特定のデバイスとのユニキャスト通信が失敗する際には、通信装置は、特定のデバイス識別情報を確実に取得している。このために、通信装置は、特定のデバイスとのユニキャスト通信が失敗する場合に、特定のデバイス識別情報を含む設定パケットをブロードキャストすることができる。
【０００９】
設定部は、さらに、通信が失敗する場合に、所定のパケットをネットワークにブロードキャストすることによって、特定のデバイスを探索してもよい。設定部は、探索の結果、特定のデバイスが見つからない場合に、設定パケットをネットワークにブロードキャストしてもよい。上記の探索の結果、特定のデバイスが見つからない場合には、特定のデバイスの現在のＩＰアドレスのネットワークアドレスと、通信装置の現在のＩＰアドレスのネットワークアドレスと、が異なる状況が発生している可能性がある。即ち、このような状況では、ブロードキャストされた所定のパケットを受信した特定のデバイスが、ユニキャスト通信を用いて、応答を通信装置に送信しようとしても、その応答が通信装置に正常に送信されないために、特定のデバイスが見つからない。上記の構成によると、特定のデバイスの現在のＩＰアドレスのネットワークアドレスと、通信装置の現在のＩＰアドレスのネットワークアドレスと、が異なる状況が発生していることが予想される場合に、通信装置は、特定のデバイスに新たなＩＰアドレスを設定し得る。
【００１０】
さらに、生成部は、探索の結果、特定のデバイスが見つからない場合に、新たなＩＰアドレスを生成してもよい。この構成によると、特定のデバイスが見つからないことが確認される前に、新たなＩＰアドレスを生成して保存しておく構成と比べると、通信装置のリソースの負荷（例えばメモリの負荷、ＩＰアドレスの生成負荷）を低減させ得る。
【００１１】
通信部は、さらに、探索の結果、特定のデバイスからの応答がある場合に、応答に含まれるＩＰアドレスを用いて、特定のデバイスと通信してもよい。上記の探索の結果、特定のデバイスからの応答がある場合には、特定のデバイスの現在のＩＰアドレスのネットワークアドレスと、通信装置のＩＰアドレスのネットワークアドレスと、が一致しているが、通信装置が取得した特定のＩＰアドレス（特定のデバイスに設定されたＩＰアドレス）と、特定のデバイスの現在のＩＰアドレスと、が異なる状況が発生している可能性がある。上記の構成によると、通信装置は、特定のデバイスの現在のＩＰアドレスを取得することができ、そのＩＰアドレスを用いて、特定のデバイスとユニキャスト通信を実行することができる。
【００１２】
設定パケットは、受信側デバイスを識別するためのデバイス識別情報と、特定のデバイス識別情報と、が一致することを条件として、新たなＩＰアドレスが、固定的なＩＰアドレスとして、受信側デバイスに新たに設定されるように、受信側デバイスに指示するパケットであってもよい。この構成によると、特定のデバイスに設定される新たなＩＰアドレスは、特定のデバイスのユーザがＩＰアドレスの変更を指示しない限り、変更されない。このために、特定のデバイスのＩＰアドレスが変更されることに起因して、特定のデバイスとのユニキャスト通信が再び失敗するような事態が発生するのを抑制することができる。
【００１３】
通信部は、さらに、設定パケットがブロードキャストされた後に、新たなＩＰアドレスを用いて、特定のデバイスと通信することによって、新たなＩＰアドレスが特定のデバイスに新たに設定されたのか否かを確認してもよい。仮に、特定のデバイスが、設定変更が完了したか否かの通知パケットを通信装置に送れない場合であっても、通信装置は、新たなＩＰアドレスが特定のデバイスに新たに設定されたのか否かを確認することができる。
【００１４】
なお、上記の通信装置を実現するための制御方法及びコンピュータプログラムも、新規で有用である。
【図面の簡単な説明】
【００１５】
【図１】通信システムの構成の一例を示す。
【図２】インストーラ処理のフローチャートを示す。
【図３】通信処理のフローチャートを示す。
【図４】探索処理のフローチャートを示す。
【図５】生成処理のフローチャートを示す。
【図６】プリンタ処理のフローチャートを示す。
【発明を実施するための形態】
【００１６】
（システムの構成）
図面を参照して実施例を説明する。図１に示されるように、通信システム２は、ＰＣ１０と、ブロードバンドルータ６０と、ＤＮＳサーバ６２と、プリンタ７０と、を備える。各デバイス１０、６０、６２、７０は、ＬＡＮ４に接続されている。各デバイス１０等は、ＬＡＮ４を介して、相互に通信可能である。ブロードバンドルータ６０は、さらに、インターネット６に接続されている。なお、図１に示される無線アクセスポイント（以下では、「ＡＰ」と省略して呼ぶ）６４は、後で説明するプリンタドライバのインストーラ処理（図２参照）が終了した後に、ＬＡＮ４に接続される。
【００１７】
（ＰＣ１０の構成）
ＰＣ１０は、操作部１２と、表示部１４と、ネットワークインターフェイス１６と、情報読取部１８と、記憶部３０と、制御部４０と、を備える。操作部１２は、マウスとキーボードとによって構成される。ユーザは、操作部１２を操作することによって、様々な指示をＰＣ１０に入力することができる。表示部１４は、様々な情報を表示するためのディスプレイである。ネットワークインターフェイス１６は、ＬＡＮ４に接続されている。
【００１８】
情報読取部１８は、メディア２０に格納されているデータ（インストーラ２２、プリンタドライバ２４、修復プログラム２６）を読み取る。メディア２０は、データを格納するためのＣＤ、ＤＶＤ等の媒体であり、プリンタ７０のベンダによって製造されたものである。メディア２０は、プリンタ７０の出荷時には、プリンタ７０と共にパッケージされている。メディア２０には、プリンタ７０のためのプリンタドライバ２４と、修復プログラム２６と、プリンタドライバ２４及び修復プログラム２６をインストールするためのインストーラ２２と、が格納されている。
【００１９】
記憶部３０は、ＰＣ１０のＩＰアドレス及びサブネットマスク３２と、ＰＣ１０のデフォルトのゲートウェイアドレス（図示省略）と、プリンタ７０のＩＰアドレス３４と、プリンタ７０のノード名３６と、プリンタ７０のＭＡＣアドレス３８と、を記憶する。記憶部３０は、さらに、ＰＣ１０のためのＯＳ（Operating System）プログラム（図示省略）を記憶する。また、記憶部３０は、さらに、インストール処理（図２参照）によって、メディア２０から読み取られた上記のプリンタドライバ２４と修復プログラム２６とを記憶する。制御部４０は、記憶部３０内のプログラム２４、２６に従って、様々な処理を実行する。制御部４０が記憶部３０内のプログラム２４、２６に従って処理を実行することによって、各部４２〜５０の機能が実現される。
【００２０】
（プリンタ７０の構成）
プリンタ７０は、印刷実行部７２と、記憶部７４と、制御部７８と、ネットワークインターフェースと、を備える。印刷実行部７２は、インクジェットヘッド方式、レーザ方式等の印刷機構を備え、制御部７８からの指示に従って印刷を行う。記憶部７４は、制御部７８によって実行されるプログラム７６を記憶する。プログラム７６は、制御部７８が後述するプリンタ処理（図６参照）等の各種処理を実行するためのプログラムを含む。なお、プリンタ７０は、印刷機能に加えて、スキャナ機能、コピー機能、ＦＡＸ機能、電話機能等をさらに有する多機能機（ＰＣ１０の周辺機器）であってもよい。
【００２１】
（ブロードバンドルータ６０の構成）
ブロードバンドルータ６０は、ＬＡＮ４とインターネット６とに接続されており、ＬＡＮ４側とＷＡＮ側（インターネット６側）との間の通信を中継する機能を有する。さらに、ブロードバンドルータ６０は、ＬＡＮ４に接続されているデバイス群の間の通信をルーティングする機能を有する。ブロードバンドルータ６０は、さらに、ＤＨＣＰ機能を備えており、ＬＡＮ４に接続されている各デバイス（ＰＣ１０、プリンタ７０等）にＩＰアドレスを割り当てる。ブロードバンドルータ６０が割り当て可能なＩＰアドレスの範囲は、予め決められている。本実施例では、ブロードバンドルータ６０は、「１９２．１６８．１．２〜２５４」の範囲内のＩＰアドレスを割り当て可能である。ＩＰアドレス「１９２．１６８．１．１」は、ブロードバンドルータ６０が自己のＩＰアドレス（ゲートウェイアドレス）として使用する。ブロードバンドルータ６０は、デバイス１０、７０等からの要求に応じて、ＬＡＮ４に接続されている他のデバイスに設定されていないＩＰアドレスと、ＬＡＮ４で利用されているサブネットマスクと、ブロードバンドルータ６０のＩＰアドレス（即ち上記のゲートウェイアドレス）と、をデバイス１０、７０等に送信する。この結果、デバイス１０、７０等は、ブロードバンドルータ６０から送信されるＩＰアドレスを、自己のＩＰアドレスとして設定する。さらに、デバイス１０、７０等は、ブロードバンドルータ６０から送信されるサブネットマスク及びゲートウェイアドレスを、自己のサブネットマスク及びゲートウェイアドレスとして設定する（例えば、ＰＣ１０は、それらの情報を記憶部３０に記憶させる）。
【００２２】
なお、本実施例では、ＬＡＮ４で利用されているサブネットマスクは、「２５５．２５５．２５５．０」である。即ち、ＬＡＮ４で利用されているサブネットマスクは、最初の２４ビットをマスクするためのサブネットマスクである。従って、ブロードバンドルータ６０が割り当て可能なＩＰアドレス「１９２．１６８．１．２〜２５４」のうち、最初の２４ビット（「１９２．１６８．１」の部分）が、ネットワークアドレスに相当し、最後の８ビットが、ホスト部に相当する。なお、本実施例では、ＬＡＮ４に接続されている各デバイス１０、７０等は、ＩＰアドレスの割り当てを定期的に（例えば１時間毎に）ブロードバンドルータ６０に要求する。
【００２３】
（ＡＰ６４の構成）
上述したように、本実施例では、ＡＰ６４は、インストーラ処理（図２参照）の終了後に、ＬＡＮ４に接続される。ＡＰ６４は、図１に示されていない他の無線通信デバイス群の間の無線通信を中継する機能を有する。ＡＰ６４は、さらに、ブロードバンドルータ６０と同様に、ＬＡＮ４側とＷＡＮ側との間の通信を中継する機能と、ＬＡＮ４に接続されているデバイス群の間の通信をルーティングする機能を有する。ＡＰ６４も、ブロードバンドルータ６０と同様に、ＤＨＣＰ機能を備えており、ＩＰアドレスと、サブネットマスクと、ゲートウェイアドレス（ＡＰ６４のＩＰアドレス）と、を他のデバイスに送信する。本実施例では、ＡＰ６４は、「１９２．１６８．２．２〜２５４」の範囲内のＩＰアドレスを割り当て可能である。即ち、ＡＰ６４が割り当て可能なＩＰアドレスのネットワークアドレス「１９２．１６８．２」は、ブロードバンドルータ６０が割り当て可能なＩＰアドレスのネットワークアドレス「１９２．１６８．１」と異なる。
【００２４】
（ＤＮＳサーバ６２の構成）
ＤＮＳ（Domain Name System）サーバ６２には、デバイス（例えばＰＣ１０、プリンタ７０）のノード名と、デバイスのＩＰアドレスと、が対応づけて登録される。例えば、ＰＣ１０は、ブロードバンドルータ６０（又はＡＰ６４）からＩＰアドレスが割り当てられると、ＰＣ１０のノード名と、割り当てられたＩＰアドレスと、をＤＮＳサーバ６２に送信する。この結果、ＤＮＳサーバ６２には、ＰＣ１０のノード名と、ＰＣ１０のＩＰアドレスと、が対応づけて登録される。同様に、プリンタ７０は、ブロードバンドルータ６０（又はＡＰ６４）からＩＰアドレスが割り当てられると、プリンタ７０のノード名と、割り当てられたＩＰアドレスと、をＤＮＳサーバ６２に登録する。ＬＡＮ４に接続されているデバイス（例えばＰＣ１０）は、当該デバイスが通信すべき対象デバイス（例えばプリンタ７０）のノード名をＤＮＳサーバ６２に送信することによって、当該ノード名に対応づけられている対象デバイスのＩＰアドレスを、ＤＮＳサーバ６２から取得することができる。
【００２５】
（ＰＣ１０が実行する処理）
続いて、図２〜図５を参照して、ＰＣ１０の制御部４０が実行する各処理の内容について説明する。
【００２６】
（インストーラ処理）
まず、図２を参照して、インストーラ処理について説明する。ユーザは、プリンタ７０のためのプリンタドライバ２４がＰＣ１０にインストールされることを望む場合に、メディア２０を情報読取部１８内に格納し、操作部１２において所定の操作を実行する。これにより、制御部４０は、情報読取部１８を起動してメディア２０内のデータを読み取る。制御部４０は、メディア２０内のインストーラ２２に従って、図２のインストーラ処理を実行する。
【００２７】
まず、デバイス識別情報取得部４２は、所定のコマンドをＬＡＮ４にブロードキャストする。上記の所定のコマンドを受信した各デバイス（プリンタ７０等）は、自身のＭＡＣアドレスと、ノード名と、ＩＰアドレスと、モデル名と、を含む応答をＰＣ１０に送信する。この結果、デバイス識別情報取得部４２は、各デバイス（プリンタ７０等）のＭＡＣアドレスと、ノード名と、ＩＰアドレスと、プリンタのモデル名と、を取得する（Ｓ１０）。上記のインストーラ２２には、プリンタ７０のモデル名が記述されている。デバイス識別情報取得部４２は、取得した各デバイスのモデル名から、インストーラ２２に記述されたプリンタ７０のモデル名と合致するモデル名（即ちプリンタ７０のモデル名）を選択する。なお、インストーラ２２には、プリンタ７０のための複数個のモデル名が記述されていてもよい。その場合には、デバイス識別情報取得部４２は、取得した各デバイスのモデル名のうちから、インストーラ２２に記述されている上記の複数個のモデル名のいずれかと合致するモデル名を選択する。その結果、複数個のプリンタが選択される場合には、デバイス識別情報取得部４２は、選択された複数個のプリンタに関する複数個の情報（ＭＡＣアドレス、ノード名、ＩＰアドレス）を示すリストを表示部１４に表示し、ユーザにプリンタドライバ２４のインストールを希望するプリンタを選択することを許容する。次いで、制御部４０は、プリンタ７０に関するプリンタドライバ２４及び修復プログラム２６を記憶部３０に格納する（Ｓ１２）。これにより、プリンタドライバ２４及び修復プログラム２６がＰＣ１０にインストールされる。次いで、デバイス識別情報取得部４２は、Ｓ１０で取得済みの、プリンタ７０のＭＡＣアドレスと、ノード名と、ＩＰアドレスと、モデル名と、を記憶部３０に記憶させる（図１の符号３６、３８参照）（Ｓ１４）。Ｓ１４を終えると、インストーラ処理が終了する。
【００２８】
（通信処理）
続いて、図３を参照して、通信処理について説明する。なお、制御部４０は、プリンタドライバ２４に従って、図３のＳ２０〜Ｓ２４の処理を実行する。また、制御部４０は、修復プログラム２６に従って、図３のＳ２６〜Ｓ４２の処理を実行する。ユーザは、ＰＣ１０の操作部１２を操作することによって、所望のファイルが表わす画像をプリンタ７０に印刷させるための印刷指示を、ＰＣ１０に入力することができる。この場合、制御部４０は、Ｓ２０でＹＥＳと判断し、Ｓ２１に進む。
【００２９】
Ｓ２１では、ＩＰアドレス取得部４４（図１参照）は、ＯＳプログラムに含まれる名前解決プログラムを起動させる。これにより、名前解決プログラムによって実現されるモジュールが、記憶部３０に記憶されているプリンタ７０のノード名３８を含むコマンドをＤＮＳサーバ６２に送信する。当該コマンドを受信したＤＮＳサーバ６２は、プリンタ７０のノード名３８に対応づけて登録されているプリンタ７０のＩＰアドレスを含む応答をＰＣ１０に送信する。この結果、ＩＰアドレス取得部４４が、プリンタ７０の現在のＩＰアドレスを取得する。なお、ＩＰアドレス取得部４４は、取得済みのプリンタ７０のＩＰアドレスを、記憶部３０に記憶させる（図１の符号３４参照）。
【００３０】
次いで、通信部４６（図１参照）は、印刷データをプリンタ７０に送信することを試行する（Ｓ２２）。具体的には、通信部４６は、Ｓ２１で取得されたプリンタ７０のＩＰアドレス３４を送信先として、印刷データをユニキャスト送信することを試行する。通信部４６は、通信が成功したか否かを監視する（Ｓ２４）。プリンタ７０が印刷データを正常に受信した場合には、プリンタ７０は、印刷データを受信した旨の応答をＰＣ１０に送信する。応答が受信される場合には、通信部４６は、Ｓ２４でＹＥＳと判断する。この場合、通信処理が終了する。一方、プリンタ７０が印刷データを正常に受信しなかった場合には、プリンタ７０は、上記の応答をＰＣ１０に送信できない。上記の応答が受信されない場合には、通信部４６は、Ｓ２４でＮＯと判断し、Ｓ２６に進む。
【００３１】
同じＤＨＣＰサーバがＰＣ１０とプリンタ７０の両方にＩＰアドレスを割り当てる場合には、通常、Ｓ２２の通信処理（ユニキャスト通信）が成功する（Ｓ２４でＹＥＳ）。例えば、ＡＰ６４がＬＡＮ４に接続される前の段階では、１個のＤＨＣＰサーバ（ブロードバンドルータ６０）のみがＬＡＮ４に接続されているために、同じＤＨＣＰサーバがＰＣ１０及びプリンタ７０の両方にＩＰアドレスを割り当てる。この場合、ＰＣ１０及びプリンタ７０のそれぞれに、「１９２．１６８．１」のネットワークアドレスを含むＩＰアドレスが割り当てられる。ＰＣ１０及びプリンタ７０が同じネットワークアドレスを有するために、Ｓ２２の通信処理が成功する。
【００３２】
しかしながら、例えば、ＡＰ６４がＬＡＮ４に接続されると、複数個のＤＨＣＰサーバ（ブロードバンドルータ６０及びＡＰ６４）がＬＡＮ４に接続されている状況が発生する。この場合、例えば、ブロードバンドルータ６０がＰＣ１０にＩＰアドレス（例えば「１９２．１６８．１．２」）を割り当て、ＡＰ６４がプリンタ７０にＩＰアドレス（例えば「１９２．１６８．２．２」）を割り当てる可能性がある（以下では「第１の状況」と呼ぶ）。第１の状況では、Ｓ２２の通信処理において、通信部４６は、プリンタ７０のＩＰアドレス（例えば「１９２．１６８．２．２」）を送信先として、印刷データを送信する。この印刷データは、ＰＣ１０のゲートウェイであるブロードバンドルータ６０に送信される。ブロードバンドルータ６０は、自身のネットワークアドレス（即ち自身が割り当て可能なＩＰアドレスのネットワークアドレス）「１９２．１６８．１」と、印刷データの送信先のネットワークアドレス「１９２．１６８．２」と、が異なるために、印刷データをＷＡＮ側（インターネット６側）に送信する可能性がある。この場合、プリンタ７０が印刷データを受信しないために、プリンタ７０が応答を送信せず、この結果、ＰＣ１０が応答を受信することができないために、Ｓ２４でＮＯと判断される。
【００３３】
また、ＡＰ６４がＬＡＮ４に接続されると、上記の例とは逆に、ブロードバンドルータ６０がプリンタ７０にＩＰアドレス（例えば「１９２．１６８．１．２」）を割り当て、ＡＰ６４がＰＣ１０にＩＰアドレス（例えば「１９２．１６８．２．２」）を割り当てる可能性がある（以下では「第２の状況」と呼ぶ）。第２の状況では、Ｓ２２の通信処理において、通信部４６は、プリンタ７０のＩＰアドレス（例えば「１９２．１６８．１．２」）を送信先として、印刷データを送信する。印刷データは、ＰＣ１０のゲートウェイであるＡＰ６４に送信される。ＡＰ６４は、自身のネットワークアドレス「１９２．１６８．２」と、印刷データの送信先のネットワークアドレス「１９２．１６８．１」と、が異なるために、印刷データをＷＡＮ側（インターネット６側）に送信する可能性がある。この場合、プリンタ７０が印刷データを受信しないために、プリンタ７０が応答を送信せず、この結果、ＰＣ１０が応答を受信することができないために、Ｓ２４でＮＯと判断される。
【００３４】
Ｓ２６では、制御部４０は、図４の探索処理を実行する。図４に示されるように、設定部５０（図１参照）は、探索パケットをＬＡＮ４にブロードキャストする（Ｓ５０）。ユニキャスト通信の場合と異なり、宛先が不特定であるブロードキャスト通信の探索パケットは、ＬＡＮ４に接続されている各デバイス（プリンタ７０等）で受信される。探索パケットを受信した各デバイスは、自身のノード名と、自身に現在割り当てられているＩＰアドレスと、モデル名と、ＭＡＣアドレスと、を含む応答パケットを、ＰＣ１０にユニキャスト送信する。設定部５０は、各デバイスから送信される当該応答パケットを受信することを監視する（Ｓ５２）。ここでＹＥＳの場合、設定部５０は、各応答パケットに含まれるＩＰアドレスと、モデル名と、ＭＡＣアドレスと、を図示省略のリストに追加する（Ｓ５４）。Ｓ５４を終えると、設定部５０は、Ｓ５２に戻り、応答パケットの受信を再び監視する。一方、Ｓ５２でＮＯの場合、Ｓ５６に進む。
【００３５】
例えば、上記の第１の状況及び第２の状況では、ＰＣ１０のネットワークアドレスと、プリンタ７０のネットワークアドレスと、が異なる。従って、プリンタ７０が応答パケットをＰＣ１０にユニキャスト送信しても、ＰＣ１０は、プリンタ７０からの応答パケットを受信することができない。第１の状況では、プリンタ７０のゲートウェイであるＡＰ６４が、応答パケットをＷＡＮ側に送信し、第２の状況では、プリンタ７０のゲートウェイであるブロードバンドルータ６０が、応答パケットをＷＡＮ側に送信するからである。
【００３６】
一方において、ＰＣ１０のネットワークアドレスと、プリンタ７０のネットワークアドレスと、が一致する場合には、ＰＣ１０は、プリンタ７０から送信される応答パケットを受信することができる。
【００３７】
なお、図３のＳ２４でＮＯと判断され、かつ、図４のＳ５２でプリンタ７０からの応答パケットが受信される状況としては、以下の状況が考えられる。例えば、プリンタ７０は、ＤＨＣＰサーバ（例えばブロードバンドルータ６０）から新たなＩＰアドレスが割り当てられた際に、当該新たなＩＰアドレスをＤＮＳサーバ６２に登録するための通信を実行する。この際に、例えば、ＤＮＳサーバ６２の電源がＯＦＦされている場合には、プリンタ７０の新たなＩＰアドレスがＤＮＳサーバ６２に登録されず、ＤＮＳサーバ６２では、プリンタ７０の古いＩＰアドレスが維持される（以下では「第３の状況」と呼ぶ）。第３の状況では、図３のＳ２１において、ＤＮＳサーバ６２から取得されるプリンタ７０のＩＰアドレスは、プリンタ７０の古いＩＰアドレスであり、プリンタ７０の現在のＩＰアドレスではない。この場合、図３のＳ２４ではＮＯと判断されるが、図４のＳ５２でプリンタ７０からの応答パケットが受信される。
【００３８】
Ｓ５６では、設定部５０は、Ｓ５０で探索パケットをブロードキャストしてから所定時間が経過したのか否かを判断する。ここでＹＥＳの場合、設定部５０は、図４の探索処理を終了し、図３のＳ２８に進む。
【００３９】
Ｓ２８では、設定部５０は、上記の探索処理の結果、プリンタ７０が見つかったか否かを判断する。具体的には、設定部５０は、記憶部３０に記憶されているプリンタ７０のＭＡＣアドレス３８と同じＭＡＣアドレスが、図４のＳ５４で生成されるリストに登録されている場合（上記の第３の状況）に、Ｓ２８でＹＥＳと判断する。この場合、通信部４６は、リストに登録されているプリンタ７０の現在のＩＰアドレスを送信先として、印刷データをプリンタ７０にユニキャスト送信することを試行する（Ｓ３０）。Ｓ３０の通信では、プリンタ７０の現在のＩＰアドレスが利用される。しかも、図４のＳ５２でプリンタ７０からの応答パケットが受信されたために、プリンタ７０のネットワークアドレスと、ＰＣ１０のネットワークアドレスと、が一致する。従って、通常、Ｓ３０の通信は成功する。Ｓ３０を終えると、制御部４０は通信処理を終了する。
【００４０】
一方、Ｓ２８でＮＯの場合、即ち、上記の第１の状況又は第２の状況では、Ｓ３２に進む。Ｓ３２では、制御部４０は、生成処理（図５参照）を実行する。図５に示されるように、生成部４８（図１参照）は、記憶部３０に格納されているＰＣ１０のＩＰアドレスと、サブネットマスクと（図１の符号３２参照）、ゲートウェイアドレスと、を取得する（Ｓ６０）。
【００４１】
次いで、生成部４８は、３２ビットの乱数値を生成する（Ｓ６２）。次いで、生成部４８は、Ｓ６０で取得されたＰＣ１０のＩＰアドレスの値と、ＰＣ１０のサブネットマスクの値と、を用いて、ＰＣ１０のネットワークアドレスを生成する（Ｓ６４）。具体的には、生成部４８は、ＰＣ１０のＩＰアドレスとＰＣ１０のサブネットマスクの論理積（ＡＮＤ）を計算することによって、ＰＣ１０のネットワークアドレスを生成する。図５の例では、ＰＣ１０のＩＰアドレスの値は「１９２．１６８．１．２」であり、ＰＣ１０のサブネットマスクの値は「２５５．２５５．２５５．０」である。従って、上記の論理積は、１０進数で「１９２．１６８．１．０」である。この値が、ＰＣ１０のネットワークアドレスとなる。
【００４２】
次いで、生成部４８は、ネットワークアドレス以外の部分（即ちホスト部）の候補値を生成する（Ｓ６６）。具体的には、生成部４８は、まず、Ｓ６０で取得したＰＣ１０のサブネットマスクの論理否定（ＮＯＴ）を計算する。例えば、図５のサブネットマスクは「２５５．２５５．２５５．０」であり、先頭から２４ビットをマスクすることを示す。従って、図５のサブネットマスクの論理否定は、「０．０．０．２５５」であり、最後の８ビットのみをマスクすることを示す。次いで、生成部４８は、Ｓ６２で生成済みの乱数値とＰＣ１０のサブネットマスクの論理否定との論理積（ＡＮＤ）を計算する。例えば、図５では、生成済みの乱数値が「２４１．０１５．２２３．１５１」であり、ＰＣ１０のサブネットマスクの論理否定が「０．０．０．２５５」である。従って、上記の論理積は、「０．０．０．１５１」である。この値が、ネットワークアドレス以外の部分の候補値となる。
【００４３】
次いで、生成部４８は、候補ＩＰアドレスを生成する（Ｓ６８）。具体的には、生成部４８は、Ｓ６４で算出したＰＣ１０のネットワークアドレスとＳ６６で算出した候補値との論理和（ＯＲ）を計算する。例えば、図５では、ＰＣ１０のネットワークアドレスが「１９２．１６８．１．０」であり、候補値が「０．０．０．１５１」である。従って、上記の論理和は、１０進数で「１９２．１６８．１．１５１」となる。この値が、候補ＩＰアドレスとなる。これにより、ＰＣ１０のネットワークアドレス「１９２．１６８．１」に一致するネットワークアドレスを含む候補ＩＰアドレスが生成される。
【００４４】
次いで、生成部４８は、生成した候補ＩＰアドレスを送信先として、確認パケットをユニキャスト送信する（Ｓ７０）。生成部４８は、確認パケットの応答があったか否かを監視する（Ｓ７２）。ＬＡＮ４に接続されているデバイス群の中に、Ｓ６８で生成された候補ＩＰアドレスと同じＩＰアドレスが割り当てられたデバイスが存在している可能性がある。その場合、当該デバイスは、確認パケットに対する応答を、ＰＣ１０にユニキャスト送信する。応答が受信される場合、即ち、候補ＩＰアドレスと同じＩＰアドレスが割り当てられたデバイスが存在している場合には、生成部４８は、Ｓ７２でＹＥＳと判断し、Ｓ６２に戻って他の新たな候補ＩＰアドレスを生成する。一方、応答が受信されない場合、即ち、候補ＩＰアドレスと同じＩＰアドレスが割り当てられたデバイスが存在しない場合には、生成部４８は、Ｓ７２でＮＯと判断し、生成処理を終了する。生成処理（図３のＳ３２）を終了すると、図３のＳ３４に進む。
【００４５】
Ｓ３４では、設定部５０は、図５のＳ６８で算出された候補ＩＰアドレスと、プリンタ７０のＭＡＣアドレス（図１の符号３８）と、ＰＣ１０に現在設定されている（記憶部３０に現在格納されている）サブネットマスクと、ＰＣ１０に現在設定されている（記憶部３０に現在格納されている）ゲートウェイアドレスと、を含む設定パケットをＬＡＮ４にブロードキャストする。ＬＡＮ４に接続されている各デバイスは、ブロードキャストされた設定パケットを受信する。従って、上記の第１の状況又は第２の状況であっても、プリンタ７０が設定パケットを受信する。この結果、後で説明するプリンタ処理（図６参照）が実行され、設定パケットに含まれるＩＰアドレスが、プリンタ７０の新たなＩＰアドレスとして設定される。
【００４６】
通信部４６は、所定時間待機し（Ｓ３６）、次いで、図５のＳ６８で生成されたＩＰアドレス（設定パケットに含まれるＩＰアドレス）を送信先として、印刷データをプリンタ７０にユニキャスト送信することを試行する（Ｓ３８）。設定部５０は、通信が成功したか否かを監視する（Ｓ４０）。Ｓ４０の処理は、Ｓ２４の処理と同様である。Ｓ３４で設定パケットがブロードキャストされるために、プリンタ７０には、設定パケットに含まれるＩＰアドレスが設定されている。しかも、このＩＰアドレスのネットワークアドレスは、ＰＣ１０のネットワークアドレスに一致する。従って、プリンタ７０は、Ｓ３８で送信される印刷データを受信し、応答をＰＣ１０に送信する。この場合、Ｓ４０でＹＥＳと判断され、図３の通信処理が終了する。
【００４７】
一方において、例えば、プリンタ７０の電源がＯＦＦされている場合には、プリンタ７０からの応答が受信されないために、Ｓ４０でＮＯと判断される。この場合、制御部４０は、Ｓ３２〜Ｓ４０の処理を再度実行（リトライ）するか否かの選択を求める画面を表示部１４に表示させ、ユーザがリトライを指示するのか否かを判断する（Ｓ４２）。ユーザによってリトライが指示される場合には、制御部４０は、Ｓ４２でＹＥＳと判断し、Ｓ３２〜Ｓ４０の処理を再度実行する。一方、ユーザによってリトライが指示されない場合には、制御部４０は、Ｓ４２でＮＯと判断し、通信処理を終了する。
【００４８】
（プリンタ７０が実行するプリンタ処理）
続いて、図６を参照して、プリンタ７０の制御部７８が、プログラム７６に従って実行する設定パケットの受信時におけるプリンタ処理について説明する。プリンタ７０の電源がＯＮされると、制御部７８は、上記の設定パケットを受信することを監視する（Ｓ８０）。設定パケットが受信される場合に、制御部７８は、Ｓ８０でＹＥＳと判断し、Ｓ８２に進む。Ｓ８２では、制御部７８は、受信した設定パケットに含まれるＭＡＣアドレスと、プリンタ７０のＭＡＣアドレスと、が一致するのか否かを判断する。本実施例では、上述のように、設定パケットには、プリンタ７０のＭＡＣアドレスが含まれているために、プリンタ７０の制御部７８は、Ｓ８２でＹＥＳと判断し、Ｓ８４に進む。一方、仮に、設定パケットを受信したデバイスが、プリンタ７０とは異なる他のデバイス（図示省略）であった場合には、設定パケットに含まれるプリンタ７０のＭＡＣアドレスと、当該他のデバイスのＭＡＣアドレスとが一致しないため、当該他のデバイスの制御部は、Ｓ８２でＮＯと判断する。Ｓ８２でＮＯの場合、終了する。
【００４９】
プリンタ７０は、ＤＨＣＰサーバから自動的に割り当てられる動的なＩＰアドレスを、プリンタ７０のＩＰアドレスとして設定する第１の設定手法と、固定的（Ｓｔａｔｉｃ）なＩＰアドレスを、プリンタ７０のＩＰアドレスとして設定する第２の設定手法と、を含む複数の設定手法の中から１つの設定手法をユーザが選択することを許容する。第１の設定手法が選択されている状態では、プリンタ７０は、ＩＰアドレスの割り当てをＤＨＣＰサーバに要求する。一方において、第２の設定手法が選択されている状態では、プリンタ７０は、ＩＰアドレスの割り当てをＤＨＣＰサーバに要求しない。この場合、ユーザは、プリンタ７０のＩＰアドレスを手動で指定することができる。プリンタ７０は、ユーザによって指定されるＩＰアドレスを、プリンタ７０の固定的なＩＰアドレスとして設定する。第２の設定手法が選択されている場合には、プリンタ７０は、ユーザによって新たなＩＰアドレスが指定されない限り、ＩＰアドレスを変更しない。Ｓ８４では、制御部７８は、設定パケットに含まれるＩＰアドレス、サブネットマスク、及び、ゲートウェイアドレスを、プリンタ７０のＩＰアドレス、サブネットマスク、及び、ゲートウェイアドレスとして、新たに設定する。しかも、第１の設定手法が選択されている状態である場合には、第２の設定手法が選択されている状態に変更する。これにより、ユーザによって新たなＩＰアドレスが指定されない限り、プリンタ７０に新たに設定されたＩＰアドレスが、別のＩＰアドレスに更新されない。
【００５０】
本実施例の通信システム２の構成について詳しく説明した。本実施例のＰＣ１０は、図３のＳ２４でＮＯであって、かつ、Ｓ２８でＮＯの場合、即ち、上記の第１の状況又は第２の状況において、設定パケットをブロードキャストする。上記の第１の状況又は第２の状況でも、宛先が不特定であるブロードキャスト通信であれば、プリンタ７０が、設定パケットを受信し得る。このために、プリンタ７０に新たなＩＰアドレスが設定される（図６のＳ８４）。プリンタ７０に設定された新たなＩＰアドレスのネットワークアドレスと、ＰＣ１０の現在のＩＰアドレスのネットワークアドレスと、が同一であるため、プリンタ７０とＰＣ１０とは、同じネットワークを介して、ユニキャスト通信を実行することができる。本実施例では、ＰＣ１０がプリンタ７０とのユニキャスト通信を実行することができない事態が発生する場合に、そのような事態を解消し得る。
【００５１】
本実施例のＰＣ１０は、プリンタドライバ２４がインストールされる際に、プリンタ７０からＭＡＣアドレスを取得する（図２のＳ１０）。従って、プリンタ７０とのユニキャスト通信が失敗する際（図３のＳ２４でＮＯ）には、ＰＣ１０は、プリンタ７０のＭＡＣアドレスを確実に取得している。このために、ＰＣ１０は、上記の第１の状況又は第２の状況において、特定のデバイス識別情報を含む設定パケットをブロードキャストすることができる。
【００５２】
また、本実施例のＰＣ１０は、上記の第１の状況又は第２の状況において、図５の生成処理を実行して候補ＩＰアドレスを生成する。従って、プリンタ７０が見つからないことが確認される前に、候補ＩＰアドレスを生成して保存しておく構成と比べると、ＰＣ１０のリソースの負荷（例えばメモリの負荷、ＩＰアドレスの生成負荷）を低減させ得る。
【００５３】
また、本実施例のＰＣ１０は、図３のＳ２４でＮＯであって、かつ、Ｓ２８でＹＥＳの場合、即ち、上記の第３の状況において、探索（図４参照）によって、プリンタ７０の現在のＩＰアドレスを取得することができ、そのＩＰアドレスを用いて、特定のデバイスとユニキャスト通信を実行することができる。
【００５４】
本実施例では、設定パケットは、プリンタ７０のＭＡＣアドレスと、新たなＩＰアドレスと、ＰＣ１０に現在設定されているサブネットマスクと、ＰＣ１０に現在設定されているゲートウェイアドレスと、を含む。プリンタ７０は、設定パケットに含まれるＩＰアドレスを、プリンタ７０の固定的なＩＰアドレスとして、新たに設定する（Ｓ８４）。プリンタ７０に設定される新たなＩＰアドレスは、プリンタ７０のユーザがＩＰアドレスの変更を指示しない限り、変更されない。このために、プリンタ７０のＩＰアドレスが変更されることに起因して、プリンタ７０とのユニキャスト通信が再び失敗するような事態が発生するのを抑制することができる。
【００５５】
上記の実施例の構成と本発明の構成との対応関係を記載しておく。ＰＣ１０、プリンタ７０がそれぞれ「通信装置」、「特定のデバイス」の一例である。ＭＡＣアドレスが、「デバイス識別情報」の一例である。ＬＡＮ４に接続されており、ＰＣ１０によってブロードキャストされる設定パケットを受信する（プリンタ７０を含む）各デバイスが「受信側デバイス」の一例である。候補ＩＰアドレスが「新たなＩＰアドレス」の一例である。探索パケットが「所定のパケット」の一例であり、探索パケットを受信したプリンタ７０がＰＣ１０に送信する応答パケットが「特定のデバイスからの応答」の一例である。
【００５６】
上記の実施例の変形例を以下に列挙する。
（１）上記の実施例では、ＩＰｖ４のＩＰアドレスを利用しているが、ＩＰｖ６（Internet Protocol version6）又は他のバージョンのＩＰアドレスを利用してもよい。
【００５７】
（２）デバイス識別情報は、ＭＡＣアドレスに限らず、インストーラ処理において取得したモデル名とシリアル番号との組合せ情報であってもよい。
【００５８】
（３）上記の実施例では、デバイス識別情報取得部４２は、プリンタドライバ２４のインストールの際に、所定のコマンドをＬＡＮ４にブロードキャストすることによって、プリンタ７０からＭＡＣアドレスと、ノード名と、ＩＰアドレスと、モデル名と、を取得する。しかしながら、デバイス識別情報取得部４２は、プリンタドライバ２４のインストールの際に、所定のコマンドをプリンタ７０にユニキャスト送信することによって、プリンタ７０からＭＡＣアドレスと、ノード名と、ＩＰアドレスと、モデル名と、を取得してもよい。
【００５９】
（４）上記の実施例では、図３のＳ２１〜Ｓ２４に示すように、ＰＣ１０は、プリンタ７０のＩＰアドレスをＤＮＳサーバ６２から取得した後で、実際に印刷データをプリンタ７０に送信することを試行して、通信が成功したか否かを判断している。しかしながら、ＰＣ１０は、プリンタ７０のＩＰアドレスをＤＮＳサーバ６２から取得した時点で、取得したプリンタ７０のＩＰアドレスのネットワークアドレスと、ＰＣ１０自身のＩＰアドレスのネットワークアドレスと、が一致するか否かを判断してもよい。ここで否定的に判断された場合に、ＰＣ１０は、プリンタ７０に印刷データを送信することなく（図３のＳ２２の処理を実行することなく）、通信が失敗すると判断し、生成処理（図３のＳ３２）を行うようにしてもよい。即ち、一般的に言うと、「特定のＩＰアドレスを用いた特定のデバイスとの通信が失敗する場合」は、実際に通信を試行した結果として通信が失敗する場合のみを意味するのではなく、仮に、通信を試行すれば通信が失敗することが予想される場合も含む。
【００６０】
（５）また、一般的に言うと、「通信装置」は、ＰＣ１０に限られず、ＰＣ１０の周辺機器（例えば、プリンタ、スキャナ、コピー機、ＦＡＸ、電話機）、ＰＤＡ、携帯電話、サーバ等であってもよい。
【００６１】
以上、本発明の具体例を詳細に説明したが、これらは例示にすぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には、以上に例示した具体例を様々に変形、変更したものが含まれる。
【００６２】
また、本明細書または図面に説明した技術要素は、単独であるいは各種の組合せによって技術的有用性を発揮するものであり、出願時請求項記載の組合せに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
【符号の説明】
【００６３】
２：通信システム、１０：ＰＣ、２０：メディア、２２：インストーラ、２４：プリンタドライバ、２６：修復プログラム、４０：制御部、６０：ブロードバンドルータ、６２：ＤＮＳサーバ、６４：ＡＰ、７０：プリンタ、７８：制御部
【図１】
2011209889.tif 000003
【図２】
2011209889.tif 000004
【図３】
2011209889.tif 000005
【図４】
2011209889.tif 000006
【図５】
2011209889.tif 000007
【図６】
2011209889.tif 000008