(通信システムの構成)
図1に示すように、通信システム2は、多機能機(以下では「MFP」(Multi-Function Peripheralの略)と呼ぶ)10と、携帯端末50と、アクセスポイント(以下では「AP」と呼ぶ)6と、PC8と、を備える。MFP10と携帯端末50とは、近距離無線通信を実行可能である。近距離無線通信は、NFC方式に従った無線通信である。本実施例では、ISO/IEC21481又は18092の国際標準規格に基づいて、NFC方式に従った無線通信が実行される。
また、MFP10は、後述のWiFi Direct方式に従った無線通信を実行可能である。以下では、WiFi Directのことを「WFD」と呼ぶ。WFDでは、IEEE(The Institute of Electrical and Electronics Engineers, Inc.の略)の802.11の規格、及び、それに準ずる規格(例えば802.11a,11b,11g,11n等)に基づいて、無線通信が実行される。NFC方式とWFDの方式(以下では「WFD方式」と呼ぶ)とは、無線通信方式(即ち無線通信の規格)が異なる。また、WFD方式に従った無線通信の通信速度は、NFC方式に従った無線通信の通信速度と比較して速い。
例えば、MFP10は、WFD方式に従って、携帯端末50との接続(以下では「WFD接続」と呼ぶ)を確立することによって、WFDネットワークを構築することができる。同様に、MFP10は、PC8とのWFD接続を確立することによって、WFDネットワークを構築することができる。
PC8とMFP10と携帯端末50とは、さらに、WFD方式とは異なる通常Wi−Fi(例えばIEEE802.11)の方式に従った無線通信を実行可能である。一般的に言うと、通常Wi−Fiに従った無線通信とは、AP6が利用される無線通信であり、WFD方式に従った無線通信とは、AP6が利用されない無線通信である。例えば、MFP10は、通常Wi−Fiに従って、AP6との接続(以下では「通常Wi−Fi接続」と呼ぶ)を確立することによって、通常Wi−Fiネットワークに属することができる。MFP10は、AP6を介して、通常Wi−Fiネットワークに属している他のデバイス(例えばPC8、携帯端末50)と無線通信を実行することができる。なお、NFC方式と通常Wi−Fiの方式(以下では「通常Wi−Fi方式」と呼ぶ)とは、無線通信方式(即ち無線通信の規格)が異なる。また、通常Wi−Fiの通信速度は、NFCの通信速度よりも速い。
(WFD)
WFDは、Wi−Fi Allianceによって策定された規格である。WFDは、Wi−Fi Allianceによって作成された「Wi−Fi Peer−to−Peer(P2P) Technical Specification Version1.1」に記述されている。
上述したように、PC8とMFP10と携帯端末50とは、それぞれ、WFD方式に従った無線通信を実行可能である。以下では、WFD方式に従った無線通信を実行可能な機器のことを「WFD対応機器」と呼ぶ。WFDの規格では、WFD対応機器の状態として、Group Owner状態(以下では「G/O状態」と呼ぶ)、クライアント状態、及び、デバイス状態の3つの状態が定義されている。WFD対応機器は、上記の3つの状態のうちの1つの状態で選択的に動作可能である。
G/O状態の機器とクライアント状態の機器とによって、WFDネットワークが構成される。WFDネットワークでは、G/O状態の機器が1個しか存在し得ないが、クライアント状態の機器が1個以上存在し得る。G/O状態の機器は、1個以上のクライアント状態の機器を管理する。具体的に言うと、G/O状態の機器は、1個以上のクライアント状態の機器のそれぞれの識別情報(即ちMACアドレス)が記述された管理リストを生成する。G/O状態の機器は、クライアント状態の機器がWFDネットワークに新たに属すると、当該機器の識別情報を管理リストに追加し、クライアント状態の機器がWFDネットワークから離脱すると、当該機器の識別情報を管理リストから消去する。
G/O状態の機器は、管理リストに登録されている機器、即ち、クライアント状態の機器(即ちWFDネットワークに属している機器)との間で、目的データ(例えば、OSI参照モデルのネットワーク層の情報を含むデータ(印刷データ、スキャンデータ等))の無線通信を実行可能である。しかしながら、G/O状態の機器は、管理リストに登録されていない未登録機器との間で、当該未登録機器がWFDネットワークに属するためのデータ(例えば、ネットワーク層の情報を含まないデータ(Probe Request信号、Probe Response信号等の物理層のデータ)の無線通信を実行可能であるが、上記の目的データの無線通信を実行不可能である。例えば、G/O状態のMFP10は、管理リストに登録されている携帯端末50(即ち、クライアント状態の携帯端末50)から印刷データを無線で受信可能であるが、管理リストに登録されていない機器から印刷データを無線で受信不可能である。
また、G/O状態の機器は、複数個のクライアント状態の機器の間の目的データ(印刷データ、スキャンデータ等)の無線通信を中継可能である。例えば、クライアント状態の携帯端末50がクライアント状態の他のプリンタに印刷データを無線で送信すべき場合には、携帯端末50は、まず、印刷データをG/O状態のMFP10に無線で送信する。この場合、MFP10は、携帯端末50から印刷データを無線で受信して、上記の他のプリンタに印刷データを無線で送信する。即ち、G/O状態の機器は、通常Wi−FiネットワークのAPの機能を実行可能である。
なお、WFDネットワークに属していないWFD対応機器(即ち、管理リストに登録されていない機器)が、デバイス状態の機器である。デバイス状態の機器は、WFDネットワークに属するためのデータ(Probe Request信号、Probe Response信号等の物理層のデータ等)の無線通信を実行可能であるが、WFDネットワークを介して目的データ(印刷データ、スキャンデータ等)の無線通信を実行不可能である。
なお、以下では、WFD方式に従った無線通信を実行可能ではないが、通常Wi−Fiに従った無線通信を実行可能である機器のことを、「WFD非対応機器」と呼ぶ。「WFD非対応機器」は、「レガシー機器」とも呼ぶことができる。WFD非対応機器は、G/O状態として動作することができない。G/O状態の機器は、WFD非対応機器の識別情報を、管理リストに記述することができる。
(MFP10の構成)
MFP10は、操作部12と、表示部14と、印刷実行部16と、スキャン実行部18と、無線LANインターフェイス(以下では、インターフェイスを「I/F」と呼ぶ)20と、NFCI/F22と、制御部30と、を備える。操作部12は、複数のキーを備える。ユーザは、操作部12を操作することによって、様々な指示をMFP10に入力することができる。表示部14は、様々な情報を表示するためのディスプレイである。印刷実行部16は、インクジェット方式、レーザ方式等の印刷機構である。スキャン実行部18は、CCD、CIS等のスキャン機構である。
無線LANI/F20は、制御部30がWFD方式に従った無線通信と通常Wi−Fiに従った無線通信とを実行するためのインターフェイスである。無線LANI/F20は、物理的には1個のインターフェイスである。但し、無線LANI/F20には、WFD方式に従った無線通信で利用されるMACアドレス(以下では「WFD用MACアドレス」と呼ぶ)と、通常Wi−Fiに従った無線通信で利用されるMACアドレス(以下では「通常Wi−Fi用MACアドレス」と呼ぶ)と、の両方が割り当てられる。より詳細には、無線LANI/F20には、通常Wi−Fi用MACアドレスが、予め割り当てられている。制御部30は、通常Wi−Fi用MACアドレスを用いて、WFD用MACアドレスを生成して、WFD用MACアドレスを無線LANI/F20に割り当てる。WFD用MACアドレスは、通常Wi−Fi用MACアドレスとは異なる。従って、制御部30は、無線LANI/F20を介して、WFD方式に従った無線通信と通常Wi−Fiに従った無線通信との両方を同時的に実行し得る。この結果、MFP10が、WFDネットワークに属していると共に、通常Wi−Fiネットワークに属している状況が成立し得る。
なお、G/O状態の機器は、クライアント状態のWFD対応機器の識別情報のみならず、WFD非対応機器の識別情報も、管理リストに記述することができる。即ち、G/O状態の機器は、WFD非対応機器ともWFD接続を確立することができる。一般的に言うと、WFD接続とは、MFP10のWFD用MACアドレスが利用される無線接続である。また、WFDネットワークとは、MFP10のWFD用MACアドレスが利用される無線ネットワークである。同様に、通常Wi−Fi接続とは、MFP10の通常Wi−Fi用MACアドレスが利用される無線接続である。また、通常Wi−Fiネットワークとは、MFP10の通常Wi−Fi用MACアドレスが利用される無線ネットワークである。
ユーザは、操作部12を操作することによって、無線LANI/F20の設定を変更することによって、無線LANI/F20を利用したWFDに従った無線通信を実行可能なモード(以下では「WFD=ONモード」と呼ぶ)と、無線LANI/F20を利用したWFDに従った無線通信を実行不可能なモード(以下では「WFD=OFFモード」と呼ぶ)と、のいずれかのモードに変更することができる。モード設定部46は、ユーザの操作に従って、WFD=ONモードとWFD=OFFモードとのどちらのモードを設定する。具体的には、モード設定部46は、ユーザによって設定されたモードを表すモード値を、メモリ34に格納する。
なお、制御部30は、WFDI/F=OFFモードである状態では、WFD方式に従った各処理(例えば、MFP10を後述の自発G/Oモードに設定する処理、G/Oネゴシエーション等)を実行することができない。WFDI/F=ONである状態では、メモリ34は、WFDに関するMFP10の現在の状態(G/O状態、クライアント状態、及び、デバイス状態のいずれかの状態)を示す値を格納する。
NFCI/F22は、制御部30がNFC方式に従った無線通信を実行するためのインターフェイスである。NFCI/F22は、W−FiI/F20と物理的に異なるチップで構成されている。
なお、無線LANI/F20を介した無線通信の通信速度(例えば、最大の通信速度が11〜454Mbps)は、NFCI/F22を介した無線通信の通信速度(例えば、最大の通信速度が100〜424Kbps)よりも速い。さらに、無線LANI/F20を介した無線通信における搬送波の周波数(例えば、2.4GHz帯、5.0GHz帯)は、NFCI/F22を介した無線通信における搬送波の周波数(例えば、13.56MHz帯)とは異なる。また、MFP10と携帯端末50との距離がおよそ10cm以下である場合に、制御部30は、NFCI/F22を介して、携帯端末50とNFC方式に従った無線通信を実行可能である。一方において、MFP10と携帯端末50との距離が、10cm以下である場合でも、10cm以上である場合(例えば、最大で約100m)でも、制御部30は、無線LANI/F20を介して、WFD方式に従った無線通信、及び、通常Wi−Fiに従った無線通信を、携帯端末50と実行可能である。即ち、MFP10が、無線LANI/F20を介して、通信先の機器(例えば携帯端末50)と無線通信を実行可能な最大の距離は、MFP10が、NFCI/F22を介して、通信先の機器と無線通信を実行可能な最大の距離よりも大きい。
制御部30は、CPU32とメモリ34とを備える。CPU32は、メモリ34に格納されているプログラムに従って、様々な処理を実行する。CPU32がプログラムに従って処理を実行することによって、各部40〜46の機能が実現される。
メモリ34は、ROM、RAM、ハードディスク等によって構成される。メモリ34は、CPU32によって実行される上記のプログラムを格納する。メモリ34はワーク領域38を備える。ワーク領域38は、MFP10が、WFDネットワークに現在属している場合に、WFDネットワークに現在属していることを示す情報と、当該WFDネットワークを介して目的データ(例えば印刷データ)の通信を実行するための無線設定(認証方式、暗号化方式、パスワード、無線ネットワークのSSID(Service Set Identifier)、BSSID(Basic Service Set Identifier)を含む)とを格納する。また、ワーク領域38は、MFP10が、通常Wi−Fiネットワークに現在属している場合に、通常Wi−Fiネットワークに現在属していることを示す情報と、当該通常Wi−Fiネットワークを介して目的データの通信を実行するための無線設定とを格納する。WFDネットワークのSSIDは、WFDネットワークを識別するためのネットワーク識別子であり、通常Wi−FiネットワークのSSIDは、通常Wi−Fiネットワークを識別するためのネットワーク識別子である。WFDネットワークのBSSIDは、G/O状態の機器に固有の識別子(例えばG/O状態の機器のMACアドレス)であり、通常Wi−FiネットワークのBSSIDは、APに固有の識別子(例えばAP固有の識別子)である。
ワーク領域38は、さらに、MFP10がWFD方式に従って動作している場合に、WFDの現在の状態(G/O状態、クライアント状態、及び、デバイス状態のいずれかの状態)を示す値を格納する。ワーク領域38は、さらに、WFD=ONモードを表すモード値、又は、WFD=OFFモードを表すモード値を格納する。
なお、ユーザは、操作部12を操作することによって、MFP10を自発G/Oモードに設定することができる。自発G/Oモードは、G/O状態で動作することをMFP10に維持させるモードである。メモリ内34内のワーク領域38は、さらに、MFP10が自発G/Oモードに設定されているのか否かを示す値を格納する。デバイス状態のWFD対応機器は、デバイス状態の他のWFD対応機器とのWFD接続を確立する際に、通常、G/O状態及びクライアント状態のうちのどちらの状態で動作すべきであるのかを選択的に決定するためのG/Oネゴシエーションを実行する。MFP10が自発G/Oモードに設定されている場合には、MFP10は、G/Oネゴシエーションを実行せずに、G/O状態で動作することを維持する。
(携帯端末50の構成)
携帯端末50は、例えば、携帯電話(例えばスマートフォン)、PDA、ノートPC、タブレットPC、携帯型音楽再生装置、携帯型動画再生装置等である。携帯端末50は、無線LANI/F(即ちWFD及び通常Wi−Fi用のインターフェイス)とNFCI/Fとの2個の無線インターフェイスを備える。従って、携帯端末50は、無線LANI/Fを利用して、MFP10と無線通信を実行可能であると共に、NFCI/Fを利用して、MFP10と無線通信を実行可能である。携帯端末50は、MFP10に機能(例えば印刷機能、スキャン機能等)を実行させるためのアプリケーションプログラムを備える。なお、アプリケーションプログラムは、例えば、MFP10のベンダによって提供されるサーバから携帯端末50にインストールされてもよいし、MFP10と共に出荷されるメディアから携帯端末50にインストールされてもよい。
携帯端末50は、MFP10と同様に、メモリ54内に、ワーク領域58を備える。ワーク領域58は、携帯端末50が、WFDネットワーク又は通常Wi−Fiネットワークに現在属している場合に、当該ネットワークを介して通信を実行するための無線設定(認証方式、暗号化方式、パスワード、無線ネットワークのSSIDとBSSIDとを含む)を格納する。さらに、携帯端末50が、WFD方式に従って動作している場合に、ワーク領域58は、携帯端末50の状態(即ちG/O状態、クライアント状態及びデバイス状態のいずれかの状態)を表す状態値を格納する。
(PC8の構成)
PC8は、無線LANI/F(即ちWFD及び非WFD用のインターフェイス)を備えるが、NFCI/Fを備えていない。従って、PC8は、無線LANI/Fを利用して、MFP10と通信を実行可能であるが、NFC方式に従った無線通信を実行不可能である。PC8は、MFP10に処理(例えば印刷処理、スキャン処理等)を実行させるためのドライバプログラムを備える。なお、ドライバプログラムは、通常、MFP10と共に出荷されるメディアからPC8にインストールされる。ただし、変形例では、ドライバプログラムは、MFP10のベンダによって提供されるサーバからPC8にインストールされてもよい。
(AP6の構成)
AP6は、WFDのG/O状態の機器ではなく、無線アクセスポイント又は無線LANルータと呼ばれる通常のアクセスポイントである。AP6は、複数個の機器と通常Wi−Fi接続を確立することができる。これにより、AP6と複数個の機器とを含む通常Wi−Fiネットワークが構築される。AP6は、通常Wi−Fiネットワークに属している複数個の機器のうちの1個の機器からデータを受信して、複数個の機器のうちの他の1個の機器に当該データを送信する。即ち、AP6は、通常Wi−Fiネットワークに属する一対の機器の間の通信を中継する。
なお、WFDのG/O状態の機器と通常のAPとの相違点は、以下の通りである。即ち、WFDのG/O状態の機器は、当該機器が現在属しているWFDネットワークから離脱して、他のWFDネットワークに新たに属する場合に、G/O状態以外の状態(即ちクライアント状態)で動作し得る。これに対し、通常のAP(即ちAP6)は、当該APがいずれの通常Wi−Fiネットワークに属しても、一対の機器の間の通信を中継する機能を実行し、クライアント状態で動作し得ない。
(MFP10が実行する通信処理)
図2を参照して、MFP10が実行する通信処理について説明する。制御部30は、MFP10が電源ONにされると、通信処理を実行する。S2では、受信部40は、NFC方式に従った無線通信を実行することによって、NFC情報を受信することを監視している。なお、受信部40は、NFCI/F22を介して、NFC情報を受信する。具体的には、受信部40は、MFP10と携帯端末50との間にNFC通信セッションが確立されることを監視している。受信部40は、MFP10が電源ONにされている間、NFCI/F22に、NFC方式に従った無線通信を実行可能なデバイスを検出するための電波を発信させている。
携帯端末50のユーザは、アプリケーションプログラムを起動させる。ユーザは、携帯端末50を操作することによって、MFP10が実行すべき処理を示す処理実行指示(例えば、印刷指示、スキャン指示)を、含むNFC情報を、携帯端末50に生成させる。NFC情報は、さらに、携帯端末50が無線ネットワークに現在属している場合に、携帯端末50が現在属している無線ネットワークのSSIDとBSSIDとを含む。なお、携帯端末50が無線ネットワークに現在属している場合とは、携帯端末50と他のデバイス(例えばAP6、MFP10)との間で、WFD接続と通常Wi−Fi接続との少なくとも一方の無線接続が確立されている場合である。
ユーザは、携帯端末50をMFP10に近づけることができる。これにより、携帯端末50とMFP10との間の距離が、互いに電波が届く距離(例えば10cm)より小さくなると、携帯端末50は、MFP10から上記の電波を受信して、応答電波をMFP10に送信する。この結果、制御部30は、携帯端末50から応答電波を受信して、NFC通信セッションを確立する。携帯端末50は、NFC通信セッションが確立されると、生成されたNFC情報を、MFP10に送信する。
NFC情報が受信される(S2でYES)と、S4において、判断部42は、MFP10がネットワークに現在属しているのか否かを判断する。具体的には、判断部42は、WFDネットワークに現在属していることを示す情報と通常Wi−Fiネットワークに現在属していることを示す情報とのうち少なくとも一方がワーク領域38内に格納されている場合に、MFP10が無線ネットワークに現在属していると判断して(S4でYES)、S6に進む。一方、判断部42は、WFDネットワークに現在属していることを示す情報と通常Wi−Fiネットワークに現在属していることを示す情報とのいずれもワーク領域38内に格納されていない場合に、MFP10が無線ネットワークに現在属していないと判断して(S4でNO)、S8に進む。
S6では、判断部42は、MFP10が現在属しているネットワークに、携帯端末50が現在属しているのか否かを確認する。具体的には、判断部42は、最初に、携帯端末50が現在属しているネットワークのSSIDとBSSIDとが、NFC情報に含まれているのか否かを判断する。SSIDとBSSIDとが、NFC情報に含まれていない場合、判断部42は、MFP10が現在属しているネットワークに、携帯端末50が現在属していないと判断する(S6でNO)。この構成によれば、MFP10は、MFP10が現在属しているネットワークに、携帯端末50が現在属していないことを適切に判断することができる。携帯端末50が現在属しているネットワークのSSIDとBSSIDとが、NFC情報に含まれている場合に、判断部42は、ワーク領域38に格納されている無線設定に含まれているSSIDとBSSIDとが、NFC情報に含まれているSSIDとBSSIDと一致しているのか否かを判断する。
SSIDとBSSIDとが共に一致している場合、MFP10が現在属しているネットワークに、携帯端末50が現在属している(S6でYES)と判断され、S7に進む。一方、SSIDとBSSIDの少なくとも一方が一致していない場合、MFP10が現在属しているネットワークに、携帯端末50が現在属していない(S6でNO)と判断され、S8に進む。この構成によれば、MFP10は、MFP10が現在属しているネットワークに、携帯端末50が現在属しているのか否かを適切に判断することができる。なお、S6では、判断部42は、SSIDが一致しているのか否かを判断すると共に、BSSIDが一致しているのか判断する。これにより、判断部42は、MFP10と携帯端末50とが、同一のAPにより構築される同一の無線ネットワークに属しているのか否かを判断できる。より具体的に説明すると、1個のAPが、複数個のSSIDを利用することにより、複数個の無線ネットワークを構築する場合がある。そのため、BSSIDが一致し、SSIDが一致しない場合には、MFP10と携帯端末50とが、同一のAPにより構築されている異なる無線ネットワークに属している虞がある。本実施例では、SSIDとBSSIDとの双方について一致しているのか否かを判断することにより、より確実にMFP10と携帯端末50とが同一の無線ネットワークに属しているのか否かを判断できる。なお、変形例では、S6においてSSIDが一致しているのかを判断し、BSSIDが一致しているのかを判断しなくてもよい。これにより、MFP10と携帯端末50とがそれぞれ異なるアクセスポイントが構築する無線ネットワークに属する場合でも、SSIDが一致していれば、MFP10と携帯端末50とが同一の無線ネットワークに属していると判断され得る。
MFP10が現在属しているネットワークに、携帯端末50が現在属している場合、MFP10と携帯端末50とは、現在属しているネットワークを介して、通信を実行可能である。即ち、携帯端末50は、ワーク領域58に現在格納されている無線設定を用いて、MFP10と、無線通信を実行可能である。S7では、制御部30は、NFCI/F22を介して、携帯端末50の無線設定を変更せずに、データ通信を実行可能であることを示す設定変更不要情報を送信して、S22に進む。なお、設定変更不要情報は、MFP10のIPアドレスを含む。
S8では、判断部42は、WFD=ONモードに設定されているのか否かを判断する。判断部42は、メモリ34に格納されているモード値が、WFD=ONモードを表す値である場合に、S8でYESと判断し、S11に進む。一方、判断部42は、メモリ34に格納されているモード値が、WFD=OFFモードを表す値である場合に、S8でNOと判断し、S9に進む。
S9では、判断部42は、MFP10が、通常Wi−Fiネットワークに、現在属しているのか否かを判断する。判断部42は、通常Wi−Fiネットワークに現在属することを示す情報が、ワーク領域38に格納されている場合、MFP10が、通常Wi−Fiネットワークに現在属している(S9でYES)と判断して、S21に進む。一方、判断部42は、通常Wi−Fiネットワークに属することを示す情報が、ワーク領域38に格納されていない場合、MFP10が、通常Wi−Fiネットワークに、現在属していない(S9でNO)と判断して、S10に進む。
S10では、通信実行部44は、メモリ34に格納されているモード値を変更することによって、WFD=OFFモードからWFD=ONモードに変更して、S15に進む。通信実行部44は、さらに、モード値を変更したことを示す設定変更情報を、メモリ34に格納する。
S11では、判断部42は、MFP10が、現在属している無線ネットワークにおいて、クライアント状態として動作しているのか否かを判断する。具体的には、判断部42は、ワーク領域38に格納されている状態値が、クライアント状態を表す値である場合に、クライアント状態として動作していると判断する(S11でYES)。一方、判断部42は、ワーク領域38に格納されている状態値が、クライアント状態を表す値でない場合に、クライアント状態として動作していないと判断する(S11でNO)。S11でYESの場合に、S13に進み、S11でNOの場合にS12に進む。
S13では、通信実行部44は、ワーク領域38に格納されているG/Oの無線設定のうち、パスワード以外の無線設定を、NFCI/F22を介して、携帯端末50に送信して、S22に進む。
携帯端末50は、G/Oの無線設定が受信されると、パスワードを、ユーザに指定させる。携帯端末50は、ユーザによってパスワードが指定されると、MFP10から受信された無線設定とユーザによって指定されたパスワードとを用いて、G/O状態のデバイスと、接続を確立する。これにより、携帯端末50は、G/O状態のデバイスを介して、MFP10と無線通信可能となる。なお、携帯端末50とG/O状態のデバイスとの接続が確立されない場合、MFP10は、携帯端末50と無線通信を実行することができない。この場合、制御部30は、S22以降の処理を実行せずに、S2に戻る。
なお、変形例では、携帯端末50は、過去にネットワークに属するために利用した無線設定を、メモリ54に格納していてもよい。この場合、携帯端末50は、パスワードを含まない無線設定を受信すると、受信された無線設定に含まれるSSIDと同一のSSIDを含むと共に、パスワードを含む無線設定を、メモリ54から特定してもよい。そして、携帯端末50は、メモリ54から特定された無線設定を用いて、PC8とWFD接続を確立してもよい。
S12では、判断部42は、MFP10が、現在属している無線ネットワークにおいて、G/O状態として動作しているのか否かを判断する。具体的には、判断部42は、ワーク領域38に格納されている状態値が、G/O状態を表す値である場合に、G/O状態として動作していると判断する(S12でYES)。一方、判断部42は、ワーク領域38に格納されている状態値が、G/O状態を表す値でない場合に、G/O状態として動作していない(即ち、MFP10はデバイス状態である)と判断する(S12でNO)。S12でYESの場合にS14に進み、S12でNOの場合にS20に進む。
なお、変形例では、S12でYESの場合に、判断部42は、MFP10がG/O状態として動作しているWFDネットワークに含まれるMFP10以外の機器の個数(即ち、MFP10と接続が確立している機器)が、予め決められている最大クライアント数よりも少ないのか否かを判断してもよい。管理リストに格納されている機器の識別情報の個数が、最大クライアント数と等しいと判断される場合、通信実行部44は、NFCI/F22を利用して、携帯端末50と無線通信を実行することができないことを示す情報を、携帯端末50に送信してもよい。一方、管理リストに格納されている機器の識別情報の個数が、最大クライアント数よりも少ないと判断される場合、S14に進んでもよい。
S14では、通信実行部44は、ワーク領域38に格納されているMFP10の無線設定を、NFCI/F22を介して、携帯端末50に送信して、S18に進む。S74で送信されるMFP10の無線設定は、パスワードを含む。
S20の処理は、S9の処理と同様である。S20でNOと判断される場合にS15に進み、S20でYESと判断される場合にS21に進む。
S15では、通信実行部44は、MFP10を、自発G/Oモードに設定する。自発G/Oモードは、G/O状態で動作することをMFP10に維持させるモードである。従って、S15の段階ではWFDネットワークが構築されていないが、MFP10は、G/O状態に設定されている。MFP10がG/O状態に設定される場合、通信実行部44は、WFD対応機器又は/及びWFD非対応機器が、WFDネットワークを介して、G/O状態として動作しているMFP10と無線通信を実行するための無線設定(SSID、BSSID、認証方式、暗号化方式、パスワード等)を準備する。この構成によれば、MFP10から無線設定を受信する機器(本実施例では携帯端末50)が、WFD対応機器であってもWFD非対応機器であっても、MFP10は、無線設定を受信する機器と、無線通信を実行することができる。
なお、認証方式及び暗号化方式は、予め決められている。また、通信実行部44は、パスワードを生成する。なお、SSIDは、パスワードを生成する際に、通信実行部44によって生成されてもよいし、予め決められていてもよい。BSSIDは、MFP10のMACアドレスである。なお、この段階では、MFP10が管理している管理リストには、G/O状態の機器に接続される機器の識別情報が記述されていない。
S16では、通信実行部44は、生成された無線設定を、NFCI/F22を利用して、携帯端末50に送信する。S15の処理の後にS16の処理が実行される場合、通信実行部44は、自発G/Oモードに設定された段階(S15)で準備される無線設定を、携帯端末50に送信する。なお、S12の処理の後にS14の処理が実行される場合、通信実行部44は、MFP10がG/O状態として動作しているWFDネットワークが構築された段階で準備される無線設定を、NFCI/F22を利用して、携帯端末50に送信する。
次いで、S18では、通信実行部44は、無線LANI/F20を利用して、MFP10と携帯端末50とのWFD接続を確立する。携帯端末50は、MFP10から、G/O状態で動作しているMFP10の無線設定を受信すると、受信された無線設定をワーク領域58に格納する。このため、携帯端末50は、通常Wi−Fiに従って、以下の処理を実行する。次いで、通信実行部44は、Authentication Request、Authentication Response、Association Request、Association Response、及び、4way handshakeの無線通信を、携帯端末50と実行する。上記の無線通信の過程で、SSIDの認証、認証方式及び暗号化方式の認証、パスワードの認証等の様々な認証処理が実行される。全ての認証が成功した場合に、MFP10及び携帯端末50の間に無線接続が確立される。
なお、S18の処理では、通信実行部44は、無線LANI/F20を利用して、携帯端末50のMACアドレスを取得する。無線接続が確立されると、制御部30は、さらに、携帯端末50のMACアドレスを管理リストに追加する。なお、携帯端末50のMACアドレスは、NFC情報に含まれる。これにより、G/O状態のMFP10は、通常Wi−Fiに従って、携帯端末50との間で、目的データ(印刷データ、スキャンデータ等)の通信を実行することができるようになる。なお、目的データは、OSI参照モデルの物理層よりも上位層であるネットワーク層のデータを含む。従って、G/O状態のMFP10は、クライアント状態の携帯端末50との間で、ネットワーク層の無線通信を実行することができる。S18の処理が終了すると、S22に進む。
S21では、通信実行部44は、ワーク領域38に格納されている通常Wi−Fiネットワークに属するための無線設定、即ち、AP(例えばAP6)の無線設定のうち、パスワード以外の無線設定を、NFCインターフェイス22を介して、携帯端末50に送信して、S20に進む。携帯端末50は、APの無線設定が受信されると、S13の場合と同様に、MFP10から受信された無線設定とユーザによって指定されたパスワードとを用いて、APと接続を確立する。これにより、携帯端末50は、APを介して、MFP10と無線通信可能となる。なお、携帯端末50とAPとの接続が確立されない場合、MFP10は、携帯端末50と無線通信を実行することができない。この場合、制御部30は、S22以降の処理を実行せずに、S2に戻る。
次いで、S22では、通信実行部44は、無線LANI/F22を介して、携帯端末50との間で、データ通信処理を実行する。データ通信処理の内容は、NFC情報に含まれる処理実行指示の内容によって変わる。処理実行指示が印刷指示である場合、通信実行部44は、データ通信処理において、携帯端末50から、印刷データを受信する。この場合、制御部30は、印刷実行部16に、受信された印刷データを用いた印刷処理を実行させる。
一方、処理実行指示がスキャン指示である場合、制御部30は、スキャン実行部18に、スキャン実行部18にセットされた原稿をスキャンさせ、スキャンデータを生成させる。次いで、通信実行部44は、生成されたスキャンデータを、携帯端末50に送信する。
次いで、S23では、通信実行部44は、無線LANI/F20を利用して、携帯端末50との接続を切断するための切断要求を、携帯端末50から受信することを監視する。所定期間が経過しても切断要求が受信されなかった場合(S23でNO)、S2に戻る。一方、S20のデータ通信処理が終了した後、所定期間内に、携帯端末50から切断要求が受信された場合(S23でYES)、通信実行部44は、携帯端末50との無線接続を切断する。具体的には、通信実行部44は、管理リスト内の携帯端末50のMACアドレスを消去する。次いで、S24では、通信実行部44は、S9の処理により無線LANI/F20の設定が変更されたのか否かを判断する。具体的には、通信実行部44は、設定変更情報がメモリ34に格納されている場合に、S9において、WFD=OFFモードを示すモード値からWFD=ONモードを示すモード値に変更されたと判断して(S24でYES)、S25に進む。一方、設定変更情報がメモリ34に格納されていない場合に、通信実行部44は、S9において、WFD=OFFモードを示すモード値からWFD=ONモードを示すモード値に変更されていない(S24でNO)と判断して、S2に戻る。
S25では、通信実行部44は、S18で新たに構築されたWFDネットワークに、携帯端末50以外の外部装置(例えばPC8)が、現在属しているのか否かを判断する。具体的には、通信実行部44は、管理リスト内に、携帯端末50の識別情報以外の識別情報が含まれている場合に、WFDネットワークに、外部装置が現在属している(S25でYES)と判断する。この場合、モード値が変更されずに、S2に戻る。この構成によれば、WFDネットワークに外部装置が現在属している場合に、WFDネットワークからMFP10が離脱されることを防止することができる。
一方において、通信実行部44は、管理リスト内に、携帯端末50以外の識別情報が含まれていない場合に、WFDネットワークに、外部装置が現在属していない(S25でNO)と判断して、S26に進む。S26では、通信実行部44は、WFD=ONモードを示すモード値からWFD=OFFモードを示すモード値に変更して、S2に戻る。即ち、通信処理では、S8において、WFD=OFFモードであると判断される場合に、WFDネットワークを介して、無線LANI/F20を利用した無線通信を、携帯端末50と一時的に実行するために、WFD=OFFモードからWFD=ONモードに変更する。そして、S25においてWFD=ONモードからWFD=OFFモードに変更されると、S18で構築されたWFDネットワークは消滅する。この構成によれば、通信処理実行中に、モード値がWFD=OFFモードを示すモード値からWFD=ONモードを示すモード値に変更された場合に、モード値を変更前の設定に戻すことができる。
(本実施例の効果)
図3〜5を参照して、第1〜3の状況における本実施例の効果を説明する。なお、図3〜7のそれぞれには、図2の通信処理において対応する処理が示されている。
(第1の状況)
図3に示される第1の状況では、MFP10は、WFDネットワークに現在属している。MFP10は、WFDネットワークにおいて、G/O状態として動作している。WFDネットワークには、クライアント状態のPC8が現在属している。MFP10は、さらに、非WFDネットワークに現在属している。通常Wi−Fiネットワークには、AP6が現在属している。携帯端末50は、MFP10が現在属している無線ネットワークに現在属していない。携帯端末50は、MFP10が現在属している無線ネットワーク以外の無線ネットワークに現在属していてもよいし、属していなくてもよい。
なお、本明細書のシーケンス図では、MFP10がNFCI/F22を利用した無線通信(即ちNFC方式に従った無線通信)と、MFP10が無線LANI/F20を利用した無線通信(即ちWFD方式又は通常WiーFiに従った無線通信)とが、矢印で表されている。無線LANI/F20を利用した無線通信を表す矢印は、NFCI/F22を利用した無線通信を表す矢印よりも太く記載されている。
この状況では、携帯端末50から、NFCI/F22を利用して、NFC情報が受信されると、S12において、MFP10がG/O状態であると判断する(S12でYES)。なお、NFC情報は、携帯端末50が無線ネットワークに現在属している場合に、当該無線ネットワークのSSIDとBSSIDとを含むが、携帯端末50が無線ネットワークに現在属していない場合に、当該無線ネットワークのSSIDとBSSIDとを含まない。この場合、S14において、MFP10は、ワーク領域38に格納されているMFP10の無線設定のうち、パスワードを含むMFP10の無線設定と、MFP10のIPアドレスと、を、NFCI/F22を利用して、携帯端末50に送信する。携帯端末50は、無線設定を受信すると、受信された無線設定を、ワーク領域58に格納する。次いで、MFP10と携帯端末50とは、WFD接続を確立する(S18)。これにより、携帯端末50は、MFP10が現在属しているWFDネットワークに属することができる。なお、MFP10は、MFP10の認証方式と暗号化方式とを含む無線設定を、NFCI/F22を利用して、携帯端末50に送信する。この構成によれば、携帯端末50は、MFP10から受信した認証方式と暗号化方式とに従って認証処理を実行することができ、いずれの認証方式と暗号化方式を利用すべきか確認する処理を実行しなくて済む。このため、MFP10と携帯端末50とは、比較的に早期に接続を確立することができる。
次いで、携帯端末50は、ワーク領域58に格納されている無線設定と、S14で受信したIPアドレスとを用いて、印刷データを、MFP10に送信する。MFP10は、無線LANI/F20を利用して、印刷データを受信する(S22)。MFP10は、印刷データを受信すると、印刷実行部16に、印刷処理を実行させる。この構成によれば、MFP10は、MFP10が、WFDネットワークにおいて、G/O状態として動作している場合に、MFP10が現在属しているWFDネットワークを介して、携帯端末50と、印刷データの通信を適切に実行することができる。
また、MFP10は、WFDネットワークと通常Wi−Fiネットワークとの両方に、現在属している。この場合、携帯端末50が、WFDネットワークに属するための無線設定(即ちG/O状態であるMFP10の無線設定)を送信する。一方で、MFP10は、携帯端末50が、通常Wi−Fiネットワークに属するための無線設定(即ちAP6の無線設定)を送信しない。この構成によれば、MFP10は、携帯端末50に、MFP10の無線設定を、優先的に送信することができる。仮に、MFP10が、通常Wi−Fiネットワークに属するための無線設定(即ちAP6の無線設定)を送信する場合、パスワードを含まない無線設定を送信する。この場合、携帯端末50及び携帯端末50のユーザが、パスワードを知らない場合、携帯端末50は、通常Wi−Fiネットワークに属することができない。即ち、MFP10と携帯端末50とは、目的データの無線通信を実行することができない。この構成では、上記のような事態が発生することを回避することができる。
(第2の状況)
図4に示される第2の状況では、MFP10は、WFDネットワークに現在属している。MFP10は、WFDネットワークにおいて、クライアント状態として動作している。WFDネットワークには、G/O状態のPC8が現在属しているが、携帯端末50は現在属していない。携帯端末50は、第1の状況と同様である。
この状況では、MFP10は、携帯端末50から、NFCI/F22を利用して、NFC情報が受信されると、S10において、MFP10がクライアント状態であると判断する(S11でYES)。この場合、S13において、MFP10は、G/O状態として動作しているPC8の無線設定のうち、パスワードを含まない無線設定と、MFP10のIPアドレスと、を、NFCI/F22を利用して、携帯端末50に送信する。この構成によれば、携帯端末50及びユーザに、パスワードを提供せずに済む。この結果、携帯端末50及びユーザが、PC8がG/O状態として動作しているWFDネットワークに属するためのパスワードを知らない場合に、当該WFDネットワークに、携帯端末50が参入することを防止することができる。
携帯端末50は、無線設定を受信すると、受信された無線設定を、ワーク領域58に格納する。次いで、携帯端末50は、パスワード指定画面を、携帯端末50の表示部に表示させる。ユーザは、携帯端末50の操作部を操作することによって、パスワードを指定することができる。携帯端末50は、ユーザによってパスワードが指定されると、PC8と、WFD接続を確立する。これにより、携帯端末50は、MFP10が現在属しているWFDネットワークに属することができる。携帯端末50は、WFDネットワークにおいて、クライアント状態として動作する。
携帯端末50は、WFDネットワークに属すると、ワーク領域58に格納されている無線設定と、S13で受信したMFP10のIPアドレスとを用いて、PC8を介した無線通信を実行することによって、印刷データを、MFP10に送信する。MFP10は、無線LANI/F20を利用して、PC8から、印刷データを受信すると(S22)、印刷データを受信すると、印刷実行部16に、印刷処理を実行させる。
(第3の状況)
図5に示される第3の状況では、MFP10は、通常Wi−Fiに現在属している。MFP10は、通常Wi−Fiにおいて、AP6に接続されている。一方、MFP10は、WFDネットワークに現在属していない。携帯端末50は、第1の状況と同様である。
この状況では、携帯端末50から、NFCI/F22を利用して、NFC情報が受信されると、MFP10は、MFP10がWFDネットワークに属していない(S8でNO又はS11及びS12でNO)と判断する。即ち、MFP10は、優先的に送信すべきWFDネットワークの無線設定を有していない。
この場合、S21において、MFP10は、ワーク領域38に格納されているAP6の無線設定のうち、パスワードを含まない無線設定を、携帯端末50に送信する。この構成によれば、携帯端末50及びユーザに、パスワードを提供せずに済む。この結果、携帯端末50及びユーザが、AP6が利用される通常Wi−Fiネットワークに属するためのパスワードを知らない場合に、当該通常Wi−Fiネットワークに、携帯端末50が属することを防止することができる。
携帯端末50は、無線設定を受信すると、第10の状況と同様に、無線設定を受信して、ユーザにパスワードを指定させる。次いで、携帯端末50は、ユーザによってパスワードが指定されると、AP6と通常Wi−Fi接続を確立する。これにより、携帯端末50は、MFP10が現在属している通常Wi−Fiネットワークに属することができる。携帯端末50は、AP6を介して、MFP10と印刷データを送信することができる。携帯端末50は、通常Wi−Fiネットワークに属すると、ワーク領域58に格納されている無線設定と、S21で受信したMFP10のIPアドレスとを用いて、AP6を介した無線通信を実行することによって、印刷データを、MFP10に送信する。
本実施例では、MFP10は、MFP10が、WFDネットワークに現在属しているのか、通常Wi−Fiネットワークに現在属しているのか、に応じて、携帯端末50に送信すべき無線設定にパスワードを含めるのか否かを変更する。仮に、MFP10がAP6に接続されており(即ちWFDネットワークに現在属しており)、かつ、MFP10が、パスワードを含むAP6の無線設定を送信する場合、AP6が属するネットワークの管理者が意図しない携帯端末50が、ネットワークに参入する事態が生じる。MFP10は、上記の事態を抑制することができる。
その一方で、MFP10は、MFP10が現在属しているネットワークにおいて、G/O状態として動作している場合に、携帯端末50が属するためのパスワードを含む無線設定を、携帯端末50に送信する。この構成によれば、MFP10は、無線LANI/F20を利用して、比較的に速い通信速度で、携帯端末と、目的データの通信を実行することができる。
(対応関係)
MFP10が「通信装置」の一例であり、NFCI/F22が「第1種のインターフェイス」の一例であり、無線LANI/F20が「第2種のインターフェイス」の一例である。なお、上記の説明から、NFCI/F22(即ち「第1種のインターフェイス」)は、無線LANI/F20(即ち「第2種のインターフェイス」)を利用した通信を実行するために、MFP10(即ち「通信装置」)と携帯端末50との間で実行される通信に用いられるインターフェイスということができる。
AP6が、「アクセスポイント」の一例である。即ち、「アクセスポイント」は、アクセスポイントが属するネットワークにおいて、非WFDネットワークに属する一対の機器の間の通信を中継するデバイスである。
WFDに従って実行される無線通信が「第1種の無線通信」の一例であり、非WFDに従って実行される無線通信が「第2種の無線通信」一例である。WFDネットワークが「第1の無線ネットワーク」の一例であり、非WFDネットワークが「第2の無線ネットワーク」の一例である。G/O状態が「親局状態」の一例であり、クライアント状態が「子局状態」の一例である。
図2のS14で送信される無線設定が「第1の無線設定」及び「第3の無線設定」の一例であり、S21で送信される無線設定が「第2の無線設定」の一例であり、S13で送信される無線設定が「第4の無線設定」の一例である。
以上、本発明の具体例を詳細に説明したが、これらは例示にすぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には以上に例示した具体例を様々に変形、変更したものが含まれる。上記の実施例の変形例を以下に列挙する。
(変形例)
(1)上記の実施例では、MFP10は、NFC情報を受信すると(S2でYES)、ネットワークに現在属しているかを判断し(S4)、ネットワークに属していると判断される場合に(S4でYES)、MFP10と携帯端末50とが同一ネットワークに現在属しているかを判断する(S6)。しかしながら、S6の処理を省略してもよい。すなわち、MFP10は、NFC情報を受信すると(S2でYES)、ネットワークに現在属しているかを判断し(S4)、ネットワークに現在属していると判断される場合に(S4でYES)、S8以降の処理に進んでもよい。
(2)「通信装置」は、多機能機に限られず、第1種のインターフェイスと第2種のインターフェイスとを備える他の機器(例えば、プリンタ、FAX装置、コピー機、スキャナ等)であってもよい。
(3)MFP10は、アクセスポイントとして機能するためのAPプログラムを格納していてもよい。制御部30は、APプログラムを起動すると、予め決められている無線設定を、ワーク領域38に格納してもよい。この場合、図2のS8,S11,S12と共に、又はこれらに代えて、判断部42は、APプログラムが起動中であるのか否かを判断してもよい。APプログラムが起動中であると判断される場合、ワーク領域38に格納されている無線設定であって、パスワードを含む無線設定を、携帯端末50に送信してもよい。本変形例では、APプログラムに従って動作しているMFP10と携帯端末50とが実行する無線通信が、「第1種の無線通信」の一例である。
(4)「第1種のインターフェイス」と「第2種のインターフェイス」との組合せは、NFCI/Fと無線LANI/Fとの組合せに限られない。例えば、「第2種のインターフェイス」として無線LANI/Fが採用される場合に、「第1種のインターフェイス」は、赤外線通信を実行するためのインターフェイスであってもよいし、Bluetooth(登録商標)を実行するためのインターフェイスであってもよいし、Transfer Jetを実行するためのインターフェイスであってもよい。また、「第1種のインターフェイス」としてNFCI/Fが採用される場合に、「第2種のインターフェイス」は、有線通信を実行するためのインターフェイスであってもよいし、Bluetooth(登録商標)を実行するためのインターフェイスであってもよい。一般的に言うと、第2種のインターフェイスを介した通信の通信速度が、第1種のインターフェイスを介した通信の通信速度よりも速ければよい。
(5)「第1種のインターフェイス」と「第2種のインターフェイス」とは、上記の実施例のように、物理的に2個のインターフェイス(即ち別体の2個のICチップ)であってもよいし、物理的に1個のインターフェイス(即ち1個のICチップで2種類の通信が実現される)であってもよい。
(6)上記の各実施例では、WFD方式に従った無線通信を実行するためのインターフェイスと、通常Wi−Fiに従った無線通信とを実行するためのインターフェイスと、が、物理的に1個のインターフェイス(無線LANI/F20)であったが、物理的に複数個のインターフェイス(即ち別体の2個のICチップ)であってもよい。本変形例では、複数個のインターフェイスが、「第2種のインターフェイス」の一例である。
(7)上記の各実施例では、各部40〜46がソフトウェアによって実現されるが、各部40〜46のうちの少なくとも1つが論理回路等のハードウェアによって実現されてもよい。
また、本明細書または図面に説明した技術要素は、単独であるいは各種の組合せによって技術的有用性を発揮するものであり、出願時請求項記載の組合せに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。