(実施例)
(システムの構成;図1)
図1に示されるように、本実施例のシステムは、多機能機10及び通話デバイス50を備える。多機能機10及び通話デバイス50は、セットで出荷(即ち販売)されるものであり、例えば家庭内に設置される。多機能機10及び通話デバイス50が通信可能なシステムが構築された後に、例えば、アクセスポイント100、携帯端末70A,70B、ディスプレイ80等の各機器が、多機能機10に接続され得る。また、パーソナルコンピュータ110が、アクセスポイント100に接続され得る。以下では、多機能機10、通話デバイス50、アクセスポイント100、パーソナルコンピュータ110のことを、それぞれ、「MFP(Multi-Function Peripheralの略)」、「CD(Call Deviceの略)」、「AP(Access Pointの略)」、「PC(Personal Computerの略)」と呼ぶ。
(MFP10の構成)
MFP10は、印刷機能及びスキャン機能を含む多機能を実行可能な周辺機器(即ち、PC110等の周辺機器)である。MFP10は、操作部12と、表示部14と、印刷実行部16と、スキャン実行部18と、無線LAN(Local Area Networkの略)インターフェース20と、制御部30と、を備える。各部12〜30は、バス線(符号省略)に接続されている。以下では、インターフェースのことを「I/F」と呼ぶ。
操作部12は、複数のキーを備える。ユーザは、操作部12を操作することによって、様々な指示をMFP10に入力することができる。表示部14は、様々な情報を表示するためのディスプレイである。印刷実行部16は、インクジェット方式、レーザ方式等の印刷機構である。スキャン実行部18は、CCD、CIS等のスキャン機構である。
無線LANI/F20は、無線通信を実行するためのインターフェースであり、物理的には1個のインターフェース(即ち1個のICチップ)である。ただし、無線LANI/F20には、通常Wi−Fi方式に従った通常Wi−Fi通信で利用されるMACアドレス(以下では「MACa」と呼ぶ)と、WFD(Wi-Fi Directの略)方式に従ったWFD通信で利用されるMACアドレス(以下では「MACb」と呼ぶ)と、の2個が予め割り当てられる。従って、制御部30は、MACaを利用した通常Wi−Fi通信と、MACbを利用したWFD通信と、の両方を同時的に実行し得る。
制御部30は、CPU32と、メモリ34と、を備える。CPU32は、メモリ34に記憶されているプログラム36に従って、様々な処理を実行するプロセッサである。メモリ34は、揮発性領域、不揮発性領域等によって構成されており、プログラム36のみならず、様々な情報201,202,211,212,300を記憶することができる。
通常Wi−Fi通信情報201は、通常Wi−Fi通信を実行するためのMFP10自身の情報であり、MACa、IPアドレス(以下では「IPa」と呼ぶ)、及び、サブネットマスク(以下では「SMa」と呼ぶ)を含む。また、通常Wi−Fi設定情報202は、通常Wi−Fi通信を実行するための無線ネットワークで利用される無線設定情報であり、SSID(Service Set Identifierの略)、認証方式、暗号化方式、及び、パスワードを含む。各情報201,202は、メモリ34内の揮発性領域に設けられる通常Wi−Fi記憶領域200に記憶される。
WFD通信情報211は、WFD通信を実行するためのMFP10自身の情報であり、MACb、IPアドレス(以下では「IPb」と呼ぶ)、及び、サブネットマスク(以下では「SMb」と呼ぶ)を含む。また、WFD設定情報212は、WFD通信を実行するための無線ネットワークで利用される無線設定情報であり、SSID、認証方式、暗号化方式、及び、パスワードを含む。各情報211,212は、メモリ34内の揮発性領域に設けられるWFD記憶領域210に記憶される。
管理リスト300は、MFP10との無線接続を確立している各機器の情報が記述されるリストである。MFP10とAP100との間に無線接続が確立される場合には、管理リスト300には、通常Wi−Fi管理情報として、AP100に関するAP情報310が記述される。MFP10とWFD方式のクライアント機器との間に無線接続が確立される場合には、管理リスト300には、WFD管理情報として、当該クライアント機器に関する機器情報350,370が記述される。
(WFD方式と通常Wi−Fi方式)
続いて、WFD方式と通常Wi−Fi方式について詳しく説明する。上述したように、MACアドレスという観点では、WFD通信、WFD方式は、それぞれ、MACbが利用される無線通信、無線通信方式である。また、通常Wi−Fi通信、通常Wi−Fi方式は、それぞれ、MACaが利用される無線通信、無線通信方式である。
(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のように、WFD方式に従ったWFD通信を実行可能な機器のことを、「WFD機器」と呼ぶ。上記のWFDの規格書では、WFD機器の状態として、Group Owner状態(以下では「G/O状態」と呼ぶ)、クライアント状態(以下では「CL状態」と呼ぶ)、及び、デバイス状態の3つの状態が定義されている。WFD機器は、上記の3つの状態のうちの1つの状態で選択的に動作可能である。
デバイス状態の一対のWFD機器が無線ネットワークを新たに形成すべき際に、当該一対のWFD機器のうちの一方は、G/O状態(即ちG/O機器)になることを決定し、他方は、CL状態(即ちCL機器)になることを決定する。その後、当該一対のWFD機器は、WFD接続を確立して、無線ネットワークを形成する。
以下では、WFD方式の手順に従って形成される無線ネットワークのことを、「WFDNW」と呼ぶ。一対のWFD機器の間にWFDNWが新たに形成された段階では、1個のG/O機器及び1個のCL機器のみがWFDNWに所属している。ただし、G/O機器は、他の機器とWFD接続を確立して、当該他の機器をCL機器としてWFDNWに新たに参加させることができる。この場合、2個以上のCL機器がWFDNWに所属している状態になる。即ち、WFDNWでは、1個のG/O機器と1個以上のCL機器とが存在し得る。G/O機器は、1個以上のCL機器を管理する。具体的には、G/O機器は、各CL機器のMACアドレスを、G/O機器のメモリ内の管理リストに登録する。また、G/O機器は、CL機器がWFDNWから離脱すると、CL機器のMACアドレスを管理リストから削除する。なお、G/O機器は、CL機器の数がゼロになると(即ち、管理リストに登録されているMACアドレスの数がゼロになると)、通常、G/O状態からデバイス状態に移行して、WFDNWを消滅させる。
G/O機器が管理可能なCL機器の数には制限がある。本実施例では、MFP10が同時的に無線接続を確立可能な機器の上限数は「3」である。従って、MFP10がG/O機器として動作しており、かつ、MFP10がAP100との無線接続を確立していない場合には、MFP10は、最大で3個のCL機器とのWFD接続を確立することができる(即ち、最大で3個のCL機器を管理することができる)。また、MFP10がG/O機器として動作しており、かつ、MFP10がAP100との無線接続を既に確立している場合には、MFP10は、最大で2個のCL機器とのWFD接続を確立することができる(即ち、最大で2個のCL機器を管理することができる)。
G/O機器は、他の機器を介さずに、管理リストに登録されているCL機器と対象データの無線通信を実行可能である。対象データは、OSI参照モデルのネットワーク層の情報、及び、ネットワーク層よりも上位層(例えばアプリケーション層)の情報を含むデータであり、例えば、印刷データ、スキャンデータ等を含む。また、G/O機器は、一対のCL機器の間の対象データの無線通信を中継可能である。換言すると、一対のCL機器は、G/O機器を介して、対象データの無線通信を実行可能である。
上述したように、WFDNWでは、対象データの送信元のWFD機器と、対象データの送信先のWFD機器と、の間で、これらのWFD機器とは別体に構成されているAP(例えばAP100)を介さずに、対象データの無線通信を実行することができる。即ち、WFD通信、WFD方式は、それぞれ、APを介さない無線通信、APが利用されない無線通信方式であると言える。
なお、WFDのG/O機器とAP(例えばAP100)との間の相違点は、以下の通りである。即ち、WFDのG/O機器は、当該機器が所属しているWFDNWから離脱して、他のWFDNWに新たに所属する場合に、G/O状態とは異なる状態(即ちCL状態)で動作し得る。これに対し、APは、WFDのG/O状態と同様の動作(例えば無線通信の中継)しか実行することができず、WFDのCL状態と同様の動作を実行することができない。
G/O機器は、対象データの無線通信をデバイス状態のWFD機器(即ちデバイス機器)と実行不可能であるが、WFD方式の接続用データの無線通信をデバイス機器と実行可能である。即ち、G/O機器は、WFD方式の接続用データの無線通信をデバイス機器と実行することによって、デバイス機器とWFD接続を確立して、デバイス機器をWFDNWに参加させることができる。換言すると、デバイス機器は、WFD方式の接続用データの無線通信をG/O機器と実行することによって、G/O機器とWFD接続を確立して、WFDNWに参加することができる。この場合、デバイス機器は、デバイス状態からCL状態に移行する。WFD方式の接続用データは、OSI参照モデルのネットワーク層よりも下位層(例えば、物理層、データリンク層)の情報を含むデータ(即ち、ネットワーク層の情報を含まないデータ)であり、例えば、Probe Request信号、Probe Response信号、Provision Discovery Request信号、Provision Discovery Response信号、WSC Exchange、4-Way Handshake等を含む。
Probe Request信号は、無線接続の確立を要求するための信号である。Probe Response信号は、Probe Request信号に応答するための信号である。Provision Discovery Request信号は、当該信号の送信元の機器に関する情報を供給するための信号である。Provision Discovery Response信号は、Provision Discovery Request信号に応答するための信号である。WSC Exchangeの通信は、無線ネットワークで利用されるべきパスワードを供給するために実行される。4-Way Handshakeの通信は、認証のために実行される。
G/O機器は、さらに、通常Wi−Fi方式の接続用データの無線通信を通常Wi−Fi機器と実行することによって、通常Wi−Fi機器と通常Wi−Fi接続を確立して、通常Wi−Fi機器をWFDNWに参加させることができる。通常Wi−Fi機器は、WFD方式に従って無線ネットワークに参加することができないが、通常Wi−Fi方式に従って無線ネットワークに参加可能な機器である。通常Wi−Fi機器は、「レガシー機器」とも呼ばれる。通常Wi−Fi方式の接続用データは、上記のWFD方式の接続用データと同様であるが、Provision Discovery Request信号及びProvision Discovery Response信号を含まない。G/O機器は、通常Wi−Fi機器と通常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方式の接続用データは、Provision Discovery Request信号及びProvision Discovery Response信号を含むが、通常Wi−Fi方式の接続用データは、これらの信号を含まない。また、WFD方式は、3つの状態(即ち、G/O状態、CL状態、デバイス状態)のいずれかの状態で選択的に動作することを許容する無線通信方式であるが、通常Wi−Fi方式は、このような選択的な動作を許容しない無線通信方式である。これらの点において、WFD方式と通常Wi−Fi方式とは異なる。
通常Wi−Fi機器は、通常Wi−Fi方式の接続用データの無線通信をAP(例えばAP100)と実行することによって、APと通常Wi−Fi接続を確立する。これにより、通常Wi−Fi機器は、APによって形成されている無線ネットワーク(以下では「通常Wi−FiNW」と呼ぶ)に参加することができる。通常Wi−Fi機器は、通常Wi−FiNWに所属している他の機器と、APを介して、対象データの無線通信を実行することができる。なお、APは、通常Wi−Fi機器と通常Wi−Fi接続を確立する場合に、通常Wi−Fi機器のMACアドレスを、APの管理リストに記述する。
(CD50の構成)
CD50は、本体52と、ハンドセット68と、を備える。ハンドセット68は、本体52に対して着脱可能である。
本体52は、無線LANI/F54と、PSTN(Public Switched Telephone Networkの略)I/F56と、制御部60と、を備える。無線LANI/F54は、無線通信を実行するためのI/Fである。PSTNI/F56は、一般公衆回線網であるPSTNに接続される。
制御部60は、CPU62と、メモリ64と、を備える。CPU62は、メモリ64に記憶されているプログラム(図示省略)に従って、様々な処理を実行するプロセッサである。メモリ64は、揮発性領域、不揮発性領域等によって構成されており、プログラムのみならず、様々な情報を記憶することができる。
図示省略しているが、本体52及びハンドセット68のそれぞれは、DECT(Digital Enhanced Cordless Telecommunicationの略)規格に従って、音声データの無線通信を実行するためのインターフェースを備える。本体52及びハンドセット68が音声データの無線通信を実行することによって、図示省略の外部の電話機(即ちPSTNに接続されている電話機)との電話通信が実現される。
CD50は、WFD機器である。後で詳しく説明するが、MFP10は、電源がONされると、G/O機器として動作してWFDNWを形成する。そして、CD50は、電源がONされると、MFP10とのWFD接続を確立して、MFP10によって形成されているWFDNWにCL機器として参加する。これにより、CD50は、WFDNWを利用して、MFP10と対象データ(例えば以下のFAXデータ)の無線通信を実行することができる。
(FAX機能)
MFP10及びCD50が協働して処理を実行することによって、FAX機能が実現される。例えば、CD50のCPU62は、図示省略の外部のFAX装置からPSTNI/F56を介してFAXデータを受信する場合に、WFDNWを利用して(即ち無線LANI/F54を介して)、FAXデータをMFP10に送信する。MFP10のCPU32は、WFDNWを利用して(即ち無線LANI/F20を介して)、CD50からFAXデータを受信する場合に、FAXデータによって表わされる画像の印刷を印刷実行部16に実行させる。これにより、FAX受信動作が実現される。
また、MFP10のCPU32は、例えば、ユーザによってFAXデータの送信先として外部のFAX装置が指定される場合に、原稿のスキャンをスキャン実行部18に実行させることによって得られるFAXデータを、WFDNWを利用して(即ち無線LANI/F20を介して)、CD50に送信する。CD50のCPU62は、WFDNWを利用して(即ち無線LANI/F54を介して)、MFP10からFAXデータを受信すると、PSTNI/F56を介して上記の外部のFAX装置にFAXデータを送信する。これにより、FAX送信動作が実現される。
(携帯端末70A,70Bの構成)
各携帯端末70A,70Bは、携帯電話(例えばスマートフォン)、PDA、ノートPC、タブレットPC、携帯型音楽再生装置、携帯型動画再生装置等の可搬型の端末装置である。各携帯端末70A,70Bには、印刷機能をMFP10に実行させるためのアプリケーションプログラム(以下では「印刷アプリ」と呼ぶ)がインストールされている。印刷アプリは、MFP10のベンダによって提供されるものであり、インターネット上のサーバから各携帯端末70A,70Bにインストールされてもよいし、MFP10と共に出荷されるメディアから各携帯端末70A,70Bにインストールされてもよい。
各携帯端末70A,70Bは、WFD機器である。各携帯端末70A,70Bは、MFP10とのWFD接続を確立して、WFDNWにCL機器として参加することができる。これにより、各携帯端末70A,70Bは、WFDNWを利用して、MFP10と対象データ(例えばMFP10で印刷されるべき印刷データ)の無線通信を実行することができる。
(ディスプレイ80の構成)
ディスプレイ80は、例えば家庭内のテレビのディスプレイである。ディスプレイ80には、上記の印刷アプリはインストールされない。ディスプレイ80は、WFD機器である。ディスプレイ80は、MFP10とのWFD接続を確立して、WFDNWにCL機器として参加することができる。これにより、ディスプレイ80は、WFDNWを利用して、MFP10と対象データ(例えばディスプレイで表示されるべき画像データ)の無線通信を実行することができる。
(AP100の構成)
AP100は、無線アクセスポイント、無線LANルータ等と呼ばれる通常のAPであり、WFD方式のG/O機器とは異なる。AP100は、通常Wi−Fi方式に従った無線ネットワーク(即ち通常Wi−FiNW)を形成することができる。
(PC110の構成)
PC110は、AP100との通常Wi−Fi接続を確立して、AP100によって形成されている通常Wi−FiNWに参加することができる。なお、PC110にも、印刷機能をMFP10に実行させるための印刷アプリがインストールされている。
(各デバイスが実行する事前処理;図2)
続いて、図2を参照して、各デバイス10,50,70A,100,110が実行する処理について説明する。図2の初期状態では、AP100とPC110との間に通常Wi−Fi接続が確立されており、MFP10及びCD50の電源がOFFされており、携帯端末70Aには無線接続が確立されていない。まず、図2の各処理の概要を説明する。
MFP10のCPU32は、MFP10の電源がONされると、T2において、WFDNWを形成する。CD50のCPU62は、CD50の電源がONされると、T10,T12において、MFP10とのWFD接続を確立して、WFDNWに参加する。
MFP10及びCD50が同一のWFDNWに所属しているので、T14,T16において、MFP10及びCD50は、以下のFAX受信動作を実行することができる。即ち、T14では、CD50のCPU62は、PSTNからFAXデータを受信する場合に、WFDNWを利用して(即ちAP100を介さずに直接的に)、無線LANI/F54を介して、FAXデータをMFP10に送信する。T16では、MFP10のCPU32は、WFDNWを利用して、無線LANI/F20を介して、CD50からFAXデータを受信する場合に、FAXデータによって表わされる画像の印刷を印刷実行部16に実行させる。なお、以下では、MFP10又はCD50によって実行される様々な通信(即ちPSTNを介した通信以外の通信)について、「無線LANI/F20(又は54)を介して」という記載を省略する。
次いで、T17,T18において、AP100及びMFP10の間に通常Wi−Fi接続を確立するための操作が、AP100及びMFP10のそれぞれに実行される。この場合、T20,T22において、MFP10は、AP100との通常Wi−Fi接続を確立して、AP100によって形成されている通常Wi−FiNWに参加する。
MFP10及びPC110の双方がAP100によって形成される同一の通常Wi−FiNWに所属しているので、MFP10及びPC110は、以下の通信を実行することができる。即ち、T24において、PC110は、印刷アプリを利用して、MFP10で印刷されるべき画像を表わす印刷データを生成し、通常Wi−FiNWを利用して(即ちAP100を介して間接的に)、当該印刷データをMFP10に送信する。
MFP10のCPU32は、通常Wi−FiNWを利用して、PC110からAP100を介して印刷データを受信する場合に、T26において、印刷データによって表わされる画像の印刷を印刷実行部16に実行させる。
次いで、T27,T28,T29において、MFP10及び携帯端末70Aの間にWFD接続を確立するための操作が、MFP10及び携帯端末70Aのそれぞれに実行される。この場合、T30,T32,T34において、携帯端末70Aは、MFP10とのWFD接続を確立して、WFDNWにCL機器として参加する。
MFP10及び携帯端末70Aが同一のWFDNWに所属しているので、T36において、携帯端末70Aは、印刷アプリを利用して、MFP10で印刷されるべき画像を表わす印刷データを生成し、WFDNWを利用して(即ちAP100を介さずに直接的に)、当該印刷データをMFP10に送信する。
MFP10のCPU32は、WFDNWを利用して、携帯端末70Aから印刷データを受信する場合に、T38において、印刷データによって表わされる画像の印刷を印刷実行部16に実行させる。
続いて、図2の各処理の詳細を説明する。MFP10のCPU32は、MFP10の電源がONされると、以下の各処理を実行する。
T2では、MFP10のCPU32は、MFP10の状態をWFD方式のG/O状態に移行させる。即ち、MFP10は、自発的にG/O状態に移行する。これにより、MFP10のみが所属しているWFDNWが形成される。
MFP10のCPU32は、WFDNWで利用されるべきMFP10のIPb「192.168.100.1」及びSMb「255.255.255.0」を、予め決められているルールに従って決定する。そして、CPU32は、IPb及びSMbを、WFD記憶領域210内のWFD通信情報211として記憶させる(図1参照)。
MFP10のCPU32は、メモリ34内の不揮発性領域に予め記憶されているSSID「YYY」、認証方式、及び、暗号化方式を読み出し、さらに、予め決められているルールに従ってパスワードを生成する。そして、CPU32は、SSID「YYY」、当該認証方式、当該暗号化方式、及び、当該パスワードを、WFD記憶領域210内のWFD設定情報212として記憶させる(図1参照)。
図示省略しているが、CD50のメモリ64は、MFP10のメモリ34に記憶されているSSID「YYY」、認証方式、及び、暗号化方式と同じ情報を、CD50の出荷段階(即ちMFP10の出荷段階)から予め記憶している。CD50のCPU62は、ユーザによってCD50の電源がONされると、CD50のメモリ64からSSID「YYY」を読み出す。
T10では、CD50のCPU62は、読み出したSSID「YYY」と、CD50のMACアドレス(以下では「MACy」と呼ぶ)と、を含む接続要求(即ちProbe Request信号)を、MFP10に送信する。
MFP10のCPU32は、CD50からProbe Request信号を受信すると、当該Probe Request信号に含まれるSSID「YYY」が、WFDNWで利用されているSSID「YYY」に一致することを認識する。
この場合、T12において、MFP10のCPU32は、WFD方式の接続用データの無線通信(ただし、Probe Request信号の通信を除く)をCD50と実行して、CD50とのWFD接続を確立する。
具体的には、T12では、MFP10のCPU32は、Probe Response信号をCD50に送信し、次いで、CD50からProvision Discovery Request信号を受信する。Provision Discovery Request信号は、CD50の機器タイプを示すタイプ情報を含む。上述したように、CD50はMFP10とセットで販売されるため、CD50のタイプ情報は、MFP10のタイプ情報と同じであり、「Printers, Scanners, Faxes and Copiers」を示す。以下では、当該タイプ情報のことを「Printer」と省略して記載する。次いで、CPU32は、Provision Discovery Response信号をCD50に送信する。CPU32は、さらに、WSC Exchange及び4-Way Handshakeの通信をCD50と実行する。なお、CPU32は、T12の過程で、WFD記憶領域210内のWFD設定情報212に含まれるパスワードを、CD50に供給する。
CD50のCPU62は、WFD接続が確立される過程(即ちT12の過程)で、CD50の状態をデバイス状態からCL状態に移行させる。これにより、CD50は、WFDNWにCL機器として参加することができる。
また、MFP10のCPU32は、CD50の機器情報350(図1参照)を管理リスト300に記述する。機器情報350は、T10で受信された接続要求(即ちProbe Request信号)に含まれるCD50のMACyと、T12で受信されたProvision Discovery Request信号に含まれるCD50のタイプ情報「Printer」と、を含む。
MFP10のCPU32は、CD50とのWFD接続を確立すると(即ちT12の後に)、MFP10のIPb及びSMbを利用して、WFDNWのネットワークアドレス「192.168.100」を特定する。そして、CPU32は、ネットワークアドレス「192.168.100」を有するIPアドレスであって、IPbとは異なるIPアドレス(以下では「IPy」と呼ぶ;例えば「192.168.100.2」)を生成する。そして、CPU32は、生成済みのIPyと、WFDNWで利用されているSMbと、をCD50に割り当てる。
T14,T16では、MFP10のCPU32は、WFDNWを利用して、CD50からFAXデータを受信して、印刷実行部16に印刷を実行させることができる。
T17,T18では、ユーザは、MFP10とAP100との間に通常Wi−Fi接続を確立するために、いわゆる自動無線設定のプッシュボタン方式(即ちPBC方式)に従った操作をMFP10及びAP100のそれぞれに実行する。自動無線設定は、例えば、WPS(Wi-Fi Protected Setupの略)等である。
MFP10のCPU32は、T18の操作が実行されると、T20において、予め記憶されているMFP10のMACaを読み出して、MACaを含む接続要求(即ちProbe Request信号)を、AP100に送信する。
次いで、T22において、MFP10のCPU32は、通常Wi−Fi方式の接続用データの無線通信(ただし、Probe Request信号の通信を除く)をAP100と実行して、AP100との通常Wi−Fi接続を確立する。具体的には、CPU32は、AP100からAP100のMACアドレス(以下では「MACx」と呼ぶ)を含むProbe Response信号を受信し、次いで、WSC Exchange及び4-Way Handshakeの通信をAP100と順次実行する。ここでは、CPU32は、Provision Discovery Request信号及びProvision Discovery Response信号の通信をAP100と実行しない。
T22の過程において、MFP10のCPU32は、通常Wi−FiNWで現在利用されている通常Wi−Fi設定情報202(即ち、SSID「XXX」、認証方式、暗号化方式、及び、パスワード)を、AP100から取得する。そして、CPU32は、通常Wi−Fi設定情報202を通常Wi−Fi記憶領域200に記憶させる(図1参照)。
本実施例では、AP100は、DHCP(Dynamic Host Configuration Protocolの略)サーバとして機能する。従って、MFP10のCPU32は、AP100との通常Wi−Fi接続を確立すると(即ちT22の後に)、通常Wi−FiNWで利用されるべきMFP10のIPa「192.168.0.2」及びSMa「255.255.255.0」を、AP100から取得する。そして、CPU32は、それらの情報を、通常Wi−Fi記憶領域200内の通常Wi−Fi通信情報201として記憶させる(図1参照)。
また、MFP10のCPU32は、T22で受信されるProbe Response信号に含まれるAP100のMACxを含むAP情報310(図1参照)を、管理リスト300に記述する。
T24,T26では、MFP10のCPU32は、通常Wi−FiNWを利用して、PC110からAP100を介して印刷データを受信して、印刷実行部16に印刷を実行させることができる。
上述したように、携帯端末70Aは、印刷機能をMFP10に実行させるための印刷アプリを有する。T27では、携帯端末70Aのユーザは、印刷機能をMFP10に実行させることを望む場合に、プッシュボタン方式に従った操作をMFP10に実行する。さらに、T28において、ユーザは、印刷アプリを起動する。次いで、T29において、ユーザは、プッシュボタン方式に従った操作を携帯端末70に実行する。
携帯端末70Aは、T28及びT29の操作が実行されると、T30において、携帯端末70のMACアドレス(以下では「MACz」と呼ぶ)を含むProbe Request信号を、MFP10に送信する。
MFP10のCPU32は、携帯端末70AからMACzを含むProbe Request信号を受信すると、T32において、WFD方式の接続用データの無線通信(ただし、Probe Request信号の通信を除く)を携帯端末70Aと実行して、携帯端末70AとのWFD接続を確立する。
具体的には、T32では、MFP10のCPU32は、Probe Response信号を携帯端末70Aに送信し、次いで、携帯端末70AからProvision Discovery Request信号を受信する。Provision Discovery Request信号は、携帯端末70Aのタイプ情報「Computer」を含む。次いで、CPU32は、Provision Discovery Response信号を携帯端末70Aに送信し、さらに、WSC Exchange及び4-Way Handshakeの通信を携帯端末70Aと実行する。CPU32は、T32の過程で、WFD記憶領域210内のWFD設定情報212に含まれるSSID「YYY」、認証方式、暗号化方式、及び、パスワードを、携帯端末70Aに供給する。
また、MFP10のCPU32は、携帯端末70AとのWFD接続を確立すると(即ちT32の後に)、WFDNWのネットワークアドレス「192.168.100」と同一のネットワークアドレスを有するIPアドレスであって、MFP10及びCD50のIPb及びIPyとは異なるIPアドレス(以下では「IPz」と呼ぶ;例えば「192.168.100.3」)を生成する。そして、CPU32は、生成済みのIPzと、WFDNWで利用されているSMbと、を携帯端末70Aに割り当てる。
MFP10のCPU32は、さらに、携帯端末70Aの機器情報370(図1参照)を管理リスト300に記述する。機器情報370は、T30で受信された接続要求(即ちProbe Request信号)に含まれるMACzと、T32で受信されたProvision Discovery Request信号に含まれる携帯端末70Aのタイプ情報「Computer」と、を含む。
T34において、携帯端末70Aは、携帯端末70Aの状態をデバイス状態からCL状態に移行させる。これにより、携帯端末70Aは、WFDNWにCL機器として参加することができる。
T36,T38において、MFP10のCPU32は、WFDNWを利用して、携帯端末70Aから印刷データを受信して、印刷実行部16に印刷を実行させることができる。
上述したように、T12が実行されると、MFP10は、CD50とのWFD接続、即ち、1個の無線接続を確立している状態になる。即ち、MFP10に上限数の無線接続(即ち3個の無線接続)が確立されていない。従って、MFP10は、残り2個の機器との無線接続を確立することができる。このために、T22において、MFP10は、さらに、AP100との通常Wi−Fi接続を確立することができる。
また、T22が実行されると、MFP10は、CD50とのWFD接続と、AP100との通常Wi−Fi接続と、の2個の無線接続を確立している状態になる。即ち、MFP10に上限数の無線接続(即ち3個の無線接続)が確立されていない。従って、MFP10は、残り1個の機器との無線接続を確立することができる。このために、T32において、MFP10は、携帯端末70AとのWFD接続を確立することができる。
また、S32が実行されると、MFP10は、CD50とのWFD接続と、AP100との通常Wi−Fi接続と、携帯端末70AとのWFD接続と、を確立している状態になる。即ち、MFP10に上限数の無線接続(即ち3個の無線接続)が確立されている状態になる。
なお、図2の例では、MFP10とAP100との間に通常Wi−Fi接続が確立されているが、確立されなくてもよい。この場合、MFP10は、CD50とのWFD接続と、携帯端末70AとのWFD接続と、を確立している状況において、さらに、他の機器とのWFD接続を確立することができる。
例えば、MFP10は、携帯端末70Bから接続要求を受信すると、携帯端末70Aの場合と同様に、携帯端末70BとのWFD接続を確立する。これにより、MFP10は、WFDNWを利用して、携帯端末70Bから印刷データを受信して、印刷機能を実行することができる。
また、例えば、MFP10は、ディスプレイ80から接続要求を受信すると、ディスプレイ80とのWFD接続を確立する。なお、MFP10は、ディスプレイ80とのWFD接続を確立する過程で、ディスプレイ80から、ディスプレイ80のタイプ情報「Display」を含むProvision Discovery Request信号を受信する。MFP10は、ディスプレイ80とのWFD接続を確立すると、WFDNWを利用して、例えばスキャンデータをディスプレイ80に送信して、スキャン画像をディスプレイ80で表示させることができる。
また、図1には示されていないデジタルカメラに印刷アプリがインストールされ得る。この場合、MFP10は、デジタルカメラから接続要求を受信し得る。MFP10は、デジタルカメラから接続要求を受信すると、デジタルカメラとのWFD接続を確立する。なお、MFP10は、デジタルカメラとのWFD接続を確立する過程で、デジタルカメラから、デジタルカメラのタイプ情報「Camera」を含むProvision Discovery Request信号を受信する。MFP10は、デジタルカメラとのWFD接続を確立すると、WFDNWを利用して、デジタルカメラから印刷データを受信して、印刷機能を実行することができる。
上述したように、本実施例では、MFP10は、様々なタイプ情報「Printer」等を有する機器とのWFD接続を確立し得る。タイプ情報「Printer」を有する機器(例えばCD50)、及び、タイプ情報「Display」を有する機器(例えばディスプレイ80)には、通常、印刷アプリがインストールされない。一方において、タイプ情報「Computer」を有する機器(例えば携帯端末70A,70B)、及び、タイプ情報「Camera」を有する機器(例えばデジタルカメラ)には、印刷アプリがインストールされ得る。以下では、印刷アプリがインストールされないタイプの機器、印刷アプリがインストールされ得るタイプの機器のことを、それぞれ、「特定タイプ機器」、「非特定タイプ機器」と呼ぶ。
(MFP10の応答処理;図3)
図3を参照して、MFP10のCPU32が実行する応答処理の内容を説明する。図3の応答処理は、特定の携帯端末(例えば携帯端末70A,70B)から接続要求を受信すること(例えば図2のT30)をトリガとして開始される。接続要求(即ち、Probe Request信号)は、特定の携帯端末のMACアドレスを含む。
S2では、CPU32は、Probe Response信号を特定の携帯端末に送信し、次いで、特定の携帯端末から、タイプ情報を含むProvision Discovery Request信号を受信する(例えば図2のT32)。なお、特定の携帯端末のタイプ情報は、「Computer」である。
S4では、CPU32は、MFP10に現在確立されている無線接続の数(以下では「接続個数」と呼ぶ)が上限数(即ち「3」)に一致するのか否かを判断する。CPU32は、接続個数が「1」又は「2」である場合、接続個数が上限数に一致しない(即ちS4でNO)と判断して、S6に進む。なお、例えば、図2のT30において、MFP10が携帯端末70A(即ち特定の携帯端末)から接続要求を受信するタイミングでは、接続個数が「2」である。
S6では、CPU32は、確立済みの他の無線接続(例えば、図2の例では、CD50とのWFD接続、及び、AP100との通常Wi−Fi接続)を維持したまま、特定の携帯端末(例えば携帯端末70A)とのWFD接続を確立する。WFD接続を確立するための各処理については、図2のT32の各処理と同様である。
次いで、S8では、CPU32は、WFDNWを利用して、特定の携帯端末から印刷指示(即ち印刷データ)を受信して、当該印刷データを印刷実行部16に供給する。これにより、印刷データによって表される画像が印刷実行部16によって印刷される。S8が終了すると、MFP10と特定の携帯端末との間のWFD接続が維持された状態で、図3の処理が終了する。
一方において、例えば、図2において、MFP10と携帯端末70Aとの間にWFD接続が確立された後に、さらに、携帯端末70B(即ち特定の携帯端末)から接続要求を受信する場合には、CPU32は、接続個数が上限数に一致する(即ちS4でYES)と判断して、S20に進む。
なお、図2の例では、MFP10とAP100との間に通常Wi−Fi接続が確立されていると共に、MFP10と2個のCL機器(即ち、CD50、携帯端末70A)との間に2個のWFD接続が確立されている結果として、接続個数が上限数に一致する。ただし、MFP10とAP100との間に通常Wi−Fi接続が確立されておらず、MFP10と3個のCL機器との間に3個のWFD接続が確立されている状況でも、接続個数が上限数に一致する。この場合も、CPU32は、接続個数が上限数に一致する(即ちS4でYES)と判断して、S20に進む。
S20では、CPU32は、MFP10との無線接続が確立されている3個の機器の中から、無線接続が一時的に切断されるべき1個の機器(以下では「切断対象機器」と呼ぶ)を選択するための選択処理を実行する。選択処理では、CPU32は、MFP10が所属している無線ネットワークに問合信号をブロードキャストして、起動信号の受信を監視する。問合信号は、問合信号の最終送信先の各機器が印刷アプリを起動中であるのか否かを問い合せるための信号である。そして、起動信号は、印刷アプリが起動中(即ち動作中)であることを示す信号である。なお、「印刷アプリを起動中」とは、印刷アプリが起動される時点から印刷アプリが終了される時点までの状態、即ち、印刷アプリが動作している状態、を意味する。S20では、通常、CPU32は、起動信号の受信の結果に応じて、切断対象機器(即ちAP100又はCL機器)を選択する。ただし、S20では、切断対象機器が選択されないこともある。
次いで、S40において、CPU32は、切断対象機器を選択できたか否かを判断する。CPU32は、切断対象機器を選択できなかったと判断する場合(S40でNO)には、S42において、接続拒否通知を特定の携帯端末に送信する。これにより、特定の携帯端末に、MFP10との無線接続(即ちWFD接続)を確立不可能であることを通知することができる。S42が実行される場合には、MFP10と特定の携帯端末との間に無線接続が確立されることなく、図3の処理が終了する。
一方において、CPU32は、切断対象機器を選択できたと判断する場合(S40でYES)には、S44において、切断対象機器との無線接続を切断する。例えば、CPU32は、切断対象機器としてAP100を選択した場合には、S44において、管理リスト300に記述されているAP100のMACxを送信先として、通常Wi−FiNWから離脱することを示す離脱信号を送信する。この結果、MFP10とAP100との間の通常Wi−Fi接続が切断される。次いで、CPU32は、AP情報310を管理リスト300から削除する。これにより、管理リスト300内のMACアドレスの数が2個(即ち、MFP10の接続個数が上限数未満の「2」)になる。
また、例えば、CPU32は、切断対象機器としてCL機器を選択した場合には、S44において、選択済みのCL機器に切断信号を送信する。この結果、MFP10と選択済みのCL機器との間のWFD接続が切断される。CPU32は、選択済みのCL機器の機器情報を管理リスト300から削除する。これにより、管理リスト300内のMACアドレスの数が2個(即ち、MFP10の接続個数が上限数未満の「2」)になる。なお、当該CL機器の機器情報は、管理リスト300から削除されるが、メモリ34内の管理リスト300とは異なる退避領域に記憶される。これにより、後述のS58において、CPU32は、上記の退避領域からMACアドレスを読み出して、当該MACアドレスを含むInvite信号を送信することができる。
上述したように、S44が実行されると、MFP10の接続個数が「2」になり、MFP10が特定の携帯端末との無線接続を確立することが可能な状態になる。従って、S52では、CPU32は、特定の携帯端末とのWFD接続を確立する。図3のトリガ及びS2において、MFP10と特定の携帯端末との間では、Probe Request信号、Probe Response信号、及び、Provision Discovery Request信号の通信が実行済みである。このため、S52では、CPU32は、S2の続きの通信、即ち、Provision Discovery Response信号、WSC Exchange、及び、4-Way Handshakeの通信を、特定の携帯端末と実行する。これにより、MFP10と特定の携帯端末との間にWFD接続が確立される。即ち、特定の携帯端末は、G/O機器であるMFP10によって形成されているWFDNWにCL機器として参加する。
次いで、S54では、CPU32は、WFDNWを利用して、特定の携帯端末から印刷指示(即ち印刷データ)を受信して、当該印刷データを印刷実行部16に供給する。CPU32は、特定の携帯端末から全ての印刷データを受信すると、S56に進む。
S56では、CPU32は、切断信号を特定の携帯端末に送信して、特定の携帯端末とのWFD接続を切断する。この結果、MFP10の接続個数が上限数未満の「2」になる。
次いで、S58では、CPU32は、S44で無線接続が切断された機器(即ちAP100又はCL機器)との無線接続を再確立する。例えば、S44でAP100との通常Wi−Fi接続が切断された場合には、CPU32は、通常Wi−Fi設定情報202に含まれる通常Wi−FiNWのSSID「XXX」をメモリ34から読み出して、SSID「XXX」を含む接続要求をAP100に送信する。この後の通常Wi−Fi接続を確立するための各処理は、図2のT22の各処理と同様である。ただし、ここでは、自動無線設定のプッシュボタン方式に従った操作をAP100に実行しなくてよい。MFP10は、通常Wi−FiNWで利用されている通常Wi−Fi設定情報202を取得済みであり、AP100から通常Wi−Fi設定情報202を取得する必要がないからである。当該通常Wi−Fi接続が再確立されると、CPU32は、AP情報310を管理リスト300に再び記述する。
また、例えば、S44でCL機器とのWFD接続が切断された場合には、当該CL機器は、CL状態からデバイス状態に移行している。S44の処理の結果としてデバイス状態に移行した機器のことを「特定のデバイス機器」と呼ぶ。CPU32は、特定のデバイス機器の機器情報(例えば機器情報370)に含まれるMACアドレスを、メモリ34内の上記の退避領域から読み出して、当該MACアドレスを含むInvite信号を、特定のデバイス機器に送信する。Invite信号は、WFDの規格書で定義されている信号であり、デバイス機器をWFDNWに参加させるための信号である。当該WFD接続が再確立されると、CPU32は、WFD接続が再接続されたCL機器の機器情報を管理リスト300に再び記述する。
特定のデバイス機器は、特定のデバイス機器自身のMACアドレスを含むInvite信号を受信すると、接続要求をMFP10に送信する。この後のWFD接続を確立するための各処理は、図2のT32の各処理と同様である。ただし、ここでは、自動無線設定のプッシュボタン方式に従った操作をMFP10に実行しなくてよい。MFP10は、Invite信号を送信する場合には、プッシュボタン方式に従った操作が実行されなくても、自動無線設定に従ってWFD設定情報212を特定のデバイス機器に供給することができるからである。
上述したように、S58が実行されると、MFP10は、無線接続が切断された機器との無線接続を再確立することができる。この結果、MFP10の状態が、図3の処理を開始する前の状態、即ち、接続個数が上限数に一致する状態に戻る。
(MFP10の選択処理;図4)
図4は、図3のS20の選択処理の内容を示す。S21では、CPU32は、MFP10が所属している全ての無線ネットワークに問合信号をブロードキャストして、起動信号の受信を監視する。例えば、MFP10とAP100との間に通常Wi−Fi接続が確立されており、かつ、MFP10と2個のCL機器(例えば、CD50、携帯端末70A)との間に2個のWFD接続が確立されている場合には、CPU32は、通常Wi−FiNW及びWFDNWのそれぞれに問合信号をブロードキャストする。また、例えば、MFP10とAP100との間に通常Wi−Fi接続が確立されておらず、MFP10と3個のCL機器との間に3個のWFD接続が確立されている場合には、CPU32は、WFDNWのみに問合信号をブロードキャストする。
問合信号の最終送信先の各機器のうち、印刷アプリを起動中である機器は、印刷アプリを起動中であることを示す起動信号をMFP10に送信する。例えば、MFP10と携帯端末70Aとの間にWFD接続が確立されており、かつ、携帯端末70Aで印刷アプリが起動中である状況を想定する。この場合、携帯端末70Aは、WFDNWにブロードキャストされた問合信号を受信すると、起動信号をMFP10に送信する。
ところで、上述したように、CD50は、印刷アプリを有していない。しかしながら、CD50は、MFP10から、WFDNWにブロードキャストされた問合信号を受信する場合に、印刷アプリを有していないにも関わらず、起動信号をMFP10に送信する。これにより、切断対象機器としてCD50が選択されることがなく、この結果、MFP10とCD50との間でFAXデータの通信を実行不可能な状況が発生するのを抑制することができる。
また、例えば、MFP10とAP100との間に通常Wi−Fi接続が確立されており、かつ、AP100に接続されているPC110が印刷アプリを起動中である状況を想定する。この場合、PC110は、通常Wi−FiNWにブロードキャストされた問合信号を受信すると、AP100を介して、起動信号をMFP10に送信する。これにより、MFP10は、AP100を介して、PC110から起動信号を受信する。即ち、MFP10は、AP100から起動信号を受信する。なお、MFP10以外に2個以上の機器がAP100に接続されている場合には、当該2個以上の機器のそれぞれで印刷アプリが起動され得る。この場合、MFP10は、AP100を介して、2個以上の機器のそれぞれから起動信号を受信し得る。即ち、MFP10は、AP100から2個以上の起動信号を受信し得る。
S22では、CPU32は、MFP10との無線接続が確立されている3個の機器の全てから起動信号を受信したのか否かを判断する。上記の3個の機器は、他の機器を介することなく、MFP10との無線接続が直接的に確立されている。上記の3個の機器は、一つの例では、AP100と2個のCL機器であり、他の例では、3個のCL機器である。CPU32は、問合信号をブロードキャストしてから所定時間が経過するまでの間に、上記の3個の機器の全てから起動信号を受信する場合には、S22でYESと判断する。この場合、CPU32は、切断対象機器を選択せずに、図4の処理を終了する。この結果、図3のS40でNOと判断されて、MFP10が確立している3個の無線接続のいずれも切断されずに、S42において、接続拒否通知が特定の携帯端末に送信される。
例えば、MFP10がCD50と通信を実行不可能な状況になると、FAX通信を実現することができないという事象が発生する。また、例えば、MFP10が印刷アプリを起動中の機器と通信を実行不可能な状況になると、MFP10が当該機器から印刷指示(即ち印刷データ)を受信することができないという事象が発生する。仮に、MFP10との無線接続が確立されている3個の機器の全てから起動信号を受信する場合(S22でYESの場合)に、MFP10が確立している3個の無線接続のうちのいずれかが切断されると、上記のどちらかの事象が発生してしまう。このために、本実施例では、MFP10との無線接続が確立されている3個の機器の全てから起動信号を受信する場合(S22でYES)には、いずれの無線接続も切断しない構成を採用している。これにより、FAX通信を実現することができないという事象や、MFP10が印刷指示を受信することができないという事象が発生するのを抑制することができる。
一方において、CPU32は、問合信号をブロードキャストしてから所定時間が経過するまでの間に、MFP10との無線接続が確立されている3個の機器のうちの少なくとも1個の機器から起動信号を受信しない場合には、S22でNOと判断し、S23に進む。S23では、CPU32は、MFP10とAP100との間に通常Wi−Fi接続が確立されているのか否かを判断する。CPU32は、AP情報310が管理リスト300に記述されている場合には、通常Wi−Fi接続が確立されていると判断して(S23でYES)、S24に進む。一方において、CPU32は、AP情報310が管理リスト300に記述されていない場合には、通常Wi−Fi接続が確立されていないと判断して(S23でNO)、S26に進む。
S24では、CPU32は、AP100に接続されている少なくとも1個の機器から、AP100を介して起動信号を受信したのか否かを判断する。即ち、CPU32は、AP100から少なくとも1個の起動信号を受信したのか否かを判断する。CPU32は、AP100から少なくとも1個の起動信号を受信した場合には、S24でYESと判断してS26に進み、AP100から起動信号を1個も受信しなかった場合には、S24でNOと判断してS25に進む。
AP100から起動信号を1個も受信しない場合(S24でNO)には、AP100に接続されているいずれの機器(例えばPC110)も、印刷アプリを起動中でない。従って、MFP10が、AP100に接続されている機器から印刷指示を受信すべき(即ちAP100を介した通信を実行すべき)状況になる可能性が低い。このために、S25では、CPU32は、切断対象機器としてAP100を選択する。S25が終了すると、図4の処理が終了し、図3のS44において、AP100との通常Wi−Fi接続が切断される。
一方において、AP100から1個以上の起動信号を受信する場合(S24でYES)には、AP100に接続されているいずれかの機器(例えばPC110)が、印刷アプリを起動中である。従って、MFP10が、AP100に接続されている機器から印刷指示を受信すべき(即ちAP100を介した通信を実行すべき)状況になる可能性が高い。このために、CPU32は、切断対象機器としてAP100を選択せずに(即ちS25を実行せずに)、S26に進む。
S26では、CPU32は、WFDNWに所属している各CL機器の中に、2個の非送信CL機器が存在するのか否かを判断する。ここで、非送信CL機器は、WFDNWにブロードキャストされた問合信号を受信する場合に、起動信号を送信しないCL機器である。CPU32は、WFDNWに3個のCL機器が所属している状況において、3個のCL機器のうちのCD50のみから起動信号を受信する場合には、2個の非送信CL機器が存在すると判断し(S26でYES)、S27に進む。一方において、CPU32は、WFDNWに3個のCL機器が所属している状況において、CD50を含む2個のCL機器から起動信号を受信する場合には、1個の非送信CL機器のみが存在すると判断し(S26でNO)、S29に進む。また、CPU32は、WFDNWに2個のCL機器が所属している状況において、2個のCL機器のうちのCD50のみから起動信号を受信する場合には、1個の非送信CL機器のみが存在すると判断し(S26でNO)、S29に進む。
S29では、CPU32は、非送信CL機器を切断対象機器として選択する。S26でNOを経てS29が実行される状況では、1個の非送信CL機器のみが存在するので、CPU32は、当該1個の非送信CL機器を切断対象機器として選択する。S29が終了すると、図4の処理が終了し、図3のS44において、非送信CL機器とのWFD接続が切断される。
S27では、CPU32は、2個の非送信CL機器の中に、特定タイプ機器が存在するのか否かを判断する。上述したように、特定タイプ機器は、印刷アプリがインストールされないタイプの機器である。S27が実行される状況では、3個の機器情報が管理リスト300に記述されている。CPU32は、CD50の機器情報350とは異なる2個の機器情報のうちの少なくとも1個の機器情報が、「Printer」又は「Display」を示すタイプ情報を含む場合には、特定タイプ機器が存在すると判断して(S27でYES)、S28に進む。一方において、CPU32は、CD50の機器情報350とは異なる2個の機器情報のうちのどちらも、「Computer」又は「Camera」を示すタイプ情報を含む場合には、特定タイプ機器が存在しないと判断して(S27でNO)、S29に進む。
S27でNOを経てS29が実行される状況では、2個の非送信CL機器が存在する。この場合、CPU32は、2個の非送信CL機器のうちの1個の非送信CL機器を切断対象機器として選択する。ここでの選択の手法は特に限定されず、CPU32は、例えば、1個の非送信CL機器をランダムに選択してもよいし、所定のルールに従って1個の非送信CL機器を選択してもよい。
S28では、CPU32は、特定タイプ機器を切断対象機器として選択する。例えば、2個の非送信CL機器の中に1個の非特定タイプ機器と1個の特定タイプ機器が存在する場合には、S28において、CPU32は、当該1個の特定タイプ機器を切断対象機器として選択する。また、例えば、2個の非送信CL機器のどちらも特定タイプ機器である場合には、S28において、CPU32は、2個の特定タイプ機器のうちの1個の特定タイプ機器を切断対象機器として選択する。ここでの選択の手法は特に限定されず、CPU32は、例えば、ランダムに選択してもよいし、所定のルールに従って選択してもよい(例えば、無線接続が確立されたタイミングが古い方の特定タイプ機器を選択してもよい)。S28が終了すると、図4の処理が終了し、図3のS44において、特定タイプ機器とのWFD接続が切断される。
非特定タイプ機器では印刷アプリが起動され得るので、MFP10が非特定タイプ機器から印刷指示を受信すべき(即ち非特定タイプ機器との間で通信を実行すべき)状況になる可能性が高いが、特定タイプ機器では印刷アプリが起動されないので、MFP10と特定タイプ機器との間で通信を実行すべき状況になる可能性が低い。そこで、本実施例では、S28において、MFP10は、特定タイプ機器を切断対象機器として選択する。
印刷アプリを起動中でないCL機器は、印刷アプリが起動されない限り、MFP10に印刷指示を送信しない。従って、MFP10が、印刷アプリを起動中でないCL機器から印刷指示を受信すべき(即ち印刷アプリを起動中でないCL機器との間で通信を実行すべき)状況になる可能性は、印刷アプリを起動中であるCL機器から印刷指示を受信すべき状況になる可能性よりも低い。そこで、本実施例では、S28又はS29において、MFP10は、切断対象機器として、印刷アプリを起動中であるCL機器を選択せずに、印刷アプリを起動中でないCL機器(即ち非送信CL機器)を選択する。これにより、MFP10は、通信を実行すべき状況になる可能性が低いCL機器を選択して、当該CL機器とのWFD接続を切断することができる。
また、本実施例では、MFP10は、印刷アプリを有していないCD50から起動信号を受信するので、切断対象機器としてCD50を選択しない。このために、MFP10とCD50との間のWFD接続が切断されず、この結果、MFP10とCD50との間でFAXデータの通信を実行不可能な状況が発生するのを抑制することができる。
(携帯端末とは異なるタイプの機器から接続要求を受信するケース)
CPU32は、携帯端末とは異なるタイプの機器から接続要求を受信し、その後、当該機器から「Computer」とは異なるタイプ情報(例えば、「Camera」、「Display」)を含むProvision Discovery Request信号を受信する場合(図3のS2)には、以下のように動作する。
例えば、デジタルカメラからタイプ情報「Camera」を含むProvision Discovery Request信号を受信する状況が想定される。タイプ情報「Camera」は、タイプ情報「Computer」と同様に非特定タイプ機器を示す。この場合、CPU32は、デジタルカメラを対象として、図3のS4以降の各処理と同様の処理を実行する。例えば、MFP10の接続個数が上限数に一致する状態では、CPU32は、デジタルカメラとのWFD接続を確立して、デジタルカメラから印刷データを受信することができる。
また、例えば、ディスプレイ80からタイプ情報「Display」を含むProvision Discovery Request信号を受信する状況が想定される。タイプ情報「Display」は、タイプ情報「Computer」とは異なり、特定タイプ機器を示す。CPU32は、MFP10の接続個数が上限数未満である状態で、ディスプレイ80からタイプ情報「Display」を含むProvision Discovery Request信号を受信する場合には、ディスプレイ80とのWFD接続を確立する。一方において、CPU32は、MFP10の接続個数が上限数に一致する状態で、ディスプレイ80からタイプ情報「Display」を含むProvision Discovery Request信号を受信する場合には、接続拒否通知をディスプレイ80に送信して、ディスプレイ80とのWFD接続を確立しない。
(MFP10がAP100との通常Wi−Fi接続を確立している状況;図5)
図5は、MFP10がAP100との通常Wi−Fi接続を確立しており、かつ、MFP10が2個のCL機器50,70Aとの2個のWFD接続を確立している状況を示す。即ち、図5は、図3のS4において、MFP10がAP100との通常Wi−Fi接続を確立している状況で、MFP10の接続個数が上限数に一致する(即ちS4でYES)と判断される状況を示す。
図5の状況では、MFP10のCPU32は、携帯端末70Bから接続要求を受信し(図3の処理のトリガ)、その後、携帯端末70Bからタイプ情報「Computer」を含むProvision Discovery Request信号を受信する場合(図3のS2)には、MFP10の接続個数が上限数に一致する(即ちS4でYES)と判断する。この場合、図4のS21では、CPU32は、以下の動作を実行して、問合信号をブロードキャストする。
CPU32は、まず、MFP10のIPa及びSMaを利用して、通常Wi−FiNWのネットワークアドレス「192.168.0」を算出する。次いで、CPU32は、当該ネットワークアドレス「192.168.0」に値「255」を付加することによって、ブロードキャストアドレス「192.168.0.255」を生成する。続いて、CPU32は、送信先IPアドレスとして、ブロードキャストアドレス「192.168.0.255」を含み、かつ、送信先ポート番号として、印刷アプリに割り当てられているポート番号を含む問合信号(以下では「通常Wi−Fi問合信号」と呼ぶ)を生成して送信する。これにより、通常Wi−Fi問合信号が、AP100によって形成されている通常Wi−FiNWにブロードキャストされる。
なお、印刷アプリは、MFP10のベンダによって提供されるアプリケーションである。このために、MFP10のベンダは、印刷アプリのポート番号を予め決定することができる。MFP10のメモリ34には、当該ポート番号が予め記憶されている。このために、CPU32は、メモリ34から印刷アプリのポート番号を読み出して、当該ポート番号を含む通常Wi−Fi問合信号を生成することができる。
また、CPU32は、MFP10のIPアドレスIPb及びSMbを利用して、WFDNWのネットワークアドレス「192.168.100」を算出する。なお、WFDNWのネットワークアドレス「192.168.100」は、通常Wi−FiNWのネットワークアドレス「192.168.0」とは異なる。次いで、CPU32は、ネットワークアドレス「192.168.100」に値「255」を付加することによって、ブロードキャストアドレス「192.168.100.255」を生成する。続いて、CPU32は、送信先IPアドレスとして、ブロードキャストアドレス「192.168.100.255」を含み、かつ、送信先ポート番号として、印刷アプリに割り当てられているポート番号を含む問合信号(以下では「WFD問合信号」と呼ぶ)を生成して送信する。これにより、WFD問合信号が、MFP10によって形成されているWFDNWにブロードキャストされる。
図4のS22では、CPU32は、AP100からの起動信号の受信と、2個のCL機器50,70Aからの起動信号の受信と、を監視する。AP100は、MFP10から通常Wi−Fi問合信号を受信すると、送信先IPアドレス「192.168.0.255」のうちのネットワークアドレス「192.168.0」が、AP100によって形成されている通常Wi−FiNWのネットワークアドレスに一致すると判断する。そして、AP100は、AP100との通常Wi−Fi接続が確立されている各機器に通常Wi−Fi問合信号を転送する。なお、図5では、MFP10以外にPC110のみがAP100に接続されているが、MFP10以外に2個以上の機器がAP100に接続されている場合、AP100は、当該2個以上の機器のそれぞれに通常Wi−Fi問合信号を転送する。
通常Wi−Fi問合信号の最終送信先の各機器(図5の例ではPC110のみ)のうち、印刷アプリを起動中である機器は、MFP10のIPaを送信先IPアドレスとして含む起動信号を送信し、印刷アプリを起動中でない機器は、起動信号を送信しない。このために、MFP10のCPU32は、印刷アプリを起動中である機器から、AP100を介して、起動信号を受信し得る。即ち、CPU32は、AP100から起動信号を受信し得る。
WFD問合信号の最終送信先の各CL機器(図5の例ではCD50、携帯端末70A)のうち、印刷アプリを起動中であるCL機器は、MFP10のIPbを送信先IPアドレスとして含む起動信号を送信し、印刷アプリを起動中でないCL機器は、起動信号を送信しない。このために、MFP10のCPU32は、印刷アプリを起動中であるCL機器から起動信号を受信し得る。また、上述したように、CD50は、印刷アプリを有していないにも関わらず、起動信号を送信する。このために、MFP10のCPU32は、CD50から起動信号を受信する。
CPU32は、AP100から少なくとも1個の起動信号を受信し、かつ、2個のCL機器50,70Aのそれぞれから起動信号を受信した場合には、MFP10との無線接続が確立されている3個の機器の全てから起動信号を受信したと判断する(図4のS22でYES)。この場合、CPU32は、切断対象機器を選択せずに、接続拒否通知を携帯端末70Bに送信する(図3のS40でNO、S42)。
一方において、CPU32は、AP100から起動信号を1個も受信しなかった場合には、図4のS22でNOと判断する。そして、CPU32は、AP100から起動信号を受信しなかったと判断し(S23でYES、S24でNO)、切断対象機器としてAP100を選択する。CPU32は、AP100に離脱信号を送信することによって、AP100との通常Wi−Fi接続を切断する(図3のS44)。これにより、CPU32は、携帯端末70BとのWFD接続を確立することができる(S52)。
また、CPU32は、2個のCL機器50,70Aのうちの一方のCD50から起動信号を受信したが、他方の携帯端末70Aから起動信号を受信せず、かつ、AP100から少なくとも1個の起動信号を受信した場合にも、図4のS22でNOと判断する。そして、CPU32は、S23でYES、S24でYESと判断して、S26に進む。この場合、1個の非送信CL機器(即ち携帯端末70A)が存在する。
S26では、CPU32は、1個の非送信CL機器が存在すると判断し(S26でNO)、切断対象機器として非送信CL機器(即ち携帯端末70A)を選択する(S29)。具体的には、管理リスト300内には、WFD管理情報として、2個のMACアドレス(即ちMACy,MACz)が存在している。そして、CD50から受信された起動信号は、CD50のMACyを含む。CPU32は、管理リスト300内のMACy,MACzの中から、受信済みの起動信号に含まれるMACyとは異なる携帯端末70AのMACzを選択する。これにより、CPU32は、切断対象機器として、1個の非送信CL機器(即ち携帯端末70A)を選択することができる。そして、CPU32は、携帯端末70Aに切断信号を送信することによって、携帯端末70AとのWFD接続を切断する(図3のS44)。これにより、CPU32は、携帯端末70BとのWFD接続を確立することができる(S52)。
(MFP10がAP100との通常Wi−Fi接続を確立していない状況;図6)
図6は、MFP10がAP100との通常Wi−Fi接続を確立しておらず、かつ、MFP10が3個のCL機器50,70A,80との3個のWFD接続を確立している状況を示す。即ち、図6は、MFP10がAP100との通常Wi−Fi接続を確立していない状況で、MFP10の接続個数が上限数に一致する(即ちS4でYES)と判断される状況を示す。
図6の状況では、MFP10のCPU32は、携帯端末70Bから接続要求を受信し(図3の処理のトリガ)、その後、携帯端末70Bからタイプ情報「Computer」を含むProvision Discovery Request信号を受信する場合(図3のS2)には、MFP10の接続個数が上限数に一致する(即ちS4でYES)と判断する。この場合、図4のS21では、CPU32は、WFD問合信号をWFDNWにブロードキャストする。
図4のS22では、CPU32は、3個のCL機器50,70A,80からの起動信号の受信を監視する。CPU32は、3個のCL機器50,70A,80のそれぞれから起動信号を受信した場合には、MFP10との無線接続が確立されている3個の機器の全てから起動信号を受信したと判断する(S22でYES)。この場合、CPU32は、切断対象機器を選択せずに、接続拒否通知を携帯端末70Bに送信する(図3のS40でNO、S42)。
一方において、CPU32は、3個のCL機器50,70A,80のうちのCD50を含む2個のCL機器のそれぞれから起動信号を受信したが、他の1個のCL機器から起動信号を受信しなかった場合には、図4のS22でNOと判断する。この場合、1個の非送信CL機器が存在する。以下では、ディスプレイ80が非送信CL機器である状況を想定する。CPU32は、AP情報310が管理リスト300に記述されていないため、AP100との通常Wi−Fi接続が確立されていないと判断し(S23でNO)、次いで、1個の非送信CL機器のみが存在すると判断し(S26でNO)、S29に進む。
S29では、CPU32は、以下のようにして、切断対象機器として1個の非送信CL機器(即ちディスプレイ80)を選択する。管理リスト300内には、WFD管理情報として、3個のMACアドレス(即ちMACy,MACz,MACw)が存在している。なお、MACwは、ディスプレイ80の機器情報380に含まれるディスプレイ80のMACアドレスである。そして、2個のCL機器50,70Aから受信された2個の起動信号は、それぞれ、当該起動信号の送信元のCL機器のMACアドレス(即ちMACy,MACz)を含む。CPU32は、管理リスト300内のMACy,MACz,MACwの中から、受信済みの2個の起動信号に含まれるMACy,MACzとは異なるディスプレイ80のMACwを選択する。これにより、CPU32は、切断対象機器として1個の非送信CL機器(即ちディスプレイ80)を選択することができる。そして、CPU32は、ディスプレイ80に切断信号を送信することによって、非送信CL機器(即ちディスプレイ80)とのWFD接続を切断する(図3のS44)。これにより、CPU32は、携帯端末70BとのWFD接続を確立することができる(S52)。
また、CPU32は、3個のCL機器のうちのCD50のみから起動信号を受信したが、2個のCL機器70A,80から起動信号を受信しなかった場合にも、図4のS22でNOと判断する。この場合、2個の非送信CL機器(即ち、携帯端末70A、ディスプレイ80)が存在する。そして、CPU32は、AP100との通常Wi−Fi接続が確立されていないと判断し(S23でNO)、次いで、2個の非送信CL機器が存在すると判断し(S26でYES)、S27に進む。
S27では、CPU32は、2個の非送信CL機器に特定タイプ機器が存在するのか否かを判断する。具体的には、CPU32は、まず、管理リスト300内のMACy,MACz,MACwの中から、受信済みの起動信号に含まれるCD50のMACyとは異なるMACz,MACwを特定する。次いで、CPU32は、MACz,MACwを含む2個の機器情報370,380のうちの少なくとも1個の機器情報が、「Printer」又は「Display」を示すタイプ情報を含む場合には、特定タイプ機器が存在すると判断し(S27でYES)、2個の機器情報370,380のうちのどちらも、「Computer」又は「Camera」を示すタイプ情報を含む場合には、特定タイプ機器が存在しないと判断する(S27でNO)。図6の例では、機器情報380が「Display」を示すタイプ情報を含む(即ち、管理リスト300内に「Display」を示すタイプ情報が記述されている)ので、特定タイプ機器が存在すると判断される(S27でYES)。
CPU32は、特定タイプ機器が存在すると判断する場合(S27でYES)には、S28において、「Printer」又は「Display」を示すタイプ情報を含むディスプレイ80の機器情報380を選択することによって、1個の特定タイプ機器(即ちディスプレイ80)を切断対象機器として選択する。そして、CPU32は、ディスプレイ80に切断信号を送信することによって、特定タイプ機器(即ちディスプレイ80)とのWFD接続を切断する(図3のS44)。これにより、CPU32は、携帯端末70BとのWFD接続を確立することができる(S52)。
図6の状況において、例えば、MFP10とディスプレイ80との間にWFD接続が確立されている代わりに、MFP10と図示省略の携帯端末との間にWFD接続が確立されている場合には、CPU32は、特定タイプ機器が存在しないと判断する(S27でNO)。この場合、S29において、CPU32は、CD50のMACyとは異なる2個のMACアドレスの中から1個のMACアドレスを選択することによって、1個の非特定タイプ機器(即ち1個の非送信CL機器)を切断対象機器として選択する。そして、CPU32は、切断対象機器に切断信号を送信することによって、非特定タイプ機器とのWFD接続を切断する(図3のS44)。これにより、CPU32は、携帯端末70BとのWFD接続を確立することができる(S52)。
(具体的なケース)
続いて、図7〜図9を参照して、図3及び図4のフローチャートに従って実現される具体的なケースの内容を説明する。
(ケースA;図7)
ケースAでは、AP100は、通常Wi−FiNWを形成しており、MFP10及びPC110のそれぞれと通常Wi−Fi接続を確立している。また、G/O状態であるMFP10は、WFDNWが形成しており、CL状態であるCD50及び携帯端末70AのそれぞれとWFD接続を確立している。このとき、MFP10の接続個数は上限数「3」に一致している。
デバイス状態である携帯端末70Bは、MFP10とのWFD接続を確立するための操作がユーザによって実行されると、接続要求をMFP10に送信する。
MFP10は、携帯端末70Bから接続要求を受信すると、Probe Response信号及びProvision Discovery Request信号の通信を携帯端末70Bと実行する(S2)。このとき、MFP10は、携帯端末70BとProvision Discovery Response信号、WSC Exchange、及び、4-Way Handshakeの通信を実行しない。そのため、携帯端末70Bは、MFP10とのWFD接続の確立を待機した状態となる。MFP10は、接続個数が上限数に一致すると判断すると(S4でYES)、切断対象機器を選択するために、通常Wi−Fi問合信号を通常Wi−FiNWにブロードキャスし、WFD問合信号をWFDNWにブロードキャストする(図4のS21)。
PC110は、印刷アプリを起動中でないので、AP100を介して通常Wi−Fi問合信号を受信しても、起動信号をMFP10に送信しない。CD50は、印刷アプリを有していないにも関わらず、起動信号をMFP10に送信する。また、携帯端末70Aは、印刷アプリを起動中であるので、起動信号をMFP10に送信する。
MFP10は、AP100を介して起動信号を受信しないので(S22でNO、S23でYES、S24でNO)、切断対象機器としてAP100を選択する(S25)。このように、MFP10は、切断対象機器として、印刷指示をMFP10に送信すべき状況になる可能性が低いAP100を適切に選択することができる。次いで、MFP10は、AP100との通常Wi−Fi接続を切断する(図3のS42)。そして、MFP10は、Provision Discovery Request信号の通信からの続き、即ち、Provision Discovery Response信号、WSC Exchange、及び、4-Way Handshakeの通信を、待機中の携帯端末70Bと実行して、携帯端末70BとのWFD接続を確立する(S52)。この過程で、携帯端末70Bは、デバイス状態からCL状態に移行する。
次いで、MFP10は、WFDNWを利用して、携帯端末70Bから印刷データを受信して、印刷機能を実行する(S54)。MFP10は、全ての印刷データの受信が完了すると、携帯端末70BとのWFD接続を切断する(S56)。この過程で、携帯端末70Bは、CL状態からデバイス状態に戻る。次いで、MFP10は、接続要求をAP100に送信し、AP100との通常Wi−Fi接続を再確立する(S58)。
(ケースB;図8)
ケースBは、図7のケースAと同様である。ただし、ケースBでは、図7のケースAとは異なり、携帯端末70Aは、印刷アプリを起動中でないので、起動信号をMFP10に送信しない。
MFP10は、AP100から起動信号を受信せず、かつ、携帯端末70Aから起動信号を受信しない。従って、本ケースでは、切断対象機器の候補として、通常Wi−FiNWを形成しているAP100と、WFDNWに所属している携帯端末70Aと、が存在する。そして、このような状況では、MFP10は、切断対象機器としてAP100を優先的に選択し(図4のS22でNO、S23でYES、S24でNO、S25)、AP100との通常Wi−Fi接続を切断する。この後の各処理は、図7のケースAと同様である。
仮に、MFP10と携帯端末70Aとの間のWFD接続が切断されると、携帯端末70Aは、例えば、WFD接続の切断に起因する処理(例えば、MFP10とのWFD接続が切断されたことを表示する処理、MFP10とのWFD接続を再確立するための処理等)を実行し得る。これにより、ユーザは、MFP10と携帯端末70Aとの間のWFD接続が切断されたことを知ることになる。一方において、MFP10とAP100との間の通常Wi−Fi接続が切断されても、PC110は、PC110自身の通常Wi−Fi接続が切断されたわけではないので、通常Wi−Fi接続の切断に起因する処理を実行せずに済む。このために、ユーザは、MFP10とAP100との間の通常Wi−Fi接続が切断されたことを知り得ない。従って、本実施例では、MFP10は、切断対象機器として、携帯端末70Aではなく、AP100を優先的に選択する。これにより、接続が切断されたことをユーザに知られずに済む。
(ケースC;図9)
ケースCでは、MFP10は、AP100との通常Wi−Fi接続を確立していない。また、MFP10は、WFDNWを形成しており、CD50、携帯端末70A、及び、ディスプレイ80のそれぞれとWFD接続を確立している。即ち、MFP10の接続個数は上限数「3」に一致している。
MFP10がProbe Response信号及びProvision Discovery Request信号の通信を携帯端末70Bと実行するまでの各処理は、図7のケースAと同様である。MFP10は、WFD問合信号をブロードキャストする(図4のS21)。
CD50は、起動信号をMFP10に送信する。ただし、携帯端末70A及びディスプレイ80は、それぞれ、印刷アプリを起動中でないので、起動信号をMFP10に送信しない。
MFP10は、携帯端末70Aから起動信号を受信しないし、ディスプレイ80から起動信号を受信しない。従って、本ケースでは、切断対象機器の候補として、携帯端末70Aとディスプレイ80とが存在する。そして、このような状況では、MFP10は、切断対象機器として、タイプ情報「Computer」を有する非特定タイプ機器である携帯端末70Aを選択せずに、タイプ情報「Display」を有する特定タイプ機器であるディスプレイ80を優先的に選択して(図4のS22でNO、S23でNO、S26でYES、S27でYES、S28)、ディスプレイ80とのWFD接続を切断する。このように、本実施例では、MFP10は、印刷指示をMFP10に送信すべき状況になる可能性が高い非特定タイプ機器を選択せずに、通信を実行すべき状況になる可能性が低い特定タイプ機器を適切に選択して、当該特定タイプ機器とのWFD接続を切断することができる。
携帯端末70Bから印刷データを受信した後に、携帯端末70BとのWFD接続を切断するまでの各処理は、図7のケースAと同様である。次いで、MFP10は、Invite信号をディスプレイ80に送信して、ディスプレイ80とのWFD接続を再確立する(図3のS58)。
(実施例の効果)
上記のケースA〜ケースCに示されるように、本実施例のMFP10は、上限数である3個の機器(例えば、図7のケースAでは、AP100、CD50、携帯端末70A)との無線接続を確立している状態で、携帯端末70Bから接続要求を受信する場合に、当該3個の機器のそれぞれに問合信号を送信して、問合信号の最終送信先の機器が印刷アプリを起動中であるのか否かを問い合わせる。MFP10は、問い合わせの結果に基づいて、切断対象機器を適切に選択することができる。そして、MFP10は、切断対象機器との無線接続を切断する。このため、MFP10は、携帯端末70Bとの無線接続を確立することができ、この結果、MFP10は、携帯端末70Bから印刷データを受信して、印刷機能を実行することができる。
(対応関係)
MFP10、CD50が、それぞれ、「機能実行装置」、「特定の子局機器」の一例である。G/O状態であるMFP10によって形成されているWFDNW、AP100によって形成されている通常Wi−FiNWが、それぞれ、「第1種のネットワーク」、「第2種のネットワーク」の一例である。図7のケースAでは、携帯端末70Bが、「特定の機器」の一例である。また、CD50、携帯端末70A、及び、AP100を含む3個の機器が、「N個の機器」及び「K個の機器」の一例である。即ち、本実施例では、「N」と「K」が等しい。ただし、AP100がMFP10以外に2個以上の機器との通常Wi−Fi接続を確立している場合には、通常Wi−Fi問合信号は、MFP10とは異なる2個以上の機器に送信される。そして、WFD問合信号は、2個のCL機器に送信される。即ち、この場合、MFP10が3個の機器と同時的に無線接続を確立可能であるが、問合信号の最終送信先の機器の数は4以上である。即ち、一般的に言うと、問合信号の最終送信先の機器の数は、機能実行装置が同時的に無線接続を確立可能な機器の上限数「N」よりも大きくてもよい。また、上限数「N」は、本実施例のように「3」でなくてもよく、「2」以上の整数であれば、どのような数であってもよい。CD50、携帯端末70A、及び、PC110が、「問合信号の最終送信先の機器」の一例である。また、CD50及び携帯端末70Aが、「第1種の子局機器」の一例であり、PC110が、「第2種の子局機器」の一例である。
図3の処理のトリガとして接続要求を受信する処理、図4のS21の処理、図4のS22〜S29の処理が、それぞれ、「要求受信部」、「問合部」、「選択部」によって実行される処理の一例である。また、図3のS44の処理、S52の処理、S56の処理、及び、S58の処理が、それぞれ、「第1の切断部」、「第1の確立部」、「第2の切断部」、「第2の確立部」によって実行される処理の一例である。
以上、本発明の具体例を詳細に説明したが、これらは例示にすぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には以上に例示した具体例を様々に変形、変更したものが含まれる。上記の実施例の変形例を以下に列挙する。
(変形例1)上記の実施例では、図3のS10において、MFP10は、WFD問合信号をWFDNWにブロードキャストする。これに代えて、CPU32は、管理リスト300に各CL機器の各IPアドレスを記憶し、当該各IPアドレスを送信先として、WFD問合信号を各CL機器にユニキャストしてもよい。
(変形例2)上記の実施例では、MFP10が3個の機器と同時的に無線接続を確立可能であり、それらの3個の機器の全てに問合信号が送信される。即ち、上記の実施例では、問合信号の直接的な送信先の数「K」は、機能実行装置が同時的に無線接続を確立可能な機器の上限数「N」に等しい。これに代えて、上記の変形例1で述べたように、WFD問合信号を各CL機器にユニキャストする構成を採用する場合には、CPU32は、CD50にWFD問合信号を送信しなくてもよい。この場合、CPU32は、CD50から起動信号を受信しないが、切断対象機器としてCD50を選択しない。即ち、本変形例では、MFP10が3個の機器と同時的に無線接続を確立可能であるが、2個の機器のみに問合信号が送信される。即ち、一般的に言うと、問合信号の直接的な送信先の数「K」は、機能実行装置が同時的に無線接続を確立可能な機器の上限数「N」に等しくなくてもよく、「N」以下の整数であればよい。
(変形例3)上記の実施例では、印刷アプリを起動中である機器は、起動信号をMFP10に送信し、印刷アプリを起動中でない機器は、起動信号をMFP10に送信しない。これに代えて、印刷アプリを起動中である機器が、印刷アプリを起動中であることを示す第1種の応答信号(即ち起動信号)をMFP10に送信し、印刷アプリを起動中でない機器が、印刷アプリを起動中でないことを示す第2種の応答信号をMFP10に送信する構成を採用してもよい。この構成によると、MFP10のCPU32は、応答信号の内容を確認することによって、印刷アプリを起動中である機器と、印刷アプリを起動中でない機器と、を区別することができる。即ち、「問い合わせの結果に基づいて・・・対象の機器を選択する」という処理は、上記の実施例のように、問合信号の最終送信先の機器から起動信号を受信するのか否かに基づいて、対象機器を選択する処理であってもよいし、本変形例のように、応答信号の内容の相違に基づいて、対象機器を選択する処理であってもよい。
(変形例4)上記の実施例では、MFP10は、通常Wi−Fi方式に従って、AP100との通常Wi−Fi接続を確立することができるが、少なくとも、WFD方式に従って、各CL機器とのWFD接続を確立可能であればよい。
(変形例5)上記の実施例では、CPU32は、MFP10をWFDのG/O状態に移行させる代わりに、いわゆるSoftAPを起動して、MFP10を疑似的なAPとして動作させてもよい。本変形例でも、CPU32は、疑似的なAPとして動作しているMFP10と、他の機器と、の間に無線接続(即ち通常Wi−Fi接続)を確立して、無線ネットワークを形成することができる。当該無線ネットワークは、無線LANアクセスポイントと呼ばれる通常のAPを含まないので、「第1種の無線ネットワーク」の一例である。
(変形例6)「特定の機能」は、印刷機能に限られず、スキャン機能であってもよい。また、「特定のアプリケーションプログラム」は、MFP10に印刷機能を実行させるためのアプリケーションプログラム(即ち印刷アプリ)に限られず、MFP10にスキャン機能を実行させるためのアプリケーションプログラム(例えば、MFP10にスキャン指示を送信して、MFP10からスキャンデータを受信するためのプログラム)であってもよい。
(変形例7)上記の実施例では、MFP10のCPU32がメモリ34内のプログラム36(即ちソフトウェア)を実行することによって、図3及び図4の各処理が実現される。これに代えて、図3及び図4の各処理のうちの少なくとも1つの処理は、論理回路等のハードウェアによって実現されてもよい。
また、本明細書または図面に説明した技術要素は、単独であるいは各種の組合せによって技術的有用性を発揮するものであり、出願時請求項記載の組合せに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。