JP2015195532A - communication device - Google Patents

communication device Download PDF

Info

Publication number
JP2015195532A
JP2015195532A JP2014073099A JP2014073099A JP2015195532A JP 2015195532 A JP2015195532 A JP 2015195532A JP 2014073099 A JP2014073099 A JP 2014073099A JP 2014073099 A JP2014073099 A JP 2014073099A JP 2015195532 A JP2015195532 A JP 2015195532A
Authority
JP
Japan
Prior art keywords
address
value
communication device
current
network
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2014073099A
Other languages
Japanese (ja)
Inventor
智美 白木
Tomomi Shiraki
智美 白木
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Brother Industries Ltd
Original Assignee
Brother Industries Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Brother Industries Ltd filed Critical Brother Industries Ltd
Priority to JP2014073099A priority Critical patent/JP2015195532A/en
Publication of JP2015195532A publication Critical patent/JP2015195532A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Mobile Radio Communication Systems (AREA)
  • Small-Scale Networks (AREA)

Abstract

PROBLEM TO BE SOLVED: To provide a novel technique for a communication device to appropriately execute unicast communication with another communication device.SOLUTION: A terminal device TE broadcasts a search packet to a LAN 4 (T14), and receives a response packet which includes an IPpr and an SMpr from a printer PR (T16), to judge whether or not the value of the network address part of the IPpr is coincident with the value of the network address part of an IPte (T18). The terminal device TE, when judging that the value of the network address part of the IPpr is not coincident with the value of the network address part of the IPte, newly sets, as the IP address of the terminal device TE, an IPca2 which includes the value of the network address part which is coincident with the value of the network address part of the IPpr (T30). This enables the terminal device TE to execute unicast communication of print data using the IPca2 with the printer PR (T32).

Description

本明細書では、他の通信装置と通信を実行するための通信装置を開示する。   The present specification discloses a communication apparatus for executing communication with another communication apparatus.

特許文献1の技術では、プリンタは、PCからローカルエリアネットワークにブロードキャストされた名前解決パケットを受信すると、PINGパケットをPCに送信する。プリンタは、PCからPINGパケットに対する応答パケットを受信しない場合に、プリンタとのユニキャスト通信が実行不可能であると判断し、プリンタ自身に新たなIPアドレスを設定する。   In the technique disclosed in Patent Document 1, when a printer receives a name resolution packet broadcast from a PC to a local area network, the printer transmits a PING packet to the PC. If the printer does not receive a response packet to the PING packet from the PC, the printer determines that unicast communication with the printer cannot be performed, and sets a new IP address for the printer itself.

特開2012−156910号公報JP 2012-156910 A

本明細書では、通信装置が他の通信装置とのユニキャスト通信を適切に実行するための新規な技術を開示する。   The present specification discloses a novel technique for a communication device to appropriately perform unicast communication with another communication device.

本明細書によって開示される第1の通信装置は、ブロードキャスト通信実行部と、応答パケット受信部と、判断部と、設定部と、ユニキャスト通信実行部と、を備える。ブロードキャスト通信実行部は、第1の通信装置とは異なる第2の通信装置の現在のIPアドレスである対象IPアドレスと、第2の通信装置の現在のサブネットマスクである対象サブネットマスクと、を要求するための要求パケットを、ローカルエリアネットワークにブロードキャストする。応答パケット受信部は、第2の通信装置から、ローカルエリアネットワークを介して、ブロードキャストされた要求パケットに対する応答パケットを受信する。応答パケットは、対象IPアドレスと、対象サブネットマスクと、を含む。判断部は、第2の通信装置から、ブロードキャストされた要求パケットに対する応答パケットが受信される場合に、応答パケットに含まれる対象IPアドレスの値と対象サブネットマスクの値とを用いて対象IPアドレスのネットワークアドレス部の値である対象ネットワークアドレス値を特定し、第1の通信装置の現在のIPアドレスである現行IPアドレスの値と第1の通信装置の現在のサブネットマスクである現行サブネットマスクの値とを用いて現行IPアドレスのネットワークアドレス部の値である現行ネットワークアドレス値を特定し、特定済みの対象ネットワークアドレス値と特定済みの現行ネットワークアドレス値とが一致するのか否かを判断する。設定部は、対象ネットワークアドレス値と現行ネットワークアドレス値とが一致しないと判断される場合に、第1の通信装置のIPアドレスとして、現行IPアドレスに代えて、対象ネットワークアドレス値に一致するネットワークアドレス部の値を含む新IPアドレスを設定する。ユニキャスト実行部は、第1の通信装置のIPアドレスとして新IPアドレスが設定された後に、ローカルエリアネットワークを介して、新IPアドレスを利用した対象データのユニキャスト通信を第2の通信装置と実行する。   A first communication device disclosed in the present specification includes a broadcast communication execution unit, a response packet reception unit, a determination unit, a setting unit, and a unicast communication execution unit. The broadcast communication execution unit requests a target IP address that is a current IP address of a second communication device different from the first communication device and a target subnet mask that is a current subnet mask of the second communication device. Broadcast a request packet to the local area network. The response packet receiving unit receives a response packet for the broadcasted request packet from the second communication device via the local area network. The response packet includes a target IP address and a target subnet mask. When the response packet for the broadcast request packet is received from the second communication device, the determination unit uses the target IP address value and the target subnet mask value included in the response packet to determine the target IP address. A target network address value that is a value of the network address portion is specified, a current IP address value that is the current IP address of the first communication device, and a current subnet mask value that is the current subnet mask of the first communication device Are used to identify the current network address value, which is the value of the network address portion of the current IP address, and determine whether the identified target network address value matches the identified current network address value. When it is determined that the target network address value does not match the current network address value, the setting unit replaces the current IP address with the network address that matches the target network address value as the IP address of the first communication device. Set a new IP address that contains the value of the part. After the new IP address is set as the IP address of the first communication device, the unicast execution unit performs unicast communication of the target data using the new IP address with the second communication device via the local area network. Run.

上記の構成によると、第1の通信装置は、要求パケットをブロードキャストして、第2の通信装置から対象IPアドレスと対象サブネットマスクとを含む応答パケットを受信し、対象ネットワークアドレス値と現行ネットワークアドレス値とが一致するのか否かを判断する。第1の通信装置は、対象ネットワークアドレス値と現行ネットワークアドレス値とが一致しないと判断する場合に、第1の通信装置のIPアドレスとして、現行IPアドレスに代えて、新IPアドレスを設定する。これにより、第1の通信装置は、新IPアドレスを利用した対象データのユニキャスト通信を第2の通信装置と適切に実行することができる。   According to the above configuration, the first communication device broadcasts the request packet, receives a response packet including the target IP address and the target subnet mask from the second communication device, and receives the target network address value and the current network address. It is determined whether or not the values match. When determining that the target network address value does not match the current network address value, the first communication device sets a new IP address instead of the current IP address as the IP address of the first communication device. Thereby, the 1st communication apparatus can perform appropriately the unicast communication of the object data using a new IP address with the 2nd communication apparatus.

なお、上記の第1の通信装置を実現するための制御方法、コンピュータプログラム、及び、当該コンピュータプログラムを記憶するコンピュータ読取可能記録媒体も、新規で有用である。また、上記の第1の通信装置と上記の第2の通信装置とを備える通信システムも、新規で有用である。   Note that a control method, a computer program, and a computer-readable recording medium storing the computer program for realizing the first communication apparatus are also novel and useful. A communication system including the first communication device and the second communication device is also new and useful.

通信システムの構成を示す。1 shows a configuration of a communication system. 第1実施例の端末装置の処理のフローチャートを示す。The flowchart of the process of the terminal device of 1st Example is shown. 第1実施例のシーケンス図を示す。The sequence diagram of a 1st example is shown. 第2実施例の端末装置の処理のフローチャートを示す。The flowchart of the process of the terminal device of 2nd Example is shown. 第2実施例のシーケンス図を示す。The sequence diagram of 2nd Example is shown.

(第1実施例)
(通信システム2の構成;図1)
図1に示されるように、通信システム2は、端末装置TEと、プリンタPRと、第1のDHCP(Dynamic Host Configuration Protocolの略)サーバ60と、第2のDHCPサーバ70と、を備える、各デバイスTE、PR、60、70は、LAN4に接続されており、LAN4を介して、相互に通信可能である。LAN4は、本実施例では有線LANであるが、変形例では無線LANであってもよい。
(First embodiment)
(Configuration of communication system 2; FIG. 1)
As shown in FIG. 1, the communication system 2 includes a terminal device TE, a printer PR, a first DHCP (abbreviation of Dynamic Host Configuration Protocol) server 60, and a second DHCP server 70. The devices TE, PR, 60 and 70 are connected to the LAN 4 and can communicate with each other via the LAN 4. The LAN 4 is a wired LAN in the present embodiment, but may be a wireless LAN in a modified example.

(端末装置TEの構成)
端末装置TEは、デスクトップPC等の据置型の端末装置である。変形例では、端末装置TEは、ノートPC、タブレットPC等の可搬型の端末装置であってもよい。端末装置TEは、操作部12と、表示部14と、ネットワークインターフェース16と、制御部20と、を備える。操作部12は、キーボード及びマウスを備える。ユーザは、操作部12を操作することによって、様々な指示を端末装置TEに与えることができる。表示部14は、様々な情報を表示するためのディスプレイである。ネットワークインターフェース16は、LAN4に接続されている。以下では、インターフェースのことを「I/F」と記載する。
(Configuration of terminal device TE)
The terminal device TE is a stationary terminal device such as a desktop PC. In a modification, the terminal device TE may be a portable terminal device such as a notebook PC or a tablet PC. The terminal device TE includes an operation unit 12, a display unit 14, a network interface 16, and a control unit 20. The operation unit 12 includes a keyboard and a mouse. The user can give various instructions to the terminal device TE by operating the operation unit 12. The display unit 14 is a display for displaying various information. The network interface 16 is connected to the LAN 4. Hereinafter, the interface is described as “I / F”.

制御部20は、CPU22と、メモリ24と、を備える。CPU22は、メモリ24に記憶されているプログラム(例えば、OSプログラム、後述の特定プログラム等)に従って様々な処理を実行するプロセッサである。また、メモリ24は、端末装置TEの現在のIPアドレスの値IPteと、端末装置TEの現在のサブネットマスクの値SMteと、を記憶する。値IPte、値SMteは、それぞれ、「192.168.1.2」、「255.255.255.0」である。即ち、端末装置TEのIPアドレスのネットワークドレス部の値は、「192.168.1」である。図1の状態では、これらの値IPte、SMteは、LAN4に接続されている第1のDHCPサーバ60によって割り当てられたものである。なお、以下では、値IPte、値SMteのことを、それぞれ、「IPte」、「SMte」と省略して記載することがある。   The control unit 20 includes a CPU 22 and a memory 24. The CPU 22 is a processor that executes various processes according to a program (for example, an OS program, a specific program described later) stored in the memory 24. Further, the memory 24 stores the current IP address value IPte of the terminal device TE and the current subnet mask value SMte of the terminal device TE. The value IPte and the value SMte are “192.168.1.2” and “255.255.255.0”, respectively. That is, the value of the network address part of the IP address of the terminal device TE is “192.168.1”. In the state of FIG. 1, these values IPte and SMte are assigned by the first DHCP server 60 connected to the LAN 4. In the following, the values IPte and SMte may be abbreviated as “IPte” and “SMte”, respectively.

