(57)【要約】【課題】  通信装置が他の通信装置とのユニキャスト通信を適切に実行するための新規な技術を提供すること【解決手段】端末装置ＴＥは、探索パケットをＬＡＮ４にブロードキャストして（Ｔ１４）、プリンタＰＲからＩＰｐｒ及びＳＭｐｒを含む応答パケットを受信し（Ｔ１６）、ＩＰｐｒのネットワークアドレス部の値と、ＩＰｔｅのネットワークアドレス部の値と、が一致するのか否かを判断する（Ｔ１８）。端末装置ＴＥは、ＩＰｐｒのネットワークアドレス部の値とＩＰｔｅのネットワークアドレス部の値とが一致しないと判断する場合に、端末装置ＴＥのＩＰアドレスとして、ＩＰｐｒのネットワークアドレス部の値に一致するネットワークアドレス部の値を含むＩＰｃａ２を新たに設定する（Ｔ３０）。これにより、端末装置ＴＥは、ＩＰｃａ２を利用した印刷データのユニキャスト通信をプリンタＰＲと実行することができる（Ｔ３２）。【選択図】  図３
2015195532.tif 000002
【特許請求の範囲】
【請求項１】
第１の通信装置であって、
前記第１の通信装置とは異なる第２の通信装置の現在のＩＰアドレスである対象ＩＰアドレスと、前記第２の通信装置の現在のサブネットマスクである対象サブネットマスクと、を要求するための要求パケットを、ローカルエリアネットワークにブロードキャストするブロードキャスト通信実行部と、
前記第２の通信装置から、前記ローカルエリアネットワークを介して、ブロードキャストされた前記要求パケットに対する応答パケットを受信する応答パケット受信部であって、前記応答パケットは、前記対象ＩＰアドレスと、前記対象サブネットマスクと、を含む、前記応答パケット受信部と、
前記第２の通信装置から、ブロードキャストされた前記要求パケットに対する前記応答パケットが受信される場合に、前記応答パケットに含まれる前記対象ＩＰアドレスの値と前記対象サブネットマスクの値とを用いて前記対象ＩＰアドレスのネットワークアドレス部の値である対象ネットワークアドレス値を特定し、前記第１の通信装置の現在のＩＰアドレスである現行ＩＰアドレスの値と前記第１の通信装置の現在のサブネットマスクである現行サブネットマスクの値とを用いて前記現行ＩＰアドレスのネットワークアドレス部の値である現行ネットワークアドレス値を特定し、特定済みの前記対象ネットワークアドレス値と特定済みの現行ネットワークアドレス値とが一致するのか否かを判断する判断部と、
前記対象ネットワークアドレス値と前記現行ネットワークアドレス値とが一致しないと判断される場合に、前記第１の通信装置のＩＰアドレスとして、前記現行ＩＰアドレスに代えて、前記対象ネットワークアドレス値に一致するネットワークアドレス部の値を含む新ＩＰアドレスを設定する設定部と、
前記第１の通信装置のＩＰアドレスとして前記新ＩＰアドレスが設定された後に、前記ローカルエリアネットワークを介して、前記新ＩＰアドレスを利用した対象データのユニキャスト通信を前記第２の通信装置と実行するユニキャスト通信実行部と、
を備える第１の通信装置。
【請求項２】
前記設定部は、前記第１の通信装置のＩＰアドレスとして、前記現行ＩＰアドレスに代えて、前記第１の通信装置及び前記第２の通信装置とは異なるＩＰアドレス割当サーバによって割り当てられる前記新ＩＰアドレスを設定する、請求項１の第１の通信装置。
【請求項３】
前記第１の通信装置は、さらに、
前記ローカルエリアネットワークに２個以上のＩＰアドレス割当サーバが接続されている状態で、前記対象ネットワークアドレス値と前記現行ネットワークアドレス値とが一致しないと判断される場合に、前記２個以上のＩＰアドレス割当サーバのそれぞれに前記第１の通信装置へのＩＰアドレスの割り当てを要求して、前記２個以上のＩＰアドレス割当サーバのそれぞれから１個の候補ＩＰアドレスを受信する候補ＩＰアドレス受信部を備え、
前記設定部は、前記２個以上のＩＰアドレス割当サーバから受信された２個以上の候補ＩＰアドレスの中から、前記対象ネットワークアドレス値に一致するネットワークアドレス部の値を含む１個の候補ＩＰアドレスを選択することによって、前記１個の候補ＩＰアドレスである前記新ＩＰアドレスを決定する、請求項２の第１の通信装置。
【請求項４】
前記第１の通信装置は、さらに、
前記第２の通信装置とのユニキャスト通信が過去に成功したネットワーク情報を前記第１の通信装置のメモリから取得する取得部であって、前記ネットワーク情報は、前記第１の通信装置の過去のＩＰアドレスと、前記第１の通信装置の過去のサブネットマスクと、を含む、前記取得部を備え、
前記設定部は、前記メモリから取得された前記ネットワーク情報を利用して、前記新ＩＰアドレスを決定する、請求項１の第１の通信装置。
【請求項５】
前記設定部は、
前記メモリから取得された前記ネットワーク情報を利用して、候補ＩＰアドレスを決定し、
前記第１の通信装置及び前記第２の通信装置とは異なるＩＰアドレス割当サーバに前記候補ＩＰアドレスの使用を要求して、前記ＩＰアドレス割当サーバから前記候補ＩＰアドレスの使用許可が取得される場合に、前記候補ＩＰアドレスを前記新ＩＰアドレスとして決定する、請求項４の第１の通信装置。
【請求項６】
前記ブロードキャスト通信実行部は、前記現行ＩＰアドレスを利用した前記対象データのユニキャスト通信が前記第２の通信装置と実行不可能である場合に、前記要求パケットを前記ローカルエリアネットワークにブロードキャストする、請求項１から５のいずれか一項の第１の通信装置。
【請求項７】
前記設定部は、さらに、前記新ＩＰアドレスを利用した前記対象データのユニキャスト通信が前記第２の通信装置と実行された後に、前記第１の通信装置のＩＰアドレスとして、前記新ＩＰアドレスに代えて、前記現行ＩＰアドレスを再び設定する、請求項１から６のいずれか一項の第１の通信装置。
【請求項８】
第１の通信装置のためのコンピュータプログラムであって、
前記第１の通信装置に搭載されるコンピュータに、以下の各処理、即ち、
前記第１の通信装置とは異なる第２の通信装置の現在のＩＰアドレスである対象ＩＰアドレスと、前記第２の通信装置の現在のサブネットマスクである対象サブネットマスクと、を要求するための要求パケットを、ローカルエリアネットワークにブロードキャストするブロードキャスト通信実行処理と、
前記第２の通信装置から、前記ローカルエリアネットワークを介して、ブロードキャストされた前記要求パケットに対する応答パケットを受信する応答パケット受信処理であって、前記応答パケットは、前記対象ＩＰアドレスと、前記対象サブネットマスクと、を含む、前記応答パケット受信処理と、
前記第２の通信装置から、ブロードキャストされた前記要求パケットに対する前記応答パケットが受信される場合に、前記応答パケットに含まれる前記対象ＩＰアドレスの値と前記対象サブネットマスクの値とを用いて前記対象ＩＰアドレスのネットワークアドレス部の値である対象ネットワークアドレス値を特定し、前記第１の通信装置の現在のＩＰアドレスである現行ＩＰアドレスの値と前記第１の通信装置の現在のサブネットマスクである現行サブネットマスクの値とを用いて前記現行ＩＰアドレスのネットワークアドレス部の値である現行ネットワークアドレス値を特定し、特定済みの前記対象ネットワークアドレス値と特定済みの現行ネットワークアドレス値とが一致するのか否かを判断する判断処理と、
前記対象ネットワークアドレス値と前記現行ネットワークアドレス値とが一致しないと判断される場合に、前記第１の通信装置のＩＰアドレスとして、前記現行ＩＰアドレスに代えて、前記対象ネットワークアドレス値に一致するネットワークアドレス部の値を含む新ＩＰアドレスを設定する設定処理と、
前記第１の通信装置のＩＰアドレスとして前記新ＩＰアドレスが設定された後に、前記ローカルエリアネットワークを介して、前記新ＩＰアドレスを利用した対象データのユニキャスト通信を前記第２の通信装置と実行するユニキャスト通信実行処理と、
を実行させるコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書では、他の通信装置と通信を実行するための通信装置を開示する。
【背景技術】
【０００２】
特許文献１の技術では、プリンタは、ＰＣからローカルエリアネットワークにブロードキャストされた名前解決パケットを受信すると、ＰＩＮＧパケットをＰＣに送信する。プリンタは、ＰＣからＰＩＮＧパケットに対する応答パケットを受信しない場合に、プリンタとのユニキャスト通信が実行不可能であると判断し、プリンタ自身に新たなＩＰアドレスを設定する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１２−１５６９１０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本明細書では、通信装置が他の通信装置とのユニキャスト通信を適切に実行するための新規な技術を開示する。
【課題を解決するための手段】
【０００５】
本明細書によって開示される第１の通信装置は、ブロードキャスト通信実行部と、応答パケット受信部と、判断部と、設定部と、ユニキャスト通信実行部と、を備える。ブロードキャスト通信実行部は、第１の通信装置とは異なる第２の通信装置の現在のＩＰアドレスである対象ＩＰアドレスと、第２の通信装置の現在のサブネットマスクである対象サブネットマスクと、を要求するための要求パケットを、ローカルエリアネットワークにブロードキャストする。応答パケット受信部は、第２の通信装置から、ローカルエリアネットワークを介して、ブロードキャストされた要求パケットに対する応答パケットを受信する。応答パケットは、対象ＩＰアドレスと、対象サブネットマスクと、を含む。判断部は、第２の通信装置から、ブロードキャストされた要求パケットに対する応答パケットが受信される場合に、応答パケットに含まれる対象ＩＰアドレスの値と対象サブネットマスクの値とを用いて対象ＩＰアドレスのネットワークアドレス部の値である対象ネットワークアドレス値を特定し、第１の通信装置の現在のＩＰアドレスである現行ＩＰアドレスの値と第１の通信装置の現在のサブネットマスクである現行サブネットマスクの値とを用いて現行ＩＰアドレスのネットワークアドレス部の値である現行ネットワークアドレス値を特定し、特定済みの対象ネットワークアドレス値と特定済みの現行ネットワークアドレス値とが一致するのか否かを判断する。設定部は、対象ネットワークアドレス値と現行ネットワークアドレス値とが一致しないと判断される場合に、第１の通信装置のＩＰアドレスとして、現行ＩＰアドレスに代えて、対象ネットワークアドレス値に一致するネットワークアドレス部の値を含む新ＩＰアドレスを設定する。ユニキャスト実行部は、第１の通信装置のＩＰアドレスとして新ＩＰアドレスが設定された後に、ローカルエリアネットワークを介して、新ＩＰアドレスを利用した対象データのユニキャスト通信を第２の通信装置と実行する。
【０００６】
上記の構成によると、第１の通信装置は、要求パケットをブロードキャストして、第２の通信装置から対象ＩＰアドレスと対象サブネットマスクとを含む応答パケットを受信し、対象ネットワークアドレス値と現行ネットワークアドレス値とが一致するのか否かを判断する。第１の通信装置は、対象ネットワークアドレス値と現行ネットワークアドレス値とが一致しないと判断する場合に、第１の通信装置のＩＰアドレスとして、現行ＩＰアドレスに代えて、新ＩＰアドレスを設定する。これにより、第１の通信装置は、新ＩＰアドレスを利用した対象データのユニキャスト通信を第２の通信装置と適切に実行することができる。
【０００７】
なお、上記の第１の通信装置を実現するための制御方法、コンピュータプログラム、及び、当該コンピュータプログラムを記憶するコンピュータ読取可能記録媒体も、新規で有用である。また、上記の第１の通信装置と上記の第２の通信装置とを備える通信システムも、新規で有用である。
【図面の簡単な説明】
【０００８】
【図１】通信システムの構成を示す。
【図２】第１実施例の端末装置の処理のフローチャートを示す。
【図３】第１実施例のシーケンス図を示す。
【図４】第２実施例の端末装置の処理のフローチャートを示す。
【図５】第２実施例のシーケンス図を示す。
【発明を実施するための形態】
【０００９】
（第１実施例）
（通信システム２の構成；図１）
図１に示されるように、通信システム２は、端末装置ＴＥと、プリンタＰＲと、第１のＤＨＣＰ（Dynamic Host Configuration Protocolの略）サーバ６０と、第２のＤＨＣＰサーバ７０と、を備える、各デバイスＴＥ、ＰＲ、６０、７０は、ＬＡＮ４に接続されており、ＬＡＮ４を介して、相互に通信可能である。ＬＡＮ４は、本実施例では有線ＬＡＮであるが、変形例では無線ＬＡＮであってもよい。
【００１０】
（端末装置ＴＥの構成）
端末装置ＴＥは、デスクトップＰＣ等の据置型の端末装置である。変形例では、端末装置ＴＥは、ノートＰＣ、タブレットＰＣ等の可搬型の端末装置であってもよい。端末装置ＴＥは、操作部１２と、表示部１４と、ネットワークインターフェース１６と、制御部２０と、を備える。操作部１２は、キーボード及びマウスを備える。ユーザは、操作部１２を操作することによって、様々な指示を端末装置ＴＥに与えることができる。表示部１４は、様々な情報を表示するためのディスプレイである。ネットワークインターフェース１６は、ＬＡＮ４に接続されている。以下では、インターフェースのことを「Ｉ／Ｆ」と記載する。
【００１１】
制御部２０は、ＣＰＵ２２と、メモリ２４と、を備える。ＣＰＵ２２は、メモリ２４に記憶されているプログラム（例えば、ＯＳプログラム、後述の特定プログラム等）に従って様々な処理を実行するプロセッサである。また、メモリ２４は、端末装置ＴＥの現在のＩＰアドレスの値ＩＰｔｅと、端末装置ＴＥの現在のサブネットマスクの値ＳＭｔｅと、を記憶する。値ＩＰｔｅ、値ＳＭｔｅは、それぞれ、「１９２．１６８．１．２」、「２５５．２５５．２５５．０」である。即ち、端末装置ＴＥのＩＰアドレスのネットワークドレス部の値は、「１９２．１６８．１」である。図１の状態では、これらの値ＩＰｔｅ、ＳＭｔｅは、ＬＡＮ４に接続されている第１のＤＨＣＰサーバ６０によって割り当てられたものである。なお、以下では、値ＩＰｔｅ、値ＳＭｔｅのことを、それぞれ、「ＩＰｔｅ」、「ＳＭｔｅ」と省略して記載することがある。
【００１２】
メモリ２４は、特定プログラムと、プリンタドライバと、を記憶する。プリンタドライバは、プリンタＰＲに印刷機能を実行させるためのプログラムである。特定プログラムは、端末装置ＴＥが、端末装置ＴＥとは異なるサブネットに属するプリンタＰＲとＯＳＩ参照モデルのアプリケーション層よりも下位層（例えば、物理層、データリンク層等）のデータのユニキャスト通信を実行するためのプログラムである。ここで、「プリンタＰＲが端末装置ＴＥとは異なるサブネットに属する」とは、端末装置ＴＥのＩＰアドレスのネットワークドレス部の値（例えば、１９２．１６８．１）と、プリンタＰＲのＩＰアドレスのネットワークアドレス部の値（例えば、１９２．１６８．１００）と、が異なることを意味する。
【００１３】
端末装置ＴＥがプリンタＰＲとは異なるサブネットに属する場合には、通常、端末装置ＴＥは、プリンタＰＲとユニキャスト通信を実行することができない。例えば、端末装置ＴＥが、プリンタＰＲのＩＰアドレスを送信先ＩＰアドレスとしてデータを送信すると、当該データは、端末装置ＴＥのゲートウェイに送信される。本実施例では、第１のＤＨＣＰサーバ６０が当該ゲートウェイの機能を実現する。図１の状態では、第１のＤＨＣＰサーバ６０（即ちゲートウェイ）のＩＰアドレスのネットワークアドレス部の値（即ち、１９２．１６８．１）は、端末装置ＴＥのＩＰアドレスのネットワークアドレス部の値に一致するが、上記のデータの送信先であるプリンタＰＲのＩＰアドレスのネットワークアドレス部の値（即ち、１９２．１６８．１００）に一致しない。そのため、第１のＤＨＣＰサーバ６０は、端末装置ＴＥから上記のデータを受信しても、上記のデータをプリンタＰＲに送信しない。その結果、端末装置ＴＥは、プリンタＰＲとユニキャスト通信を実行することができない。
【００１４】
一方、本実施例の端末装置ＴＥは、特定プログラムを備えるので、特定プログラムに従って、端末装置ＴＥのゲートウェイ（即ち、第１のＤＨＣＰサーバ６０）を経由せずに、プリンタＰＲとユニキャスト通信を直接的に実行することができる。
【００１５】
特定プログラム及びプリンタドライバは、例えば、プリンタＰＲの出荷時にプリンタＰＲと共にパッケージされている情報記憶媒体（ＣＤ、ＤＶＤ等）に格納されている。端末装置ＴＥは、情報記憶媒体に格納されているこれらのプログラムをインストールして、これらのプログラムをメモリ２４に記憶する。また、端末装置ＴＥは、プリンタドライバをインストールして、プリンタＰＲのための印刷ポートを生成する際に、プリンタＰＲからプリンタＰＲのノード名を取得する。端末装置ＴＥは、プリンタＰＲのノード名をメモリ２４に記憶する。
【００１６】
（プリンタＰＲの構成）
プリンタＰＲは、印刷機能を実行可能な周辺機器（即ち端末装置ＴＥ等の周辺機器）である。プリンタＰＲの図示省略のメモリは、プリンタＰＲの現在のＩＰアドレスの値ＩＰｐｒと、プリンタＰＲの現在のサブネットマスクの値ＳＭｐｒと、を記憶する。値ＩＰｐｒ、値ＳＭｐｒは、それぞれ、「１９２．１６８．１００．２」、「２５５．２５５．２５５．０」である。即ち、プリンタＰＲのＩＰアドレスのネットワークドレス部の値は、「１９２．１６８．１００」である。図１の状態では、これらの値ＩＰｐｒ、ＳＭｐｒは、ＬＡＮ４に接続されている第２のＤＨＣＰサーバ７０によって割り当てられたものである。なお、以下では、値ＩＰｐｒ、値ＳＭｐｒのことを、それぞれ、「ＩＰｐｒ」、「ＳＭｐｒ」と省略して記載することがある。
【００１７】
また、プリンタＰＲは、端末装置ＴＥのメモリ２４と同様に、上記の特定プログラムを備える。従って、プリンタＰＲは、特定プログラムに従って、プリンタＰＲのゲートウェイ（即ち、第２のＤＨＣＰサーバ７０）を経由せずに、プリンタＰＲとは異なるサブネットに存在する端末装置ＴＥとユニキャスト通信を実行することができる。
【００１８】
（第１のＤＨＣＰサーバ６０の構成）
第１のＤＨＣＰサーバ６０は、ＬＡＮ４に接続されているデバイス（例えば、端末装置ＴＥ、プリンタＰＲ等）からの要求に応じて、上記のデバイスにＩＰアドレス及びサブネットマスクを割り当てる。また、第１のＤＨＣＰサーバ６０は、一のデバイスからデータを受信し、受信されたデータを他のデバイスに転送するゲートウェイ機能を有する。第１のＤＨＣＰサーバ６０が割り当て可能なＩＰアドレスの範囲（即ち「１９２．１６８．１．２〜２５４」）は、予め決められている。第１のＤＨＣＰサーバ６０は、値ＩＰｄｈ１「１９２．１６８．１．１」を自己のＩＰアドレス（即ち、ゲートウェイアドレス）として使用し、値ＳＭｄｈ１「２５５．２５５．２５５．０」を自己のサブネットマスクとして使用する。なお、以下では、値ＩＰｄｈ１、値ＳＭｄｈ１のことを、それぞれ、「ＩＰｄｈ１」、「ＳＭｄｈ１」と省略して記載することがある。
【００１９】
（第２のＤＨＣＰサーバ７０の構成）
第２のＤＨＣＰサーバ７０は、第１のＤＨＣＰサーバ６０とは異なるＤＨＣＰサーバであり、ＬＡＮ４に接続されているデバイスからの要求に応じて、上記のデバイスにＩＰアドレス及びサブネットマスクを割り当てる。また、第２のＤＨＣＰサーバ７０は、ゲートウェイ機能を有する。第２のＤＨＣＰサーバ６０は、「１９２．１６８．１００．２〜２５４」の範囲内のＩＰアドレスを割り当て可能である。第２のＤＨＣＰサーバ７０は、値ＩＰｄｈ２「１９２．１６８．１００．１」を自己のＩＰアドレス（即ち、ゲートウェイアドレス）として使用し、値ＳＭｄｈ２「２５５．２５５．２５５．０」を自己のサブネットマスクとして使用する。なお、以下では、値ＩＰｄｈ２、値ＳＭｄｈ２のことを、それぞれ、「ＩＰｄｈ２」、「ＳＭｄｈ２」と省略して記載することがある。
【００２０】
本実施例では、２個のＤＨＣＰサーバ６０、７０がＬＡＮ４に接続されている。このような状況において、図１の状態では、第１のＤＨＣＰサーバ６０によって端末装置ＴＥにＩＰｔｅが割り当てられており、第１のＤＨＣＰサーバ６０とは異なる第２のＤＨＣＰサーバ７０によってプリンタＰＲにＩＰｐｒが割り当てられ得る。このような状況では、ＩＰｔｅのネットワークアドレス部の値（即ち、１９２．１６８．１）と、ＩＰｐｒのネットワークアドレス部の値（即ち、１９２．１６８．１００）と、が一致しない。このために、端末装置ＴＥとプリンタＰＲとの間でゲートウェイを介したユニキャスト通信を実行不可能である。仮に、このような状況が継続すると、プリンタＰＲが印刷データを適切に受信できないので、プリンタＰＲに印刷を実行させることができない。このような事象が発生するのを抑制するために、本実施例では、端末装置ＴＥは、次に説明する図２の処理を実行する。
【００２１】
（端末装置ＴＥが実行する処理）
続いて、図２を参照して、端末装置ＴＥのＣＰＵ２２が実行する処理の内容について説明する。図２の処理は、端末装置ＴＥからプリンタＰＲに印刷データを含む印刷指示が送信され、当該印刷データに従った印刷がプリンタＰＲで失敗したことをトリガとして開始される。具体的には、端末装置ＴＥのＣＰＵ２２は、印刷指示をプリンタＰＲに送信してから所定期間が経過しても、プリンタＰＲから印刷指示に対する応答パケットを受信しない場合に、プリンタＰＲで印刷が失敗したと判断して、図２の処理を開始する。より具体的には、以下のような状況である。
【００２２】
端末装置ＴＥのＣＰＵ２２は、プリンタＰＲでの印刷の実行の指示がユーザから与えられる場合に、メモリ２４内のプリンタＰＲのノード名を利用して、名前解決を実行する。例えば、ＣＰＵ２２は、図示省略の名前解決サーバを利用して、又は、メモリ２４に記憶されているプリンタＰＲのノード名のブロードキャスト通信を利用して、プリンタＰＲのＩＰアドレスの値ＩＰｐｒを取得する。そして、ＣＰＵ２２は、送信先アドレスとしてＩＰｐｒを指定して、印刷データを含む印刷指示を送信する。例えば、端末装置ＴＥとプリンタＰＲとが異なるサブネットに属している場合には、プリンタＰＲが印刷データを適切に受信できないので、プリンタＰＲが印刷指示に対する応答パケットを送信しない。この場合、端末装置ＴＥのＣＰＵ２２は、プリンタＰＲから印刷指示に対する応答パケットを受信しない。また、例えば、端末装置ＴＥとプリンタＰＲとが同一のサブネットに属していても、プリンタＰＲが何らかの原因（例えばメモリフル）に起因して印刷指示を適切に受信することができない場合には、プリンタＰＲが印刷指示に対する応答パケットを送信しない。この場合も、端末装置ＴＥのＣＰＵ２２は、プリンタＰＲから印刷指示に対する応答パケットを受信しない。
【００２３】
Ｓ１０では、端末装置ＴＥのＣＰＵ２２は、メモリ２４に記憶されているプリンタＰＲのノード名を含む探索パケットをＬＡＮ４にブロードキャストする。ＬＡＮ４に接続されている各デバイス（即ち、プリンタＰＲ、第１及び第２のＤＨＣＰサーバ６０、７０）は、探索パケットを受信する。探索パケットに含まれるノード名に一致しないノード名を有するデバイス（即ち、第１及び第２のＤＨＣＰサーバ６０、７０）は、探索パケットを受信しても、探索パケットに対する応答パケットを送信しない。一方、探索パケットに含まれるノード名に一致するノード名を有するプリンタＰＲは、探索パケットを受信すると、特定プログラムに従ったユニキャスト通信を実行して、探索パケットに対する応答パケットを端末装置ＴＥに送信する。これにより、仮に、端末装置ＴＥとプリンタＰＲとが異なるサブネットに属していても、プリンタＰＲは、探索パケットに対する応答パケットを端末装置ＴＥに適切に送信することができる。
【００２４】
Ｓ１２では、ＣＰＵ２２は、プリンタＰＲから探索パケットに対する応答パケットを受信する。当該応答パケットは、ＩＰｐｒ及びＳＭｐｒを含む。
【００２５】
Ｓ１４では、ＣＰＵ２２は、ＩＰｐｒのネットワークアドレス部の値と、ＩＰｔｅのネットワークアドレス部の値と、が一致するか否かを判断する。具体的には、ＣＰＵ２２は、Ｓ１２で受信された応答パケットに含まれるＩＰｐｒ及びＳＭｐｒを用いて、ＩＰｐｒのネットワークアドレス部の値（例えば、「１９２．１６８．１００」）を特定し、メモリ２４に記憶されているＩＰｔｅ及びＳＭｔｅを用いて、ＩＰｔｅのネットワークアドレス部の値（例えば、「１９２．１６８．１」）を特定する。そして、ＣＰＵ２２は、特定済みの２個の値が一致するか否かを判断する。
【００２６】
ＣＰＵ２２は、ＩＰｐｒのネットワークアドレス部の値と、ＩＰｔｅのネットワークアドレス部の値と、が一致すると判断する場合（Ｓ１４でＹＥＳ）には、図２の処理を終了する。Ｓ１４でＹＥＳと判断される状況としては、例えば、端末装置ＴＥとプリンタＰＲとが同一のサブネットに属しているが、プリンタＰＲが何らかの原因（例えばメモリフル）に起因して印刷指示を適切に受信することができない状況を挙げることができる。
【００２７】
一方において、ＣＰＵ２２は、ＩＰｐｒのネットワークアドレス部の値と、ＩＰｔｅのネットワークアドレス部の値と、が一致しないと判断する場合（Ｓ１４でＮＯ）には、Ｓ１６において、ＤＨＣＰ  ＤｉｓｃｏｖｅｒをＬＡＮ４にブロードキャストする。ＤＨＣＰ  Ｄｉｓｃｏｖｅｒは、ＤＨＣＰ  Ｄｉｓｃｏｖｅｒの送信元である端末装置ＴＥのＭＡＣアドレスを含む。
【００２８】
ＬＡＮ４に接続されている各デバイス（例えば、プリンタＰＲ、第１及び第２のＤＨＣＰサーバ６０、７０）は、ＤＨＣＰ  Ｄｉｓｃｏｖｅｒを受信する。ＤＨＣＰサーバ以外のデバイス（例えば、プリンタＰＲ）は、ＤＨＣＰ  Ｄｉｓｃｏｖｅｒを受信しても、応答しない。
【００２９】
一方、第１のＤＨＣＰサーバ６０は、ＤＨＣＰ  Ｄｉｓｃｏｖｅｒを受信すると、ＤＨＣＰ  ＯｆｆｅｒをＬＡＮ４にブロードキャストする。ＤＨＣＰ  Ｏｆｆｅｒは、端末装置ＴＥに設定されるべき新ＩＰアドレスの候補である候補ＩＰアドレスの値ＩＰｃａ１と、第１のＤＨＣＰサーバ６０のサブネットマスクの値ＳＭｄｈ１と、第１のＤＨＣＰサーバ６０のＩＰアドレスの値ＩＰｄｈ１と、を含む。ＤＨＣＰ  Ｏｆｆｅｒは、さらに、ＤＨＣＰ  Ｄｉｓｃｏｖｅｒに含まれる端末装置ＴＥのＭＡＣアドレスを含む。このために、端末装置ＴＥ以外のデバイス（例えば、プリンタＰＲ等）は、ＤＨＣＰ  Ｏｆｆｅｒを受信しても、ＤＨＣＰ  Ｏｆｆｅｒに応じた処理を実行しない。
【００３０】
同様に、第２のＤＨＣＰサーバ７０は、ＤＨＣＰ  Ｄｉｓｃｏｖｅｒを受信すると、ＤＨＣＰ  ＯｆｆｅｒをＬＡＮ４にブロードキャストする。ＤＨＣＰ  Ｏｆｆｅｒは、候補ＩＰアドレスの値ＩＰｃａ２と、第２のＤＨＣＰサーバ７０のサブネットマスクの値ＳＭｄｈ２と、第２のＤＨＣＰサーバ７０のＩＰアドレスの値ＩＰｄｈ２と、端末装置ＴＥのＭＡＣアドレスと、を含む。
【００３１】
Ｓ１８では、ＣＰＵ２２は、第１のＤＨＣＰサーバ６０と第２のＤＨＣＰサーバ７０とのそれぞれから１個のＤＨＣＰ  Ｏｆｆｅｒを受信する。
【００３２】
次いで、Ｓ２０では、ＣＰＵ２２は、受信済みの２個のＤＨＣＰ  Ｏｆｆｅｒに含まれる２個の候補ＩＰアドレスの中から、１個の候補ＩＰアドレスを選択する。具体的には、まず、ＣＰＵ２２は、第１のＤＨＣＰサーバ６０から受信されたＤＨＣＰ  Ｏｆｆｅｒに含まれるＩＰｃａ１及びＳＭｄｈ１を用いて、ＩＰｃａ１のネットワークアドレス部の値を特定する。同様に、ＣＰＵ２２は、第２のＤＨＣＰサーバ７０から受信されたＤＨＣＰ  Ｏｆｆｅｒに含まれるＩＰｃａ２及びＳＭｄｈ２を用いて、ＩＰｃａ２のネットワークアドレス部の値を特定する。そして、ＣＰＵ２２は、Ｓ１４で特定済みのＩＰｐｒのネットワークアドレス部の値に一致するネットワークアドレス部の値を含む１個の候補ＩＰアドレス（例えばＩＰｃａ２）を選択する。
【００３３】
次いで、Ｓ２２では、ＣＰＵ２２は、Ｓ２０で選択された候補ＩＰアドレス（例えばＩＰｃａ２）を含むＲｅｑｕｅｓｔを、ＬＡＮ４にブロードキャストする。
【００３４】
Ｓ２２のＲｅｑｕｅｓｔに含まれる候補ＩＰアドレスを端末装置ＴＥに割り当てたＤＨＣＰサーバは、Ｒｅｑｕｅｓｔを受信すると、ＡＣＫをＬＡＮ４にブロードキャストする。当該ＡＣＫは、端末装置ＴＥのＭＡＣアドレスを含む。そのため、端末装置ＴＥ以外のデバイス（例えば、プリンタＰＲ等）は、ＡＣＫを受信しても、ＡＣＫに応じた処理を実行しない。
【００３５】
Ｓ２４では、ＣＰＵ２２は、ＡＣＫを受信することを監視する。ＣＰＵ２２は、ＡＣＫを受信する場合に、Ｓ２４でＹＥＳと判断し、Ｓ２６に進む。
【００３６】
Ｓ２６では、ＣＰＵ２２は、端末装置ＴＥのＩＰアドレスとして、ＩＰｔｅに代えて、Ｓ２０で選択された候補ＩＰアドレスの値（例えばＩＰｃａ２）を新たに設定する（即ち、メモリ２４に記憶する）。また、ＣＰＵ２２は、当該候補ＩＰアドレスを含む受信済みのＤＨＣＰ  Ｏｆｆｅｒから、ＤＨＣＰサーバのサブネットマスク（例えばＳＭｄｈ２）とＤＨＣＰサーバのＩＰアドレス（例えばＩＰｄｈ２）とを抽出する。そして、ＣＰＵ２２は、端末装置ＴＥのサブネットマスクとして、ＳＭｔｅに代えて、抽出済みのサブネットマスクの値（例えばＳＭｄｈ２）を新たに設定する。また、ＣＰＵ２２は、端末装置ＴＥのゲートウェイアドレスとして、現在のゲートウェイアドレスの値ＩＰｄｈ１に代えて、抽出済みのＤＨＣＰサーバのＩＰアドレスの値（例えばＩＰｄｈ２）を新たに設定する。即ち、端末装置ＴＥのゲートウェイが変更される。
【００３７】
Ｓ２８では、ＣＰＵ２２は、Ｓ２６で設定済みの新ＩＰアドレスを利用して、即ち、送信元アドレスとして新ＩＰアドレスが指定されたユニキャスト通信を実行して、印刷データをプリンタＰＲに送信する。なお、ＣＰＵ２２は、送信先アドレスとしてプリンタＰＲのＩＰアドレスＩＰｐｒを指定する。Ｓ２８が実行される状況では、端末装置ＴＥのＩＰアドレス（即ち新ＩＰアドレス）のネットワークアドレス部の値と、ＩＰｐｒのネットワークアドレス部の値と、が一致するので、ＣＰＵ２２は、新ＩＰアドレスを利用した印刷指示のユニキャスト通信をプリンタＰＲと適切に実行することができる。なお、変形例では、ＣＰＵ２２は、Ｓ２８の処理を実行する前に、メモリ２４内のプリンタＰＲのノード名を利用して、名前解決を再び実行して、プリンタＰＲのＩＰアドレスＩＰｐｒを再び取得してもよい。そして、Ｓ２８では、ＣＰＵ２２は、再び取得されたＩＰｐｒを送信先アドレスとして指定して、印刷データを送信してもよい。
【００３８】
プリンタＰＲは、端末装置ＴＥから印刷指示を受信すると、ユニキャスト通信を実行して印刷指示に対する応答パケットを端末装置ＴＥに送信し、印刷指示に含まれる印刷データによって表わされる画像の印刷を実行する。また、プリンタＰＲは、印刷が完了すると、ユニキャスト通信を実行して印刷完了通知を端末装置ＴＥに送信する。
【００３９】
Ｓ３０では、ＣＰＵ２２は、プリンタＰＲから印刷成功通知を受信する。そして、Ｓ３２では、ＣＰＵ２２は、端末装置ＴＥのＩＰアドレスとして、新ＩＰアドレスの値に代えて、端末装置ＴＥの元のＩＰアドレスの値ＩＰｔｅを再び設定する。Ｓ３２が終了すると、図２の処理が終了する。なお、変形例では、ＣＰＵ２２は、プリンタＰＲから印刷成功通知を受信しなくてもよい。この場合、ＣＰＵ２２は、印刷指示をプリンタＰＲに送信した後に、印刷成功通知を受信しなくても、端末装置ＴＥのＩＰアドレスとして、新ＩＰアドレスの値に代えて、端末装置ＴＥの元のＩＰアドレスの値ＩＰｔｅを再び設定してもよい。
【００４０】
（具体的なケース；図３）
続いて、図３を参照して、図２のフローチャートに従って実現される具体的なケースの内容を説明する。なお、図３では、ブロードキャスト通信、ユニキャスト通信が、それぞれ、二点鎖線、実線で示されている。
【００４１】
Ｔ１０では、端末装置ＴＥは、ゲートウェイを介した通常のユニキャスト通信を実行して、印刷指示をプリンタＰＲに送信する。印刷指示は、送信先アドレスとしてＩＰｐｒを含み、送信元アドレスとしてＩＰｔｅを含む。しかしながら、ＩＰｐｒのネットワークアドレス部の値と、ＩＰｔｅのネットワークアドレス部の値と、が一致しないので、端末装置ＴＥのゲートウェイである第１のＤＨＣＰサーバ６０は、印刷指示をプリンタＰＲに送信しない。この結果、プリンタＰＲは、端末装置ＴＥから印刷指示を受信することができない。
【００４２】
Ｔ１２では、端末装置ＴＥは、印刷指示を送信してから所定期間が経過しても、プリンタＰＲから印刷指示に対する応答パケットを受信しないので、印刷が失敗したと判断する（図２の処理のトリガ）。そして、Ｔ１４では、端末装置ＴＥは、プリンタＰＲのノード名を含む探索パケットをＬＡＮ４にブロードキャストする（図２のＳ１０）。
【００４３】
Ｔ１６では、プリンタＰＲは、端末装置ＴＥから探索パケットを受信すると、特定プログラムに従ったユニキャスト通信を実行して、ＩＰｐｒ及びＳＭｐｒを含む応答パケットを端末装置ＴＥに送信する。
【００４４】
Ｔ１８では、端末装置ＴＥは、プリンタＰＲから探索パケットに対する応答パケットを受信すると（Ｓ１２）、ＩＰｐｒのネットワークアドレス部の値と、ＩＰｔｅのネットワークアドレス部の値と、が一致しないと判断する（Ｓ１４でＮＯ）。そして、Ｔ２０では、端末装置ＴＥは、端末装置ＴＥのＭＡＣアドレスを含むＤＨＣＰ  ＤｉｓｃｏｖｅｒをＬＡＮ４にブロードキャストする（Ｓ１６）。
【００４５】
Ｔ２２では、第１のＤＨＣＰサーバ６０は、ＤＨＣＰ  Ｄｉｓｃｏｖｅｒを受信すると、ＩＰｃａ１「１９２．１６８．１．３」と、ＳＭｄｈ１と、ＩＰｄｈ１と、端末装置ＴＥのＭＡＣアドレスと、を含むＤＨＣＰ  ＯｆｆｅｒをＬＡＮ４にブロードキャストする。また、Ｔ２４では、第２のＤＨＣＰサーバ７０は、ＤＨＣＰ  Ｄｉｓｃｏｖｅｒを受信すると、ＩＰｃａ２「１９２．１６８．１００．３」と、ＳＭｄｈ２と、ＩＰｄｈ２と、端末装置ＴＥのＭＡＣアドレスと、を含むＤＨＣＰ  ＯｆｆｅｒをＬＡＮ４にブロードキャストする。
【００４６】
Ｔ２５では、端末装置ＴＥは、２個のＤＨＣＰ  Ｏｆｆｅｒを受信すると、２個のＤＨＣＰ  Ｏｆｆｅｒに含まれる２個の候補ＩＰアドレスの中から、ＩＰｐｒのネットワークアドレス部の値に一致するネットワークアドレス部の値を含む候補ＩＰアドレス（即ちＩＰｃａ２）を選択する（Ｓ２０）。次いで、Ｔ２６では、端末装置ＴＥは、ＩＰｃａ２を含むＲｅｑｕｅｓｔを、ＬＡＮ４にブロードキャストする（Ｓ２２）。
【００４７】
Ｔ２８では、第２のＤＨＣＰサーバ７０は、Ｒｅｑｕｅｓｔを受信すると、ＡＣＫをＬＡＮ４にブロードキャストする。
【００４８】
Ｔ３０では、端末装置ＴＥは、ＡＣＫを受信すると（Ｓ２４でＹＥＳ）、端末装置ＴＥのＩＰアドレスとして、ＩＰｔｅに代えて、ＩＰｃａ２を設定する（Ｓ２６）。また、端末装置ＴＥは、端末装置ＴＥのサブネットマスクとして、ＳＭｔｅに代えて、ＳＭｄｈ２を新たに設定する。また、端末装置ＴＥは、端末装置ＴＥのゲートウェイアドレスとして、ＩＰｄｈ１に代えて、ＩＰｄｈ２を新たに設定する。即ち、端末装置ＴＥのゲートウェイが、第１のＤＨＣＰサーバ６０から第２のＤＨＣＰサーバ７０に変更される。
【００４９】
Ｔ３２では、端末装置ＴＥは、ゲートウェイを介した通常のユニキャスト通信を実行して、印刷指示をプリンタＰＲに送信する（Ｓ２８）。印刷指示は、送信先アドレスとしてＩＰｐｒを含み、送信元アドレスとしてＩＰｃａ２を含む。ＩＰｐｒのネットワークアドレス部の値と、ＩＰｃａ２のネットワークアドレス部の値と、が一致するので、端末装置ＴＥのゲートウェイである第２のＤＨＣＰサーバ７０は、印刷指示をプリンタＰＲに送信する。
【００５０】
Ｔ３４では、プリンタＰＲは、端末装置ＴＥから印刷指示を受信すると、印刷データによって表わされる画像の印刷を実行する。そして、Ｔ３６では、プリンタＰＲは、ゲートウェイを介した通常のユニキャスト通信を実行して、印刷成功通知を端末装置ＴＥに送信する。
【００５１】
Ｔ３８では、端末装置ＴＥは、プリンタＰＲから印刷成功通知を受信すると（Ｓ３０）、端末装置ＴＥのＩＰアドレスとして、ＩＰｃａ２に代えて、ＩＰｔｅを再び設定する（Ｓ３２）。これにより、端末装置ＴＥは、例えば、ＩＰｔｅを利用して、ＬＡＮ４に接続されている他のデバイス（例えばプリンタＰＲとは異なるプリンタ）とのユニキャスト通信を実行することができる。
【００５２】
（第１実施例の効果）
図３に示されるように、端末装置ＴＥは、印刷データのユニキャスト通信をプリンタＰＲと実行不可能な事象が発生する場合（Ｔ１２）に、探索パケットをＬＡＮ４にブロードキャストして（Ｔ１４）、プリンタＰＲからＩＰｐｒ及びＳＭｐｒを含む応答パケットを受信する（Ｔ１６）。そして、端末装置ＴＥは、ＩＰｐｒのネットワークアドレス部の値と、ＩＰｔｅのネットワークアドレス部の値と、が一致するのか否かを判断する（Ｔ１８）。端末装置ＴＥは、ＩＰｐｒのネットワークアドレス部の値とＩＰｔｅのネットワークアドレス部の値とが一致しないと判断する場合に、端末装置ＴＥのＩＰアドレスとして、ＩＰｐｒのネットワークアドレス部の値に一致するネットワークアドレス部の値を含むＩＰｃａ２を新たに設定する（Ｔ３０）。これにより、端末装置ＴＥは、ＩＰｃａ２を利用した印刷データのユニキャスト通信をプリンタＰＲと実行することができる（Ｔ３２）。即ち、端末装置ＴＥは、印刷データのユニキャスト通信をプリンタＰＲと実行不可能な事象を適切に解消することができ、印刷データのユニキャスト通信をプリンタＰＲと適切に実行することができる。
【００５３】
（対応関係）
端末装置ＴＥ、プリンタＰＲが、それぞれ、「第１の通信装置」、「第２の通信装置」の一例である。第１及び第２のＤＨＣＰサーバ６０、７０が、「ＩＰアドレス割当サーバ」の一例である。探索パケットが、「要求パケット」の一例である。ＩＰｔｅ、ＳＭｔｅ、ＩＰｐｒ、ＳＭｐｒが、ぞれぞれ、「現行ＩＰアドレスの値」、「現行サブネットマスクの値」、「対象ＩＰアドレスの値」、「対象サブネットマスクの値」の一例である。ＩＰｔｅのネットワークアドレス部の値、ＩＰｐｒのネットワークアドレス部の値が、それぞれ、「現行ネットワークアドレス値」、「対象ネットワークアドレス値」の一例である。ＩＰｃａ１及びＩＰｃａ２が、「２個以上の候補ＩＰアドレス」の値の一例であり、ＩＰｃａ２が、「１個の候補ＩＰアドレス」及び「新ＩＰアドレス」の値の一例である。印刷データが、「対象データ」の一例である。
【００５４】
図２において、Ｓ１０の処理、Ｓ１２の処理、Ｓ１４の処理、Ｓ２８の処理が、それぞれ、「ブロードキャスト通信実行部」、「応答パケット受信部」、「判断部」、「ユニキャスト通信実行部」によって実行される処理の一例である。Ｓ１６及びＳ１８の処理が、「候補ＩＰアドレス受信部」によって実行される処理の一例である。Ｓ２０、Ｓ２６、及び、Ｓ３２の処理が、「設定部」によって実行される処理の一例である。
【００５５】
（第２実施例）
本実施例では、第１実施例と異なる点を中心に説明する。本実施例では、端末装置ＴＥのＩＰアドレスを変更するための手法が第１実施例とは異なる。図１に示されるように、本実施例では、端末装置ＴＥのメモリ２４は、プリンタＰＲとのユニキャスト通信が過去に成功したネットワーク情報を記憶する。当該ネットワーク情報は、プリンタドライバが端末装置ＴＥにインストールされた時点における端末装置ＴＥのＩＰアドレスの値ＩＰｉｎ「１９２．１６８．１００．４」と、サブネットマスクの値ＳＭｉｎ「２５５．２５５．２５５．０」と、を含む。即ち、プリンタドライバが端末装置ＴＥにインストールされた時点では、第２のＤＨＣＰサーバ７０から端末装置ＴＥにＩＰｉｎが割り当てられている。そして、第２のＤＨＣＰサーバ７０からプリンタＰＲにＩＰｐｒが割り当てられているので、ＩＰｐｒのネットワークアドレス部の値と、ＩＰｉｎのネットワークアドレス部の値と、が一致する。このために、プリンタドライバが端末装置ＴＥにインストールされた時点では、端末装置ＴＥとプリンタＰＲとの間のユニキャスト通信が成功している。その後、第１のＤＨＣＰサーバ６０から端末装置ＴＥにＩＰｔｅが割り当てられ、端末装置ＴＥとプリンタＰＲとの間のユニキャスト通信が実行不可能な状態になる。
【００５６】
なお、変形例では、メモリ２４内のネットワーク情報は、プリンタドライバがインストールされた時点における端末装置ＴＥのＩＰアドレスの値及びサブネットマスクの値でなくてもよく、その後に、端末装置ＴＥとプリンタＰＲとの間のユニキャスト通信が成功した時点における端末装置ＴＥのＩＰアドレスの値及びサブネットマスクの値であってもよい。例えば、ネットワーク情報は、プリンタドライバのインストール後に、プリンタＰＲとの印刷データの通信が成功した際の端末装置ＴＥのＩＰアドレスの値及びサブネットマスクの値であってもよい。
【００５７】
（端末装置ＴＥが実行する処理；図４）
次いで、図４を参照して、端末装置ＴＥのＣＰＵ２２が実行する処理の内容について説明する。図４の処理のトリガ及びＳ１０〜Ｓ１４の処理は、図２と同様である。
【００５８】
ＣＰＵ２２は、ＩＰｐｒのネットワークアドレス部の値と、ＩＰｔｅのネットワークアドレス部の値と、が一致しないと判断する場合（Ｓ１４でＮＯ）に、Ｓ１００において、メモリ２４からＩＰｉｎ及びＳＭｉｎを取得して、ＩＰｉｎ、ＳＭｉｎを、それぞれ、候補ＩＰアドレスの値、候補サブネットマスクの値として決定する。
【００５９】
Ｓ１０２では、ＣＰＵ２２は、ＩＰｉｎのネットワークアドレス部の値と、ＩＰｐｒのネットワークアドレス部の値と、が一致するか否か判断する。具体的には、ＣＰＵ２２は、Ｓ１００で取得されたＩＰｉｎ及びＳＭｉｎを用いて、ＩＰｉｎのネットワークアドレス部の値（例えば「１９２．１６８．１００」）を特定する。また、ＣＰＵ２２は、Ｓ１２で受信された応答パケットに含まれるＩＰｐｒ及びＳＭｐｒを用いて、ＩＰｐｒのネットワークアドレス部の値（例えば「１９２．１６８．１００」）を特定する。そして、ＣＰＵ２２は、特定済みの２個の値が一致するか否かを判断する。ＣＰＵ２２は、ＩＰｉｎのネットワークアドレス部の値と、ＩＰｐｒのネットワークアドレス部の値と、が一致すると判断する場合（Ｓ１０２でＹＥＳ）に、Ｓ１０６に進む。一方において、ＣＰＵ２２は、ＩＰｉｎのネットワークアドレス部の値と、ＩＰｐｒのネットワークアドレス部の値と、が一致しないと判断する場合（Ｓ１０２でＮＯ）に、図４の処理を終了する。
【００６０】
Ｓ１０６では、ＣＰＵ２２は、Ｓ１００で取得されたＩＰｉｎを含むＲｅｑｕｅｓｔをＬＡＮ４にブロードキャストする。当該Ｒｅｑｕｅｓｔは、ＤＨＣＰサーバ６０、７０にＩＰｉｎの使用を要求するためのパケットである。
【００６１】
Ｓ１０６のＲｅｑｕｅｓｔに含まれるＩＰｉｎを割り当て可能なＤＨＣＰサーバ（例えば第２のＤＨＣＰサーバ７０）は、Ｒｅｑｕｅｓｔを受信すると、ＩＰｉｎが他のデバイスに現在割り当てられているのか否かを確認する。そして、当該ＤＨＣＰサーバは、ＩＰｉｎが他のデバイスに現在割り当てられていないことが確認される場合に、ＡＣＫをＬＡＮ４にブロードキャストする。
【００６２】
Ｓ１０８では、ＣＰＵ２２は、ＡＣＫを受信することを監視する。ＣＰＵ２２は、ＡＣＫを受信する場合、即ち、ＩＰｉｎの使用許可が得られる場合に、Ｓ１０８でＹＥＳと判断し、Ｓ１１０に進む。なお、図示省略しているが、ＣＰＵ２２は、ＡＣＫを受信しない場合、即ち、ＩＰｉｎが他のデバイスに現在割り当てられている場合には、図４の処理を終了する。
【００６３】
Ｓ１１０では、ＣＰＵ２２は、端末装置ＴＥのＩＰアドレスとして、ＩＰｔｅに代えて、ＩＰｉｎを新たに設定する。また、ＣＰＵ２２は、端末装置ＴＥのＩＰアドレスとして、ＳＭｔｅに代えて、ＳＭｉｎを新たに設定する。Ｓ１０８で受信されるＡＣＫは、ＡＣＫの送信元のＤＨＣＰサーバのＩＰアドレスの値を含む。ＣＰＵ２２は、端末装置ＴＥのゲートウェイアドレスとして、現在のゲートウェイアドレスの値ＩＰｄｈ１に代えて、ＡＣＫの送信元のＤＨＣＰサーバのＩＰアドレスの値を新たに設定する。即ち、端末装置ＴＥのゲートウェイが変更される。
【００６４】
Ｓ１１２〜Ｓ１１６の処理は、新ＩＰアドレスの値がＩＰｉｎであることを除き、図２のＳ２８〜Ｓ３２と同様である。
【００６５】
（具体的なケース；図５）
続いて、図５を参照して、図４のフローチャートに従って実現される具体的なケースの内容を説明する。Ｔ１０〜Ｔ１８の処理は、図３と同様である（図４のＳ１０〜Ｓ１４）。
【００６６】
Ｔ１００では、端末装置ＴＥは、メモリ２４からＩＰｉｎ及びＳＭｉｎを取得する（Ｓ１００）。そして、Ｔ１０２では、端末装置ＴＥは、ＩＰｉｎのネットワークアドレス部の値と、ＩＰｐｒのネットワークアドレス部の値と、が一致すると判断する（Ｓ１０２でＹＥＳ）。次いで、Ｔ１０６では、端末装置ＴＥは、ＩＰｉｎを含むＲｅｑｕｅｓｔを、ＬＡＮ４にブロードキャストする（Ｓ１０６）。
【００６７】
Ｔ１０８では、第２のＤＨＣＰサーバ７０は、Ｒｅｑｕｅｓｔを受信すると、ＩＰｄｈ２を含むＡＣＫをＬＡＮ４にブロードキャストする。
【００６８】
Ｔ１１０では、端末装置ＴＥは、ＡＣＫを受信すると（Ｓ１０８でＹＥＳ）、端末装置ＴＥのＩＰアドレスとして、ＩＰｔｅに代えて、ＩＰｉｎを設定する（Ｓ１１０）。また、端末装置ＴＥは、端末装置ＴＥのサブネットマスクとして、ＳＭｔｅに代えて、ＳＭｉｎを新たに設定する（Ｓ１１０）。また、端末装置ＴＥは、端末装置ＴＥのゲートウェイアドレスとして、ＩＰｄｈ１に代えて、ＩＰｄｈ２を新たに設定する。即ち、端末装置ＴＥのゲートウェイが、第１のＤＨＣＰサーバ６０から第２のＤＨＣＰサーバ７０に変更される。
【００６９】
Ｔ１１２〜Ｔ１１８の処理は、新ＩＰアドレスの値がＩＰｉｎであることを除き、図３のＴ３２〜Ｔ３８と同様である（Ｓ１１２〜Ｓ１１６）。
【００７０】
（第２実施例の効果）
図５に示されるように、端末装置ＴＥは、ＩＰｐｒのネットワークアドレス部の値とＩＰｔｅのネットワークアドレス部の値とが一致しないと判断する場合に、メモリ２４から、端末装置ＴＥの過去のＩＰアドレスの値ＩＰｉｎと、端末装置ＴＥの過去のサブネットマスクの値ＳＭｉｎと、を取得する（Ｔ１００）。そして、端末装置ＴＥは、ＩＰｉｎを含むＲｅｑｕｅｓｔをＬＡＮ４にブロードキャストして（Ｔ１０６）、第２のＤＨＣＰサーバ７０からＡＣＫを受信すると（Ｔ１０８）、端末装置ＴＥのＩＰアドレスとして、ＩＰｔｅに代えて、ＩＰｉｎを設定する（Ｔ１１０）。これにより、端末装置ＴＥは、ＩＰｉｎを利用した印刷データのユニキャスト通信をプリンタＰＲと実行することができる（Ｔ１１２）。即ち、端末装置ＴＥは、印刷データのユニキャスト通信をプリンタＰＲと実行不可能な事象を適切に解消することができ、印刷データのユニキャスト通信をプリンタＰＲと適切に実行することができる。本実施例では、特に、端末装置ＴＥは、ＤＨＣＰ  Ｄｉｓｃｏｖｅｒ及びＤＨＣＰ  Ｏｆｆｅｒの通信を実行せずに済むので、通信負荷を軽減することができる。
【００７１】
（対応関係）
ＩＰｉｎが、「過去のＩＰアドレスの値」、「候補ＩＰアドレスの値」、及び、「新ＩＰアドレスの値」の一例である。ＳＭｉｎが、「過去のサブネットマスクの値」の一例である。図４では、Ｓ１００の処理が、「取得部」によって実行される処理の一例である。Ｓ１０６〜Ｓ１１０、及び、Ｓ１１６の処理が、「設定部」によって実行される処理の一例である。
【００７２】
以上、本発明の具体例を詳細に説明したが、これらは例示にすぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には以上に例示した具体例を様々に変形、変更したものが含まれる。上記の実施例の変形例を以下に列挙する。
【００７３】
（変形例１）上記の第１実施例において、ＣＰＵ２２は、図２のＳ１６〜Ｓ２４の処理を実行することによって新ＩＰアドレスを決定する代わりに、ＳＴＡＴＩＣ方式で新ＩＰアドレスを決定してもよい。ＳＴＡＴＩＣ方式では、端末装置ＴＥのユーザが操作部１２を操作することによって、新ＩＰアドレスを入力する。即ち、「設定部」は、上記の各実施例の手法（図２のＳ１６〜２４、図４のＳ１０６、Ｓ１０８参照）とは異なる手法を利用して、対象ネットワークアドレス値に一致するネットワークアドレス部の値を含む新ＩＰアドレスを決定してもよい。
【００７４】
（変形例２）上記の第１実施例では、通信システム２は、第１のＤＨＣＰサーバ６０と、第２のＤＨＣＰサーバ７０と、の２個のＤＨＣＰサーバを備える。通信システム２に備えられるＤＨＣＰサーバの数は２個には限られず、１個以上であれば任意の数であってもよい。例えば、通信システム２が、第２のＤＨＣＰサーバ７０のみを備え、第１のＤＨＣＰサーバ６０を備えていない状況を想定する。さらに、端末装置ＴＥのＩＰアドレスが、ＳＴＡＴＩＣ方式に従って、ユーザによって指定された値ＩＰｔｅに設定されており、プリンタＰＲのＩＰアドレスが、第２のＤＨＣＰサーバ７０によって割り当てられた値ＩＰｐｒに設定されている状況を想定する。このような状況でも、ＩＰｔｅのネットワークアドレス部の値とＩＰｐｒのネットワークアドレス部の値とが一致しない事象が生じ得る。この場合、ＣＰＵ２２は、第２のＤＨＣＰサーバ７０から新ＩＰアドレスを取得し、端末装置ＴＥのＩＰアドレスとして、ＩＰｔｅに代えて、当該新ＩＰアドレスの値を設定してもよい。
【００７５】
（変形例３）通信システム２は、ＤＨＣＰサーバを備えていなくてもよい。そして、端末装置ＴＥのＩＰアドレスが、ＳＴＡＴＩＣ方式に従って、ユーザによって指定された値ＩＰｔｅに設定されており、プリンタＰＲのＩＰアドレスが、ＳＴＡＴＩＣ方式に従って、ユーザによって指定された値ＩＰｐｒに設定されている状況を想定する。このような状況でも、ＩＰｔｅのネットワークアドレス部の値とＩＰｐｒのネットワークアドレス部の値とが一致しない事象が生じ得る。この場合、ＣＰＵ２２は、端末装置ＴＥのユーザに新ＩＰアドレスの指定を促して、ＳＴＡＴＩＣ方式に従って新ＩＰアドレスを決定し、端末装置ＴＥのＩＰアドレスとして、ＩＰｔｅに代えて、当該新ＩＰアドレスの値を設定してもよい。
【００７６】
（変形例４）上記の第２実施例では、ＣＰＵ２２は、端末装置ＴＥのＩＰアドレスとして、メモリ２４から取得されたＩＰｉｎを新たに設定する（図４のＳ１１０）。これに代えて、ＣＰＵ２２は、ＩＰｉｎに基づく別のＩＰアドレスの値を候補ＩＰアドレス（即ち新ＩＰアドレス）として決定してもよい。例えば、ＣＰＵ２２は、ＩＰｉｎ「１９２．１６８．１００．４」のうち、ネットワークアドレス部「１９２．１６８．１００」を除く部分（即ちホスト部）を変更して、別のＩＰアドレスの値「１９２．１６８．１００．５」を候補ＩＰアドレス（即ち新ＩＰアドレス）として決定してもよい。そして、ＣＰＵ２２は、端末装置ＴＥのＩＰアドレスとして、当該別のＩＰアドレスの値を設定してもよい。即ち、「第１の通信装置の過去のＩＰアドレス」と「新ＩＰアドレス」とは、上記の実施例のように同じＩＰアドレスであってもよいし、本変形例のように異なるＩＰアドレスであってもよい。
【００７７】
（変形例５）上記の各実施例では、図２又は図４の処理のトリガは、端末装置ＴＥからプリンタＰＲに印刷データを含む印刷指示が送信され、当該印刷データに従った印刷がプリンタＰＲで失敗した場合である。これに代えて、図２又は図４の処理のトリガは、例えば、所定の時刻が到来する場合であってもよい。即ち、ＣＰＵ２２は、プリンタＰＲのノード名を含む探索パケットをＬＡＮ４に定期的にブロードキャストして（Ｓ１０参照）、プリンタＰＲから応答パケットを受信してもよい（Ｓ１２参照）。そして、ＣＰＵ２２は、ＩＰｐｒのネットワークアドレス部の値と、ＩＰｔｅのネットワークアドレス部の値と、が一致しないと判断する場合に、端末装置ＴＥのＩＰアドレスとして、ＩＰｔｅに代えて、新ＩＰアドレスを設定してもよい。即ち、「ブロードキャスト通信実行部」が要求パケットをブロードキャストするタイミングは、現行ＩＰアドレスを利用した対象データのユニキャスト通信が第２の通信装置と実行不可能である場合に限られない。
【００７８】
（変形例６）上記の各実施例では、ＣＰＵ２２は、印刷データのユニキャスト通信をプリンタＰＲと実行した後に、端末装置ＴＥのＩＰアドレスとして、新ＩＰアドレスに代えて、ＩＰｔｅを再び設定する（図２のＳ３２、図４のＳ１１６）。これに代えて、ＣＰＵ２２は、新ＩＰアドレスを維持してもよい。即ち、「設定部」は、第１の通信装置のＩＰアドレスとして、新ＩＰアドレスに代えて、現行ＩＰアドレスを再び設定しなくてもよい。
【００７９】
（変形例７）上記の各実施例では、「第１の通信装置」、「第２の通信装置」は、それぞれ、端末装置ＴＥ、プリンタＰＲである。変形例では、例えば、「第１の通信装置」、「第２の通信装置」が、それぞれ、端末装置ＴＥ、スキャナであってもよい。この場合、「対象データ」は、スキャンデータであってもよい。また、「第２の通信装置」は、プリンタ及びスキャナに限られず、例えば、多機能機、コピー機、ＦＡＸ、電話機、ＰＤＡ、携帯電話、サーバ等であってもよい。また、別の変形例では、「第１の通信装置」は、端末装置ＴＥに限られず、例えば、プリンタ、スキャナ、多機能機、コピー機、ＦＡＸ、電話機、サーバ等であってもよい。
【００８０】
（変形例８）上記の各実施例では、端末装置ＴＥのＣＰＵ２２がプログラム（即ちソフトウェア）を実行することによって、図２〜図５の各処理が実現される。これに代えて、図２〜図５の各処理のうちの少なくとも１つの処理は、論理回路等のハードウェアによって実現されてもよい。
【００８１】
また、本明細書または図面に説明した技術要素は、単独であるいは各種の組合せによって技術的有用性を発揮するものであり、出願時請求項記載の組合せに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
【符号の説明】
【００８２】
２：通信システム、４：ＬＡＮ、１２：操作部、１４：表示部、１６：ネットワークＩ／Ｆ、２０：制御部、２２：ＣＰＵ、２４：メモリ、６０：第１のＤＨＣＰサーバ、７０：第２のＤＨＣＰサーバ、ＴＥ：端末装置、ＰＲ：プリンタ、ＩＰｔｅ：端末装置ＴＥのＩＰアドレスの値、ＩＰｐｒ：プリンタＰＲのＩＰアドレスの値、ＳＭｐｒ：プリンタＰＲのサブネットマスクの値、ＩＰｃａ２：候補ＩＰアドレスの値
【図１】
2015195532.tif 000003
【図２】
2015195532.tif 000004
【図３】
2015195532.tif 000005
【図４】
2015195532.tif 000006
【図５】
2015195532.tif 000007