JP2016025642A - 通信装置 - Google Patents
通信装置 Download PDFInfo
- Publication number
- JP2016025642A JP2016025642A JP2014151153A JP2014151153A JP2016025642A JP 2016025642 A JP2016025642 A JP 2016025642A JP 2014151153 A JP2014151153 A JP 2014151153A JP 2014151153 A JP2014151153 A JP 2014151153A JP 2016025642 A JP2016025642 A JP 2016025642A
- Authority
- JP
- Japan
- Prior art keywords
- target
- communication
- interface
- interfaces
- candidate
- 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
Links
Images
Landscapes
- Facsimiles In General (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Small-Scale Networks (AREA)
Abstract
【課題】 通信装置が、複数個の通信インターフェースを介した複数種類の通信を実行可能な状態において、対象データを外部装置に適切に送信するための技術を提供すること。【解決手段】 スキャナ10は、2個の無線I/F20a,20bが有効状態である状況で、PC50にスキャンデータを送信するためのプッシュスキャン操作が操作部12に実行される場合(T2)に、無線I/F20a,20bのそれぞれを介してARP要求をブロードキャストする(T8,T10,T16)。スキャナ10は、無線I/F20aを介してARP応答を受信する場合(T12,T14)に、2個の無線I/F20a,20bの中から無線I/F20aを選択する。スキャナ10は、選択済みの無線I/F20aを介して、スキャンデータをPC50に送信する(T30,T32)。【選択図】 図4
Description
本明細書では、複数個の通信インターフェースを介した複数種類の通信を実行可能な通信装置を開示する。
特許文献1,2には、有線インターフェースを介した有線通信と、無線インターフェースを介した無線通信と、の双方を実行可能な通信装置が開示されている。通信装置は、データを外部装置に送信すべき場合に、有線インターフェース及び無線インターフェースのうちのどちらかを選択して、選択済みのインターフェースを介してデータを送信する。
特許文献1,2の技術では、選択済みのインターフェースを介した通信を実行するためのネットワークに、データの送信先である外部装置が所属していない可能性がある。この場合、通信装置は、データを外部装置に適切に送信することができない。本明細書では、通信装置が、複数個の通信インターフェースを介した複数種類の通信を実行可能な状態において、対象データを外部装置に適切に送信するための技術を提供する。
本明細書によって開示される通信装置は、ユーザによって操作される操作部と、1個以上の外部装置に関連する1個以上の関連情報を記憶するメモリと、要求送信部と、選択部と、対象データ送信部と、を備える。要求送信部は、N個(Nは2以上の整数)の通信インターフェースを介したN種類の通信を実行可能な状態で、1個以上の外部装置のうちの対象外部装置に対象データを送信するための送信操作が操作部に実行される特定の場合に、メモリ内の1個以上の関連情報のうち、対象外部装置に関連する対象関連情報を利用して、N個の通信インターフェースのうちの少なくとも1個の通信インターフェースを介して、問合せ要求を送信する。選択部は、N個の通信インターフェースのうちの対象インターフェースを介して、問合せ要求に対する所定の応答が受信される場合に、N個の通信インターフェースの中から対象インターフェースを選択する。問合せ要求は、対象インターフェースを介した通信を実行するための対象ネットワークに対象外部装置が所属していることを確認するために、対象データを対象外部装置に送信する前に、対象インターフェースを介して送信される要求である。所定の応答は、対象ネットワークに対象外部装置が所属していることを示す応答である。対象データ送信部は、選択済みの対象インターフェースを介して、対象データを対象外部装置に送信する。
上記の構成によると、通信装置は、N個の通信インターフェースを介したN種類の通信を実行可能な状態において、送信操作が操作部に実行される特定の場合に、N個の通信インターフェースのうちの少なくとも1個の通信インターフェースを介して、問合せ要求を送信する。そして、通信装置は、対象インターフェースを介して所定の応答を受信する場合に、N個の通信インターフェースの中から対象インターフェースを選択する。即ち、通信装置は、外部装置が所属しているネットワークと通信を実行するための対象インターフェースを選択する。従って、通信装置は、対象インターフェースを介して対象データを送信すれば、対象データを対象外部装置に送信する。このように、通信装置は、複数個(即ちN個)の通信インターフェースを介した複数種類(即ちN種類)の通信を実行可能な状態において、対象データを外部装置に適切に送信することができる。
上記の通信装置を実現するための制御方法、コンピュータプログラム、及び、当該コンピュータプログラムを記憶するコンピュータ読取可能記録媒体も、新規で有用である。
(第1実施例)
(通信システム2の構成;図1)
通信システム2は、スキャナ10と、複数個のパーソナルコンピュータ(以下では「PC(「Personal computer」の略)」と呼ぶ)50〜80と、を備える。
(通信システム2の構成;図1)
通信システム2は、スキャナ10と、複数個のパーソナルコンピュータ(以下では「PC(「Personal computer」の略)」と呼ぶ)50〜80と、を備える。
スキャナ10とPC50とのそれぞれは、アクセスポイント(以下では「AP(Access Pointの略)」と呼ぶ)100との無線接続を確立することができる。当該無線接続は、Wi−Fi Allianceによって策定された通常Wi−Fi方式に従った接続(以下では「通常Wi−Fi接続」と呼ぶ)である。通常Wi−Fi方式は、例えば、IEEE(The Institute of Electrical and Electronics Engineers, Inc.の略)の802.11の規格、及び、それに準ずる規格(例えば、802.11a,11b,11g,11n等)に従って、無線通信を実行するための無線通信方式である。スキャナ10とPC50とのそれぞれは、AP100との通常Wi−Fi接続を確立することによって、AP100によって形成される無線ネットワーク(以下では「通常Wi−FiNW」と呼ぶ)に所属することができる。これにより、スキャナ10とPC50とは、通常Wi−FiNWを利用して(即ちAP100を介して)、相互に通信可能である。
スキャナ10とPC60,70とのそれぞれは、WFD(Wi-Fi Directの略)方式に従った無線接続を確立することができる。当該無線接続は、Wi−Fi Allianceによって策定されたWFD方式に従った接続(以下では「WFD接続」と呼ぶ)である。WFD方式は、Wi−Fi Allianceによって作成された仕様書「Wi−Fi Peer−to−Peer(P2P) Technical Specification Version1.1」に記述されている無線通信方式である。また、米国特許出願公開第2013/0260683号公報にも、WFD方式の詳細が開示されており、当該文献を参照して引用する。スキャナ10は、WFD方式のGroup Owner状態(以下では「G/O状態」と呼ぶ)で動作して、各PC60,70とのWFD接続を確立することができる。この場合、各PC60,70は、WFD方式のClient状態(以下では「CL状態」と呼ぶ)で動作し、G/O状態であるスキャナ10によって形成される無線ネットワーク(以下では「WFDNW」と呼ぶ)に所属することができる。これにより、スキャナ10とPC60(又はPC70)とは、WFDNWを利用して(即ちAP100を介さずに)、相互に通信可能である。
スキャナ10とPC80とのそれぞれには、有線ケーブルが接続される(即ち有線接続が確立される)。この結果、スキャナ10とPC80とが所属する有線ネットワーク(以下では「有線NW」と呼ぶ)が形成される。これにより、スキャナ10とPC80とは、有線NWを利用して、相互に通信可能である。
(スキャナ10の構成)
スキャナ10は、スキャン機能を実行可能な周辺機器(即ちPC50〜80等の周辺機器)である。スキャナ10は、操作部12と、表示部14と、スキャン実行部18と、無線インターフェースチップ20と、有線インターフェースチップ22と、制御部30と、を備える。以下では、インターフェースのことを「I/F」と記載する。
スキャナ10は、スキャン機能を実行可能な周辺機器(即ちPC50〜80等の周辺機器)である。スキャナ10は、操作部12と、表示部14と、スキャン実行部18と、無線インターフェースチップ20と、有線インターフェースチップ22と、制御部30と、を備える。以下では、インターフェースのことを「I/F」と記載する。
操作部12は、複数のキーによって構成される。ユーザは、操作部12を操作することによって、様々な指示をスキャナ10に入力することができる。表示部14は、様々な情報を表示するためのディスプレイである。スキャン実行部18は、CCD、CIS等のスキャン機構である。
無線I/Fチップ20は、通常Wi−Fi通信とWFD通信との2種類の無線通信を実行するためのチップである。無線I/Fチップ20は、上記の2種類の無線通信を実行するための2個の無線I/F20a,20bを備える。無線I/F20aには、通常Wi−Fi通信で利用されるべきMACアドレスが割り当てられている。無線I/F20bには、WFD通信で利用されるべきMACアドレスが割り当てられている。無線I/F20aのMACアドレスと無線I/F20bのMACアドレスとは異なる。2個の無線I/F20a,20bは、上記の2種類の無線通信を実行するためのものであるが、物理的には1個の無線I/Fチップ20によって実現される。なお、変形例では、通常Wi−Fi通信を実行するための無線I/Fチップと、WFD通信を実行するための無線I/Fチップと、が別体に構成されていてもよい。詳しくは後述するが、各無線I/F20a,20bは、無線通信を実行可能な状態(即ち有効状態)と、無線通信を実行不可能な状態(即ち無効状態)と、のどちらかの状態で動作する。
有線I/Fチップ22は、有線通信を実行するためのチップである。有線I/Fチップ22は、有線通信で利用されるMACアドレスが割り当てられている有線I/F22aを備える。有線I/F22aは、各無線I/F20a,20bと同様に、有線通信を実行可能な状態(即ち有効状態)と、有線通信を実行不可能な状態(即ち無効状態)と、のどちらかの状態で動作する。
上述したように、無線I/Fチップ20と有線I/Fチップ22との2個のI/Fチップによって、通常Wi−Fi通信とWFD通信と有線通信との3種類の通信を実行するための3個のI/F(即ちI/F20a,20b,22a)が実現される。
制御部30は、CPU32と、メモリ34と、を備える。CPU32は、メモリ34に記憶されているプログラム36に従って、様々な処理を実行するプロセッサである。メモリ34は、RAM、ROM等によって構成される。メモリ34は、プログラム36のみならず、I/Fテーブル38と、送信先テーブル40と、を予め記憶する。
I/Fテーブル38には、3個のI/F20a,20b,22aに対応する3個のネットワーク情報が登録される。3個のネットワーク情報のそれぞれは、対応するI/Fを識別するためのI/F番号と、対応するI/Fに割り当てられているIPアドレスと、対応するI/Fに割り当てられているサブネットマスクと、を含む。I/F番号「1」、「2」、「3」は、それぞれ、無線I/F20a、無線I/F20b、有線I/F22aを示す。無線I/F20aには、DHCP(Dynamic Host Configuration Protocolの略)サーバとして機能するAP100によって、IPアドレス「192.168.1.10」及びサブネットマスク「255.255.255.0」が割り当てられる。無線I/F20bには、G/O状態で動作するスキャナ10自身によって、IPアドレス「192.168.1.11」及びサブネットマスク「255.255.255.0」が割り当てられる。従って、無線I/F20aのネットワークアドレスと無線I/F20bのネットワークアドレスとは、同じ値「192.168.1」である。有線I/F22aには、有線NWに接続されている図示省略のDHCPサーバによって、IPアドレス「192.168.2.11」及びサブネットマスク「255.255.255.0」が割り当てられる。従って、有線I/F22aのネットワークアドレスは、「192.168.2」である。
IPアドレス及びサブネットマスクがI/F(例えば無線I/F20a)に割り当てられている場合には、当該I/FのI/F番号(例えば「1」)に対応付けて、IPアドレス及びサブネットマスクがI/Fテーブル38に登録される。即ち、この状態では、当該I/Fは、当該I/Fを介した通信を実行可能な有効状態である。ただし、IPアドレス及びサブネットマスクがI/Fに割り当てられていない場合には、当該I/FのI/F番号に対応付けて、IPアドレス及びサブネットマスクが登録されない。即ち、この状態では、当該I/Fは、当該I/Fを介した通信を実行不可能な無効状態である。
送信先テーブル40には、スキャンデータの送信先の候補である1個以上の機器(例えばPC50〜80等)に関連する1個以上の送信先情報が登録される。1個以上の送信先情報のそれぞれは、機器のデバイス名(例えば「AAA」等)と、当該機器に割り当てられているIPアドレスと、を含む。なお、本実施例では、送信先情報は、I/F番号を含まない。後述の第3実施例では、送信先情報は、さらに、I/F番号を含む。
スキャナ10は、スキャン実行部18が原稿のスキャンを実行することによって生成されるスキャンデータを他の機器に送信することができる。具体的には、スキャナ10は、プルスキャン及びプッシュスキャンを実行可能である。プルスキャンでは、スキャナ10は、スキャンデータの送信先である機器(例えばPC50〜80のうちのいずれかの機器であり、以下では、「送信先PC」と呼ぶ)に対するプルスキャン操作がユーザによって実行される場合に、送信先PCからスキャンデータ要求を受信する。そして、スキャナ10は、スキャンデータ要求に応じて、スキャンデータを送信先PCに送信する。プッシュスキャンでは、スキャナ10は、操作部12に対するプッシュスキャン操作がユーザによって実行される場合に、プッシュスキャン通知を送信先PCに送信する。そして、スキャナ10は、送信先PCからプッシュスキャン通知に応じたスキャンデータ要求を受信する。そして、スキャナ10は、スキャンデータ要求に応じて、スキャンデータを送信先PCに送信する。
(PC50〜80の構成)
PC50,60,80は、それぞれ、デバイス名「AAA」、「BBB」、「CCC」を有する。これらのデバイス名は、スキャナ10の送信先テーブル40に登録される。なお、PC70もデバイス名を有しているが、当該デバイス名が送信先テーブル40に登録されないので、PC70のデバイス名を図示省略している。PC50のIPアドレス及びサブネットマスクは、DHCPサーバとして機能するAP100によって割り当てられ、当該IPアドレスは、「192.168.1.2」である(送信先テーブル40の「AAA」参照)。PC60のIPアドレス及びサブネットマスクは、G/O状態で動作するスキャナ10によって割り当てられ、当該IPアドレスは、「192.168.1.3」である(送信先テーブル40の「BBB」参照)。同様に、PC70のIPアドレス「192.168.1.2」及びサブネットマスク「255.255.255.0」も、スキャナ10によって割り当てられる。PC80のIPアドレス及びサブネットマスクは、有線NWに接続されている図示省略のDHCPサーバによって割り当てられ、当該IPアドレスは、「192.168.2.2」である(送信先テーブル40の「CCC」参照)。
PC50,60,80は、それぞれ、デバイス名「AAA」、「BBB」、「CCC」を有する。これらのデバイス名は、スキャナ10の送信先テーブル40に登録される。なお、PC70もデバイス名を有しているが、当該デバイス名が送信先テーブル40に登録されないので、PC70のデバイス名を図示省略している。PC50のIPアドレス及びサブネットマスクは、DHCPサーバとして機能するAP100によって割り当てられ、当該IPアドレスは、「192.168.1.2」である(送信先テーブル40の「AAA」参照)。PC60のIPアドレス及びサブネットマスクは、G/O状態で動作するスキャナ10によって割り当てられ、当該IPアドレスは、「192.168.1.3」である(送信先テーブル40の「BBB」参照)。同様に、PC70のIPアドレス「192.168.1.2」及びサブネットマスク「255.255.255.0」も、スキャナ10によって割り当てられる。PC80のIPアドレス及びサブネットマスクは、有線NWに接続されている図示省略のDHCPサーバによって割り当てられ、当該IPアドレスは、「192.168.2.2」である(送信先テーブル40の「CCC」参照)。
(スキャナ10の情報登録処理;図2)
続いて、図2を参照して、スキャナ10のCPU32が実行する情報登録処理の内容について説明する。情報登録処理は、スキャナ10の電源がONされることをトリガとして実行される。
続いて、図2を参照して、スキャナ10のCPU32が実行する情報登録処理の内容について説明する。情報登録処理は、スキャナ10の電源がONされることをトリガとして実行される。
S2では、CPU32は、スキャナ10と通信可能ないずれかのPCからインストールパケットを受信することを監視する。インストールパケットは、スキャナ10にスキャン機能を実行させるためのスキャナドライバがPCにインストールされる際に、当該PCからスキャナ10に送信されるパケットである。インストールパケットは、インストールパケットの送信元のPCのデバイス名と、当該PCのIPアドレスと、を含む。CPU32は、インストールパケットが受信される場合(S2でYES)に、S4において、インストールパケットに含まれる各情報(即ちPCのデバイス名とPCのIPアドレス)を送信先情報として送信先テーブル40(図1参照)に登録する。S4が終了すると、S2に戻る。
また、S6では、CPU32は、ユーザがスキャナ10の操作部12を操作することによって、PCのデバイス名とPCのIPアドレスとが入力されることを監視する。CPU32は、上記の各情報が入力される場合(S6でYES)に、S8において、入力済みの各情報(即ちPCのデバイス名とPCのIPアドレス)を送信先情報として送信先テーブル40に登録する。S8が終了すると、S2に戻る。
(スキャナ10のデータ送信処理;図3)
続いて、図3を参照して、スキャナ10のCPU32が実行するデータ送信処理の内容について説明する。図3の処理は、スキャナ10の操作部12に対するプッシュスキャン操作がユーザによって実行されることをトリガとして開始される。プッシュスキャン操作は、スキャナ10にプッシュスキャンを実行させるための操作である。プッシュスキャン操作は、スキャンデータの送信先である送信先PCを選択するための送信先選択操作を含む。具体的には、ユーザは、メモリ34内の送信先テーブル40(図1参照)に登録されている1個以上のデバイス名(例えば、「AAA」、「BBB」、「CCC」)が表示部14に表示されている状態で、1個のデバイス名(例えば「AAA」)を選択することによって、送信先PCを選択する。
続いて、図3を参照して、スキャナ10のCPU32が実行するデータ送信処理の内容について説明する。図3の処理は、スキャナ10の操作部12に対するプッシュスキャン操作がユーザによって実行されることをトリガとして開始される。プッシュスキャン操作は、スキャナ10にプッシュスキャンを実行させるための操作である。プッシュスキャン操作は、スキャンデータの送信先である送信先PCを選択するための送信先選択操作を含む。具体的には、ユーザは、メモリ34内の送信先テーブル40(図1参照)に登録されている1個以上のデバイス名(例えば、「AAA」、「BBB」、「CCC」)が表示部14に表示されている状態で、1個のデバイス名(例えば「AAA」)を選択することによって、送信先PCを選択する。
S10では、CPU32は、送信先PCの送信先情報(即ち、デバイス名とIPアドレス)を送信先テーブル40から抽出する。
S20では、CPU32は、候補I/Fの個数を特定する。候補I/Fは、送信先PCのネットワークアドレスに一致し得るネットワークアドレスが割り当てられているI/Fである。CPU32は、I/Fテーブル38(図1参照)にIPアドレス及びサブネットマスクのセットが1個も登録されていない場合に、候補I/Fの個数が0個であると特定する(S20で0個)。この場合、CPU32は、S40以降の処理を実行せずに(即ちARP(Address Resolution Protocol)要求の送信、スキャンデータの送信等を実行せずに)、S30において、エラー画面を表示部14に表示させる。エラー画面は、スキャンデータを送信先PCに送信不可能であることを示す画面である。
CPU32は、I/Fテーブル38にIPアドレス及びサブネットマスクの1個以上のセットが登録されている場合に、当該1個以上のセットのそれぞれについて、以下の比較処理を実行する。なお、比較処理の対象のセットのことを「対象セット」と呼び、対象セットに対応付けられているI/F番号(例えば「1」)によって識別されるI/F(例えば無線I/F20a)のことを「対象I/F」と呼ぶ。CPU32は、対象セット(例えば無線I/F20aのセット)に含まれるIPアドレス(例えば「192.168.1.10」)と、対象セットに含まれるサブネットマスク(例えば「255.255.255.0」)と、の論理積を算出することによって、対象I/Fに割り当てられているネットワークアドレス(例えば「192.168.1」)を特定する。次いで、CPU32は、S10で抽出された送信先情報に含まれるIPアドレス(例えば「192.168.1.2」)と、対象セットに含まれるサブネットマスク(例えば「255.255.255.0」)と、の論理積を算出することによって、算出値(例えば「192.168.1」)を特定する。そして、CPU32は、上記のネットワークアドレスと上記の算出値とを比較し、これらの2個の値が一致する場合に、対象I/Fを候補I/Fとして特定し、これらの2個の値が一致しない場合に、対象I/Fを候補I/Fとして特定しない。上記の2個の値が一致する場合には、対象I/Fに割り当てられているネットワークアドレスと、送信先PCに割り当てられているネットワークアドレスと、が一致し得る。このため、対象I/Fを介した通信を実行するためのネットワークに送信先PCが所属している可能性がある。一方において、上記の2個の値が一致しない場合には、対象I/Fに割り当てられているネットワークアドレスと、送信先PCに割り当てられているネットワークアドレスと、が一致しない。このため、対象I/Fを介した通信を実行するためのネットワークに送信先PCが所属していない。この場合、CPU32は、対象I/Fを介して、スキャンデータを送信先PCに送信することができない。
CPU32は、I/Fテーブル38に登録されているIPアドレス及びサブネットマスクの1個以上のセットのそれぞれについて、上記の比較処理を実行することによって、0個、1個、2個、又は、3個の候補I/Fを特定することができる。CPU32は、特定済みの候補I/Fの個数が0個である場合(S20で「0個」)に、S40以降の処理を実行せずに(即ちARP要求の送信、スキャンデータの送信等を実行せずに)、S30に進む。CPU32は、特定済みの候補I/Fの個数が1個である場合(S20で「1個」)に、S40及びS42の処理を実行せずに(即ちARP要求の送信を実行せずに)、S52に進む。CPU32は、特定済みの候補I/Fの個数が2個以上である場合(S20で「2個以上」)に、S40に進む。
S40では、CPU32は、特定済みの2個以上の候補I/Fのそれぞれを介して、S10で抽出された送信先情報に含まれるIPアドレスを含むARP要求をブロードキャストする。ARP要求は、ARP要求に含まれるIPアドレスが割り当てられている機器があるのか否かを問い合わせるための要求である。
S42では、CPU32は、ARP要求に対するARP応答を受信することを監視して、ARP要求の個数を特定する。ARP要求に含まれるIPアドレスが、当該ARP要求が送信されたネットワークに所属するPCに割り当てられている場合には、当該PCは、ARP応答をスキャナ10に送信する。この場合、CPU32は、当該ARP要求の送信に利用されたI/Fと同じI/Fを介して、当該ARP応答を受信する。なお、以下では、ARP応答の受信に利用されたI/Fのことを「応答I/F」と呼ぶ。ARP要求は、応答I/Fを介した通信を実行するためのネットワークに送信先PCが所属していることを確認するために、スキャンデータを送信先PCに送信する前に、応答I/Fを介して送信される要求であるといえる。また、ARP応答は、応答I/Fを介した通信を実行するためのネットワークに送信先PCが所属していることを示す応答であるといえる。なお、2個以上のネットワークに所属する2個以上のPCに同一のIPアドレスが割り当てられている場合には、2個以上のPCから2個以上のARP応答がスキャナ10に送信され得る。この場合、CPU32は、2個以上の応答I/Fを介して、2個以上のARP応答を受信し得る。CPU32は、1個のARP応答も受信されなかった場合(S42で「0個」)に、S30に進む。CPU32は、1個のARP応答のみが受信された場合(S42で「1個」)、即ち、送信先PCのみから応答I/Fを介して1個のARP応答が受信された場合に、2個以上の候補I/Fの中から当該応答I/Fを選択して、S52に進む。CPU32は、2個以上のARP応答が受信された場合(S42で「2個以上」)、即ち、送信先PCから1個の応答I/Fを介して1個のARP要求が受信され、かつ、送信先PCとは異なる1個以上のPCを介して1個以上の応答I/Fを介して1個以上のARP要求が受信された場合に、S60に進む。
S52では、CPU32は、原稿のスキャンをスキャン実行部18に実行させて、スキャンデータを生成する。次いで、S54では、CPU32は、S10で抽出された送信先情報に含まれるIPアドレスを送信先として、プッシュスキャン通知を送信先PCに送信する。プッシュスキャン通知は、スキャンデータ要求の送信を送信先PCに指示するための通知である。プッシュスキャン通知の送信に利用されるI/Fは、以下のとおりである。即ち、CPU32は、S20において候補I/Fの個数が1個であると判断した場合には、当該1個の候補I/Fを利用する。また、CPU32は、S42において1個のARP応答のみが受信されたと判断した場合、即ち、1個の応答I/Fを選択した場合には、選択済みの1個の応答I/Fを利用する。
S56では、CPU32は、S54でプッシュスキャン通知の送信に利用されたI/Fと同じI/Fを介して、スキャンデータ要求を送信先PCから受信する。スキャンデータ要求は、スキャンデータの送信をスキャナ10に指示するための要求である。次いで、S58では、CPU32は、S56でスキャンデータ要求の受信に利用されたI/Fと同じI/Fを介して、S10で抽出された送信先情報に含まれるIPアドレスを送信先として、S52で生成されたスキャンデータを送信先PCに送信する。
一方、2個以上のARP応答が受信された場合(S42で「2個以上」)には、S60において、CPU32は、送信先PCに対するプルスキャン操作をユーザに実行させるためのプルスキャン指示画面を表示部14に表示させる。プルスキャン操作は、スキャンデータ要求を送信先PCからスキャナ10に送信するための操作である。送信先PCは、プルスキャン操作が実行されると、スキャンデータ要求をスキャナ10に送信する。
S62では、CPU32は、2個以上の応答I/Fのうちの1個の応答I/Fを介して、送信先PCからスキャンデータ要求を受信する。S64は、S52と同様である。S66では、CPU32は、S62でスキャン要求の受信に利用された1個の応答I/Fと同じI/Fを介して、S64で生成されたスキャンデータを送信先PCに送信する。なお、CPU32は、送信先PCからスキャンデータ要求を受信しない場合(即ち、プルスキャン操作が実行されない場合)に、図3の処理を終了させてもよい。
(具体的なケース;図4〜図7)
続いて、図4〜図7を参照して、図3のフローチャートに従って実現される具体的なケースA〜Cの内容を説明する。なお、各ケースA〜Cでは、図2の情報登録処理によって、PC50,60,80の送信先情報が送信先テーブル40(図1参照)に登録済みである。
続いて、図4〜図7を参照して、図3のフローチャートに従って実現される具体的なケースA〜Cの内容を説明する。なお、各ケースA〜Cでは、図2の情報登録処理によって、PC50,60,80の送信先情報が送信先テーブル40(図1参照)に登録済みである。
(ケースA;図4)
本ケースでは、無線I/F20a,20bが有効状態であり、有線I/F22aが無効状態である。スキャナ10は、無線I/F20aを介して、AP100との通常Wi−Fi接続を確立済みである。PC50は、AP100との通常Wi−Fi接続を確立済みである。即ち、スキャナ10とPC50とは、AP100によって形成されている通常Wi−FiNWに所属している。また、スキャナ10は、無線I/F20bを介して、PC60とのWFD接続を確立済みである。
本ケースでは、無線I/F20a,20bが有効状態であり、有線I/F22aが無効状態である。スキャナ10は、無線I/F20aを介して、AP100との通常Wi−Fi接続を確立済みである。PC50は、AP100との通常Wi−Fi接続を確立済みである。即ち、スキャナ10とPC50とは、AP100によって形成されている通常Wi−FiNWに所属している。また、スキャナ10は、無線I/F20bを介して、PC60とのWFD接続を確立済みである。
T2では、ユーザは、スキャナ10に対するプッシュスキャン操作を実行する(図3のトリガ)。プッシュスキャン操作は、PC50を送信先PCとして選択することを含む。
T4では、スキャナ10は、PC50の送信先情報を送信先テーブル40から抽出する(S10)。T6では、スキャナ10は、2個の無線I/F20a,20bのそれぞれを候補I/Fとして特定する(S20で2個以上)。具体的には、スキャナ10は、I/Fテーブル38(図1参照)にIPアドレス及びサブネットマスクの2個のセット(即ち2個の無線I/F20a,20bに対応する2個のセット(I/F番号「1」、「2」参照))が登録されているので、2個のセットのそれぞれについて、比較処理を実行する。まず、スキャナ10は、無線I/F20aのセットに基づいて、無線I/F20aに割り当てられているネットワークアドレス「192.168.1」を特定する。次いで、スキャナ10は、PC50のIPアドレス「192.168.1.2」と、無線I/F20aのセットに含まれるサブネットマスク「255.255.255.0」と、に基づいて、算出値「192.168.1」を特定する。そして、スキャナ10は、ネットワークアドレス「192.168.1」と算出値「192.168.1」とが一致するので、無線I/F20aを候補I/Fとして特定する。また、スキャナ10は、無線I/F20bのセットに基づいて、無線I/F20bに割り当てられているネットワークアドレス「192.168.1」を特定する。次いで、スキャナ10は、PC50のIPアドレス「192.168.1.2」と、無線I/F20bのセットに含まれるサブネットマスク「255.255.255.0」と、に基づいて、算出値「192.168.1」を特定する。そして、スキャナ10は、ネットワークアドレス「192.168.1」と算出値「192.168.1」とが一致するので、無線I/F20bを候補I/Fとして特定する。
T8,T10では、スキャナ10は、一方の候補I/Fである無線I/F20aとAP100とを介して、PC50のIPアドレス「192.168.1.2」を含むARP要求をブロードキャストする(S40)。即ち、当該ARP要求は、通常Wi−FiNWにブロードキャストされる。この場合、T12,T14では、スキャナ10は、AP100と上記の一方の候補I/Fである無線I/F20aとを介して、PC50からARP応答を受信する。また、T16では、スキャナ10は、他方の候補I/Fを無線I/F20bを介して(即ちAP100を介さずに)、PC50のIPアドレス「192.168.1.2」を含むARP要求をブロードキャストする(S40)。即ち、当該ARP要求は、WFDNWにブロードキャストされる。この場合、WFDNWに所属しているPC60のIPアドレスは、「192.168.1.3」であり、ARP要求に含まれるIPアドレス「192.168.1.2」に一致しない。このために、スキャナ10は、無線I/F20bを介して、ARP応答を受信しない。即ち、スキャナ10は、無線I/F20aを介して、1個のARP応答のみを受信するので(S42で1個)、有効状態である2個の無線I/F20a,20bの中から無線I/F20aを選択する。
T20では、スキャナ10は、原稿のスキャンを実行して、スキャンデータを生成する(S52)。T22,T24では、スキャナ10は、選択済みの無線I/F20aとAP100とを介して(即ち通常Wi−FiNWを利用して)、プッシュスキャン通知をPC50に送信する(S54)。T26,T28では、スキャナ10は、AP100と選択済みの無線I/F20aとを介して(即ち通常Wi−FiNWを利用して)、PC50からスキャンデータ要求を受信する(S56)。T30,T32では、スキャナ10は、選択済みの無線I/F20aとAP100とを介して、スキャンデータをPC50に送信する(S58)。
上述したように、本ケースでは、2個の無線I/F20a,20bが有効状態である。スキャナ10は、PC50にスキャンデータを送信するためのプルスキャン操作が操作部12に実行される場合(T2)に、無線I/F20a,20bのそれぞれを介してARP要求をブロードキャストする(T8,T10,T16)。スキャナ10は、無線I/F20aを介して、PC50からARP応答を受信するので(T12,T14)、2個の無線I/F20a,20bの中から無線I/F20aを選択する。即ち、スキャナ10は、PC50が所属している通常Wi−FiNWと通信を実行するための無線I/F20aを適切に選択することができる。従って、スキャナ10は、選択済みの無線I/F20aを介して、スキャンデータをPC50に適切に送信することができる(T30,T32)。即ち、スキャナ10は、2種類の通信を実行するための2個の無線I/F20a,20bが有効状態である場合に、スキャンデータをPC50に適切に送信することができる。
(ケースB;図5)
本ケースでは、無線I/F20aと有線I/F22aとが有効状態であり、無線I/F20bが無効状態である。図4のケースAと同様に、スキャナ10とPC50とは、AP100によって形成されている通常Wi−FiNWに所属している。また、スキャナ10は、有線I/F22aを介して、PC80との有線接続を確立済みである。即ち、スキャナ10とPC80とは、有線NWに所属している。
本ケースでは、無線I/F20aと有線I/F22aとが有効状態であり、無線I/F20bが無効状態である。図4のケースAと同様に、スキャナ10とPC50とは、AP100によって形成されている通常Wi−FiNWに所属している。また、スキャナ10は、有線I/F22aを介して、PC80との有線接続を確立済みである。即ち、スキャナ10とPC80とは、有線NWに所属している。
T102,T104は、図4のT2,T4と同様である(即ちPC50が送信先PCとして選択される)。T106では、スキャナ10は、図4のT6と同様の方法で、候補I/Fを特定する。これにより、1個の無線I/F20aのみを候補I/Fとして特定し、有線I/F22aを特定しない(S20で1個)。このように、1個の無線I/F20aのみが候補I/Fとして特定される場合(S20で1個)に、スキャナ10は、ARP要求を送信せずに、T110〜T122において、スキャンデータの生成と(S52)、無線I/F20aを介した各通信(即ち、プッシュスキャン通知、スキャンデータ要求、及び、スキャンデータの各通信)と、を実行する(S54〜S58)。
上述したように、スキャナ10は、候補I/Fが無線I/F20aのみであるので(T106)、ARP要求の送信を実行せずに、無線I/F20aを介して、スキャンデータをPC50に送信する(T120,T122)。即ち、スキャナ10は、2種類の通信を実行するための2個のI/F(即ち、無線I/F20a、有線I/F22a)が有効状態である場合に、スキャンデータをPC50に適切に送信することができる。
(ケースC;図6)
本ケースでは、無線I/F20a,20bが有効状態であり、有線I/F22aが無効状態である。図4のケースAと同様に、スキャナ10とPC50とは、AP100によって形成されている通常Wi−FiNWに所属している。また、スキャナ10は、無線I/F20bを介して、PC70とのWFD接続を確立している。即ち、スキャナ10とPC70とは、G/O状態であるスキャナ10によって形成されているWFDNWに所属している。
本ケースでは、無線I/F20a,20bが有効状態であり、有線I/F22aが無効状態である。図4のケースAと同様に、スキャナ10とPC50とは、AP100によって形成されている通常Wi−FiNWに所属している。また、スキャナ10は、無線I/F20bを介して、PC70とのWFD接続を確立している。即ち、スキャナ10とPC70とは、G/O状態であるスキャナ10によって形成されているWFDNWに所属している。
T202では、ユーザは、PC60を送信先PCとして選択することを含むプッシュスキャン操作を実行する(図3のトリガ)。T204では、スキャナ10は、PC60の送信先情報を送信先テーブル40から抽出する(図3のS10)。T206では、CPU32は、2個の無線I/F20a,20bのそれぞれを候補I/Fとして特定する(S20で2個以上)。T206は、PC50のIPアドレス「192.168.1.2」の代わりに、PC60のIPアドレス「192.168.1.3」が利用される点を除くと、図4のT6と同様である。
T208,T210では、スキャナ10は、無線I/F20aとAP100とを介して(即ち通常Wi−FiNWを利用して)、PC60のIPアドレス「192.168.1.3」を含むARP要求をブロードキャストする(S40)。しかしながら、PC60が通常Wi−FiNWに所属していないので、スキャナ10は、無線I/F20aを介して、ARP応答を受信しない。また、T212では、スキャナ10は、無線I/F20bを介して(即ちWFDNWを利用して)、PC60のIPアドレス「192.168.1.3」を含むARP要求をブロードキャストする(S40)。しかしながら、PC60がWFDNWに所属していないので、スキャナ10は、無線I/F20bを介して、ARP応答を受信しない。スキャナ10は、ARP応答を受信しないので(S42で0個)、T214において、エラー画面を表示する(S30)。
上述したように、スキャナ10は、2個の無線I/F20a,20bのそれぞれを介して、ARP要求をブロードキャストしても(T208〜T212)、ARP応答を受信しない場合に、エラー画面を表示する(T214)。これにより、スキャナ10は、スキャンデータをPC50に送信不可能であることをユーザに知らせることができる。
(ケースD;図7)
本ケースでは、図6のケースCと同様に、スキャナ10とPC50とは、AP100によって形成されている通常Wi−FiNWに所属していると共に、スキャナ10とPC70とは、G/O状態であるスキャナ10によって形成されているWFDNWに所属している。なお、PC50のIPアドレスとPC70のIPアドレスとは、同じ値「192.168.1.2」である。
本ケースでは、図6のケースCと同様に、スキャナ10とPC50とは、AP100によって形成されている通常Wi−FiNWに所属していると共に、スキャナ10とPC70とは、G/O状態であるスキャナ10によって形成されているWFDNWに所属している。なお、PC50のIPアドレスとPC70のIPアドレスとは、同じ値「192.168.1.2」である。
T302,T304は、図4のT2,T4と同様である(即ちPC50が送信先PCとして選択される)。また、T306〜T314は、図4のT2〜T14と同様であり、スキャナ10は、無線I/F20aを介して、PC50からARP応答を受信する。また、スキャナ10は、T316において、無線I/F20bを介して、IPアドレス「192.168.1.2」を含むARP要求をブロードキャストし(S40)、T318において、無線I/F20bを介して、PC70からARP応答を受信する。即ち、本ケースでは、PC50及びPC70に同じIPアドレスが割り当てられているので、2個の無線I/F20a,20bを介して2個のARP応答が受信される(S42で2個以上)。
T320では、スキャナ10は、プルスキャン指示画面を表示する(S60)。これにより、T322では、ユーザは、PC50に対するプルスキャン操作を実行する。
T320では、スキャナ10は、プルスキャン指示画面を表示する(S60)。これにより、T322では、ユーザは、PC50に対するプルスキャン操作を実行する。
T324,T326では、スキャナ10は、AP100と無線I/F20aとを介して(即ち通常Wi−FiNWを利用して)、スキャンデータ要求をPC50から受信する(S62)。そして、スキャナ10は、T328において、スキャンデータを生成し、T330,T332において、無線I/F20aとAP100とを介して(即ち通常Wi−FiNWを利用して)、スキャンデータをPC50に送信する(S66)。
上述したように、スキャナ10は、2個の無線I/F20a,20bのそれぞれを介して、ARP要求をブロードキャストし(T308,T310,T316)、2個のARP応答を受信する(T312,T314,T318)。この場合、スキャナ10は、ARP要求及びARP応答の通信の結果に基づいて、スキャンデータがPC50に送信される際に利用されるべきI/Fを特定することができない。仮に、スキャナ10が無線I/F20bを選択すると、ユーザの意図に反してスキャンデータがPC70に送信されてしまう。このような事態が発生するのを避けるために、スキャナ10は、プルスキャン指示画面を表示する(T320)。この結果、ユーザが所望のPC50にプルスキャン操作を実行することができ(T322)、スキャナ10は、無線I/F20aを介して、PC50からスキャンデータ要求を受信する(T324,T326)。これにより、スキャナ10は、無線I/F20aを介して、スキャンデータをPC50に適切に送信することができる(T330,T332)。即ち、本実施例によると、上記の事態の発生を抑制することができる。
(対応関係)
スキャナ10が、「通信装置」の一例である。PC50,60,80が、「1個以上の外部装置」の一例である。送信先情報、スキャンデータ、ARP要求、ARP応答が、それぞれ、「関連情報」、「対象データ」、「問合せ要求」、「所定の応答」の一例である。プルスキャン操作が、「所定の操作」の一例である。プルスキャン指示画面が、「指示画面」の一例である。
スキャナ10が、「通信装置」の一例である。PC50,60,80が、「1個以上の外部装置」の一例である。送信先情報、スキャンデータ、ARP要求、ARP応答が、それぞれ、「関連情報」、「対象データ」、「問合せ要求」、「所定の応答」の一例である。プルスキャン操作が、「所定の操作」の一例である。プルスキャン指示画面が、「指示画面」の一例である。
図3のS20の処理、S30の処理、S40の処理、S42の処理、S52の処理、S60の処理が、それぞれ、「特定部」、「出力部」、「要求送信部」、「選択部」、「生成部」、「第1の表示制御部」によって実行される処理の一例である。S58,S66の処理が、「対象データ送信部」によって実行される処理の一例である。
図4、図5、及び、図7のケースA,B,Dでは、PC50が、「対象外部装置」の一例である。図6のケースCでは、PC60が、「対象外部装置」の一例である。ケースA,C,Dでは、有効状態である2個の無線I/F20a,20bが、「N個の通信インターフェース」及び「L個の候補インターフェース」の一例である。ケースBでは、有効状態である2個の無線I/F20a及び有線I/F22aが、「N個の通信インターフェース」の一例である。ケースA,Bでは、無線I/F20aが、「対象インターフェース」の一例である。
(第2実施例)
(データ送信処理;図8)
本実施例では、図3のデータ送信処理に代えて、図8のデータ送信処理が実行される。本実施例では、S44及びS46の処理が追加されている点が、図3の処理とは異なる。S10〜S42は、図3のS10〜S42と同様である。
(データ送信処理;図8)
本実施例では、図3のデータ送信処理に代えて、図8のデータ送信処理が実行される。本実施例では、S44及びS46の処理が追加されている点が、図3の処理とは異なる。S10〜S42は、図3のS10〜S42と同様である。
S44では、スキャナ10のCPU32は、ARP応答の個数が2個以上であると特定される場合(S42で「2個以上」)、即ち、2個以上の応答I/Fが特定される場合に、I/F選択画面を表示部14に表示させる。I/F選択画面は、2個以上の応答I/Fの中から1個のI/Fをユーザに選択させるための画面である。I/F選択画面は、2個以上の応答I/Fの名称を示す2個以上の名称ボタンと、キャンセルボタンと、を含む。応答I/Fの名称は、例えば、無線I/F20aについて「通常Wi−Fi用I/F」であり、無線I/F20bについて「WFD用I/F」であり、有線I/F22aについて「有線I/F」である。
S46では、CPU32は、I/F選択画面において、2個以上の応答I/Fの中から1個の応答I/Fを選択するためのI/F選択操作がユーザによって実行されたか否かを判断する。CPU32は、I/F選択画面において、2個以上の名称ボタンのうちのいずれかの名称ボタンが選択される場合に、S46でYESと判断し、S52に進む。この場合、S54〜S58では、S46でユーザによって選択された応答I/Fが利用される。一方において、CPU32は、I/F選択画面において、キャンセルボタンが選択される場合に、S46でNOと判断し、S60に進む。S60〜S66は、図3のS60〜S66と同様である。
(ケースE;図9)
続いて、図9を参照して、図8のフローチャートに従って実現されるケースEの内容を説明する。本ケースでは、図7のケースDと同様に、スキャナ10とPC50とは、AP100によって形成されている通常Wi−FiNWに所属していると共に、スキャナ10とPC70とは、G/O状態であるスキャナ10によって形成されているWFDNWに所属している。PC50のIPアドレスとPC70のIPアドレスとは、同じ値「192.168.1.2」である。
続いて、図9を参照して、図8のフローチャートに従って実現されるケースEの内容を説明する。本ケースでは、図7のケースDと同様に、スキャナ10とPC50とは、AP100によって形成されている通常Wi−FiNWに所属していると共に、スキャナ10とPC70とは、G/O状態であるスキャナ10によって形成されているWFDNWに所属している。PC50のIPアドレスとPC70のIPアドレスとは、同じ値「192.168.1.2」である。
T402〜T418は、図7のT302〜T318と同様である。T420では、スキャナ10は、I/F選択画面を表示する(図8のS44)。T422では、ユーザは、I/F選択画面において、2個の応答I/F(即ち無線I/F20a,20b)の中から、所望のPC50が所属している通常Wi−FiNWを利用した通信を実行するための無線I/F20aを選択する。T424〜T436は、図4のT20〜T32と同様であり、スキャナ10は、無線I/F20aを介して、スキャンデータをPC50に送信することができる。
本ケースでも、スキャナ10は、ケースDと同様に、ARP要求及びARP応答の通信の結果に基づいて、スキャンデータがPC50に送信される際に利用されるべきI/Fを特定することができない。このために、スキャナ10は、I/F選択画面を表示する(T420)。この結果、ユーザが無線I/F20aを選択することができ(T422)、スキャナ10は、無線I/F20aを介して、スキャンデータをPC50に送信することができる(T434,T436)。本ケースでも、図7のケースDと同様に、PC50に送信されるべきスキャンデータが、ユーザの意図に反して、PC70に送信されてしまう事態の発生を抑制することができる。なお、本実施例では、I/F選択画面が、「選択画面」の一例である。また、図8のS44の処理が、「第2の表示制御部」によって実行される処理の一例である。
(第3実施例)
(情報登録処理;図2)
本実施例では、図2の情報登録処理の内容が第1実施例とは異なり、この結果、図1の送信先テーブル40にI/F番号が登録され得る。図2のS2,S4は、第1実施例と同様である。
(情報登録処理;図2)
本実施例では、図2の情報登録処理の内容が第1実施例とは異なり、この結果、図1の送信先テーブル40にI/F番号が登録され得る。図2のS2,S4は、第1実施例と同様である。
S6では、スキャナ10のCPU32は、ユーザがスキャナ10の操作部12を操作することによって、PCのデバイス名と、当該PCのIPアドレスと、I/F番号と、が入力されることを監視する。I/F番号は、当該PC(例えばPC50)が所属しているネットワーク(例えば通常Wi−FiNW)を利用した通信を実行するためのI/F(例えば無線I/F20a)を示す番号である。CPU32は、上記の各情報が入力される場合(S6でYES)に、S8において、入力済みの各情報(即ち、PCのデバイス名、PCのIPアドレス、I/F番号)を送信先情報として送信先テーブル40に登録する。S8が終了すると、S2に戻る。
本実施例の情報登録処理では、CPU32は、送信先情報を含むインストールパケットを対象PCから受信する場合(S2でYES)には、第1実施例と同様に、I/F番号を含まない送信先情報を送信先テーブル40に登録する(S4)。一方において、CPU32は、I/F番号を含む送信先情報がユーザによって入力される場合(S6でYES)には、I/F番号を含む送信先情報を送信先テーブル40に登録する(S8)。即ち、本実施例では、I/F番号を含む送信先情報が登録される場合(例えば図1の送信先テーブル40の「AAA」に対応する送信先情報)と、I/F番号を含まない送信先情報が登録される場合(例えば「BBB」に対応する送信先情報)と、がある。
(データ送信処理;図10)
本実施例では、図3のデータ送信処理に代えて、図10のデータ送信処理が実行される。本実施例では、S100〜S130の処理が追加されている点が、図3の処理とは異なる。S10は、図3のS10と同様である。
本実施例では、図3のデータ送信処理に代えて、図10のデータ送信処理が実行される。本実施例では、S100〜S130の処理が追加されている点が、図3の処理とは異なる。S10は、図3のS10と同様である。
S100では、スキャナ10のCPU32は、S10で抽出された送信先情報がI/F番号を含むか否かを判断する。CPU32は、送信先情報がI/F番号を含む場合と判断する場合(S100でYES)に、S102に進む。一方において、CPU32は、送信先情報がI/F番号を含まない場合と判断する場合(S100でNO)に、図3のS20〜66と同様の処理を実行する。
S102では、CPU32は、送信先情報に含まれるI/F番号が示すI/F(以下では「記憶済みI/F」と呼ぶ)が有効状態であるか否か判断する。CPU32は、記憶済みI/Fに対応付けてIPアドレス及びサブネットマスクがI/Fテーブル38に登録されている場合に、記憶済みI/Fが有効状態であると判断し(S102でYES)、S104に進む。一方において、CPU32は、記憶済みI/Fに対応付けてIPアドレス及びサブネットマスクがI/Fテーブル38に登録されていない場合に、記憶済みI/Fが無効状態であると判断し(S102でNO)、S130において、エラー画面を表示部14に表示させる。S130の処理は、図3のS30の処理と同様である。
S104は、図3のS52と同様である。CPU32は、S106において、記憶済みI/Fを介して、プッシュスキャン通知を送信先PCに送信し、S108において、記憶済みI/Fを介して、スキャンデータを送信先PCから受信する。また、S110では、CPU32は、記憶済みI/Fを介して、S104で生成されたスキャンデータを送信先PCに送信する。即ち、この場合、候補I/Fの個数の特定(図3のS20参照)、ARP要求及びARP応答の通信(S40,S42参照)が実行されずに、スキャンデータが送信先PCに送信される。
(ケースF)
続いて、図11を参照して、図10のフローチャートに従って実現されるケースFの内容を説明する。本ケースでは、図4のケースAと同様に、スキャナ10とPC50とは、AP100によって形成されている通常Wi−FiNWに所属していると共に、スキャナ10とPC60とは、G/O状態であるスキャナ10によって形成されているWFDNWに所属している。本ケースでは、送信先テーブル40に登録されているPC50の送信先情報は、I/F番号「1」を含む(図1のデバイス名「AAA」に対応する送信先情報参照)。
続いて、図11を参照して、図10のフローチャートに従って実現されるケースFの内容を説明する。本ケースでは、図4のケースAと同様に、スキャナ10とPC50とは、AP100によって形成されている通常Wi−FiNWに所属していると共に、スキャナ10とPC60とは、G/O状態であるスキャナ10によって形成されているWFDNWに所属している。本ケースでは、送信先テーブル40に登録されているPC50の送信先情報は、I/F番号「1」を含む(図1のデバイス名「AAA」に対応する送信先情報参照)。
T502,T504は、T2,T4と同様である。スキャナ10は、T506において、PC50の送信先情報がI/F番号「1」を含むと判断し(S100でYES)、T508において、I/F番号「1」に対応する無線I/F20aが有効状態であると判断する(S102でYES)。T510〜T522は、図4のT20〜T32と同様であり、スキャナ10は、無線I/F20aを介して、スキャンデータをPC50に送信することができる。
上述したように、スキャナ10は、PC50の送信先情報がI/F番号「1」を含む場合(T506)に、I/F番号「1」に対応する無線I/F20aを介して、スキャンデータをPC50に送信する(T520,T522)。これにより、スキャナ10は、候補I/Fの個数を判断せずに、また、ARP要求及びARP応答の通信を実行せずに、スキャンデータをPC50に送信することができる。即ち、スキャナ10の処理負荷を軽減することができる。なお、本実施例では、送信先テーブル40に登録されるI/F番号が、「インターフェース情報」の一例である。
以上、本発明の具体例を詳細に説明したが、これらは例示にすぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には以上に例示した具体例を様々に変形、変更したものが含まれる。上記の実施例の変形例を以下に列挙する。
(変形例1)上記の各実施例では、スキャナ10は、3個のI/F20a,20b,22aを備える。変形例では、スキャナ10は、2個のI/F(例えば無線I/F20aと有線I/F22a)を備えていてもよい。即ち、スキャナ10は、2個のI/Fを介した2種類の通信を実行可能であってもよい。また、スキャナ10は、3個のI/F20a等に加えて、例えば、BT(Blue Tooth(登録商標)の略)通信を実行するためのインターフェースを備えていてもよい。即ち、スキャナ10は、4個以上のI/Fを介した4種類以上の通信を実行可能であってもよい。即ち、「N」は、2以上の整数であればよい。
(変形例2)上記の第1実施例では、スキャナ10のCPU32は、2個以上の候補I/Fのそれぞれを介して、ARP要求をブロードキャストする(S40)。これに代えて、変形例では、CPU32は、2個以上の候補I/Fのうちの1個の候補I/Fを介してARP要求をブロードキャストしてARP応答を受信する場合に、他の候補I/Fを介してARP要求をブロードキャストすることなく、当該1個の候補I/Fを選択してもよい。即ち、CPU32は、候補I/Fの個数と同数のARP要求をブロードキャストしなくてもよく、最小で1個のARP要求をブロードキャストすればよい。即ち、「要求送信部」は、N個の通信インターフェースのうちの少なくとも1個の通信インターフェースを介して、問合せ要求を送信すればよい。本変形例によると、ARP要求が送信される回数が低減し得るので、スキャナ10の処理負荷が軽減し得る。
(変形例3)上記の第1実施例では、スキャナ10のCPU32は、各候補I/Fを介してARP要求をブロードキャストする(S40)。これに代えて、CPU32は、各候補I/Fを介して、送信先PCのIPアドレスを含むPINGパケットをユニキャストしてもよい。この場合、CPU32は、PINGパケットに含まれるIPアドレスが割り当てられているPCから、候補I/Fを介して、応答パケットを受信し(この場合、S42の個数としてカウントし)、IPアドレスが割り当てられていないPCから応答パケットを受信しない。本変形例では、「PINGパケット」、「応答パケット」が、「問合せ要求」、「所定の応答」の一例である。また、別の変形例では、CPU32は、以下の処理を実行してもよい。即ち、CPU32は、無線I/F20aが候補I/Fである場合に、送信先PCのIPアドレスを含む問合せ信号をAP100に送信してもよい。DHCPサーバとして機能するAP100は、問合せ信号に含まれるIPアドレスをいずれかの機器に割り当て済みである場合には、割り当て済みであることを示す第1の応答信号をスキャナ10に送信し、IPアドレスをいずれの機器にも割り当てていない場合には、割り当てていないことを示す第2の応答信号をスキャナ10に送信する。CPU32は、無線I/F20aを介して第1の応答信号を受信する場合に、無線I/F20aを応答I/Fとして特定し(即ちS42の個数としてカウントし)、無線I/F20aを介して第2の応答信号を受信する場合に、無線I/F20aを応答I/Fとして特定しない。この場合も、上記と同様に、CPU32は、有線I/F22aを応答I/Fとして特定する(又は特定しない)ことができる。本変形例では、「問合せ信号」、「第1の応答信号」が、「問合せ要求」、「所定の応答」の一例である。即ち、「問合せ要求」、「所定の応答」は、それぞれ、ARP要求、ARP応答に限られず、対象インターフェースを介した通信を実行するためのネットワークに対象外部装置が所属していることを確認可能なあらゆる信号を含む。
(変形例4)上記の第1実施例では、スキャナ10のCPU32は、有効状態である複数個のI/Fのうちの候補I/Fの個数を判断し(S20)、各候補I/Fを介してARP要求をブロードキャストする(S40)。これに代えて、CPU32は、有効状態である複数個のI/Fのそれぞれを介してARP要求をブロードキャストしてもよい。即ち、「特定部」は省略可能である。
(変形例5)上記の各実施例では、送信先テーブル40に登録されている送信先情報は、IPアドレスを含む。これに代えて、送信先情報は、IPアドレスを含んでいなくてもよい。この場合、スキャナ10のCPU32は、例えばPC50の送信先情報に含まれるデバイス名「AAA」を利用して、DNS(Domain Name Systemの略)サーバからPC50のIPアドレスを取得し、取得済みのIPアドレスを利用して、図3のS20以降の処理を実行してもよい。なお、デバイス名は、ノード名と言い換えることができる本変形例では、「関連情報」は、IPアドレスを含まない。一般的に言うと、「関連情報」は、外部装置に関連する情報であればよい。
(変形例6)上記の第1実施例では、スキャナ10のCPU32は、候補I/Fの個数が1個である場合(図3のS20で1個)に、候補I/Fを介してARP要求をブロードキャストしない(S40をスキップする)。これに代えて、CPU32は、候補I/Fの個数が1個である場合に、候補I/Fを介して、ARP要求をブロードキャストしてもよい。そして、CPU32は、当該ARP要求に対するARP応答が受信される場合に、S52に進み、ARP応答が受信されない場合に、S30に進んでもよい。
(変形例7)「通信装置」は、スキャン機能を実行可能なスキャナに限られず、スキャン機能とは異なる機能(例えば、画像の表示機能、データの演算機能)を実行する装置(例えば、PC、携帯端末(携帯電話、スマートフォン、PDA等))であってもよい。この場合、例えば、スキャンデータとは異なる画像データ、文書データ等が、通信装置から外部装置に送信されてもよい。即ち、「スキャン実行部」及び「生成部」は省略可能である。
(変形例8)上記の各実施例では、スキャナ10は、G/O状態で動作して、CL状態で動作する各PC60,70とのWFD接続を確立することができる。これに代えて、スキャナ10は、CL状態で動作して、G/O状態で動作する1個の機器(例えば、PC60,70)とのWFD接続を確立してもよい。この場合に、無線I/F20bには、当該1個の機器によって、IPアドレス「192.168.1.11」及びサブネットマスク「255.255.255.0」が割り当てられる。
(変形例9)上記の各実施例では、スキャナ10のCPU32がプログラム(即ちソフトウェア)を実行することによって、図2、図3、図8、及び、図10の各処理が実現される。これに代えて、図2、図3、図8、及び、図10の各処理のうちの少なくとも1つの処理は、論理回路等のハードウェアによって実現されてもよい。
また、本明細書または図面に説明した技術要素は、単独であるいは各種の組合せによって技術的有用性を発揮するものであり、出願時請求項記載の組合せに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
2:通信システム、10:スキャナ、12:操作部、14:表示部、18:スキャン実行部、20:無線インターフェースチップ、20a,20b:無線インターフェース、22:有線インターフェースチップ、22a:有線インターフェース、30:制御部、32:CPU、34:メモリ、36:プログラム、38:インターフェーステーブル、40:送信先テーブル、50〜80:PC
Claims (10)
- 通信装置であって、
ユーザによって操作される操作部と、
1個以上の外部装置に関連する1個以上の関連情報を記憶するメモリと、
N個(前記Nは2以上の整数)の通信インターフェースを介したN種類の通信を実行可能な状態で、前記1個以上の外部装置のうちの対象外部装置に対象データを送信するための送信操作が前記操作部に実行される特定の場合に、前記メモリ内の前記1個以上の関連情報のうち、前記対象外部装置に関連する対象関連情報を利用して、前記N個の通信インターフェースのうちの少なくとも1個の通信インターフェースを介して、問合せ要求を送信する要求送信部と、
前記N個の通信インターフェースのうちの対象インターフェースを介して、前記問合せ要求に対する所定の応答が受信される場合に、前記N個の通信インターフェースの中から前記対象インターフェースを選択する選択部であって、前記問合せ要求は、前記対象インターフェースを介した通信を実行するための対象ネットワークに前記対象外部装置が所属していることを確認するために、前記対象データを前記対象外部装置に送信する前に、前記対象インターフェースを介して送信される要求であり、前記所定の応答は、前記対象ネットワークに前記対象外部装置が所属していることを示す応答である、前記選択部と、
選択済みの前記対象インターフェースを介して、前記対象データを前記対象外部装置に送信する対象データ送信部と、
を備える、通信装置。 - 前記問合せ要求は、前記対象関連情報を用いて得られる前記対象外部装置のIPアドレスを含み、
前記選択部は、前記対象外部装置から、前記対象インターフェースを介して、前記所定の応答が受信される場合に、前記N個の通信インターフェースの中から前記対象インターフェースを選択する、請求項1に記載の通信装置。 - 前記通信装置は、さらに、
前記特定の場合に、前記N個の通信インターフェースのうちの候補インターフェースの個数を特定する特定部であって、前記候補インターフェースは、前記対象外部装置の前記ネットワークアドレスに一致し得るネットワークアドレスが割り当てられている通信インターフェースである、前記特定部と、を備え、
前記要求送信部は、
前記候補インターフェースの前記個数がL個(前記Lは2以上の整数)である場合に、L個の候補インターフェースのうちの前記少なくとも1個の通信インターフェースを介して、前記問合せ要求を送信し、
前記候補インターフェースの前記個数が1個以下である場合に、前記問合せ要求を送信せず、
前記選択部は、前記候補インターフェースの前記個数が前記L個であり、かつ、前記L個の候補インターフェースのうちの前記対象インターフェースを介して、前記所定の応答が受信される場合に、前記L個の候補インターフェースの中から前記対象インターフェースを選択し、
前記対象データ送信部は、さらに、前記候補インターフェースの前記個数が1個である場合に、1個の候補インターフェースを介して、前記対象データを前記対象外部装置に送信する、請求項1又は2に記載の通信装置。 - 前記要求送信部は、前記候補インターフェースの前記個数が前記L個である場合に、前記L個の候補インターフェースのそれぞれを介して、前記問合せ要求を送信し、
前記通信装置は、さらに、
前記L個の候補インターフェースのいずれを介しても、前記所定の応答が受信されない場合に、前記対象データを前記対象外部装置に送信不可能であることを示すエラー情報を出力する出力部を備える、請求項3に記載の通信装置。 - 前記要求送信部は、前記候補インターフェースの前記個数が前記L個である場合に、前記L個の候補インターフェースのそれぞれを介して、前記問合せ要求を送信し、
前記通信装置は、さらに、
前記L個の候補インターフェースのうちの2個以上の候補インターフェースのそれぞれを介して、前記所定の応答が受信される場合に、前記対象外部装置に対する所定の操作をユーザに実行させるための指示画面を表示部に表示させる第1の表示制御部であって、前記所定の操作は、前記対象データの要求を前記対象外部装置から前記通信装置に送信するための操作である、前記第1の表示制御部を備え、
前記対象データ送信部は、さらに、前記対象外部装置から、前記2個以上の候補インターフェースのうちの1個の通信インターフェースを介して、前記対象データの前記要求が受信される場合に、前記1個の通信インターフェースを介して、前記対象データを前記対象外部装置に送信する、請求項3又は4に記載の通信装置。 - 前記要求送信部は、前記候補インターフェースの前記個数が前記L個である場合に、前記L個の候補インターフェースのそれぞれを介して、前記問合せ要求を送信し、
前記通信装置は、さらに、
前記L個の候補インターフェースのうちの2個以上の候補インターフェースのそれぞれを介して、前記所定の応答が受信される場合に、前記2個以上の候補インターフェースの中から1個の通信インターフェースをユーザに選択させるための選択画面を表示部に表示させる第2の表示制御部を備え、
前記対象データ送信部は、さらに、前記2個以上の候補インターフェースの中から前記1個の通信インターフェースが前記ユーザによって選択される場合に、前記1個の通信インターフェースを介して、前記対象データを前記対象外部装置に送信する、請求項3又は4に記載の通信装置。 - 前記要求送信部は、
前記特定の場合であり、かつ、前記対象関連情報が、前記対象データが前記対象外部装置に送信される際に利用されるべき通信インターフェースを示すインターフェース情報を含む場合に、前記問合せ要求を送信せず、
前記特定の場合であり、かつ、前記対象関連情報が前記インターフェース情報を含まない場合に、前記N個の通信インターフェースのうちの前記少なくとも1個の通信インターフェースを介して、前記問合せ要求を送信し、
前記対象データ送信部は、さらに、前記特定の場合であり、かつ、前記対象関連情報が前記インターフェース情報を含む場合に、前記N個の通信インターフェースのうち、前記インターフェース情報によって示される1個の通信インターフェースを介して、前記対象データを前記対象外部装置に送信する、請求項1から6のいずれか一項に記載の通信装置。 - 前記通信装置は、さらに、
スキャン実行部と、
前記特定の場合に、原稿のスキャンを前記スキャン実行部に実行させて、スキャンデータである前記対象データを生成する生成部と、
を備える請求項1から7のいずれか一項に記載の通信装置。 - 通信装置は、さらに、1個以上の通信チップを備え、
前記N個の通信インターフェースは、前記1個以上の通信チップによって実現される、請求項1から8のいずれか一項に記載の通信装置。 - 通信装置のためのコンピュータプログラムであって、
前記通信装置は、
ユーザによって操作される操作部と、
1個以上の外部装置に関連する1個以上の関連情報を記憶するメモリと、を備え、
前記コンピュータプログラムは、前記通信装置に搭載されるコンピュータに、以下の各処理、即ち、
N個(前記Nは2以上の整数)の通信インターフェースを介したN種類の通信を実行可能な状態で、前記1個以上の外部装置のうちの対象外部装置に対象データを送信するための送信操作が前記操作部に実行される特定の場合に、前記メモリ内の前記1個以上の関連情報のうち、前記対象外部装置に関連する対象関連情報を利用して、前記N個の通信インターフェースのうちの少なくとも1個の通信インターフェースを介して、問合せ要求を送信する要求送信処理と、
前記N個の通信インターフェースのうちの対象インターフェースを介して、前記問合せ要求に対する所定の応答が受信される場合に、前記N個の通信インターフェースの中から前記対象インターフェースを選択する選択処理であって、前記所定の応答は、前記対象インターフェースを介した通信を実行するためのネットワークに前記対象外部装置が所属していることを示す応答である、前記選択処理と、
選択済みの前記対象インターフェースを介して、前記対象データを前記対象外部装置に送信する対象データ送信処理と、
を実行させる、コンピュータプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014151153A JP2016025642A (ja) | 2014-07-24 | 2014-07-24 | 通信装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014151153A JP2016025642A (ja) | 2014-07-24 | 2014-07-24 | 通信装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2016025642A true JP2016025642A (ja) | 2016-02-08 |
Family
ID=55272017
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014151153A Pending JP2016025642A (ja) | 2014-07-24 | 2014-07-24 | 通信装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2016025642A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10931632B2 (en) | 2017-03-24 | 2021-02-23 | Fuji Xerox Co., Ltd. | Communication apparatus and recording medium |
-
2014
- 2014-07-24 JP JP2014151153A patent/JP2016025642A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10931632B2 (en) | 2017-03-24 | 2021-02-23 | Fuji Xerox Co., Ltd. | Communication apparatus and recording medium |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9781199B2 (en) | Managed peer-to-peer sharing in cellular networks | |
JP5348094B2 (ja) | 支援装置及びコンピュータプログラム | |
JP6398539B2 (ja) | 制御装置 | |
JP6387698B2 (ja) | 通信装置 | |
JP6547521B2 (ja) | 通信機器及び親局機器 | |
JP5945934B2 (ja) | 無線通信装置 | |
JP5820106B2 (ja) | 通信装置、および、その制御方法 | |
US10271245B2 (en) | Methods and systems for transferring hotspot session | |
US20150110099A1 (en) | Service Information Discovery Method and Device | |
EP3490295B1 (en) | Handover based on fils | |
CN108471643B (zh) | 通信装置 | |
US20140016557A1 (en) | Method And Apparatus For Enabling Provision Of Routing Information And Network Selection Information To One Or More Devices | |
JP2021190862A (ja) | 端末装置のためのコンピュータプログラムと通信装置 | |
CN109587754B (zh) | 网络设备节点选择方法、装置及计算机可读存储介质 | |
JP6361423B2 (ja) | 制御装置 | |
JP6458512B2 (ja) | 通信機器 | |
JP2016025642A (ja) | 通信装置 | |
JP2016523052A (ja) | 共通anqpグループバージョンを使用するanqp照会のシステムおよび方法 | |
JP5915314B2 (ja) | 通信装置 | |
JP2015195533A (ja) | 通信装置 | |
TWI495314B (zh) | 多廣域網路介面設備及其更新路由表的方法 | |
JP2010239281A (ja) | 通信装置とアドレス提供装置 | |
JP6558485B2 (ja) | 機能実行装置 | |
JP2016140001A (ja) | 通信機器 | |
JP2021190863A (ja) | 端末装置のためのコンピュータプログラムと通信装置 |