メモリ24は、特定プログラムと、プリンタドライバと、を記憶する。プリンタドライバは、プリンタPRに印刷機能を実行させるためのプログラムである。特定プログラムは、端末装置TEが、端末装置TEとは異なるサブネットに属するプリンタPRとOSI参照モデルのアプリケーション層よりも下位層(例えば、物理層、データリンク層等)のデータのユニキャスト通信を実行するためのプログラムである。ここで、「プリンタPRが端末装置TEとは異なるサブネットに属する」とは、端末装置TEのIPアドレスのネットワークドレス部の値(例えば、192.168.1)と、プリンタPRのIPアドレスのネットワークアドレス部の値(例えば、192.168.100)と、が異なることを意味する。   The memory 24 stores a specific program and a printer driver. The printer driver is a program for causing the printer PR to execute a printing function. In the specific program, the terminal device TE performs unicast communication of data in a lower layer (eg, physical layer, data link layer, etc.) than the application layer of the printer PR and OSI reference model belonging to a different subnet from the terminal device TE It is a program to do. Here, “the printer PR belongs to a different subnet from the terminal device TE” means that the value of the IP address of the terminal device TE (for example, 192.168.1) and the network of the IP address of the printer PR This means that the value of the address part (for example, 192.168.100) is different.

端末装置TEがプリンタPRとは異なるサブネットに属する場合には、通常、端末装置TEは、プリンタPRとユニキャスト通信を実行することができない。例えば、端末装置TEが、プリンタPRのIPアドレスを送信先IPアドレスとしてデータを送信すると、当該データは、端末装置TEのゲートウェイに送信される。本実施例では、第1のDHCPサーバ60が当該ゲートウェイの機能を実現する。図1の状態では、第1のDHCPサーバ60(即ちゲートウェイ)のIPアドレスのネットワークアドレス部の値(即ち、192.168.1)は、端末装置TEのIPアドレスのネットワークアドレス部の値に一致するが、上記のデータの送信先であるプリンタPRのIPアドレスのネットワークアドレス部の値(即ち、192.168.100)に一致しない。そのため、第1のDHCPサーバ60は、端末装置TEから上記のデータを受信しても、上記のデータをプリンタPRに送信しない。その結果、端末装置TEは、プリンタPRとユニキャスト通信を実行することができない。   When the terminal device TE belongs to a different subnet from the printer PR, normally, the terminal device TE cannot execute unicast communication with the printer PR. For example, when the terminal device TE transmits data using the IP address of the printer PR as the transmission destination IP address, the data is transmitted to the gateway of the terminal device TE. In the present embodiment, the first DHCP server 60 realizes the function of the gateway. In the state of FIG. 1, the value of the network address part of the IP address of the first DHCP server 60 (ie, gateway) (ie, 192.168.1) matches the value of the network address part of the IP address of the terminal device TE. However, it does not match the value of the network address part (namely, 192.168.100) of the IP address of the printer PR that is the data transmission destination. Therefore, even if the first DHCP server 60 receives the data from the terminal device TE, the first DHCP server 60 does not transmit the data to the printer PR. As a result, the terminal device TE cannot execute unicast communication with the printer PR.

一方、本実施例の端末装置TEは、特定プログラムを備えるので、特定プログラムに従って、端末装置TEのゲートウェイ(即ち、第1のDHCPサーバ60)を経由せずに、プリンタPRとユニキャスト通信を直接的に実行することができる。   On the other hand, since the terminal apparatus TE of the present embodiment includes a specific program, the printer PR and the unicast communication are directly performed according to the specific program without passing through the gateway of the terminal apparatus TE (that is, the first DHCP server 60). Can be executed automatically.

特定プログラム及びプリンタドライバは、例えば、プリンタPRの出荷時にプリンタPRと共にパッケージされている情報記憶媒体(CD、DVD等)に格納されている。端末装置TEは、情報記憶媒体に格納されているこれらのプログラムをインストールして、これらのプログラムをメモリ24に記憶する。また、端末装置TEは、プリンタドライバをインストールして、プリンタPRのための印刷ポートを生成する際に、プリンタPRからプリンタPRのノード名を取得する。端末装置TEは、プリンタPRのノード名をメモリ24に記憶する。   The specific program and the printer driver are stored in, for example, an information storage medium (CD, DVD, etc.) packaged with the printer PR when the printer PR is shipped. The terminal device TE installs these programs stored in the information storage medium, and stores these programs in the memory 24. Further, when the terminal device TE installs a printer driver and generates a print port for the printer PR, the terminal device TE acquires the node name of the printer PR from the printer PR. The terminal device TE stores the node name of the printer PR in the memory 24.

(プリンタPRの構成)
プリンタPRは、印刷機能を実行可能な周辺機器(即ち端末装置TE等の周辺機器)である。プリンタPRの図示省略のメモリは、プリンタPRの現在のIPアドレスの値IPprと、プリンタPRの現在のサブネットマスクの値SMprと、を記憶する。値IPpr、値SMprは、それぞれ、「192.168.100.2」、「255.255.255.0」である。即ち、プリンタPRのIPアドレスのネットワークドレス部の値は、「192.168.100」である。図1の状態では、これらの値IPpr、SMprは、LAN4に接続されている第2のDHCPサーバ70によって割り当てられたものである。なお、以下では、値IPpr、値SMprのことを、それぞれ、「IPpr」、「SMpr」と省略して記載することがある。
(Configuration of printer PR)
The printer PR is a peripheral device that can execute a printing function (that is, a peripheral device such as the terminal device TE). The unillustrated memory of the printer PR stores the current IP address value IPpr of the printer PR and the current subnet mask value SMpr of the printer PR. The value IPpr and the value SMpr are “192.168.100.2” and “255.255.255.0”, respectively. That is, the value of the network address part of the IP address of the printer PR is “192.168.100”. In the state of FIG. 1, these values IPpr and SMpr are assigned by the second DHCP server 70 connected to the LAN 4. In the following, the value IPpr and the value SMpr may be abbreviated as “IPpr” and “SMpr”, respectively.

また、プリンタPRは、端末装置TEのメモリ24と同様に、上記の特定プログラムを備える。従って、プリンタPRは、特定プログラムに従って、プリンタPRのゲートウェイ(即ち、第2のDHCPサーバ70)を経由せずに、プリンタPRとは異なるサブネットに存在する端末装置TEとユニキャスト通信を実行することができる。   In addition, the printer PR includes the above specific program, like the memory 24 of the terminal device TE. Therefore, the printer PR executes unicast communication with the terminal device TE existing in a different subnet from the printer PR without going through the gateway of the printer PR (that is, the second DHCP server 70) according to the specific program. Can do.

(第1のDHCPサーバ60の構成)
第1のDHCPサーバ60は、LAN4に接続されているデバイス(例えば、端末装置TE、プリンタPR等)からの要求に応じて、上記のデバイスにIPアドレス及びサブネットマスクを割り当てる。また、第1のDHCPサーバ60は、一のデバイスからデータを受信し、受信されたデータを他のデバイスに転送するゲートウェイ機能を有する。第1のDHCPサーバ60が割り当て可能なIPアドレスの範囲(即ち「192.168.1.2〜254」)は、予め決められている。第1のDHCPサーバ60は、値IPdh1「192.168.1.1」を自己のIPアドレス(即ち、ゲートウェイアドレス)として使用し、値SMdh1「255.255.255.0」を自己のサブネットマスクとして使用する。なお、以下では、値IPdh1、値SMdh1のことを、それぞれ、「IPdh1」、「SMdh1」と省略して記載することがある。
(Configuration of the first DHCP server 60)
The first DHCP server 60 assigns an IP address and a subnet mask to the above device in response to a request from a device (for example, terminal device TE, printer PR, etc.) connected to the LAN 4. The first DHCP server 60 has a gateway function for receiving data from one device and transferring the received data to another device. The range of IP addresses that can be assigned by the first DHCP server 60 (ie, “192.168.1.2 to 254”) is determined in advance. The first DHCP server 60 uses the value IPdh1 “192.168.1.1” as its own IP address (ie, gateway address) and the value SMdh1 “255.255.255.0” as its own subnet mask. Use as Hereinafter, the value IPdh1 and the value SMdh1 may be abbreviated as “IPdh1” and “SMdh1”, respectively.

(第2のDHCPサーバ70の構成)
第2のDHCPサーバ70は、第1のDHCPサーバ60とは異なるDHCPサーバであり、LAN4に接続されているデバイスからの要求に応じて、上記のデバイスにIPアドレス及びサブネットマスクを割り当てる。また、第2のDHCPサーバ70は、ゲートウェイ機能を有する。第2のDHCPサーバ60は、「192.168.100.2〜254」の範囲内のIPアドレスを割り当て可能である。第2のDHCPサーバ70は、値IPdh2「192.168.100.1」を自己のIPアドレス(即ち、ゲートウェイアドレス)として使用し、値SMdh2「255.255.255.0」を自己のサブネットマスクとして使用する。なお、以下では、値IPdh2、値SMdh2のことを、それぞれ、「IPdh2」、「SMdh2」と省略して記載することがある。
(Configuration of the second DHCP server 70)
The second DHCP server 70 is a DHCP server different from the first DHCP server 60, and assigns an IP address and a subnet mask to the above device in response to a request from a device connected to the LAN 4. The second DHCP server 70 has a gateway function. The second DHCP server 60 can assign an IP address in the range of “192.168.100.2 to 254”. The second DHCP server 70 uses the value IPdh2 “192.168.100.1” as its own IP address (ie, gateway address) and uses the value SMdh2 “255.255.255.0” as its own subnet mask. Use as Hereinafter, the value IPdh2 and the value SMdh2 may be abbreviated as “IPdh2” and “SMdh2”, respectively.

本実施例では、2個のDHCPサーバ60、70がLAN4に接続されている。このような状況において、図1の状態では、第1のDHCPサーバ60によって端末装置TEにIPteが割り当てられており、第1のDHCPサーバ60とは異なる第2のDHCPサーバ70によってプリンタPRにIPprが割り当てられ得る。このような状況では、IPteのネットワークアドレス部の値(即ち、192.168.1)と、IPprのネットワークアドレス部の値(即ち、192.168.100)と、が一致しない。このために、端末装置TEとプリンタPRとの間でゲートウェイを介したユニキャスト通信を実行不可能である。仮に、このような状況が継続すると、プリンタPRが印刷データを適切に受信できないので、プリンタPRに印刷を実行させることができない。このような事象が発生するのを抑制するために、本実施例では、端末装置TEは、次に説明する図2の処理を実行する。   In this embodiment, two DHCP servers 60 and 70 are connected to the LAN 4. In such a situation, in the state of FIG. 1, IPte is assigned to the terminal device TE by the first DHCP server 60, and the IPpr is assigned to the printer PR by the second DHCP server 70 different from the first DHCP server 60. Can be assigned. In such a situation, the value of the network address part of IPte (that is, 192.168.1) does not match the value of the network address part of IPpr (that is, 192.168.100). For this reason, it is impossible to execute unicast communication via the gateway between the terminal device TE and the printer PR. If such a situation continues, the printer PR cannot properly receive the print data, and the printer PR cannot execute printing. In order to suppress the occurrence of such an event, in the present embodiment, the terminal device TE executes the process of FIG. 2 described next.

