(実施例)
(通信システム2の構成;図1)
図1に示すように、通信システム2は、多機能機(以下では「MFP(Multi-Function Peripheralの略)」と呼ぶ)10と、端末装置50、62、70と、AP(Access Pointの略)60と、を備える。本実施例では、端末装置(例えば50、62、70のいずれか)を利用して、多機能機10のウェブサーバ機能にアクセスすることによって、多機能機10とAP(例えばAP60)との間に無線接続を確立するための技術を開示する。
(MFP10の構成)
MFP10は、印刷機能、スキャン機能、ウェブサーバ機能等の多機能を実行可能な周辺機器である。MFP10は、操作部12と、表示部14と、印刷実行部16と、スキャン実行部18と、有線インターフェース(以下では、インターフェースのことを「I/F」と記載する)20と、無線I/F22と、制御部24と、を備える。操作部12は、複数のキーを備える。ユーザは、操作部12を操作することによって、様々な指示をMFP10に入力することができる。表示部14は、様々な情報を表示するためのディスプレイである。印刷実行部16は、インクジェット方式、レーザ方式等の印刷機構である。スキャン実行部18は、CCD、CIS等のスキャン機構である。
有線I/F20は、有線通信を実行するためのインターフェースであり、通信ケーブルが接続される。図1の例では、有線I/F20に通信ケーブルが挿入されており、この結果、MFP10と端末装置50とを含む有線通信ネットワーク(以下では「有線NW」と呼ぶ)が構築されている。MFP10と端末装置50とは、有線NWを利用して、印刷データ等の通信対象の対象データの有線通信を実行可能である。
無線I/F22は、無線通信を実行するためのインターフェースであり、物理的には1個のインターフェース(即ち1個のICチップ)である。ただし、無線I/F22には、WFD(Wi-Fi Directの略)方式に従った無線通信(以下では「WFD通信」と呼ぶ)で利用されるMACアドレス(以下では「WFDMAC」と呼ぶ)と、通常Wi−Fi方式に従った無線通信(以下では「通常Wi−Fi通信」と呼ぶ)で利用されるMACアドレス(以下では「通常Wi−FiMAC」と呼ぶ)と、の両方が割り当てられる。
具体的に言うと、無線I/F22には、通常Wi−FiMACが予め割り当てられている。制御部24は、通常Wi−FiMACを利用して、通常Wi−FiMACとは異なるWFDMACを生成して、WFDMACを無線I/F22に割り当てる。従って、制御部24は、通常Wi−FiMACを利用した通常Wi−Fi通信と、WFDMACを利用したWFD通信と、の両方を同時的に実行し得る。WFD通信と通常Wi−Fi通信については、後で詳しく説明する。
図1の例では、MFP10とAP60との間に通常Wi−Fi方式の無線接続(以下では「通常Wi−Fi接続」と呼ぶ)が確立されており、端末装置62とAP60との間に通常Wi−Fi接続が確立されている。この結果、MFP10、AP60、及び、端末装置62を含む通常Wi−Fi方式の無線通信ネットワーク(以下では「通常Wi−FiNW」と呼ぶ)が構築されている。MFP10と端末装置62とは、通常Wi−FiNWを利用して(即ちAP60を介して)、印刷データ等の通信対象の対象データの無線通信を実行可能である。
また、図1の例では、MFP10と端末装置70との間にWFD方式の無線接続(以下では「WFD接続」と呼ぶ)が確立されており、この結果、MFP10と端末装置70とを含むWFD方式の無線通信ネットワーク(以下では「WFDNW」と呼ぶ)が構築されている。MFP10と端末装置70とは、WFDNWを利用して(即ちAP60を介さずに)、印刷データ等の通信対象の対象データの無線通信を実行可能である。
なお、本実施例では、MFP10と端末装置50とを含む有線NWと、MFP10とAP60と端末装置62とを含む通常Wi−FiNWと、を同時的に構築可能である構成を採用している。ただし、変形例では、有線NWが構築されている状態では、通常Wi−FiNWを構築することができず、通常Wi−FiNWが構築されている状態では、有線NWを構築することができない構成を採用してもよい。また、本実施例では、有線NW及び通常Wi−Fiのいずれかと、WFDNWと、を同時に構築することができる構成を採用している。ただし、変形例では、有線NW及び通常Wi−Fiのいずれかと、WFDNWと、のいずれか一方のみを構築することができる構成を採用してもよい。
制御部24は、CPU30とメモリ32とを備える。CPU30は、メモリ32に記憶されているプログラムに従って、様々な処理を実行する。メモリ32は、ROM、RAM、ハードディスク等によって構成される。
メモリ32は、ウェブサーバであるMFP10から、ウェブクライアントである端末装置に提供される各種の画面データを記憶する。メモリ32は、さらに、セキュリティ設定情報及び接続実績情報を記憶する。
セキュリティ設定情報は、WFDNWを利用して、端末装置からMFP10のウェブサーバ機能へのアクセス要求(例えば、後述の無線設定画面(図4参照)へのアクセス要求等)を受信する場合に、CPU30によって参照される設定情報(図6参照)である。MFP10の初期状態では、メモリ32は、後述のデフォルトのセキュリティ設定情報を記憶している。MFP10の初期状態は、例えば、ベンダからMFP10が出荷された段階の状態、又は、MFP10の操作部12において所定の初期化操作が実行されたことに起因してMFP10が初期化された状態、を意味する。
MFP10の初期状態では、メモリ32は、接続実績情報を記憶していない。接続実績情報は、MFP10が有線NW又は通常Wi−FiNWに接続される場合、即ち、MFP10が、有線NW又は通常Wi−FiNWに関して、リンクダウン状態からリンクアップ状態に変化する場合に、メモリ32に記憶される情報である。ただし、接続実績情報は、MFP10がWFDNWに接続される場合、即ち、MFP10が、WFDNWに関して、リンクダウン状態からリンクアップ状態に変化する場合に、メモリ32に記憶されない。なお、リンクダウン状態及びリンクアップ状態については、後述する。
(WFD方式と通常Wi−Fi方式)
続いて、WFD方式と通常Wi−Fi方式とについて詳しく説明する。上述したように、MFP10によって利用されるMACアドレスという観点では、WFD通信、WFD方式は、それぞれ、WFDMACが利用される無線通信、無線通信方式である。また、通常Wi−Fi通信、通常Wi−Fi方式は、それぞれ、通常Wi−FiMACが利用される無線通信、無線通信方式である。
(WFD方式)
WFD方式は、Wi−Fi Allianceによって作成された規格書「Wi−Fi Peer−to−Peer(P2P) Technical Specification Version1.1」に記述されている無線通信方式である。WFD方式は、例えば、IEEE(The Institute of Electrical and Electronics Engineers, Inc.の略)の802.11の規格、及び、それに準ずる規格(例えば、802.11a,11b,11g,11n等)に従って、無線通信を実行するための無線通信方式である。
以下では、MFP10、端末装置70等のように、WFD方式に従ったWFD通信を実行可能な機器のことを、「WFD対応機器」と呼ぶ。上記のWFDの規格書では、WFD対応機器の状態として、Group Owner状態(以下では「G/O状態」と呼ぶ)、クライアント状態(以下では「CL状態」と呼ぶ)、及び、デバイス状態の3つの状態が定義されている。WFD対応機器は、上記の3つの状態のうちの1つの状態で選択的に動作可能である。
デバイス状態の一対のWFD対応機器が無線ネットワークを新たに形成すべき際に、当該一対のWFD対応機器は、通常、G/Oネゴシエーションと呼ばれる無線通信を実行する。G/Oネゴシエーションでは、当該一対のWFD対応機器のうちの一方は、G/O状態(即ちG/O機器)になることを決定し、他方は、CL状態(即ちCL機器)になることを決定する。その後、当該一対のWFD対応機器は、接続を確立して、無線ネットワークを形成する。
上記のWFDNWは、WFD方式の手順(例えばG/Oネゴシエーション)に従って形成される無線ネットワークである。G/OネゴシエーションによってWFDNWが新たに形成された段階では、1個のG/O機器及び1個のCL機器のみがWFDNWに所属している。ただし、G/O機器は、他の機器と接続を確立して、当該他の機器をCL機器としてWFDNWに新たに参加させることができる。この場合、2個以上のCL機器がWFDNWに所属している状態になる。即ち、WFDNWでは、1個のG/O機器と1個以上のCL機器とが存在し得る。G/O機器は、1個以上のCL機器を管理する。具体的に言うと、G/O機器は、1個以上のCL機器のMACアドレスを、G/O機器のメモリ内の管理リストに登録する。また、G/O機器は、CL機器がWFDNWから離脱すると、CL機器のMACアドレスを管理リストから削除する。なお、G/O機器は、CL機器の数がゼロになると(即ち、管理リストに登録されているMACアドレスの数がゼロになると)、通常、G/O状態からデバイス状態に移行して、WFDNWを消滅させる。
G/O機器が管理可能なCL機器の数の上限値(即ち、管理リストに登録可能なCL機器のMACアドレスの数の上限値)は、G/O機器によって予め決められている。G/O機器が管理可能なCL機器の数の上限値は、1以上の整数であればよい。
G/O機器は、他装置を介さずに、管理リストに登録されているCL機器と対象データの無線通信を実行可能である。対象データは、OSI参照モデルのネットワーク層の情報、及び、ネットワーク層よりも上位層(例えばアプリケーション層)の情報を含むデータであり、例えば、印刷データ、スキャンデータ等を含む。また、G/O機器は、複数個のCL機器の間の対象データの無線通信を中継可能である。換言すると、一対のCL機器は、G/O機器を介して、対象データの無線通信を実行可能である。
上述したように、WFDNWでは、対象データの送信元のWFD対応機器と、対象データの送信先のWFD対応機器と、の間で、これらのWFD対応機器とは別体に構成されているAP(例えばAP60)を介さずに、対象データの無線通信を実行することができる。即ち、WFD通信、WFD方式、WFDNWは、それぞれ、APを介さない無線通信、APが利用されない無線通信方式、APを含まない無線ネットワークであると言える。
なお、WFDのG/O機器とAP(例えばAP60)との間の相違点は、以下の通りである。即ち、WFDのG/O機器は、当該機器が所属しているWFDNWから離脱して、他のWFDNWに新たに所属する場合に、G/O状態とは異なる状態(即ちCL状態)で動作し得る。これに対し、APは、WFDのG/O状態と同様の動作(例えば無線通信の中継)しか実行することができず、WFDのCL状態と同様の動作を実行することができない。
G/O機器は、印刷データ等の対象データの無線通信をデバイス状態のWFD対応機器(即ちデバイス機器)と実行不可能であるが、WFD方式の接続用データの無線通信をデバイス機器と実行可能である。即ち、G/O機器は、WFD方式の接続用データの無線通信をデバイス機器と実行することによって、デバイス機器と接続を確立して、デバイス機器をWFDNWに参加させることができる。換言すると、デバイス機器は、WFD方式の接続用データの無線通信をG/O機器と実行することによって、G/O機器と接続を確立して、WFDNWに参加することができる。この場合、デバイス機器は、デバイス状態からCL状態に移行する。WFD方式の接続用データは、OSI参照モデルのネットワーク層よりも下位層(例えば、物理層、データリンク層)の情報を含むデータ(即ち、ネットワーク層の情報を含まないデータ)であり、例えば、Probe Request信号、Probe Response信号、Provision Discovery Request信号、Provision Discovery Response信号、Association Request信号、Association Response信号、Authentication Request信号、Authentication Response信号、4-Way Handshake信号等を含む。
G/O機器は、さらに、通常Wi−Fi方式の接続用データの無線通信を通常Wi−Fi機器と実行することによって、通常Wi−Fi機器と接続を確立して、通常Wi−Fi機器をWFDNWに参加させることができる。通常Wi−Fi機器は、WFD方式に従って無線ネットワークに所属することができないが(即ち、G/Oネゴシエーションを実行不可能であるが)、通常Wi−Fi方式に従って無線ネットワークに所属可能な機器である。通常Wi−Fi機器は、「レガシー機器」とも呼ばれる。通常Wi−Fi方式の接続用データは、Provision Discovery Request信号及びProvision Discovery Response信号を含まない点を除くと、上記のWFD方式の接続用データと同様である。G/O機器は、通常Wi−Fi機器と接続を確立する場合に、通常Wi−Fi機器のMACアドレスを管理リストに記述する。これにより、通常Wi−Fi機器は、WFDNWに参加することができる。通常Wi−Fi機器は、3つの状態(即ち、G/O状態、CL状態、デバイス状態)のいずれかの状態で選択的に動作するものではないが、WFDNWに所属している間には、CL機器と同様の状態で動作する。
(通常Wi−Fi方式)
通常Wi−Fi方式は、Wi−Fi Allianceによって定められた無線通信方式であって、WFD方式とは異なる無線通信方式である。通常Wi−Fi方式は、WFD方式と同様に、IEEEの802.11の規格、及び、それに準ずる規格(例えば、802.11a,11b,11g,11n等)に従って、無線通信を実行するための無線通信方式である。即ち、通信規格という観点では、WFD方式と通常Wi−Fi方式とは同様である。
ただし、上述したように、WFD方式は、APを介さない無線通信を実行するための無線通信方式であるが、通常Wi−Fi方式は、APを介して無線通信を実行するための無線通信方式である。また、WFD方式は、G/Oネゴシエーションの仕組みを有する無線通信方式であるが、通常Wi−Fi方式は、当該仕組みを有さない無線通信方式である。また、上述したように、WFD方式の接続用データは、Provision Discovery Request信号及びProvision Discovery Response信号を含むが、通常Wi−Fi方式の接続用データは、これらの信号を含まない。また、WFD方式は、3つの状態(即ち、G/O状態、CL状態、デバイス状態)のいずれかの状態で選択的に動作することを許容する無線通信方式であるが、通常Wi−Fi方式は、このような選択的な動作を許容しない無線通信方式である。これらの点において、WFD方式と通常Wi−Fi方式とは異なる。
通常Wi−Fi機器(例えば端末装置62)は、通常Wi−Fi方式の接続用データの無線通信をAP(例えばAP60)と実行することによって、APと接続を確立する。これにより、通常Wi−Fi機器は、APによって形成されている通常Wi−FiNWに参加することができる。この過程において、通常Wi−Fi機器は、G/Oネゴシエーションを実行しないし、G/O状態又はCL状態で動作することを選択的に決定しない。通常Wi−Fi機器は、通常Wi−FiNWに所属している他の機器と、APを介して、印刷データ等の対象データの無線通信を実行することができる。
なお、通常Wi−FiNWは、社内LAN、家庭内LAN等のように、APを設置可能な環境で構築される無線ネットワークであり、一般的に言うと、定常的に形成されるべき無線ネットワークである。これに対し、WFDNWは、APを必要としないために、例えば、一対のWFD対応機器の間で一時的な無線通信を実行させるために構築される無線ネットワークであり、一般的に言うと、一時的に構築されるべき無線ネットワークである。このように、本実施例では、通常Wi−FiNWが、定常的に構築されるべき無線ネットワークであり、WFDNWが、一時的に形成されるべき無線ネットワークであることを想定している。
(端末装置50、62、70の構成)
端末装置50、62、70は、例えば、デスクトップPC等の据置型の端末であってもよいし、例えば、携帯電話(例えばスマートフォン)、PDA、ノートPC、タブレットPC、携帯型音楽再生装置、携帯型動画再生装置等の可搬型の端末であってもよい。本実施例では、端末装置70はWFD対応機器であり、端末装置62は通常Wi−Fi機器である。
(AP60の構成)
AP60は、WFD方式のG/O状態の機器ではなく、無線アクセスポイント又は無線LANルータと呼ばれる通常のAPである。AP60は、複数個の機器(例えば、MFP10、端末装置62)のそれぞれと通常Wi−Fi接続を確立することができる。これにより、AP60と複数個の機器とを含む通常Wi−FiNWが構築される。AP60は、通常Wi−FiNWに所属する複数個の機器のうちの1個の機器(例えば端末装置62)から対象データを受信して、複数個の機器のうちの他の1個の機器(例えばMFP10)に当該対象データを送信する。即ち、AP60は、通常Wi−FiNWに所属する一対の機器の間の通信を中継する。
(MFP10の接続実績管理処理;図2)
次いで、図2を参照して、MFP10のCPU30によって実行される接続実績管理処理の内容を説明する。MFP10の電源がONされると、CPU30は、図2の接続実績管理処理を開始する。CPU30は、接続実績管理処理を開始すると、S10及びS12の監視処理を実行する。
S10では、CPU30は、有線I/F20に通信ケーブルが接続されることを監視する。有線I/F20に通信ケーブルが接続されると(即ち、有線I/F20がリンクダウン状態からリンクアップ状態に変化すると)、CPU30は、S10でYESと判断して、S14に進む。
S12では、CPU30は、MFP10とAP(例えばAP60)との間に通常Wi−Fi接続が確立されることを監視する。ユーザは、MFP10の操作部12に通常Wi−Fi接続操作(即ち、通常Wi−Fi接続を確立するための操作)を実行する。この場合、CPU30は、MFP10の周囲に存在する1個以上の通常Wi−FiNWを検索する(より具体的に言うと、上記の1個以上の通常Wi−FiNWのSSID(Service Set IDentifierの略)を検索する)。そして、CPU30は、検索によって見つかった1個以上のSSIDを表示部14に表示させる。ユーザは、操作部12を操作して、上記の1個以上のSSIDの中から1個のSSID(本実施例では、AP60によって形成されている通常Wi−FiNWのSSID)を選択する。次いで、ユーザは、操作部12を操作して、選択済みの1個のSSIDを有するAP60で利用されている認証方式、暗号化方式、及び、パスフレーズを、MFP10に入力する。この場合、CPU30は、それらの情報を利用して、通常Wi−Fi方式の接続用データの無線通信をAP60と実行する。これにより、MFP10とAP60との間に通常Wi−Fi接続が確立される(即ち、無線I/F22がリンクダウン状態からリンクアップ状態に変化する)。この場合、CPU30は、S12でYESと判断して、S14に進む。なお、通常Wi−Fi接続操作は、例えば、公知のAOSS(登録商標)方式、WPS方式等の接続方式が採用されてもよい。
S14では、CPU30は、接続実績情報をメモリ32に記憶させる。なお、S14の時点で、接続実績情報が既にメモリ32に記憶されている場合には、S14では、CPU30は、接続実績情報をメモリ32に新たに記憶させない(即ちS14をスキップする)。S14を終えると、接続実績管理処理が終了する。
なお、CPU30は、MFP10とWFD対応機器(例えば端末装置70)との間にWFD接続が確立されても、接続実績情報をメモリ32に記憶させない。ここでは、デバイス状態のMFP10とデバイス状態の端末装置70との間にWFD接続を確立するための手法を説明しておく。ユーザは、デバイス状態のMFP10の操作部12にWFD接続操作(即ちWFD接続を確立するための操作)を実行する。また、ユーザは、デバイス状態の端末装置70の操作部(図示省略)にWFD接続操作を実行する。これにより、MFP10のCPU30は、端末装置70とG/Oネゴシエーションを実行して、MFP10がG/O状態及びCL状態のどちらの状態で動作すべきかを決定する(換言すると、端末装置70がCL状態及びG/O状態のどちらの状態で動作すべきかを決定する)。
例えば、G/Oネゴシエーションの結果として、MFP10がG/O状態で動作すべきことが決定され、端末装置70がCL状態で動作すべきことが決定される状況を想定する。この場合、CPU30は、WFDNWで利用されるべき無線設定情報(即ち、SSID、認証方式、暗号化方式、パスフレーズ等)を決定して、当該無線設定情報を端末装置70に送信する。この結果、MFP10と端末装置70とが同じ無線設定情報を利用することができ、MFP10と端末装置70との間にWFD接続が確立される。即ち、G/O機器であるMFP10と、CL機器である端末装置70と、を含むWFDNWが構築される。なお、CPU30は、上記のWFD接続が確立されると、端末装置70のMACアドレスが記述されている管理リストをメモリ32に記憶させる。
(MFP10の機能実行処理;図3)
続いて、図3を参照して、MFP10のCPU30によって実行される機能実行処理の内容を説明する。上述したように、MFP10の操作部12に通常Wi−Fi接続操作が実行されることに起因して、MFP10とAPとの間に通常Wi−Fi接続を確立させることができる。本実施例では、このような手法のみならず、MFP10のウェブサーバ機能にアクセスする手法を採用しても、MFP10とAPとの間に通常Wi−Fi接続を確立させることができる。図3の機能実行処理は、このような手法で通常Wi−Fi接続を確立させるために実行される処理である。
端末装置(例えば端末装置70)のユーザは、端末装置に予め搭載されているウェブブラウザが起動されている状態で、MFP10とAPとの間に通常Wi−Fi接続を確立させるためのウェブページのURL(Uniform Resource Locatorの略)を、端末装置に入力する。本実施例では、上記のURLは、MFP10のIPアドレスと、予め決められているパス(例えば、「/wireless setting」)と、を含む。端末装置は、上記のURLが入力されると、上記のURLを含むHTTP(HyperText Transfer Protocolの略)のアクセス要求をMFP10に送信する。MFP10のCPU30は、端末装置からアクセス要求を受信する場合に、図3の機能実行処理を実行する。なお、以下では、アクセス要求の送信元の端末装置のことを「対象端末装置」と呼ぶ。
S30では、CPU30は、受信済みのアクセス要求が、WFDNWを利用して受信されたものであるのか否かを判断する。アクセス要求が有線I/F20を介して受信された場合には、CPU30は、アクセス要求がWFDNWを利用して受信されたものでないと判断して(S30でNO)、S52に進む。
アクセス要求が無線I/F22を介して受信された場合には、CPU30は、アクセス要求が通常Wi−FiNW及びWFDNWのどちらを利用して受信されたものであるのかを判断する。具体的に言うと、アクセス要求内の特定の領域(例えば、OSI参照モデルのトランスポート層の情報を格納するための領域)は、対象端末装置がアクセス要求をMFP10に送信する際に利用したネットワークを示すネットワーク情報(例えば、WFDNWを示すネットワーク情報、通常Wi−FiNWを示すネットワーク情報)を含む。CPU30は、アクセス要求内のネットワーク情報を参照することにより、アクセス要求がWFDNWを利用して受信されたものであるのか否かを判断することができる。即ち、CPU30は、アクセス要求内のネットワーク情報がWFDNWを示す場合には、アクセス要求がWFDNWを利用して受信されたものであると判断して(S30でYES)、S32に進む。また、CPU30は、アクセス要求内のネットワーク情報が通常Wi−FiNWを示す場合には、アクセス要求がWFDNWを利用して受信されたものでないと判断して(S30でNO)、S52に進む。
なお、変形例では、CPU30は、アクセス要求が通常Wi−FiNW及びWFDNWのどちらを利用して受信されたものであるのかを、以下の手法を用いて判断してもよい。MFP10がWFDNWに接続されている場合には、MFP10は、G/O機器又はCL機器である。MFP10がG/O機器である場合には、MFP10のメモリ32は、WFDNWに所属するCL機器のMACアドレスが記述されている管理リストを記憶している。そして、CPU30は、アクセス要求に含まれる送信元のMACアドレスと、管理リストに含まれるCL機器のMACアドレスと、が一致する場合には、アクセス要求がWFDNWを利用して受信されたものであると判断する。一方、CPU30は、アクセス要求に含まれる送信元のMACアドレスと、管理リストに含まれるCL機器のMACアドレスと、が一致しない場合には、アクセス要求がWFDNWを利用して受信されたものでないと判断する。
また、MFP10がCL機器である場合には、MFP10のメモリ32は、通常、G/O機器のMACアドレスを記憶している。そして、CPU30は、アクセス要求に含まれる送信元のMACアドレスと、メモリ32に記憶されているG/O機器のMACアドレスと、が一致する場合には、アクセス要求がWFDNWを利用して受信されたものであると判断する。一方、CPU30は、アクセス要求に含まれる送信元のMACアドレスと、メモリ32に記憶されているG/O機器のMACアドレスと、が一致しない場合には、アクセス要求がWFDNWを利用して受信されたものでないと判断する。なお、MFP10がWFDNWに所属していない場合には、メモリ32は、上記の管理リストを記憶していないし、G/O機器のMACアドレスを記憶していない。このような状態では、CPU30は、アクセス要求がWFDNWを利用して受信されたものでないと判断する。
S32では、CPU30は、メモリ32に接続実績情報が記憶されているのか否かを判断する。メモリ32に接続実績情報が記憶されている場合には、CPU30は、S32でYESと判断して、S50に進む。一方、メモリ32に接続実績情報が記憶されていない場合には、CPU30は、S32でNOと判断して、S34に進む。上記の通り、MFP10が初期状態である場合には、メモリ32に接続実績情報が記憶されていない。このような状況では、CPU30は、S32でNOと判断する。
S34では、CPU30は、WFDNWを利用して(即ちWFD方式に従って)、メモリ32内の無線設定画面データを対象端末装置に送信する。無線設定画面データは、HTML(HyperText Markup Languageの略)で記述されたデータであり、MFP10とAPとの間に通常Wi−Fi接続を確立するための無線設定情報を入力するための無線設定画面を表わすデータを含む。
対象端末装置は、MFP10から無線設定画面データを受信すると、対象端末装置の表示部(図示省略)に無線設定画面を表示させる。図4に示すように、無線設定画面は、無線設定情報(即ち、SSID、認証方式、暗号化方式、及び、パスフレーズ)を入力するための複数の入力欄100、102、104、106を含む。対象端末装置のユーザは、対象端末装置の操作部(図示省略)を操作して、各入力欄100〜106に無線設定情報を入力し、その後、OKボタン108を選択する。この場合、対象端末装置は、WFDNWを利用して、ユーザによって入力された無線設定情報をMFP10に送信する。
図3のS36では、CPU30は、WFDNWを利用して、対象端末装置から無線設定情報を受信する。次いで、S38では、CPU30は、受信済みの無線設定情報(即ち、SSID、認証方式、暗号化方式、及び、パスフレーズ)を利用して、AP(例えばAP60)と通常Wi−Fi接続を確立することを試行する。具体的には、CPU30は、まず、MFP10の周囲に存在する1個以上のAPを検索して、当該1個以上のAPの中から、受信済みの無線設定情報に含まれるSSIDを有するAP(例えばAP60)を選択する。そして、CPU32は、受信済みの無線設定情報に含まれる認証方式、暗号化方式、及び、パスフレーズ(以下では「特定の認証情報」と呼ぶ)を、選択済みのAPに送信する。上記の特定の認証情報と、選択済みのAPによって利用されている認証情報(即ち、認証方式、暗号化方式、及び、パスフレーズ)と、が一致する場合には、MFP10と選択済みのAPとの間に通常Wi−Fi接続が確立される。一方、2つの認証情報が一致しない場合には、通常Wi−Fi接続が確立されない。
次いで、S40では、CPU30は、MFP10とAPとの間に通常Wi−Fi接続が確立されたのか否かを判断する。CPU30は、通常Wi−Fi接続が確立された場合には、S40でYESと判断して、S42に進む。S42では、CPU30は、接続実績情報をメモリ32に記憶させる。S42を終えると、S44に進む。なお、この状態では、MFP10は、通常Wi−FiNW及びWFDNWの両方に所属している。一方、CPU30は、通常Wi−Fi接続が確立されなかった場合には、S40でNOと判断して、S42をスキップしてS44に進む。
S44では、CPU30は、WFDNWを利用して、メモリ32内のセキュリティ設定情報が記述されているセキュリティ設定画面データを対象端末装置に送信する。セキュリティ設定画面データは、HTMLで記述されたデータであり、メモリ32内のセキュリティ設定情報(例えば、デフォルトのセキュリティ設定情報)を変更するためのセキュリティ設定画面を表わすデータを含む。
なお、セキュリティ設定情報は、図6のS80、S82、及び、S90の判断で利用される。簡単に言うと、セキュリティ設定情報は、接続実績情報がメモリ32に記憶されている状態で、WFDNWを利用してアクセス要求が受信される場合に、MFP10とAPとの間に通常Wi−Fi接続を確立することを許可するのか否かを決定するための情報である。
対象端末装置は、MFP10からセキュリティ設定画面データを受信すると、対象端末装置の表示部(図示省略)にセキュリティ設定画面を表示させる。図5は、セキュリティ設定画面の一例を示す。セキュリティ設定画面には、MFP10のメモリ32に現在記憶されているセキュリティ設定情報が記述されている。セキュリティ設定情報は、「Disable Security」を示す情報(即ち、セキュリティの無効化を示す情報)と、「Enable Security」を示す情報(即ち、セキュリティの有効化を示す情報)と、のどちらかを含む。セキュリティ設定情報が「Enable Security」を示す情報を含む場合には、セキュリティ設定情報は、さらに、「Deny WFD User」を示す情報(即ち、通常Wi−Fi接続の確立を禁止することを示す情報)と、「Allow WFD User」を示す情報(即ち、パスワード認証が成功することを条件として、通常Wi−Fi接続の確立を許容することを示す情報)と、を含む。セキュリティ設定情報が「Allow WFD User」を示す情報を含む場合には、セキュリティ設定情報は、さらに、パスワードを含む。「Disable Security」と、「Enable Security」と、は、パスワード認証を用いて通常Wi−Fi接続の確立を許容するか否かを基準として区分されていると言い換えることができる。
図5に示されるように、セキュリティ設定画面は、チェック欄110、112、ラジオボタン114、116、パスワード設定欄120、及び、OKボタン122を含む。MFP10から対象端末装置にセキュリティ設定画面データが送信される段階では、当該セキュリティ設定画面データによって表されるセキュリティ設定画面は、以下の状態を有する。
即ち、MFP10のメモリ32内の現在のセキュリティ設定情報が「Disable Security」を示す情報を含む場合には、チェック欄110がチェックされている状態になり、現在のセキュリティ設定情報が「Enable Security」を示す情報を含む場合には、チェック欄112がチェックされている状態になる。また、現在のセキュリティ設定情報が「Deny WFD User」を示す情報を含む場合には、ラジオボタン114が選択されている状態になり、現在のセキュリティ設定情報が「Allow WFD User」を示す情報を含む場合には、ラジオボタン116が選択されている状態になる。また、現在のセキュリティ設定情報がパスワードを含む場合には、パスワード設定欄120にパスワードが記述されている状態になる。
なお、上述したように、初期状態のMFP10では、メモリ32は、デフォルトのセキュリティ設定情報を記憶している。デフォルトのセキュリティ設定情報は、「Enable Security」を示す情報と、「Deny WFD User」を示す情報と、を含む。図5のセキュリティ設定画面は、デフォルトのセキュリティ設定情報が記述されている画面である。
対象端末装置のユーザは、セキュリティ設定画面を見ることによって、MFP10の現在のセキュリティ設定情報を知ることができる。そして、ユーザは、現在のセキュリティ設定情報を変更することを望む場合に、セキュリティ設定画面上の各チェック欄110、112及び各ボタン114、116を選択したり、パスワード設定欄120にパスワードを入力したりすることによって、新たなセキュリティ設定情報を指定することができる。そして、ユーザは、OKボタン122を選択する。この場合、対象端末装置は、WFDNWを利用して、ユーザによって指定された新たなセキュリティ設定情報をMFP10に送信する。
図3のS46では、CPU30は、WFDNWを利用して、対象端末装置から新たなセキュリティ設定情報を受信する。次いで、S48では、CPU30は、メモリ32内の現在のセキュリティ設定情報を、S46で受信された新たなセキュリティ設定情報に変更する。S48を終えると、図3の機能実行処理が終了する。
(有実績処理;図3のS50、図6)
上記の通り、接続実績情報がメモリ32に記憶されている状態で、WFDNWを利用してアクセス要求が受信される場合(図3のS30でYES、S32でYES)には、CPU30は、図3のS50の有実績処理を実行する。図6は、有実績処理のフローチャートを示す。
図6のS80では、CPU30は、メモリ32内のセキュリティ設定情報が「Enable Security」を示す情報を含むのか否かを判断する。CPU30は、セキュリティ設定情報が「Enable Security」を示す情報を含む場合には、S80でYESと判断して、S82に進む。一方、CPU30は、セキュリティ設定情報が「Disable Security」を示す情報を含む場合には、S80でNOと判断して、S92に進む。
S82では、CPU30は、メモリ32内のセキュリティ設定情報が「Deny WFD User」を示す情報を含むのか否かを判断する。CPU30は、セキュリティ設定情報が「Deny WFD User」を示す情報を含む場合には、S82でYESと判断して、S84に進む。一方、CPU30は、セキュリティ設定情報が「Allow WFD User」を含む場合には、S82でNOと判断して、S86に進む。
S84では、CPU30は、WFDNWを利用して、メモリ32内のアクセス拒否画面データを対象端末装置に送信する。アクセス拒否画面データは、HTMLで記述されたデータであり、ウェブサーバ機能へのアクセスの禁止を示すアクセス拒否画面130(図6の下部参照)を表わすデータを含む。これにより、対象端末装置が、対象端末装置の表示部(図示省略)にアクセス拒否画面130を表示させるので、ユーザは、MFP10のウェブサーバ機能にアクセスすることができないことを知ることができる。
S84を終えると、CPU30は、図6の有実績処理(図3のS50)を終了し、図3の機能実行処理を終了する。即ち、CPU30は、S84を実行する場合には、MFP10とAPとの間に通常Wi−Fi接続を確立することを禁止する。
S86では、CPU30は、WFDNWを利用して、メモリ32内のパスワード入力画面データを対象端末装置に送信する。パスワード入力画面データは、HTMLで記述されたデータであり、パスワードを入力するためのパスワード入力画面140(図6の下部参照)を表わすデータを含む。これにより、対象端末装置が、対象端末装置の表示部(図示省略)にパスワード入力画面140を表示させるので、ユーザは、パスワード入力欄142にパスワードを入力して、OKボタン144を選択することができる。この場合、対象端末装置は、WFDNWを利用して、パスワード入力欄142に入力されたパスワードをMFP10に送信する。
S88では、CPU30は、WFDNWを利用して、対象端末装置からパスワードを受信する。次いで、S90では、CPU30は、パスワード認証が成功したか否かを判断する。具体的には、CPU30は、S88で受信されたパスワードと、メモリ32内のセキュリティ設定情報に含まれるパスワード(即ち、図5のパスワード設定欄120に入力されたパスワード)と、が一致するのか否かを判断する。CPU30は、2個のパスワードが一致する場合には、S90でYESと判断して、S92に進む。一方、CPU30は、2個のパスワードが一致しない場合には、S90でNOと判断して、S84に進む。S84の処理は、上述の通りである。
S92、S94、S96の各処理は、図3のS34、S36、S38の各処理と同様であるため、詳しい説明を省略する。なお、S92〜S96が実行される場合には、メモリ32には既に接続実績情報が記憶されているので、S96の試行の結果として、MFP10とAPとの間に通常Wi−Fi接続が確立されても、CPU30は、接続実績情報をメモリ32に記憶させるための処理(即ち図3のS42に相当する処理)を実行しない。CPU30は、S96を終えると、図6の有実績処理(図3のS50)を終了するとともに、図3の機能実行処理を終了する。
(機能実行処理の続き;図3のS52以降)
上記の通り、アクセス要求がWFDNWを利用して受信されたものでない場合(即ち、アクセス要求が有線NW又は通常Wi−FiNWを利用して受信されたものである場合)には、CPU30は、図3のS30でNOと判断し、S52に進む。
S52、S54、S56の各処理は、図3のS34、S36、S38の各処理と同様であるため、詳しい説明を省略する。ただし、アクセス要求が有線NWを利用して受信されたものである場合には、CPU30は、S52において、有線NWを利用して無線設定画面データを送信し、S54において、有線NWを利用して無線設定情報を受信する。また、アクセス要求が通常Wi−FiNWを利用して受信されたものである場合には、CPU30は、S52において、通常Wi−FiNWを利用して無線設定画面データを送信し、S54において、通常Wi−FiNWを利用して無線設定情報を受信する。なお、アクセス要求が通常Wi−FiNWを利用して受信される状況では、MFP10がAPに既に接続されている。従って、CPU30は、S56の処理を実行する前に、APとの接続を切断し、その後、S56の処理を実行する。これにより、例えば、CPU30は、MFP10の接続先のAPを変更することができる。CPU30は、S56を終えると、図3の機能実行処理を終了する。
(MFP10がスキャン機能又は印刷機能の実行要求を受信する場合の処理)
スキャン機能又は印刷機能の実行要求が、有線NW、通常Wi−FiNW、及び、WFDNWのうちのいずれのネットワークを利用して受信されても、CPU30は、当該実行要求に従って、スキャン機能又は印刷機能を実行する。例えば、CPU30は、印刷機能の実行要求を受信する場合には、画像の印刷を印刷実行部16に実行させる。また、例えば、CPU30は、スキャン機能の実行要求を受信する場合には、原稿のスキャンをスキャン実行部18に実行させる。MFP10は、実行要求の受信に利用されたネットワークの種類に関わらず、スキャン機能又は印刷機能を適切に実行することができる。
(ケースA;図7)
続いて、図7を参照して、本実施例によって実現される具体的なケースAを説明する。ケースAでは、まず、初期状態のMFP10の有線I/F20に通信ケーブルが接続され(図2のS10でYES)、この結果、MFP10と端末装置50とを含む有線NWが構築される。MFP10は、接続実績情報をメモリ32に記憶させる(S14)。
ケースAでは、その後、ユーザは、デバイス状態のMFP10の操作部12にWFD接続操作を実行し、デバイス状態の端末装置70の操作部(図示省略)にWFD接続操作を実行する。この結果、デバイス状態のMFP10とデバイス状態の端末装置70との間でG/Oネゴシエーションが実行される。例えば、G/Oネゴシエーションの結果、MFP10がG/O状態に移行し、端末装置70がクライアント状態に移行する。そして、G/O状態のMFP10とクライアント状態の端末装置70との間でWFD接続が確立される。即ち、MFP10と端末装置70とを含むWFDNWが構築される。
端末装置70は、ユーザの指示に従って、WFDNWを利用して、アクセス要求をMFP10に送信する。MFP10は、WFDNWを利用して、端末装置70からアクセス要求を受信する(図3の処理のトリガ)。MFP10のメモリ32には、接続実績情報が記憶されている(図3のS32でYES)。このために、MFP10は、有実績処理(図3のS50、図6)を実行する。この時点では、MFP10のメモリ32には、デフォルトのセキュリティ設定情報が記憶されており、当該セキュリティ設定情報は、「Enable Security」を示す情報と、「Deny WFD User」を示す情報と、を含む(図5参照)。このために、MFP10は、WFDNWを利用して、アクセス拒否画面データを端末装置70に送信する(図6のS80でYES、S82でYES、S84)。これにより、MFP10は、ウェブサーバ機能を実行することを禁止して、APと通常Wi−Fi接続を確立するための処理(即ち、図6のS92〜S96の処理等)を実行しない。
上記のケースAでは、例えば、MFP10と端末装置50とが特定の会社内に据え置きされており、MFP10と端末装置50とを含む有線NW(即ち、定常的に構築されるべきネットワーク)が構築される状況を想定している。端末装置50のユーザ(例えば、特定の会社の社員)は、有線NWを利用して、MFP10に印刷を実行させることができる。一方、WFDNWは、一時的に構築されるべきネットワークである。例えば、端末装置70のユーザ(例えば、特定の会社を訪問した者)は、端末装置70とMFP10との間にWFD接続を確立して、WFDNWを一時的に構築することができる。端末装置70のユーザは、WFDNWを利用して、MFP10に印刷を実行させることができる。
ただし、MFP10をAPに接続するための設定を行う権限を、上記の特定の会社の社員以外の第三者に与えることは、通常、好ましくない。このために、ケースAのように、MFP10は、メモリ32に接続実績情報が記憶されている状態で、端末装置70からWFDNWを利用してアクセス要求を受信する場合には、原則として、ウェブサーバ機能を実行することを禁止する。この結果、端末装置70のユーザ(即ち第三者)が、MFP10のウェブサーバ機能を利用して、MFP10をAPに接続するという事象が発生するのを抑制することができる。
なお、図7には示されていないが、例えば、上記の特定の会社の社員が、端末装置50を利用して(即ち有線NWを利用して)、MFP10のウェブサーバ機能にアクセスする状況を想定する。この場合、MFP10は、有線NWを利用して、端末装置50からアクセス要求を受信する(図3のS30でNO)。この場合、MFP10は、メモリ32に接続実績情報が記憶されているのか否かに関わらず、MFP10をAPに接続するための処理(即ち、図3のS52〜S56の処理)を実行する。即ち、MFP10は、定常的に構築されるべき有線NWを利用してアクセス要求を受信する場合、即ち、上記の特定の会社の社員の指示に応じたアクセス要求を受信することが想定される場合には、ウェブサーバ機能を実行することを許容する。この結果、端末装置50のユーザ、即ち、上記の特定の会社の社員は、有線NWを介してMFP10のウェブサーバ機能を利用して、MFP10をAP60に適切に接続することができる。
(ケースB;図8)
続いて、図8を参照して、本実施例によって実現される具体的なケースBを説明する。ケースBでは、まず、初期状態のMFP10と端末装置70との間にWFD接続が確立される。この場合、MFP10のメモリ32には、接続実績情報が記憶されない。
次いで、端末装置70は、ユーザの指示に従って、WFDNWを利用して、アクセス要求をMFP10に送信する。MFP10は、WFDNWを利用して、端末装置70からアクセス要求を受信する(図3の処理のトリガ)。MFP10のメモリ32には、接続実績情報が記憶されていない(図3のS32でNO)。このために、MFP10は、WFDNWを利用して、無線設定画面データを端末装置70に送信する(S34)。
端末装置70は、無線設定画面データを受信すると、端末装置70の表示部(図示省略)に無線設定画面(図4参照)を表示させる。端末装置70のユーザは、各入力欄100〜106に無線設定情報(SSID、認証方式、暗号化方式、及び、パスフレーズ)を入力して、OKボタン108を操作する。これにより、端末装置70は、WFDNWを利用して、無線設定情報をMFP10に送信する。MFP10は、端末装置70から無線設定情報を受信すると(図3のS36)、当該無線設定情報を利用して、AP60と通常Wi−Fi接続を確立する(S38、S40でYES)。次いで、MFP10は、接続実績情報をメモリ32に記憶させる(S42)。
続いて、MFP10は、WFDNWを利用して、セキュリティ設定画面データを端末装置70に送信する。端末装置70は、MFP10からセキュリティ設定画面データを受信すると、端末装置70の表示部にセキュリティ設定画面(図5参照)を表示させる。端末装置70のユーザは、セキュリティ設定画面を利用して、所望のセキュリティ設定情報を入力して、OKボタン122を選択する。これにより、端末装置70は、WFDNWを利用して、新たなセキュリティ設定情報をMFP10に送信する。MFP10は、端末装置70から新たなセキュリティ設定情報を受信すると、メモリ32内のセキュリティ設定情報を、新たなセキュリティ設定情報に変更する。
ケースBでは、例えば、上記の特定の会社にMFP10が新たに導入された際に、上記の特定の会社のネットワーク管理者が、WFDNWを利用してMFP10とAP60との間に通常Wi−Fi接続を確立させる状況を想定している。即ち、ケースBでは、上記の特定の会社のネットワーク管理者は、端末装置70を利用して、MFP10と端末装置70とを含むWFDNWを一時的に構築することができる。そして、ネットワーク管理者は、端末装置70を利用して(即ちWFDNWを利用して)、MFP10のウェブサーバ機能にアクセスして、MFP10をAP60に接続させることができる。即ち、ネットワーク管理者は、MFP10の操作部12に通常Wi−Fi接続操作を実行して、操作部12に認証方式、暗号化方式等を入力しなくても、WFDNWを介してMFP10のウェブサーバ機能を利用して、MFP10をAP60に容易に接続させることができる。また、ネットワーク管理者は、MFP10を含む有線NWを構築しなくても、WFDNWを介してMFP10のウェブサーバ機能を利用して、MFP10をAP60に容易に接続させることができる。
図7のケースA及び図8のケースBに示されるように、本実施例では、MFP10は、WFDNWを利用してアクセス要求を受信する場合に、接続実績情報がメモリ32に記憶されているのか否かに応じて、AP60と接続を確立するための処理を実行するのか否かを変えることができる。これにより、図7のケースAで説明したように、上記の特定の会社の社員以外の第三者が、WFDNWを介してMFP10のウェブサーバ機能を利用して、MFP10をAPに接続するという事象が発生するのを抑制することができる。さらに、図8のケースBで説明したように、上記の特定の会社のネットワーク管理者が、WFDNWを介してMFP10のウェブサーバ機能を利用して、MFP10をAP60に容易に接続させることができる。このように、MFP10は、MFP10の状況に応じて、適切に動作することができる。
本実施例では、例えば、上記の特定の会社のネットワーク管理者は、MFP10のメモリ32内のセキュリティ設定情報を変更することができる(図3のS48参照)。このために、ネットワーク管理者は、以下の様々なシステムを容易に構築することができる。
例えば、WFDNWを介してMFP10のウェブサーバ機能を利用して、MFP10をAPに接続させる権限を、上記の特定の会社内の様々な社員に与えるシステムを構築すべき状況を想定する。この場合、ネットワーク管理者は、デフォルトのセキュリティ設定情報を、「Disable Security」を示す情報を含む新たなセキュリティ設定情報に変更すればよい(図3のS44、S46の説明参照)。これにより、MFP10は、接続実績情報が記憶されている状態で、WFDNWを利用してアクセス要求を受信する場合に、図6のS80でNOと判断して、APに接続するための処理(即ちS92〜S96)を実行する。この結果、上記の特定の会社内の様々な社員は、WFDNWを介してMFP10のウェブサーバ機能を利用して、MFP10をAPに接続させることができる。この場合、特定の会社内の様々な社員は、パスワード認証を行う必要もない。
また、例えば、WFDNWを介してMFP10のウェブサーバ機能を利用して、MFP10をAPに接続させる権限を、上記の特定の会社内の一部の社員のみに与えるシステムを構築すべき状況を想定する。この場合、ネットワーク管理者は、デフォルトのセキュリティ設定情報を、「Allow WFD user」を示す情報と、パスワードと、を含む新たなセキュリティ設定情報に変更すればよい(図3のS44、S46の説明参照)。そして、ネットワーク管理者は、上記の一部の社員のみにパスワードを教えてあげればよい。これにより、MFP10は、接続実績情報が記憶されている状態で、WFDNWを利用してアクセス要求を受信する場合に、図6のS82でNOと判断して、パスワード認証を実行し(即ちS86〜S90)、パスワード認証が成功すれば、APに接続するための処理(即ちS92〜S96)を実行する。この結果、上記の特定の会社内の一部の社員のみが、WFDNWを介してMFP10のウェブサーバ機能を利用して、MFP10をAPに接続させることができる。
(対応関係)
MFP10、端末装置70が、それぞれ、「通信装置」、「外部装置」の一例である。WFD方式、通常Wi−Fi方式、有線方式が、それぞれ、「第1の通信方式」、「第2の通信方式」、「第3の通信方式」の一例である。図3のS34〜S38の処理、図3のS52〜S56の処理、及び、図6のS92〜S96の処理が、「接続処理」の一例である。図3のS34の処理、図3のS52、及び、図6のS92の処理が、「入力画面データ送信処理」の一例である。図3のS38の処理、図3のS56の処理、及び、図6のS96の処理が、「試行処理」の一例である。図2のS14の処理、及び、図3のS42の処理が、「記憶制御部」によって実行される処理の一例である。アクセス要求を受信する処理が、「要求受信部」によって実行される処理の一例である。図3のS32〜S38の処理、及び、図6の処理が、「接続部」によって実行される処理の一例である。図3のS44の処理が、「変更画面データ送信部」によって実行される処理の一例である。G/Oネゴシエーションが、「一対の機器が当該無線ネットワークの親局及び子局を決定するための無線通信」の一例である。
以上、本発明の具体例を詳細に説明したが、これらは例示にすぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には以上に例示した具体例を様々に変形、変更したものが含まれる。上記の実施例の変形例を以下に列挙する。
(変形例1)「アクセス要求」は、無線設定画面へのアクセス要求に限られず、MFP10のウェブサーバ機能によって提供される他の画面(例えば、ウェブサーバ機能のトップ画面)へのアクセス要求であってもよい。この場合、アクセス要求に含まれるURLは、MFP10のIPアドレスと、上記の他の画面に予め決められているパス(例えば、「/toppage」等)と、を含んでもよい。そして、CPU30は、メモリ32に接続実績情報が記憶されていない状態で、端末装置から、WFDNWを利用して上記の他の画面へのアクセス要求が受信される場合に、図3のS34〜S48の各処理(即ちMFP10をAPに接続するための処理)を実行してもよい。また、CPU30は、メモリ32に接続実績情報が記憶されている状態で、端末装置から、WFDNWを利用して上記の他の画面へのアクセス要求が受信される場合に、上記の他の画面を表わす画面データを端末装置に送信してもよい。
(変形例2)「第1の通信方式」は、WFD方式に限られず、アクセスポイントを含まない無線ネットワークを利用する他の通信方式であってもよい。例えば、「第1の通信方式」は、NFC(Near Field Communicationの略)方式でもよいし、アドホック方式でもよいし、トランスファージェット方式でもよい。
(変形例3)「通信装置」は、印刷機能及びスキャン機能を実行可能な多機能機(即ちMFP10)に限られず、印刷機能及びスキャン機能のうちの印刷機能のみを実行可能なプリンタであってもよいし、印刷機能及びスキャン機能のうちのスキャン機能のみを実行可能なスキャナであってもよい。また、「通信装置」は、印刷機能及びスキャン機能とは異なる機能(例えば、画像の表示機能、データの演算機能)を実行する装置(例えば、PC、サーバ、携帯端末(携帯電話、スマートフォン、PDA等))であってもよい。
(変形例4)MFP10は、有線I/F20を備えておらず、無線I/F22のみを備えていてもよい。一般的に言うと、「複数の通信方式」は、第1の通信方式と第2の通信方式とを少なくとも備えていればよい。
(変形例5)上記の各実施例では、図2、図3、図6の各処理がソフトウェア(即ちプログラム)によって実現されるが、図2、図3、図6の各処理のうちの少なくとも1つが論理回路等のハードウェアによって実現されてもよい。
また、本明細書または図面に説明した技術要素は、単独であるいは各種の組合せによって技術的有用性を発揮するものであり、出願時請求項記載の組合せに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。