(端末装置TEが実行する処理)
続いて、図2を参照して、端末装置TEのCPU22が実行する処理の内容について説明する。図2の処理は、端末装置TEからプリンタPRに印刷データを含む印刷指示が送信され、当該印刷データに従った印刷がプリンタPRで失敗したことをトリガとして開始される。具体的には、端末装置TEのCPU22は、印刷指示をプリンタPRに送信してから所定期間が経過しても、プリンタPRから印刷指示に対する応答パケットを受信しない場合に、プリンタPRで印刷が失敗したと判断して、図2の処理を開始する。より具体的には、以下のような状況である。
(Processing executed by the terminal device TE)
Then, with reference to FIG. 2, the content of the process which CPU22 of the terminal device TE performs is demonstrated. The processing in FIG. 2 is started when a print instruction including print data is transmitted from the terminal device TE to the printer PR, and printing according to the print data has failed in the printer PR. Specifically, if the CPU 22 of the terminal device TE does not receive a response packet for the print instruction from the printer PR even after a predetermined period has elapsed since the print instruction is transmitted to the printer PR, printing by the printer PR fails. 2 is started, the processing of FIG. 2 is started. More specifically, the situation is as follows.

端末装置TEのCPU22は、プリンタPRでの印刷の実行の指示がユーザから与えられる場合に、メモリ24内のプリンタPRのノード名を利用して、名前解決を実行する。例えば、CPU22は、図示省略の名前解決サーバを利用して、又は、メモリ24に記憶されているプリンタPRのノード名のブロードキャスト通信を利用して、プリンタPRのIPアドレスの値IPprを取得する。そして、CPU22は、送信先アドレスとしてIPprを指定して、印刷データを含む印刷指示を送信する。例えば、端末装置TEとプリンタPRとが異なるサブネットに属している場合には、プリンタPRが印刷データを適切に受信できないので、プリンタPRが印刷指示に対する応答パケットを送信しない。この場合、端末装置TEのCPU22は、プリンタPRから印刷指示に対する応答パケットを受信しない。また、例えば、端末装置TEとプリンタPRとが同一のサブネットに属していても、プリンタPRが何らかの原因(例えばメモリフル)に起因して印刷指示を適切に受信することができない場合には、プリンタPRが印刷指示に対する応答パケットを送信しない。この場合も、端末装置TEのCPU22は、プリンタPRから印刷指示に対する応答パケットを受信しない。   The CPU 22 of the terminal device TE executes name resolution using the node name of the printer PR in the memory 24 when an instruction to execute printing by the printer PR is given from the user. For example, the CPU 22 acquires the value IPpr of the IP address of the printer PR using a name resolution server (not shown) or using broadcast communication of the node name of the printer PR stored in the memory 24. Then, the CPU 22 designates IPpr as a transmission destination address and transmits a print instruction including print data. For example, if the terminal device TE and the printer PR belong to different subnets, the printer PR does not properly receive print data, so the printer PR does not transmit a response packet for the print instruction. In this case, the CPU 22 of the terminal device TE does not receive a response packet for the print instruction from the printer PR. For example, even if the terminal device TE and the printer PR belong to the same subnet, if the printer PR cannot properly receive a print instruction due to some cause (for example, memory full), the printer The PR does not transmit a response packet for the print instruction. Also in this case, the CPU 22 of the terminal device TE does not receive a response packet for the print instruction from the printer PR.

S10では、端末装置TEのCPU22は、メモリ24に記憶されているプリンタPRのノード名を含む探索パケットをLAN4にブロードキャストする。LAN4に接続されている各デバイス(即ち、プリンタPR、第1及び第2のDHCPサーバ60、70)は、探索パケットを受信する。探索パケットに含まれるノード名に一致しないノード名を有するデバイス(即ち、第1及び第2のDHCPサーバ60、70)は、探索パケットを受信しても、探索パケットに対する応答パケットを送信しない。一方、探索パケットに含まれるノード名に一致するノード名を有するプリンタPRは、探索パケットを受信すると、特定プログラムに従ったユニキャスト通信を実行して、探索パケットに対する応答パケットを端末装置TEに送信する。これにより、仮に、端末装置TEとプリンタPRとが異なるサブネットに属していても、プリンタPRは、探索パケットに対する応答パケットを端末装置TEに適切に送信することができる。   In S <b> 10, the CPU 22 of the terminal device TE broadcasts a search packet including the node name of the printer PR stored in the memory 24 to the LAN 4. Each device connected to the LAN 4 (that is, the printer PR, the first and second DHCP servers 60 and 70) receives the search packet. Even if a device having a node name that does not match the node name included in the search packet (that is, the first and second DHCP servers 60 and 70) receives the search packet, it does not transmit a response packet to the search packet. On the other hand, when receiving the search packet, the printer PR having a node name that matches the node name included in the search packet performs unicast communication according to the specific program and transmits a response packet to the search packet to the terminal device TE. To do. Accordingly, even if the terminal device TE and the printer PR belong to different subnets, the printer PR can appropriately transmit a response packet to the search packet to the terminal device TE.

S12では、CPU22は、プリンタPRから探索パケットに対する応答パケットを受信する。当該応答パケットは、IPpr及びSMprを含む。   In S12, the CPU 22 receives a response packet for the search packet from the printer PR. The response packet includes IPpr and SMpr.

S14では、CPU22は、IPprのネットワークアドレス部の値と、IPteのネットワークアドレス部の値と、が一致するか否かを判断する。具体的には、CPU22は、S12で受信された応答パケットに含まれるIPpr及びSMprを用いて、IPprのネットワークアドレス部の値(例えば、「192.168.100」)を特定し、メモリ24に記憶されているIPte及びSMteを用いて、IPteのネットワークアドレス部の値(例えば、「192.168.1」)を特定する。そして、CPU22は、特定済みの2個の値が一致するか否かを判断する。   In S14, the CPU 22 determines whether or not the value of the network address part of IPpr matches the value of the network address part of IPte. Specifically, the CPU 22 specifies the value of the network address part of IPpr (for example, “192.168.100”) using the IPpr and SMpr included in the response packet received in S12, and stores them in the memory 24. Using the stored IPte and SMte, the value of the IPte network address part (for example, “192.168.1”) is specified. Then, the CPU 22 determines whether or not the two specified values match.

CPU22は、IPprのネットワークアドレス部の値と、IPteのネットワークアドレス部の値と、が一致すると判断する場合(S14でYES)には、図2の処理を終了する。S14でYESと判断される状況としては、例えば、端末装置TEとプリンタPRとが同一のサブネットに属しているが、プリンタPRが何らかの原因(例えばメモリフル)に起因して印刷指示を適切に受信することができない状況を挙げることができる。   If the CPU 22 determines that the value of the network address part of IPpr matches the value of the network address part of IPte (YES in S14), the process of FIG. As a situation where YES is determined in S14, for example, the terminal device TE and the printer PR belong to the same subnet, but the printer PR appropriately receives a print instruction due to some cause (for example, memory full). List situations that you can't do.

一方において、CPU22は、IPprのネットワークアドレス部の値と、IPteのネットワークアドレス部の値と、が一致しないと判断する場合(S14でNO)には、S16において、DHCP DiscoverをLAN4にブロードキャストする。DHCP Discoverは、DHCP Discoverの送信元である端末装置TEのMACアドレスを含む。   On the other hand, when the CPU 22 determines that the value of the network address part of IPpr does not match the value of the network address part of IPte (NO in S14), the CPU 22 broadcasts the DHCP Discover to the LAN 4 in S16. The DHCP Discover includes the MAC address of the terminal device TE that is the transmission source of the DHCP Discover.

LAN4に接続されている各デバイス(例えば、プリンタPR、第1及び第2のDHCPサーバ60、70)は、DHCP Discoverを受信する。DHCPサーバ以外のデバイス(例えば、プリンタPR)は、DHCP Discoverを受信しても、応答しない。   Each device (for example, the printer PR and the first and second DHCP servers 60 and 70) connected to the LAN 4 receives the DHCP Discover. A device other than the DHCP server (for example, the printer PR) does not respond even if it receives the DHCP Discover.

一方、第1のDHCPサーバ60は、DHCP Discoverを受信すると、DHCP OfferをLAN4にブロードキャストする。DHCP Offerは、端末装置TEに設定されるべき新IPアドレスの候補である候補IPアドレスの値IPca1と、第1のDHCPサーバ60のサブネットマスクの値SMdh1と、第1のDHCPサーバ60のIPアドレスの値IPdh1と、を含む。DHCP Offerは、さらに、DHCP Discoverに含まれる端末装置TEのMACアドレスを含む。このために、端末装置TE以外のデバイス(例えば、プリンタPR等)は、DHCP Offerを受信しても、DHCP Offerに応じた処理を実行しない。   On the other hand, when the first DHCP server 60 receives the DHCP Discover, it broadcasts the DHCP Offer to the LAN 4. The DHCP Offer is a candidate IP address value IPca1 that is a candidate for a new IP address to be set in the terminal device TE, a subnet mask value SMdh1 of the first DHCP server 60, and an IP address of the first DHCP server 60. Value IPdh1. The DHCP Offer further includes the MAC address of the terminal device TE included in the DHCP Discover. For this reason, even if a device other than the terminal device TE (for example, the printer PR) receives the DHCP Offer, it does not execute a process corresponding to the DHCP Offer.

同様に、第2のDHCPサーバ70は、DHCP Discoverを受信すると、DHCP OfferをLAN4にブロードキャストする。DHCP Offerは、候補IPアドレスの値IPca2と、第2のDHCPサーバ70のサブネットマスクの値SMdh2と、第2のDHCPサーバ70のIPアドレスの値IPdh2と、端末装置TEのMACアドレスと、を含む。   Similarly, when receiving the DHCP Discover, the second DHCP server 70 broadcasts the DHCP Offer to the LAN 4. The DHCP Offer includes a candidate IP address value IPca2, a subnet mask value SMdh2 of the second DHCP server 70, an IP address value IPdh2 of the second DHCP server 70, and a MAC address of the terminal device TE. .

S18では、CPU22は、第1のDHCPサーバ60と第2のDHCPサーバ70とのそれぞれから1個のDHCP Offerを受信する。   In S <b> 18, the CPU 22 receives one DHCP Offer from each of the first DHCP server 60 and the second DHCP server 70.

次いで、S20では、CPU22は、受信済みの2個のDHCP Offerに含まれる2個の候補IPアドレスの中から、1個の候補IPアドレスを選択する。具体的には、まず、CPU22は、第1のDHCPサーバ60から受信されたDHCP Offerに含まれるIPca1及びSMdh1を用いて、IPca1のネットワークアドレス部の値を特定する。同様に、CPU22は、第2のDHCPサーバ70から受信されたDHCP Offerに含まれるIPca2及びSMdh2を用いて、IPca2のネットワークアドレス部の値を特定する。そして、CPU22は、S14で特定済みのIPprのネットワークアドレス部の値に一致するネットワークアドレス部の値を含む1個の候補IPアドレス(例えばIPca2)を選択する。   Next, in S20, the CPU 22 selects one candidate IP address from the two candidate IP addresses included in the two received DHCP Offers. Specifically, first, the CPU 22 specifies the value of the network address part of IPca1 using IPca1 and SMdh1 included in the DHCP Offer received from the first DHCP server 60. Similarly, the CPU 22 specifies the value of the network address part of IPca2 using IPca2 and SMdh2 included in the DHCP Offer received from the second DHCP server 70. Then, the CPU 22 selects one candidate IP address (for example, IPca2) including the value of the network address part that matches the value of the network address part of the IPpr specified in S14.

次いで、S22では、CPU22は、S20で選択された候補IPアドレス(例えばIPca2)を含むRequestを、LAN4にブロードキャストする。   Next, in S22, the CPU 22 broadcasts a Request including the candidate IP address (for example, IPca2) selected in S20 to the LAN 4.

S22のRequestに含まれる候補IPアドレスを端末装置TEに割り当てたDHCPサーバは、Requestを受信すると、ACKをLAN4にブロードキャストする。当該ACKは、端末装置TEのMACアドレスを含む。そのため、端末装置TE以外のデバイス(例えば、プリンタPR等)は、ACKを受信しても、ACKに応じた処理を実行しない。   When the DHCP server that has assigned the candidate IP address included in the request in S22 to the terminal device TE receives the request, it broadcasts an ACK to the LAN 4. The ACK includes the MAC address of the terminal device TE. Therefore, devices other than the terminal device TE (for example, the printer PR) do not execute processing according to the ACK even when the ACK is received.

S24では、CPU22は、ACKを受信することを監視する。CPU22は、ACKを受信する場合に、S24でYESと判断し、S26に進む。   In S24, the CPU 22 monitors reception of ACK. When receiving the ACK, the CPU 22 determines YES in S24 and proceeds to S26.

S26では、CPU22は、端末装置TEのIPアドレスとして、IPteに代えて、S20で選択された候補IPアドレスの値(例えばIPca2)を新たに設定する(即ち、メモリ24に記憶する)。また、CPU22は、当該候補IPアドレスを含む受信済みのDHCP Offerから、DHCPサーバのサブネットマスク(例えばSMdh2)とDHCPサーバのIPアドレス(例えばIPdh2)とを抽出する。そして、CPU22は、端末装置TEのサブネットマスクとして、SMteに代えて、抽出済みのサブネットマスクの値(例えばSMdh2)を新たに設定する。また、CPU22は、端末装置TEのゲートウェイアドレスとして、現在のゲートウェイアドレスの値IPdh1に代えて、抽出済みのDHCPサーバのIPアドレスの値(例えばIPdh2)を新たに設定する。即ち、端末装置TEのゲートウェイが変更される。   In S26, instead of IPte, the CPU 22 newly sets the value (for example, IPca2) of the candidate IP address selected in S20 as the IP address of the terminal device TE (ie, stores it in the memory 24). Further, the CPU 22 extracts the DHCP server subnet mask (for example, SMdh2) and the DHCP server IP address (for example, IPdh2) from the received DHCP Offer including the candidate IP address. Then, the CPU 22 newly sets a value of the extracted subnet mask (for example, SMdh2) instead of SMte as the subnet mask of the terminal device TE. Further, the CPU 22 newly sets the IP address value (for example, IPdh2) of the extracted DHCP server instead of the current gateway address value IPdh1 as the gateway address of the terminal device TE. That is, the gateway of the terminal device TE is changed.

S28では、CPU22は、S26で設定済みの新IPアドレスを利用して、即ち、送信元アドレスとして新IPアドレスが指定されたユニキャスト通信を実行して、印刷データをプリンタPRに送信する。なお、CPU22は、送信先アドレスとしてプリンタPRのIPアドレスIPprを指定する。S28が実行される状況では、端末装置TEのIPアドレス(即ち新IPアドレス)のネットワークアドレス部の値と、IPprのネットワークアドレス部の値と、が一致するので、CPU22は、新IPアドレスを利用した印刷指示のユニキャスト通信をプリンタPRと適切に実行することができる。なお、変形例では、CPU22は、S28の処理を実行する前に、メモリ24内のプリンタPRのノード名を利用して、名前解決を再び実行して、プリンタPRのIPアドレスIPprを再び取得してもよい。そして、S28では、CPU22は、再び取得されたIPprを送信先アドレスとして指定して、印刷データを送信してもよい。   In S28, the CPU 22 uses the new IP address set in S26, that is, executes unicast communication in which the new IP address is specified as the transmission source address, and transmits the print data to the printer PR. Note that the CPU 22 designates the IP address IPpr of the printer PR as the transmission destination address. In the situation where S28 is executed, the value of the network address portion of the IP address (ie, the new IP address) of the terminal device TE matches the value of the network address portion of the IPpr, so the CPU 22 uses the new IP address. The unicast communication of the print instruction can be appropriately executed with the printer PR. In the modification, the CPU 22 performs name resolution again using the node name of the printer PR in the memory 24 before executing the process of S28, and obtains the IP address IPpr of the printer PR again. May be. In S28, the CPU 22 may transmit the print data by specifying the acquired IPpr as the transmission destination address again.

プリンタPRは、端末装置TEから印刷指示を受信すると、ユニキャスト通信を実行して印刷指示に対する応答パケットを端末装置TEに送信し、印刷指示に含まれる印刷データによって表わされる画像の印刷を実行する。また、プリンタPRは、印刷が完了すると、ユニキャスト通信を実行して印刷完了通知を端末装置TEに送信する。   When the printer PR receives the print instruction from the terminal device TE, the printer PR executes unicast communication, transmits a response packet to the print instruction to the terminal device TE, and executes printing of the image represented by the print data included in the print instruction. . Further, when printing is completed, the printer PR performs unicast communication and transmits a print completion notification to the terminal device TE.

S30では、CPU22は、プリンタPRから印刷成功通知を受信する。そして、S32では、CPU22は、端末装置TEのIPアドレスとして、新IPアドレスの値に代えて、端末装置TEの元のIPアドレスの値IPteを再び設定する。S32が終了すると、図2の処理が終了する。なお、変形例では、CPU22は、プリンタPRから印刷成功通知を受信しなくてもよい。この場合、CPU22は、印刷指示をプリンタPRに送信した後に、印刷成功通知を受信しなくても、端末装置TEのIPアドレスとして、新IPアドレスの値に代えて、端末装置TEの元のIPアドレスの値IPteを再び設定してもよい。   In S30, the CPU 22 receives a print success notification from the printer PR. In S32, the CPU 22 sets again the value IPte of the original IP address of the terminal device TE, instead of the value of the new IP address, as the IP address of the terminal device TE. When S32 ends, the process of FIG. 2 ends. In the modification, the CPU 22 may not receive a print success notification from the printer PR. In this case, the CPU 22 transmits the print instruction to the printer PR and, instead of receiving the print success notification, replaces the value of the new IP address as the IP address of the terminal device TE with the original IP of the terminal device TE. The address value IPte may be set again.

(具体的なケース;図3)
続いて、図3を参照して、図2のフローチャートに従って実現される具体的なケースの内容を説明する。なお、図3では、ブロードキャスト通信、ユニキャスト通信が、それぞれ、二点鎖線、実線で示されている。
(Specific case: Fig. 3)
Next, with reference to FIG. 3, the contents of a specific case realized according to the flowchart of FIG. 2 will be described. In FIG. 3, broadcast communication and unicast communication are indicated by a two-dot chain line and a solid line, respectively.

T10では、端末装置TEは、ゲートウェイを介した通常のユニキャスト通信を実行して、印刷指示をプリンタPRに送信する。印刷指示は、送信先アドレスとしてIPprを含み、送信元アドレスとしてIPteを含む。しかしながら、IPprのネットワークアドレス部の値と、IPteのネットワークアドレス部の値と、が一致しないので、端末装置TEのゲートウェイである第1のDHCPサーバ60は、印刷指示をプリンタPRに送信しない。この結果、プリンタPRは、端末装置TEから印刷指示を受信することができない。   In T10, the terminal apparatus TE performs normal unicast communication via the gateway, and transmits a print instruction to the printer PR. The print instruction includes IPpr as the transmission destination address and IPte as the transmission source address. However, since the value of the network address part of IPpr and the value of the network address part of IPte do not match, the first DHCP server 60 that is the gateway of the terminal device TE does not transmit a print instruction to the printer PR. As a result, the printer PR cannot receive a print instruction from the terminal device TE.

T12では、端末装置TEは、印刷指示を送信してから所定期間が経過しても、プリンタPRから印刷指示に対する応答パケットを受信しないので、印刷が失敗したと判断する(図2の処理のトリガ)。そして、T14では、端末装置TEは、プリンタPRのノード名を含む探索パケットをLAN4にブロードキャストする(図2のS10)。   At T12, the terminal apparatus TE determines that printing has failed because it does not receive a response packet to the print instruction from the printer PR even after a predetermined period has elapsed since the print instruction was transmitted (trigger of the process in FIG. 2). ). At T14, the terminal device TE broadcasts a search packet including the node name of the printer PR to the LAN 4 (S10 in FIG. 2).

T16では、プリンタPRは、端末装置TEから探索パケットを受信すると、特定プログラムに従ったユニキャスト通信を実行して、IPpr及びSMprを含む応答パケットを端末装置TEに送信する。   In T16, when receiving the search packet from the terminal device TE, the printer PR performs unicast communication according to the specific program, and transmits a response packet including IPpr and SMpr to the terminal device TE.

T18では、端末装置TEは、プリンタPRから探索パケットに対する応答パケットを受信すると(S12)、IPprのネットワークアドレス部の値と、IPteのネットワークアドレス部の値と、が一致しないと判断する(S14でNO)。そして、T20では、端末装置TEは、端末装置TEのMACアドレスを含むDHCP DiscoverをLAN4にブロードキャストする(S16)。   In T18, when the terminal device TE receives a response packet to the search packet from the printer PR (S12), it determines that the value of the network address part of IPpr and the value of the network address part of IPte do not match (in S14). NO). In T20, the terminal device TE broadcasts DHCP Discover including the MAC address of the terminal device TE to the LAN 4 (S16).

T22では、第1のDHCPサーバ60は、DHCP Discoverを受信すると、IPca1「192.168.1.3」と、SMdh1と、IPdh1と、端末装置TEのMACアドレスと、を含むDHCP OfferをLAN4にブロードキャストする。また、T24では、第2のDHCPサーバ70は、DHCP Discoverを受信すると、IPca2「192.168.100.3」と、SMdh2と、IPdh2と、端末装置TEのMACアドレスと、を含むDHCP OfferをLAN4にブロードキャストする。   In T22, when the first DHCP server 60 receives the DHCP Discover, the DHCP Offer including the IPca1 “192.168.1.3”, the SMdh1, the IPdh1, and the MAC address of the terminal device TE is set to the LAN4. Broadcast. In T24, when the second DHCP server 70 receives the DHCP Discover, the second DHCP server 70 receives a DHCP Offer including IPca2 “192.168.100.3”, SMdh2, IPdh2, and the MAC address of the terminal device TE. Broadcast to LAN4.

T25では、端末装置TEは、2個のDHCP Offerを受信すると、2個のDHCP Offerに含まれる2個の候補IPアドレスの中から、IPprのネットワークアドレス部の値に一致するネットワークアドレス部の値を含む候補IPアドレス(即ちIPca2)を選択する(S20)。次いで、T26では、端末装置TEは、IPca2を含むRequestを、LAN4にブロードキャストする(S22)。   In T25, when the terminal device TE receives two DHCP Offers, the value of the network address part that matches the value of the network address part of the IPpr from the two candidate IP addresses included in the two DHCP Offers. A candidate IP address including IP (ie, IPca2) is selected (S20). Next, in T26, the terminal apparatus TE broadcasts a request including IPca2 to the LAN 4 (S22).

T28では、第2のDHCPサーバ70は、Requestを受信すると、ACKをLAN4にブロードキャストする。   At T28, when the second DHCP server 70 receives the request, the second DHCP server 70 broadcasts an ACK to the LAN 4.

T30では、端末装置TEは、ACKを受信すると(S24でYES)、端末装置TEのIPアドレスとして、IPteに代えて、IPca2を設定する(S26)。また、端末装置TEは、端末装置TEのサブネットマスクとして、SMteに代えて、SMdh2を新たに設定する。また、端末装置TEは、端末装置TEのゲートウェイアドレスとして、IPdh1に代えて、IPdh2を新たに設定する。即ち、端末装置TEのゲートウェイが、第1のDHCPサーバ60から第2のDHCPサーバ70に変更される。   In T30, when receiving the ACK (YES in S24), the terminal apparatus TE sets IPca2 instead of IPte as the IP address of the terminal apparatus TE (S26). Further, the terminal apparatus TE newly sets SMdh2 as the subnet mask of the terminal apparatus TE instead of SMte. Further, the terminal device TE newly sets IPdh2 instead of IPdh1 as the gateway address of the terminal device TE. That is, the gateway of the terminal device TE is changed from the first DHCP server 60 to the second DHCP server 70.

T32では、端末装置TEは、ゲートウェイを介した通常のユニキャスト通信を実行して、印刷指示をプリンタPRに送信する(S28)。印刷指示は、送信先アドレスとしてIPprを含み、送信元アドレスとしてIPca2を含む。IPprのネットワークアドレス部の値と、IPca2のネットワークアドレス部の値と、が一致するので、端末装置TEのゲートウェイである第2のDHCPサーバ70は、印刷指示をプリンタPRに送信する。   In T32, the terminal apparatus TE executes normal unicast communication via the gateway and transmits a print instruction to the printer PR (S28). The print instruction includes IPpr as the transmission destination address and IPca2 as the transmission source address. Since the value of the network address part of IPpr matches the value of the network address part of IPca2, the second DHCP server 70, which is the gateway of the terminal apparatus TE, transmits a print instruction to the printer PR.

T34では、プリンタPRは、端末装置TEから印刷指示を受信すると、印刷データによって表わされる画像の印刷を実行する。そして、T36では、プリンタPRは、ゲートウェイを介した通常のユニキャスト通信を実行して、印刷成功通知を端末装置TEに送信する。   In T34, when the printer PR receives a print instruction from the terminal device TE, the printer PR prints an image represented by the print data. In T36, the printer PR executes normal unicast communication via the gateway and transmits a print success notification to the terminal device TE.

T38では、端末装置TEは、プリンタPRから印刷成功通知を受信すると(S30)、端末装置TEのIPアドレスとして、IPca2に代えて、IPteを再び設定する(S32)。これにより、端末装置TEは、例えば、IPteを利用して、LAN4に接続されている他のデバイス(例えばプリンタPRとは異なるプリンタ)とのユニキャスト通信を実行することができる。   In T38, when the terminal device TE receives the print success notification from the printer PR (S30), IPte is set again instead of IPca2 as the IP address of the terminal device TE (S32). Thereby, the terminal apparatus TE can perform unicast communication with other devices (for example, a printer different from the printer PR) connected to the LAN 4 using, for example, IPte.

(第1実施例の効果)
図3に示されるように、端末装置TEは、印刷データのユニキャスト通信をプリンタPRと実行不可能な事象が発生する場合(T12)に、探索パケットをLAN4にブロードキャストして(T14)、プリンタPRからIPpr及びSMprを含む応答パケットを受信する(T16)。そして、端末装置TEは、IPprのネットワークアドレス部の値と、IPteのネットワークアドレス部の値と、が一致するのか否かを判断する(T18)。端末装置TEは、IPprのネットワークアドレス部の値とIPteのネットワークアドレス部の値とが一致しないと判断する場合に、端末装置TEのIPアドレスとして、IPprのネットワークアドレス部の値に一致するネットワークアドレス部の値を含むIPca2を新たに設定する(T30)。これにより、端末装置TEは、IPca2を利用した印刷データのユニキャスト通信をプリンタPRと実行することができる(T32)。即ち、端末装置TEは、印刷データのユニキャスト通信をプリンタPRと実行不可能な事象を適切に解消することができ、印刷データのユニキャスト通信をプリンタPRと適切に実行することができる。
(Effects of the first embodiment)
As shown in FIG. 3, the terminal device TE broadcasts a search packet to the LAN 4 (T14) when an event incapable of executing unicast communication of print data with the printer PR occurs (T12). A response packet including IPpr and SMpr is received from the PR (T16). Then, the terminal device TE determines whether or not the value of the network address part of IPpr matches the value of the network address part of IPte (T18). When the terminal device TE determines that the value of the network address part of IPpr does not match the value of the network address part of IPte, the network address that matches the value of the network address part of IPpr as the IP address of the terminal device TE IPca2 including the value of the part is newly set (T30). As a result, the terminal device TE can execute unicast communication of print data using the IPca2 with the printer PR (T32). That is, the terminal device TE can appropriately eliminate the event that cannot be executed with the printer PR for the unicast communication of the print data, and can appropriately execute the unicast communication of the print data with the printer PR.

(対応関係)
端末装置TE、プリンタPRが、それぞれ、「第1の通信装置」、「第2の通信装置」の一例である。第1及び第2のDHCPサーバ60、70が、「IPアドレス割当サーバ」の一例である。探索パケットが、「要求パケット」の一例である。IPte、SMte、IPpr、SMprが、ぞれぞれ、「現行IPアドレスの値」、「現行サブネットマスクの値」、「対象IPアドレスの値」、「対象サブネットマスクの値」の一例である。IPteのネットワークアドレス部の値、IPprのネットワークアドレス部の値が、それぞれ、「現行ネットワークアドレス値」、「対象ネットワークアドレス値」の一例である。IPca1及びIPca2が、「2個以上の候補IPアドレス」の値の一例であり、IPca2が、「1個の候補IPアドレス」及び「新IPアドレス」の値の一例である。印刷データが、「対象データ」の一例である。
(Correspondence)
The terminal device TE and the printer PR are examples of “first communication device” and “second communication device”, respectively. The first and second DHCP servers 60 and 70 are examples of the “IP address assignment server”. The search packet is an example of a “request packet”. IPte, SMte, IPpr, and SMpr are examples of “current IP address value”, “current subnet mask value”, “target IP address value”, and “target subnet mask value”, respectively. The value of the network address part of IPte and the value of the network address part of IPpr are examples of “current network address value” and “target network address value”, respectively. IPca1 and IPca2 are examples of “two or more candidate IP addresses”, and IPca2 is an example of “one candidate IP address” and “new IP address”. The print data is an example of “target data”.

図2において、S10の処理、S12の処理、S14の処理、S28の処理が、それぞれ、「ブロードキャスト通信実行部」、「応答パケット受信部」、「判断部」、「ユニキャスト通信実行部」によって実行される処理の一例である。S16及びS18の処理が、「候補IPアドレス受信部」によって実行される処理の一例である。S20、S26、及び、S32の処理が、「設定部」によって実行される処理の一例である。   In FIG. 2, the processing of S10, the processing of S12, the processing of S14, and the processing of S28 are performed by “broadcast communication execution unit”, “response packet reception unit”, “determination unit”, and “unicast communication execution unit”, respectively. It is an example of the process performed. The processing of S16 and S18 is an example of processing executed by the “candidate IP address receiving unit”. The processing of S20, S26, and S32 is an example of processing executed by the “setting unit”.

(第2実施例)
本実施例では、第1実施例と異なる点を中心に説明する。本実施例では、端末装置TEのIPアドレスを変更するための手法が第1実施例とは異なる。図1に示されるように、本実施例では、端末装置TEのメモリ24は、プリンタPRとのユニキャスト通信が過去に成功したネットワーク情報を記憶する。当該ネットワーク情報は、プリンタドライバが端末装置TEにインストールされた時点における端末装置TEのIPアドレスの値IPin「192.168.100.4」と、サブネットマスクの値SMin「255.255.255.0」と、を含む。即ち、プリンタドライバが端末装置TEにインストールされた時点では、第2のDHCPサーバ70から端末装置TEにIPinが割り当てられている。そして、第2のDHCPサーバ70からプリンタPRにIPprが割り当てられているので、IPprのネットワークアドレス部の値と、IPinのネットワークアドレス部の値と、が一致する。このために、プリンタドライバが端末装置TEにインストールされた時点では、端末装置TEとプリンタPRとの間のユニキャスト通信が成功している。その後、第1のDHCPサーバ60から端末装置TEにIPteが割り当てられ、端末装置TEとプリンタPRとの間のユニキャスト通信が実行不可能な状態になる。
(Second embodiment)
In the present embodiment, a description will be given focusing on differences from the first embodiment. In the present embodiment, a method for changing the IP address of the terminal device TE is different from that in the first embodiment. As shown in FIG. 1, in the present embodiment, the memory 24 of the terminal device TE stores network information on which unicast communication with the printer PR has been successful in the past. The network information includes the IP address value IPin “192.168.100.4” of the terminal device TE and the subnet mask value SMin “255.255.255.0 when the printer driver is installed in the terminal device TE. ”. That is, when the printer driver is installed in the terminal device TE, IPin is allocated from the second DHCP server 70 to the terminal device TE. Since IPpr is assigned from the second DHCP server 70 to the printer PR, the value of the network address part of IPpr matches the value of the network address part of IPin. For this reason, when the printer driver is installed in the terminal device TE, unicast communication between the terminal device TE and the printer PR is successful. Thereafter, IPte is assigned from the first DHCP server 60 to the terminal device TE, and the unicast communication between the terminal device TE and the printer PR becomes impossible.

なお、変形例では、メモリ24内のネットワーク情報は、プリンタドライバがインストールされた時点における端末装置TEのIPアドレスの値及びサブネットマスクの値でなくてもよく、その後に、端末装置TEとプリンタPRとの間のユニキャスト通信が成功した時点における端末装置TEのIPアドレスの値及びサブネットマスクの値であってもよい。例えば、ネットワーク情報は、プリンタドライバのインストール後に、プリンタPRとの印刷データの通信が成功した際の端末装置TEのIPアドレスの値及びサブネットマスクの値であってもよい。   In the modification, the network information in the memory 24 may not be the IP address value and the subnet mask value of the terminal device TE at the time when the printer driver is installed, and then the terminal device TE and the printer PR. The IP address value and the subnet mask value of the terminal device TE at the time when the unicast communication with the terminal device succeeds. For example, the network information may be the value of the IP address and the subnet mask of the terminal device TE when the print data communication with the printer PR succeeds after the installation of the printer driver.

(端末装置TEが実行する処理;図4)
次いで、図4を参照して、端末装置TEのCPU22が実行する処理の内容について説明する。図4の処理のトリガ及びS10〜S14の処理は、図2と同様である。
(Processing executed by the terminal device TE; FIG. 4)
Next, with reference to FIG. 4, the contents of the processing executed by the CPU 22 of the terminal device TE will be described. The processing trigger of FIG. 4 and the processing of S10 to S14 are the same as those of FIG.

CPU22は、IPprのネットワークアドレス部の値と、IPteのネットワークアドレス部の値と、が一致しないと判断する場合(S14でNO)に、S100において、メモリ24からIPin及びSMinを取得して、IPin、SMinを、それぞれ、候補IPアドレスの値、候補サブネットマスクの値として決定する。   If the CPU 22 determines that the value of the network address part of IPpr and the value of the network address part of IPte do not match (NO in S14), the CPU 22 acquires IPin and SMin from the memory 24 in S100, and , SMin are determined as a candidate IP address value and a candidate subnet mask value, respectively.

S102では、CPU22は、IPinのネットワークアドレス部の値と、IPprのネットワークアドレス部の値と、が一致するか否か判断する。具体的には、CPU22は、S100で取得されたIPin及びSMinを用いて、IPinのネットワークアドレス部の値(例えば「192.168.100」)を特定する。また、CPU22は、S12で受信された応答パケットに含まれるIPpr及びSMprを用いて、IPprのネットワークアドレス部の値(例えば「192.168.100」)を特定する。そして、CPU22は、特定済みの2個の値が一致するか否かを判断する。CPU22は、IPinのネットワークアドレス部の値と、IPprのネットワークアドレス部の値と、が一致すると判断する場合(S102でYES)に、S106に進む。一方において、CPU22は、IPinのネットワークアドレス部の値と、IPprのネットワークアドレス部の値と、が一致しないと判断する場合(S102でNO)に、図4の処理を終了する。   In S102, the CPU 22 determines whether or not the value of the network address part of IPin matches the value of the network address part of IPpr. Specifically, the CPU 22 specifies the value of the IPin network address part (for example, “192.168.100”) using the IPin and SMin acquired in S100. Further, the CPU 22 specifies the value of the network address part of IPpr (for example, “192.168.100”) using IPpr and SMpr included in the response packet received in S12. Then, the CPU 22 determines whether or not the two specified values match. If the CPU 22 determines that the value of the network address part of IPin matches the value of the network address part of IPpr (YES in S102), the CPU 22 proceeds to S106. On the other hand, when the CPU 22 determines that the value of the network address part of IPin and the value of the network address part of IPpr do not match (NO in S102), the CPU 22 ends the process of FIG.

S106では、CPU22は、S100で取得されたIPinを含むRequestをLAN4にブロードキャストする。当該Requestは、DHCPサーバ60、70にIPinの使用を要求するためのパケットである。   In S106, the CPU 22 broadcasts a request including the IPin acquired in S100 to the LAN 4. The Request is a packet for requesting the DHCP servers 60 and 70 to use IPin.

S106のRequestに含まれるIPinを割り当て可能なDHCPサーバ(例えば第2のDHCPサーバ70)は、Requestを受信すると、IPinが他のデバイスに現在割り当てられているのか否かを確認する。そして、当該DHCPサーバは、IPinが他のデバイスに現在割り当てられていないことが確認される場合に、ACKをLAN4にブロードキャストする。   When a DHCP server (for example, the second DHCP server 70) capable of assigning the IPin included in the request in S106 receives the request, it checks whether the IPin is currently assigned to another device. Then, the DHCP server broadcasts ACK to the LAN 4 when it is confirmed that IPin is not currently assigned to another device.

S108では、CPU22は、ACKを受信することを監視する。CPU22は、ACKを受信する場合、即ち、IPinの使用許可が得られる場合に、S108でYESと判断し、S110に進む。なお、図示省略しているが、CPU22は、ACKを受信しない場合、即ち、IPinが他のデバイスに現在割り当てられている場合には、図4の処理を終了する。   In S108, the CPU 22 monitors reception of ACK. When receiving the ACK, that is, when permission to use IPin is obtained, the CPU 22 determines YES in S108, and proceeds to S110. Although not shown, the CPU 22 ends the process of FIG. 4 when it does not receive ACK, that is, when IPin is currently assigned to another device.

S110では、CPU22は、端末装置TEのIPアドレスとして、IPteに代えて、IPinを新たに設定する。また、CPU22は、端末装置TEのIPアドレスとして、SMteに代えて、SMinを新たに設定する。S108で受信されるACKは、ACKの送信元のDHCPサーバのIPアドレスの値を含む。CPU22は、端末装置TEのゲートウェイアドレスとして、現在のゲートウェイアドレスの値IPdh1に代えて、ACKの送信元のDHCPサーバのIPアドレスの値を新たに設定する。即ち、端末装置TEのゲートウェイが変更される。   In S110, the CPU 22 newly sets IPin instead of IPte as the IP address of the terminal device TE. Further, the CPU 22 newly sets SMin instead of SMte as the IP address of the terminal device TE. The ACK received in S108 includes the value of the IP address of the DHCP server that is the transmission source of the ACK. The CPU 22 newly sets the IP address value of the DHCP server that is the transmission source of the ACK, instead of the current gateway address value IPdh1 as the gateway address of the terminal device TE. That is, the gateway of the terminal device TE is changed.

S112〜S116の処理は、新IPアドレスの値がIPinであることを除き、図2のS28〜S32と同様である。   The processing of S112 to S116 is the same as S28 to S32 of FIG. 2 except that the value of the new IP address is IPin.

(具体的なケース;図5)
続いて、図5を参照して、図4のフローチャートに従って実現される具体的なケースの内容を説明する。T10〜T18の処理は、図3と同様である(図4のS10〜S14)。
(Specific case: Fig. 5)
Next, with reference to FIG. 5, the contents of a specific case realized according to the flowchart of FIG. 4 will be described. The processing from T10 to T18 is the same as that in FIG. 3 (S10 to S14 in FIG. 4).

T100では、端末装置TEは、メモリ24からIPin及びSMinを取得する(S100)。そして、T102では、端末装置TEは、IPinのネットワークアドレス部の値と、IPprのネットワークアドレス部の値と、が一致すると判断する(S102でYES)。次いで、T106では、端末装置TEは、IPinを含むRequestを、LAN4にブロードキャストする(S106)。   In T100, the terminal apparatus TE acquires IPin and SMin from the memory 24 (S100). In T102, the terminal apparatus TE determines that the value of the IPin network address portion matches the value of the IPpr network address portion (YES in S102). Next, in T106, the terminal apparatus TE broadcasts a request including IPin to the LAN 4 (S106).

T108では、第2のDHCPサーバ70は、Requestを受信すると、IPdh2を含むACKをLAN4にブロードキャストする。   In T108, when the second DHCP server 70 receives the request, the second DHCP server 70 broadcasts an ACK including IPdh2 to the LAN4.

T110では、端末装置TEは、ACKを受信すると(S108でYES)、端末装置TEのIPアドレスとして、IPteに代えて、IPinを設定する(S110)。また、端末装置TEは、端末装置TEのサブネットマスクとして、SMteに代えて、SMinを新たに設定する(S110)。また、端末装置TEは、端末装置TEのゲートウェイアドレスとして、IPdh1に代えて、IPdh2を新たに設定する。即ち、端末装置TEのゲートウェイが、第1のDHCPサーバ60から第2のDHCPサーバ70に変更される。   In T110, when receiving the ACK (YES in S108), the terminal apparatus TE sets IPin instead of IPte as the IP address of the terminal apparatus TE (S110). Further, the terminal apparatus TE newly sets SMin instead of SMte as the subnet mask of the terminal apparatus TE (S110). Further, the terminal device TE newly sets IPdh2 instead of IPdh1 as the gateway address of the terminal device TE. That is, the gateway of the terminal device TE is changed from the first DHCP server 60 to the second DHCP server 70.

T112〜T118の処理は、新IPアドレスの値がIPinであることを除き、図3のT32〜T38と同様である(S112〜S116)。   The processing from T112 to T118 is the same as T32 to T38 in FIG. 3 except that the value of the new IP address is IPin (S112 to S116).

(第2実施例の効果)
図5に示されるように、端末装置TEは、IPprのネットワークアドレス部の値とIPteのネットワークアドレス部の値とが一致しないと判断する場合に、メモリ24から、端末装置TEの過去のIPアドレスの値IPinと、端末装置TEの過去のサブネットマスクの値SMinと、を取得する(T100)。そして、端末装置TEは、IPinを含むRequestをLAN4にブロードキャストして(T106)、第2のDHCPサーバ70からACKを受信すると(T108)、端末装置TEのIPアドレスとして、IPteに代えて、IPinを設定する(T110)。これにより、端末装置TEは、IPinを利用した印刷データのユニキャスト通信をプリンタPRと実行することができる(T112)。即ち、端末装置TEは、印刷データのユニキャスト通信をプリンタPRと実行不可能な事象を適切に解消することができ、印刷データのユニキャスト通信をプリンタPRと適切に実行することができる。本実施例では、特に、端末装置TEは、DHCP Discover及びDHCP Offerの通信を実行せずに済むので、通信負荷を軽減することができる。
(Effect of the second embodiment)
As illustrated in FIG. 5, when the terminal device TE determines that the value of the network address part of IPpr does not match the value of the network address part of IPte, the terminal device TE stores the past IP address of the terminal device TE from the memory 24. Value IPin and the past subnet mask value SMin of the terminal device TE are acquired (T100). Then, when the terminal device TE broadcasts a request including IPin to the LAN 4 (T106) and receives an ACK from the second DHCP server 70 (T108), the IP address of the terminal device TE is changed to IPin instead of IPte. Is set (T110). Thereby, the terminal apparatus TE can execute unicast communication of print data using IPin with the printer PR (T112). That is, the terminal device TE can appropriately eliminate the event that cannot be executed with the printer PR for the unicast communication of the print data, and can appropriately execute the unicast communication of the print data with the printer PR. In the present embodiment, in particular, the terminal device TE does not need to execute the communication of DHCP Discover and DHCP Offer, so the communication load can be reduced.

(対応関係)
IPinが、「過去のIPアドレスの値」、「候補IPアドレスの値」、及び、「新IPアドレスの値」の一例である。SMinが、「過去のサブネットマスクの値」の一例である。図4では、S100の処理が、「取得部」によって実行される処理の一例である。S106〜S110、及び、S116の処理が、「設定部」によって実行される処理の一例である。
(Correspondence)
IPin is an example of “past IP address value”, “candidate IP address value”, and “new IP address value”. SMin is an example of “past subnet mask value”. In FIG. 4, the process of S <b> 100 is an example of a process executed by the “acquisition unit”. The processing of S106 to S110 and S116 is an example of processing executed by the “setting unit”.

以上、本発明の具体例を詳細に説明したが、これらは例示にすぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には以上に例示した具体例を様々に変形、変更したものが含まれる。上記の実施例の変形例を以下に列挙する。   Specific examples of the present invention have been described in detail above, but these are merely examples and do not limit the scope of the claims. The technology described in the claims includes various modifications and changes of the specific examples illustrated above. The modifications of the above embodiment are listed below.

(変形例1)上記の第1実施例において、CPU22は、図2のS16〜S24の処理を実行することによって新IPアドレスを決定する代わりに、STATIC方式で新IPアドレスを決定してもよい。STATIC方式では、端末装置TEのユーザが操作部12を操作することによって、新IPアドレスを入力する。即ち、「設定部」は、上記の各実施例の手法(図2のS16〜24、図4のS106、S108参照)とは異なる手法を利用して、対象ネットワークアドレス値に一致するネットワークアドレス部の値を含む新IPアドレスを決定してもよい。 (Modification 1) In the first embodiment described above, the CPU 22 may determine the new IP address by the STATIC method instead of determining the new IP address by executing the processes of S16 to S24 in FIG. . In the STATIC method, the user of the terminal apparatus TE inputs a new IP address by operating the operation unit 12. That is, the “setting unit” uses a method different from the method of each of the above-described embodiments (see S16 to 24 in FIG. 2 and S106 and S108 in FIG. 4) to match the target network address value. A new IP address including the value of may be determined.

(変形例2)上記の第1実施例では、通信システム2は、第1のDHCPサーバ60と、第2のDHCPサーバ70と、の2個のDHCPサーバを備える。通信システム2に備えられるDHCPサーバの数は2個には限られず、1個以上であれば任意の数であってもよい。例えば、通信システム2が、第2のDHCPサーバ70のみを備え、第1のDHCPサーバ60を備えていない状況を想定する。さらに、端末装置TEのIPアドレスが、STATIC方式に従って、ユーザによって指定された値IPteに設定されており、プリンタPRのIPアドレスが、第2のDHCPサーバ70によって割り当てられた値IPprに設定されている状況を想定する。このような状況でも、IPteのネットワークアドレス部の値とIPprのネットワークアドレス部の値とが一致しない事象が生じ得る。この場合、CPU22は、第2のDHCPサーバ70から新IPアドレスを取得し、端末装置TEのIPアドレスとして、IPteに代えて、当該新IPアドレスの値を設定してもよい。 (Modification 2) In the first embodiment described above, the communication system 2 includes two DHCP servers, a first DHCP server 60 and a second DHCP server 70. The number of DHCP servers provided in the communication system 2 is not limited to two, and may be any number as long as it is one or more. For example, assume that the communication system 2 includes only the second DHCP server 70 and does not include the first DHCP server 60. Further, the IP address of the terminal device TE is set to the value IPte designated by the user according to the STATIC method, and the IP address of the printer PR is set to the value IPpr assigned by the second DHCP server 70. Assume that there is a situation. Even in such a situation, an event may occur in which the value of the network address part of IPte does not match the value of the network address part of IPpr. In this case, the CPU 22 may acquire a new IP address from the second DHCP server 70, and set the value of the new IP address instead of IPte as the IP address of the terminal device TE.

(変形例3)通信システム2は、DHCPサーバを備えていなくてもよい。そして、端末装置TEのIPアドレスが、STATIC方式に従って、ユーザによって指定された値IPteに設定されており、プリンタPRのIPアドレスが、STATIC方式に従って、ユーザによって指定された値IPprに設定されている状況を想定する。このような状況でも、IPteのネットワークアドレス部の値とIPprのネットワークアドレス部の値とが一致しない事象が生じ得る。この場合、CPU22は、端末装置TEのユーザに新IPアドレスの指定を促して、STATIC方式に従って新IPアドレスを決定し、端末装置TEのIPアドレスとして、IPteに代えて、当該新IPアドレスの値を設定してもよい。 (Modification 3) The communication system 2 may not include a DHCP server. Then, the IP address of the terminal device TE is set to the value IPte specified by the user according to the STATIC method, and the IP address of the printer PR is set to the value IPpr specified by the user according to the STATIC method. Assume the situation. Even in such a situation, an event may occur in which the value of the network address part of IPte does not match the value of the network address part of IPpr. In this case, the CPU 22 prompts the user of the terminal device TE to specify a new IP address, determines a new IP address according to the STATIC method, and replaces the IPte with the value of the new IP address as the IP address of the terminal device TE. May be set.

(変形例4)上記の第2実施例では、CPU22は、端末装置TEのIPアドレスとして、メモリ24から取得されたIPinを新たに設定する(図4のS110)。これに代えて、CPU22は、IPinに基づく別のIPアドレスの値を候補IPアドレス(即ち新IPアドレス)として決定してもよい。例えば、CPU22は、IPin「192.168.100.4」のうち、ネットワークアドレス部「192.168.100」を除く部分(即ちホスト部)を変更して、別のIPアドレスの値「192.168.100.5」を候補IPアドレス(即ち新IPアドレス)として決定してもよい。そして、CPU22は、端末装置TEのIPアドレスとして、当該別のIPアドレスの値を設定してもよい。即ち、「第1の通信装置の過去のIPアドレス」と「新IPアドレス」とは、上記の実施例のように同じIPアドレスであってもよいし、本変形例のように異なるIPアドレスであってもよい。 (Modification 4) In the second embodiment, the CPU 22 newly sets the IPin acquired from the memory 24 as the IP address of the terminal device TE (S110 in FIG. 4). Alternatively, the CPU 22 may determine another IP address value based on IPin as a candidate IP address (that is, a new IP address). For example, the CPU 22 changes a part (that is, the host part) excluding the network address part “192.168.100” in the IPin “192.168.100.4” to change the value “192. 168.100.5 "may be determined as a candidate IP address (ie, a new IP address). Then, the CPU 22 may set the value of the other IP address as the IP address of the terminal device TE. That is, the “past IP address of the first communication device” and the “new IP address” may be the same IP address as in the above-described embodiment, or may be different IP addresses as in the present modification. There may be.

(変形例5)上記の各実施例では、図2又は図4の処理のトリガは、端末装置TEからプリンタPRに印刷データを含む印刷指示が送信され、当該印刷データに従った印刷がプリンタPRで失敗した場合である。これに代えて、図2又は図4の処理のトリガは、例えば、所定の時刻が到来する場合であってもよい。即ち、CPU22は、プリンタPRのノード名を含む探索パケットをLAN4に定期的にブロードキャストして(S10参照)、プリンタPRから応答パケットを受信してもよい(S12参照)。そして、CPU22は、IPprのネットワークアドレス部の値と、IPteのネットワークアドレス部の値と、が一致しないと判断する場合に、端末装置TEのIPアドレスとして、IPteに代えて、新IPアドレスを設定してもよい。即ち、「ブロードキャスト通信実行部」が要求パケットをブロードキャストするタイミングは、現行IPアドレスを利用した対象データのユニキャスト通信が第2の通信装置と実行不可能である場合に限られない。 (Modification 5) In each of the embodiments described above, the trigger of the process in FIG. 2 or 4 is that the print instruction including print data is transmitted from the terminal device TE to the printer PR, and printing according to the print data is performed by the printer PR. This is the case when it fails. Instead of this, the trigger of the processing of FIG. 2 or 4 may be, for example, when a predetermined time arrives. That is, the CPU 22 may periodically broadcast a search packet including the node name of the printer PR to the LAN 4 (see S10) and receive a response packet from the printer PR (see S12). Then, when the CPU 22 determines that the value of the network address part of IPpr does not match the value of the network address part of IPte, it sets a new IP address instead of IPte as the IP address of the terminal device TE. May be. That is, the timing at which the “broadcast communication execution unit” broadcasts the request packet is not limited to the case where the unicast communication of the target data using the current IP address cannot be performed with the second communication device.

(変形例6)上記の各実施例では、CPU22は、印刷データのユニキャスト通信をプリンタPRと実行した後に、端末装置TEのIPアドレスとして、新IPアドレスに代えて、IPteを再び設定する(図2のS32、図4のS116)。これに代えて、CPU22は、新IPアドレスを維持してもよい。即ち、「設定部」は、第1の通信装置のIPアドレスとして、新IPアドレスに代えて、現行IPアドレスを再び設定しなくてもよい。 (Modification 6) In each of the above-described embodiments, the CPU 22 executes unicast communication of print data with the printer PR, and then sets IPte again as the IP address of the terminal device TE instead of the new IP address ( S32 in FIG. 2 and S116 in FIG. 4). Instead, the CPU 22 may maintain a new IP address. That is, the “setting unit” may not set the current IP address again as the IP address of the first communication device, instead of the new IP address.

(変形例7)上記の各実施例では、「第1の通信装置」、「第2の通信装置」は、それぞれ、端末装置TE、プリンタPRである。変形例では、例えば、「第1の通信装置」、「第2の通信装置」が、それぞれ、端末装置TE、スキャナであってもよい。この場合、「対象データ」は、スキャンデータであってもよい。また、「第2の通信装置」は、プリンタ及びスキャナに限られず、例えば、多機能機、コピー機、FAX、電話機、PDA、携帯電話、サーバ等であってもよい。また、別の変形例では、「第1の通信装置」は、端末装置TEに限られず、例えば、プリンタ、スキャナ、多機能機、コピー機、FAX、電話機、サーバ等であってもよい。 (Modification 7) In each of the embodiments described above, the “first communication device” and the “second communication device” are the terminal device TE and the printer PR, respectively. In the modification, for example, the “first communication device” and the “second communication device” may be the terminal device TE and the scanner, respectively. In this case, the “target data” may be scan data. The “second communication device” is not limited to a printer and a scanner, and may be, for example, a multi-function device, a copier, a FAX, a telephone, a PDA, a mobile phone, a server, or the like. In another modification, the “first communication device” is not limited to the terminal device TE, and may be, for example, a printer, a scanner, a multi-function device, a copier, a FAX, a telephone, a server, or the like.

(変形例8)上記の各実施例では、端末装置TEのCPU22がプログラム(即ちソフトウェア)を実行することによって、図2〜図5の各処理が実現される。これに代えて、図2〜図5の各処理のうちの少なくとも1つの処理は、論理回路等のハードウェアによって実現されてもよい。 (Modification 8) In each of the above embodiments, the CPU 22 of the terminal device TE executes a program (that is, software), thereby realizing the processes shown in FIGS. Instead, at least one of the processes in FIGS. 2 to 5 may be realized by hardware such as a logic circuit.

また、本明細書または図面に説明した技術要素は、単独であるいは各種の組合せによって技術的有用性を発揮するものであり、出願時請求項記載の組合せに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。   The technical elements described in this specification or the drawings exhibit technical usefulness alone or in various combinations, and are not limited to the combinations described in the claims at the time of filing. In addition, the technology illustrated in the present specification or the drawings achieves a plurality of objects at the same time, and has technical utility by achieving one of the objects.

2:通信システム、4:LAN、12:操作部、14:表示部、16:ネットワークI/F、20:制御部、22:CPU、24:メモリ、60:第1のDHCPサーバ、70:第2のDHCPサーバ、TE:端末装置、PR:プリンタ、IPte:端末装置TEのIPアドレスの値、IPpr:プリンタPRのIPアドレスの値、SMpr:プリンタPRのサブネットマスクの値、IPca2:候補IPアドレスの値   2: communication system, 4: LAN, 12: operation unit, 14: display unit, 16: network I / F, 20: control unit, 22: CPU, 24: memory, 60: first DHCP server, 70: first 2, DHCP server, TE: terminal device, PR: printer, IPte: IP address value of terminal device TE, IPpr: IP address value of printer PR, SMpr: subnet mask value of printer PR, IPca2: candidate IP address The value of the

Claims (8)

第1の通信装置であって、
前記第1の通信装置とは異なる第2の通信装置の現在のIPアドレスである対象IPアドレスと、前記第2の通信装置の現在のサブネットマスクである対象サブネットマスクと、を要求するための要求パケットを、ローカルエリアネットワークにブロードキャストするブロードキャスト通信実行部と、
前記第2の通信装置から、前記ローカルエリアネットワークを介して、ブロードキャストされた前記要求パケットに対する応答パケットを受信する応答パケット受信部であって、前記応答パケットは、前記対象IPアドレスと、前記対象サブネットマスクと、を含む、前記応答パケット受信部と、
前記第2の通信装置から、ブロードキャストされた前記要求パケットに対する前記応答パケットが受信される場合に、前記応答パケットに含まれる前記対象IPアドレスの値と前記対象サブネットマスクの値とを用いて前記対象IPアドレスのネットワークアドレス部の値である対象ネットワークアドレス値を特定し、前記第1の通信装置の現在のIPアドレスである現行IPアドレスの値と前記第1の通信装置の現在のサブネットマスクである現行サブネットマスクの値とを用いて前記現行IPアドレスのネットワークアドレス部の値である現行ネットワークアドレス値を特定し、特定済みの前記対象ネットワークアドレス値と特定済みの現行ネットワークアドレス値とが一致するのか否かを判断する判断部と、
前記対象ネットワークアドレス値と前記現行ネットワークアドレス値とが一致しないと判断される場合に、前記第1の通信装置のIPアドレスとして、前記現行IPアドレスに代えて、前記対象ネットワークアドレス値に一致するネットワークアドレス部の値を含む新IPアドレスを設定する設定部と、
前記第1の通信装置のIPアドレスとして前記新IPアドレスが設定された後に、前記ローカルエリアネットワークを介して、前記新IPアドレスを利用した対象データのユニキャスト通信を前記第2の通信装置と実行するユニキャスト通信実行部と、
を備える第1の通信装置。
A first communication device comprising:
Request for requesting a target IP address that is a current IP address of a second communication device different from the first communication device and a target subnet mask that is a current subnet mask of the second communication device A broadcast communication execution unit that broadcasts a packet to a local area network;
A response packet receiving unit that receives a response packet for the request packet broadcast from the second communication device via the local area network, wherein the response packet includes the target IP address and the target subnet. A response packet receiving unit including a mask;
When the response packet to the broadcasted request packet is received from the second communication apparatus, the target IP address value and the target subnet mask value included in the response packet are used. A target network address value that is a value of a network address portion of the IP address is specified, and a current IP address value that is a current IP address of the first communication device and a current subnet mask of the first communication device. Whether the current network address value, which is the value of the network address portion of the current IP address, is identified using the current subnet mask value, and the identified target network address value matches the identified current network address value A determination unit for determining whether or not,
When it is determined that the target network address value does not match the current network address value, a network that matches the target network address value instead of the current IP address as the IP address of the first communication device A setting section for setting a new IP address including the value of the address section;
After the new IP address is set as the IP address of the first communication device, unicast communication of target data using the new IP address is executed with the second communication device via the local area network. A unicast communication execution unit,
A first communication device comprising:
前記設定部は、前記第1の通信装置のIPアドレスとして、前記現行IPアドレスに代えて、前記第1の通信装置及び前記第2の通信装置とは異なるIPアドレス割当サーバによって割り当てられる前記新IPアドレスを設定する、請求項1の第1の通信装置。   The setting unit, as the IP address of the first communication device, replaces the current IP address with the new IP assigned by an IP address assignment server different from the first communication device and the second communication device. The first communication device according to claim 1, wherein an address is set. 前記第1の通信装置は、さらに、
前記ローカルエリアネットワークに2個以上のIPアドレス割当サーバが接続されている状態で、前記対象ネットワークアドレス値と前記現行ネットワークアドレス値とが一致しないと判断される場合に、前記2個以上のIPアドレス割当サーバのそれぞれに前記第1の通信装置へのIPアドレスの割り当てを要求して、前記2個以上のIPアドレス割当サーバのそれぞれから1個の候補IPアドレスを受信する候補IPアドレス受信部を備え、
前記設定部は、前記2個以上のIPアドレス割当サーバから受信された2個以上の候補IPアドレスの中から、前記対象ネットワークアドレス値に一致するネットワークアドレス部の値を含む1個の候補IPアドレスを選択することによって、前記1個の候補IPアドレスである前記新IPアドレスを決定する、請求項2の第1の通信装置。
The first communication device further includes:
When it is determined that the target network address value does not match the current network address value in a state where two or more IP address assignment servers are connected to the local area network, the two or more IP addresses A candidate IP address receiving unit that requests each of the allocation servers to allocate an IP address to the first communication device and receives one candidate IP address from each of the two or more IP address allocation servers; ,
The setting unit includes one candidate IP address including a value of a network address portion that matches the target network address value from two or more candidate IP addresses received from the two or more IP address assignment servers. The first communication apparatus according to claim 2, wherein the new IP address that is the one candidate IP address is determined by selecting.
前記第1の通信装置は、さらに、
前記第2の通信装置とのユニキャスト通信が過去に成功したネットワーク情報を前記第1の通信装置のメモリから取得する取得部であって、前記ネットワーク情報は、前記第1の通信装置の過去のIPアドレスと、前記第1の通信装置の過去のサブネットマスクと、を含む、前記取得部を備え、
前記設定部は、前記メモリから取得された前記ネットワーク情報を利用して、前記新IPアドレスを決定する、請求項1の第1の通信装置。
The first communication device further includes:
An acquisition unit that acquires, from the memory of the first communication device, network information in which unicast communication with the second communication device has been successful in the past, wherein the network information is stored in the past of the first communication device. Including the IP address and the past subnet mask of the first communication device, the acquisition unit,
The first communication device according to claim 1, wherein the setting unit determines the new IP address using the network information acquired from the memory.
前記設定部は、
前記メモリから取得された前記ネットワーク情報を利用して、候補IPアドレスを決定し、
前記第1の通信装置及び前記第2の通信装置とは異なるIPアドレス割当サーバに前記候補IPアドレスの使用を要求して、前記IPアドレス割当サーバから前記候補IPアドレスの使用許可が取得される場合に、前記候補IPアドレスを前記新IPアドレスとして決定する、請求項4の第1の通信装置。
The setting unit
Using the network information obtained from the memory to determine a candidate IP address;
When requesting the use of the candidate IP address to an IP address allocation server different from the first communication device and the second communication device, and obtaining permission to use the candidate IP address from the IP address allocation server The first communication device according to claim 4, wherein the candidate IP address is determined as the new IP address.
前記ブロードキャスト通信実行部は、前記現行IPアドレスを利用した前記対象データのユニキャスト通信が前記第2の通信装置と実行不可能である場合に、前記要求パケットを前記ローカルエリアネットワークにブロードキャストする、請求項1から5のいずれか一項の第1の通信装置。   The broadcast communication execution unit broadcasts the request packet to the local area network when unicast communication of the target data using the current IP address is not executable with the second communication device. Item 6. The first communication device according to any one of Items 1 to 5. 前記設定部は、さらに、前記新IPアドレスを利用した前記対象データのユニキャスト通信が前記第2の通信装置と実行された後に、前記第1の通信装置のIPアドレスとして、前記新IPアドレスに代えて、前記現行IPアドレスを再び設定する、請求項1から6のいずれか一項の第1の通信装置。   The setting unit further sets the new IP address as the IP address of the first communication device after the unicast communication of the target data using the new IP address is executed with the second communication device. Instead, the first communication device according to any one of claims 1 to 6, wherein the current IP address is set again. 第1の通信装置のためのコンピュータプログラムであって、
前記第1の通信装置に搭載されるコンピュータに、以下の各処理、即ち、
前記第1の通信装置とは異なる第2の通信装置の現在のIPアドレスである対象IPアドレスと、前記第2の通信装置の現在のサブネットマスクである対象サブネットマスクと、を要求するための要求パケットを、ローカルエリアネットワークにブロードキャストするブロードキャスト通信実行処理と、
前記第2の通信装置から、前記ローカルエリアネットワークを介して、ブロードキャストされた前記要求パケットに対する応答パケットを受信する応答パケット受信処理であって、前記応答パケットは、前記対象IPアドレスと、前記対象サブネットマスクと、を含む、前記応答パケット受信処理と、
前記第2の通信装置から、ブロードキャストされた前記要求パケットに対する前記応答パケットが受信される場合に、前記応答パケットに含まれる前記対象IPアドレスの値と前記対象サブネットマスクの値とを用いて前記対象IPアドレスのネットワークアドレス部の値である対象ネットワークアドレス値を特定し、前記第1の通信装置の現在のIPアドレスである現行IPアドレスの値と前記第1の通信装置の現在のサブネットマスクである現行サブネットマスクの値とを用いて前記現行IPアドレスのネットワークアドレス部の値である現行ネットワークアドレス値を特定し、特定済みの前記対象ネットワークアドレス値と特定済みの現行ネットワークアドレス値とが一致するのか否かを判断する判断処理と、
前記対象ネットワークアドレス値と前記現行ネットワークアドレス値とが一致しないと判断される場合に、前記第1の通信装置のIPアドレスとして、前記現行IPアドレスに代えて、前記対象ネットワークアドレス値に一致するネットワークアドレス部の値を含む新IPアドレスを設定する設定処理と、
前記第1の通信装置のIPアドレスとして前記新IPアドレスが設定された後に、前記ローカルエリアネットワークを介して、前記新IPアドレスを利用した対象データのユニキャスト通信を前記第2の通信装置と実行するユニキャスト通信実行処理と、
を実行させるコンピュータプログラム。
A computer program for a first communication device, comprising:
In the computer mounted on the first communication device, the following processes, that is,
Request for requesting a target IP address that is a current IP address of a second communication device different from the first communication device and a target subnet mask that is a current subnet mask of the second communication device Broadcast communication execution processing for broadcasting packets to the local area network;
Response packet reception processing for receiving a response packet for the request packet broadcast from the second communication device via the local area network, wherein the response packet includes the target IP address and the target subnet. A response packet receiving process including a mask;
When the response packet to the broadcasted request packet is received from the second communication apparatus, the target IP address value and the target subnet mask value included in the response packet are used. A target network address value that is a value of a network address portion of the IP address is specified, and a current IP address value that is a current IP address of the first communication device and a current subnet mask of the first communication device. Whether the current network address value, which is the value of the network address portion of the current IP address, is identified using the current subnet mask value, and the identified target network address value matches the identified current network address value A determination process for determining whether or not,
When it is determined that the target network address value does not match the current network address value, a network that matches the target network address value instead of the current IP address as the IP address of the first communication device A setting process for setting a new IP address including the value of the address part;
After the new IP address is set as the IP address of the first communication device, unicast communication of target data using the new IP address is executed with the second communication device via the local area network. Unicast communication execution processing,
A computer program that executes
JP2014073099A 2014-03-31 2014-03-31 communication device Pending JP2015195532A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014073099A JP2015195532A (en) 2014-03-31 2014-03-31 communication device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014073099A JP2015195532A (en) 2014-03-31 2014-03-31 communication device

Publications (1)

Publication Number Publication Date
JP2015195532A true JP2015195532A (en) 2015-11-05

Family

ID=54434207

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014073099A Pending JP2015195532A (en) 2014-03-31 2014-03-31 communication device

Country Status (1)

Country Link
JP (1) JP2015195532A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021082997A (en) * 2019-11-21 2021-05-27 キヤノン株式会社 Electronic apparatus and control method thereof, and program

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021082997A (en) * 2019-11-21 2021-05-27 キヤノン株式会社 Electronic apparatus and control method thereof, and program
JP7341037B2 (en) 2019-11-21 2023-09-08 キヤノン株式会社 Electronic equipment and its control method and program

Similar Documents

Publication Publication Date Title
US8886776B2 (en) Communication apparatus and storing medium
US7827235B2 (en) Service providing system, service providing method, and program of the same
US9407701B2 (en) Address family preference in multiple network interface environments
US10075410B2 (en) Apparatus and methods for assigning internetwork addresses
JP2002169694A (en) Method and system for automatic allocation of boot server to pxe client on network via dhcp server
US10498836B2 (en) Network based service discovery via unicast messages
JP5820106B2 (en) Communication apparatus and control method thereof
US10250668B2 (en) Communication apparatus, control method thereof, and storage medium
WO2020124954A1 (en) Method and apparatus for implementing wireless roaming, gateway, and storage medium
US9847963B2 (en) Communicating service denials back to client during MDNS service discovery
JP2010152670A (en) Computer program for installing software
US20180278516A1 (en) Information processing apparatus, communication system, and method of controlling communication route
JP6484166B2 (en) Name resolution device, name resolution method, and name resolution program
JP2015195532A (en) communication device
JP2015195533A (en) communication device
JP5915314B2 (en) Communication device
US10574837B2 (en) Information processing apparatus for data communication with external apparatus and control method for the same, and storage medium
JP2018163603A (en) Terminal device and communication system
JP2014238790A (en) Communication system, information communication terminal, and information processing apparatus
JP4368776B2 (en) Network device, network device control method, program, and recording medium
KR100977399B1 (en) Method and apparatus of processing DHCP packet in dynamic IP address allocation for reducing network load
JP2007243669A (en) Pxe network boot method and pxe client terminal
US10412177B2 (en) Method and system of using IPV6 neighbor discovery options for service discovery
US11784966B2 (en) Information processing device, control method for information processing device, and recording medium, that suppress duplication of a device name in a DNS server
RU2795390C1 (en) Imaging device, method and system for updating firmware