(第1実施例)
図1に示されるように、通信システム2は、プリンタ10と、端末装置50と、を備える。プリンタ10と端末装置50とのそれぞれは、Wi−Fi Allianceによって策定された通信方式であるWi−Fi方式の無線通信(即ちWi−Fi通信)を実行可能である。
(プリンタ10の構成)
プリンタ10は、印刷機能を実行可能な周辺機器(即ちPC(Personal Computerの略)等の周辺機器)である。プリンタ10は、操作部12と、表示部14と、印刷実行部16と、無線LAN(Local Area Networkの略)インターフェース18と、制御部20と、を備える。以下では、インターフェースのことを「I/F」と記載する。
操作部12は、複数のキーを備える。ユーザは、操作部12を操作することによって、様々な指示をプリンタ10に入力することができる。表示部14は、様々な情報を表示するためのディスプレイである。印刷実行部16は、インクジェット方式、レーザ方式等の印刷機構である。
無線LANI/F18は、Wi−Fi方式の無線通信を実行するためのインターフェースである。Wi−Fi方式は、例えば、IEEE(The Institute of Electrical and Electronics Engineers, Inc.の略)の802.11の規格又はそれに準ずる規格(例えば、802.11a,11b,11g,11n等)に従った無線通信方式である。
より具体的に言うと、無線LANI/F18は、Wi−Fi Allianceによって策定されたWFD(Wi-Fi Directの略)方式をサポートしている。従って、制御部20は、WFD方式の無線ネットワーク(以下では「WFDNW」と呼ぶ)を利用して、無線LANI/F18を介して、Wi−Fi通信を実行することができる。WFD方式の詳細は、Wi−Fi Allianceによって作成された「Wi−Fi Peer−to−Peer(P2P) Technical Specification Version1.1」に記述されている。また、米国特許出願公開第2013/0260683号公報にも、WFD方式の詳細が開示されており、当該文献を参照して引用する。
Wi−Fi方式の無線通信では、2.4GHzと5.0GHzとの2種類の周波数帯が利用される。具体的に言うと、Wi−Fi方式の無線通信では、2.4GHzと5.0GHzとの周波数帯域の電波(即ち、搬送波)を用いて、無線通信が実行される。無線LANI/F18は、Wi−Fi方式の無線通信で利用される2.4GHzと5.0GHzとの2種類の周波数帯のうち、2.4GHzの周波数帯のみをサポートし、5.0GHzの周波数帯はサポートしていない。即ち、無線LANI/F18は、2.4GHzの周波数帯の電波のみを用いて無線通信を実行可能であり、5.0GHzの周波数帯の電波を用いた無線通信は実行不可能である。以下、本明細書では、無線LANI/F18が2.4GHzの周波数帯をサポートし、5.0GHzの周波数帯をサポートしていないことを、「プリンタ10が2.4GHzのみに対応する」のように表現する場合がある。図1に示すように、プリンタ10が対応する周波数帯chpは2.4GHzのみである。即ち、プリンタ10は、2.4GHz帯を利用する無線通信を実行することができるが、5.0GHz帯を利用する無線通信を実行することはできない。
制御部20は、CPU22と、メモリ24と、を備える。CPU22は、メモリ24に記憶されているプログラムに従って、様々な処理を実行するプロセッサである。なお、図1では、メモリ24は、プリンタ10に予め設定されているINTENT値Npを記憶している。INTENT値については後述する。
(端末装置50の構成)
端末装置50は、携帯電話(例えばスマートフォン)、PDA、ノートPC、タブレットPC、デジタルカメラ、携帯型音楽再生装置、携帯型動画再生装置等の可搬型の端末装置である。なお、変形例では、端末装置50は、デスクトップPC等の据置型の端末装置であってもよい。
端末装置50は、図示しない無線LANI/Fと、メモリと、を備えている。端末装置50の無線LANI/Fは、2.4GHz帯と5.0GHz帯との両方の周波数帯をサポートしている。以下、本明細書では、端末装置50の無線LANI/Fが2.4GHz帯と5.0GHz帯の両方の周波数帯をサポートしていることを「端末装置50が2.4GHzと5.0GHzの両方に対応する」のように表現する場合がある。即ち、図1に示すように、端末装置50が対応する周波数帯chtは、2.4GHz帯と5.0GHz帯の両方である。即ち、端末装置50は、2.4GHz帯を利用する無線通信と、5.0GHz帯を利用する無線通信と、の両方を実行することができる。端末装置50のメモリは、プリンタ10に予め設定されているINTENT値Ntを記憶している。
(WFD方式)
続いて、WFD方式について説明する。WFDの規格書では、WFD機器の状態として、Group Owner状態(以下では「G/O状態」と呼ぶ)、クライアント状態(以下では「CL状態」と呼ぶ)、及び、デバイス状態の3つの状態が定義されている。WFD機器は、上記の3つの状態のうちの1つの状態で選択的に動作可能である。
G/O状態のWFD機器(即ちG/O機器)は、当該WFD機器が親局として動作する無線ネットワーク(即ちWFDNW)を形成する機器である。CL状態のWFD機器(即ちCL機器)は、WFDNWの子局として動作する機器である。デバイス状態のWFD機器(即ちデバイス機器)は、WFDNWに所属していない機器である。
G/O機器とCL機器との双方が所属しているWFDNWは、例えば、以下の2つの手順のいずれかによって形成される。第1の手順では、一対のデバイス機器は、G/Oネゴシエーションと呼ばれる無線通信を実行する。これにより、当該一対のデバイス機器のうちの一方は、G/O状態(即ちG/O機器)になることを決定し、他方は、CL状態(即ちCL機器)になることを決定する。G/O機器は、WFDNWを形成する。さらに、G/O機器は、CL機器との間でWPSネゴシエーションと呼ばれる接続用データの無線通7信を実行する。その後で、G/O機器は、CL機器との接続を確立する。これにより、G/O機器とCL機器との双方が所属しているWFDNWが形成される。
第2の手順では、デバイス機器は、G/Oネゴシエーションを実行せずに、自発的にG/O状態に移行して、WFDNWを形成する。この場合、WFDNWが形成された後に、他のデバイス機器は、G/Oネゴシエーションを実行せずに、CL状態に移行する。さらに、G/O機器は、CL機器との間でWPSネゴシエーションと呼ばれる接続用データの無線通信を実行する。その後で、G/O機器は、CL機器との接続を確立する。これにより、G/O機器とCL機器との双方が所属しているWFDNWが形成される。
上記の第1の手順において実行されるG/Oネゴシエーションについてさらに説明する。G/Oネゴシエーションでは、一対のデバイス機器の間で以下の処理が実行される。一対のデバイス機器のうちの一方である第1の機器は、G/OネゴシエーションRequestを、他方のデバイス機器である第2の機器に送信する。G/OネゴシエーションRequestは、G/Oネゴシエーションの開始を要求するための要求信号である。G/OネゴシエーションRequestは、G/OネゴシエーションResponseの送信を要求するための要求信号、と言い換えてもよい。G/OネゴシエーションRequestは、第1の機器がG/O機器として動作する場合にWFDNWで利用されるべき周波数帯域として第1の機器のメモリに記憶されている第1の周波数帯(5.0GHz帯又は2.4GHz帯)に関係する第1の関係情報と、第1の機器に予め設定されている第1のINTENT値と、を含む。
また、第2の機器は、G/OネゴシエーションRequestを受信すると、G/OネゴシエーションRequestに対する応答信号であるG/OネゴシエーションResponseを第1の機器に送信する。G/OネゴシエーションResponseは、第2の機器がG/O機器として動作する場合にWFDNWで利用されるべき第2の周波数帯(5.0GHz又は2.4GHz)に関係する第2の関係情報と、第2の機器に予め設定されている第2のINTENT値と、を含む。
ここで、第1の関係情報は、第1の周波数帯をサポートする複数のチャンネルの1つを示す情報である。第2の関係情報も、同様に、第1の周波数帯をサポートする複数のチャンネルの1つを示す情報である。そのため、第1の機器は、第2の関係情報を参照することにより、第2の周波数帯が2.4GHz帯と5.0GHz帯のどちらであるのかを判断することができる。第2の機器も、同様の判断を行うことができる。
また、INTENT値は、G/Oになるべき程度を示す指標値である。INTENT値は、0〜15の数値範囲の中のいずれかの値である。INTENT値が大きいほど、G/O機器になり易い。換言すると、INTENT値が小さいほど、CL機器になり易い。第1の機器は、第1のINTENT値と第2のINTENT値を比較し、G/O機器及びCL機器を決定する。具体的には、第1の機器は、第1のINTENT値が第2のINTENT値よりも大きい場合に、第1がG/O機器になることを決定する。第2の機器も、同様の手法でG/O機器及びCL機器を決定する。なお、第1のINTENT値と第2のINTENT値とが同じ値である場合、第1の機器と第2の機器のうちの一方がランダムにG/O機器として決定される。
第1の機器は、G/OネゴシエーションResponseを受信し、G/O機器及びCL機器を決定すると、Confirmation (Success)を第2の機器に送信する。Confirmation (Success)は、第1の機器と第2の機器のうちのどちらがG/O機器であるのかを示す情報を含む。例えば、第1の機器がG/O機器として決定されると、第1の機器は、第1の関係情報に関係する周波数帯を利用するWFDNWを形成する。一方、第2の機器がG/O機器として決定されると、第2の機器は、第2の関係情報に関係する周波数帯を利用するWFDNWを形成する。
また、第1の機器が、G/OネゴシエーションResponseを受信した後、G/O機器及びCL機器を決定できない場合には、Confirmation (Fail)を第2の機器に送信する。この場合、WFDNWは形成されない。
なお、上記のG/OネゴシエーションRequest/Response、Confirmation (Success)、及び、Confirmation (Fail)は、2.4GHz帯を利用して送受信される。そのため、例えば、第1の機器が2.4GHz帯にのみ対応し、第2の機器が2.4GHzと5.0GHzの両方に対応する状況であっても、一対のデバイス機器は、上記のG/OネゴシエーションRequest/Response、Confirmation (Success)、及び、Confirmation (Fail)を送受信することができる。
また、WPSネゴシエーションでは、G/O機器とCL機器との間で、接続用データの無線通信が実行される。接続用データの無線通信は、WFDNWにおいて利用される周波数帯(即ち2.4GHz又は5.0GHz)を利用して実行される。上記の接続用データは、OSI参照モデルのネットワーク層よりも下位層(例えば、物理層、データリンク層等)の情報を含むデータ(即ち、ネットワーク層の情報を含まないデータ)である。接続用データは、例えば、Probe Request/Response信号、Provision Discovery Request/Response信号、Authentication Request/Response信号、Association Request/Response信号、WSC Exchange、4-Way Handshake等を含む。
G/O機器は、他の機器を介さずに、CL機器と対象データの無線通信を実行可能である。対象データは、OSI参照モデルのネットワーク層の情報、及び、ネットワーク層よりも上位層(例えばアプリケーション層)の情報を含むデータであり、例えば、印刷対象の画像を表わす画像データを含む。また、G/O機器は、一対のCL機器の間の対象データの無線通信を中継可能である。このように、WFDNWでは、各機器は、当該各機器とは別体に構成されているアクセスポイント(以下では「AP」と呼ぶ)を介さずに、対象データの無線通信を実行することができる。即ち、WFD方式は、APが利用されない無線通信方式であると言える。
また、G/O機器は、WFDNWに所属していないデバイス機器と対象データの無線通信を実行することができないが、デバイス機器と接続用データの無線通信を実行して、デバイス機器との接続を確立することができる。これにより、G/O機器は、デバイス機器をWFDNWに参加させることができる。
(無線接続処理;図2)
続いて、図2を参照して、プリンタ10のCPU22が実行する無線接続処理について説明する。プリンタ10の電源ON時には、プリンタ10は、いずれの無線ネットワークにも接続されておらず、WFD規格のデバイス状態である。
CPU22は、S10又はS12でYESと判断するまで、S10の監視処理及びS12の監視処理を繰り返し実行する。S10では、CPU22は、無線LANI/F18を介して、端末装置50からG/OネゴシエーションRequestを受信することを監視する。CPU22は、デバイス状態の端末装置50からG/OネゴシエーションRequestを受信する場合には、S10でYESと判断して、S14に進む。S14では、CPU22は、第1の接続処理(図3参照)を実行する。
また、S12では、CPU22は、操作部12で所定の無線接続操作が実行されることを監視する。ユーザによって、操作部12で所定の無線接続操作が実行されると、CPU22は、S12でYESと判断し、S16に進む。S16では、CPU22は、第2の接続処理(図4参照)を実行する。
(第1の接続処理;図3)
続いて、図3を参照して、第1の接続処理について説明する。S20では、CPU22は、端末装置50がWFDNWのG/O機器として動作する場合に利用される周波数帯chtが5.0GHz帯であるか否かを判断する。端末装置50から受信されたG/OネゴシエーションRequestは、端末装置50がWFDNWのG/O機器として動作する場合に利用されるべき周波数帯cht(即ち、5.0GHz帯と2.4GHz帯とのうちの一方)に関係する関係情報と、端末装置50に設定されているINTENT値Ntとを含む。関係情報は、具体的には、周波数帯chtをサポートする複数のチャンネルのうちの1つを示す。即ち、S20では、CPU22は、端末装置50から受信されたG/OネゴシエーションRequestに含まれる関係情報を参照することによって、周波数帯chtが5.0GHz帯であるか否かを判断する。周波数帯chtが5.0GHz帯であると判断される場合、CPU22は、S20でYESと判断し、S22に進む。一方、周波数帯chtが2,4GHz帯であると判断される場合、CPU22は、S20でNOと判断し、S22、S24をスキップしてS26に進む。
S22では、CPU22は、端末装置50に設定されているINTENT値Ntが、メモリ24に記憶されているINTENT値Np(即ち、予め設定されているINTENT値Np)以上であるか否かを判断する。INTENT値NtがINTENT値Np以上である場合、CPU22は、S22でYESと判断し、S24に進む。一方、INTENT値NtがINTENT値Npより小さい場合、CPU22は、S22でNOと判断し、S24をスキップしてS26に進む。
S24では、CPU22は、INTENT値Npの値を、INTENT値Ntよりも大きい値に変更する。S24でINTENT値Npの値が変更されることにより、G/Oネゴシエーションにおいて、プリンタ10がG/O状態になることが決定され、端末装置50がCL状態になることが決定される。なお、上記の通り、WFDNWが利用する周波数帯域は、G/O機器が利用する周波数帯域に決定される。また、INTENT値がより大きいデバイスがG/O機器になる。上記の通り、プリンタ10は、2.4GHzのみに対応する。そのため、仮に、端末装置50がG/O機器として動作し、プリンタ10がCL機器として動作し、5.0GHzの周波数帯域を利用するWFDNWが形成されると、プリンタ10は、WFDNWを利用して通信を行えなくなる。そのため、本実施例では、このような事態の発生を防ぐために、S24でINTENT値Npの値を変更し、プリンタ10をG/O機器として動作させるようにしている。
続くS26では、CPU22は、無線LANI/F18を介して、端末装置50にG/OネゴシエーションResponseを送信する。G/OネゴシエーションResponseは、プリンタ10がWFDNWのG/O機器として動作する場合に利用されるべき周波数帯chp(即ち、2.4GHz帯)に関係する関係情報と、メモリ24に記憶されているINTENT値Npと、を含む。関係情報は、具体的には、周波数帯chpをサポートする複数のチャンネルのうちの1つを示す。S20又はS22でNOの場合には、G/OネゴシエーションResponseに含まれるINTENT値Npは、メモリ24に予め記憶されているINTENT値Npである。これに対し、S20及びS22でYESの場合には、G/OネゴシエーションResponseに含まれるINTENT値Npは、S24で変更された後のINTENT値Npである。
S28では、CPU22は、無線LANI/F18を介して、端末装置50からConfirmation (Success)を受信する。Confirmation (Success)は、プリンタ10と端末装置50とのうちのどちらがG/O機器であるかを示す情報を含む。S28でCPU22がConfirmation (Success)を終了すると、G/Oネゴシエーションが終了する。
Confirmation (Success)が、プリンタ10がG/O機器であることを示す情報を含む場合、CPU22は、G/Oネゴシエーションの終了後に(即ち、S28の後に)、プリンタ10の状態をG/O状態に移行させる。この結果、プリンタ10はG/O機器として動作する。そして、CPU22は、周波数帯chp(即ち、2.4GHz帯)を利用するWFDNWを形成する。
一方、Confirmation (Success)が、端末装置50がG/O機器であることを示す情報を含む場合、CPU22は、G/Oネゴシエーションの終了後に(即ち、S28の後に)、プリンタ10の状態をCL状態に移行させる。この結果、プリンタ10はCL機器として動作する。
S30では、CPU22は、無線LANI/F18を介して、端末装置50との間でWPSネゴシエーションを実行する。具体的には、CPU22は、無線LANI/F18を介して、端末装置50との間で接続用データの無線通信を実行する。
続くS32では、CPU22は、無線LANI/F18を介して、端末装置50と無線接続を確立する。即ち、プリンタ10がG/O機器である場合には、プリンタ10は、プリンタ10がG/O機器であるWFDNWに端末装置50をCL機器として参加させる。また、端末装置50がG/O機器である場合には、プリンタ10は、端末装置50がG/O機器であるWFDNWにCL機器として参加する。これにより、プリンタ10及び端末装置50の両方が所属しているWFDNWが形成される。S32を終えると、図3の第1の接続処理が終了する。S24でINTENT値Npが変更された場合には、S32を終えると、CPU22は、INTENT値Npの値を変更前の値に戻す。第1の接続処理(図2のS14参照)が終了すると、図2の無線接続処理が終了する。
(第2の接続処理;図4)
続いて、図4を参照して、第2の接続処理について説明する。操作部12で所定の無線接続操作が実行されると、S40では、CPU22は、Scan、Listen、Searchの各処理を順次実行する。Scan処理は、Probe Request信号を送信してProbe Response信号を受信することによって、MFP10の周囲に存在するG/O機器及びAPを見つけるための処理である。Listen処理は、Probe Request信号を受信してProbe Response信号を送信することによって、MFP10の周囲に存在する機器にMFP10の存在を知らせるための処理である。Search処理は、Probe Request信号を送信してProbe Response信号を受信することによって、MFP10の周囲に存在するデバイス機器を見つけるための処理である。
次いで、S42では、CPU22は、S40で見つかった1個以上の機器に関する情報を示す機器リストを表示部14に表示させる。ユーザは、操作部12を操作して、機器リストの中からデバイス状態の端末装置50を選択する。
S44では、CPU22は、無線LANI/F18を介して、端末装置50に対してG/OネゴシエーションRequestを送信する。S44で送信されるG/OネゴシエーションRequestは、プリンタ10がWFDNWのG/O機器として動作する場合に利用されるべき周波数帯chp(即ち、2.4GHz帯)に関係する関係情報(具体的には、周波数帯chpをサポートする複数のチャンネルのうちの1つを示す情報)と、メモリ24に記憶されているINTENT値Npと、を含む。
S46では、CPU22は、無線LANI/F18を介して、端末装置50からG/OネゴシエーションResponseを受信する。S46で受信されるG/OネゴシエーションResponseは、端末装置50がWFDNWのG/O機器として動作する場合に利用されるべき周波数帯cht(即ち、2.4GHz帯と5.0GHz帯とのうちの一方)に関係する関係情報(具体的には、周波数帯chtをサポートする複数のチャンネルのうちの1つを示す情報)と、端末装置50に設定されているINTENT値Ntと、を含む。
S48では、CPU22は、周波数帯chtが5.0GHz帯であるか否かを判断する。具体的には、S48では、CPU22は、端末装置50から受信されたG/OネゴシエーションResponseに含まれる関係情報を参照することによって、周波数帯chtが5.0GHz帯であるか否かを判断する。周波数帯chtが5.0GHzであると判断される場合、CPU22は、S48でYESと判断し、S50に進む。一方、周波数帯chtが2.4GHz帯であると判断される場合、CPU22は、S48でNOと判断し、S58に進む。
S50では、CPU22は、端末装置50に設定されているINTENT値Ntが、メモリ24に記憶されているINTENT値Np以上であるか否かを判断する。INTENT値NtがINTENT値Np以上である場合、CPU22は、S50でYESと判断し、S52に進む。一方、INTENT値NtがINTENT値Npより小さい場合、CPU22は、S50でNOと判断し、S58に進む。
S52では、CPU22は、無線LANI/F18を介して、Confirmation (Fail)を送信する。これにより、端末装置50がG/O機器として動作し、5.0GHz帯が利用されるWFDNW(即ち、プリンタ10が参加不可能なWFDNW)が形成されることが中止される。
S54では、CPU22は、端末装置50のMACアドレス、及び、INTENT値Ntをメモリ24に記憶させる。端末装置50のMACアドレスは、S46で受信されたG/OネゴシエーションResponseに含まれている。
S56では、CPU22は、INTENT値Npの値を、メモリ24に記憶されているINTENT値Ntの値よりも大きい値に変更する。
S56を終えると、S44に戻る。2回目のS44では、CPU22は、S54で記憶させた端末装置50のMACアドレスを送信先として、無線LANI/F18を介して、G/OネゴシエーションRequestを送信する。この場合に送信されるG/OネゴシエーションRequestは、周波数帯chpに関係する関係情報と、S56で変更されたINTENT値Npと、を含む。
続く2回目のS46では、CPU22は、端末装置50からG/OネゴシエーションResponseを受信する。受信されるG/OネゴシエーションResponseは、1回目のS46で受信されるG/OネゴシエーションResponseと同様である。
続く2回目のS48では、CPU22は、YESと判断し、S50に進む。2回目のS50では、CPU22は、INTENT値Ntが変更後のINTENT値Np以上であるか否かを判断する。ここで、S56において、Intent値Npの値は、INTENT値Ntの値より大きい値に変更されている。そのため、2回目のS50では、CPU22は、NOと判断し、S58に進む。この場合、プリンタ10がG/O状態になることが決定され、端末装置50がCL状態になることが決定される。
S58では、CPU22は、無線LANI/F18を介して、端末装置50にConfirmation (Success)を受信する。Confirmation (Success)は、プリンタ10と端末装置50とのうちのどちらがG/O機器であるのかを示す情報を含む。S58でCPU22がConfirmation (Success)を終了すると、G/Oネゴシエーションが終了する。
Confirmation (Success)が、プリンタ10がG/O機器であることを示す情報を含む場合、CPU22は、G/Oネゴシエーションの終了後に(即ち、S58の後に)、プリンタ10の状態をG/O状態に移行させる。この結果、プリンタ10はG/O機器として動作する。そして、CPU22は、周波数帯chp(即ち、2.4GHz帯)を利用するWFDNWを形成する。
一方、Confirmation (Success)が、端末装置50がG/O機器であることを示す情報を含む場合、CPU22は、G/Oネゴシエーションの終了後に(即ち、S58の後に)、プリンタ10の状態をCL状態に移行させる。この結果、プリンタ10はCL機器として動作する。S48又はS50でNOと判断される場合、プリンタ10がCL機器として動作する。
S60では、CPU22は、無線LANI/F18を介して、端末装置50との間でWPSネゴシエーションを実行する。具体的には、CPU22は、無線LANI/F18を介して、端末装置50との間で接続用データの無線通信を実行する。
続くS62では、CPU22は、無線LANI/F18を介して、端末装置50と無線接続を確立する。即ち、プリンタ10がG/O機器である場合には、プリンタ10は、プリンタ10がG/O機器であるWFDNWに端末装置50をCL機器として参加させる。また、端末装置50がG/O機器である場合には、プリンタ10は、端末装置50がG/O機器であるWFDNWにCL機器として参加する。これにより、プリンタ10及び端末装置50の両方が所属しているWFDNWが形成される。S62を終えると、図4の第2の接続処理が終了する。S56でINTENT値Npが変更された場合、S62を終えると、CPU22は、INTENT値Npの値を変更前の値に戻す。第2の接続処理(図2のS16参照)が終了すると、図2の無線接続処理が終了する。
(具体的なケース)
続いて、図5〜図8を参照して、プリンタ10と端末装置50との間で無線接続が確立される具体的なケースA1、A2、A3、B1を説明する。ケースA1〜A3、B1は、図2〜図4の各フローチャートによって実現される。ケースA1〜A3では、プリンタ10が、端末装置50からG/OネゴシエーションRequestを受信し(図2のS10でYES参照)、第1の接続処理(図3参照)を実行する。ケースB1では、プリンタ10が、端末装置50の操作部12で無線接続操作が行われ(図2のS12でYESの場合)、第2の接続処理(図4参照)を実行する。
(ケースA1;図5)
図5のケースA1の初期状態では、プリンタ10にINTENT値Np「2」が設定されており、端末装置50にINTENT値Nt「10」が設定されている。
端末装置50は、プリンタ10にG/OネゴシエーションRequestを送信する。G/OネゴシエーションRequestは、周波数帯cht「5.0GHz帯」に関係する関係情報と、INTENT値Nt「10」と、を含む。
プリンタ10は、端末装置50からG/OネゴシエーションRequestを受信すると(図2のS10でYES)、周波数帯chtが5.0GHz帯であると判断する(図3のS20でYES)。また、プリンタ10は、INTENT値Nt「10」が、INTENT値Np「2」よりも大きいと判断する(図3のS22でYES)。そのため、プリンタ10は、INTENT値Npの値を、INTENT値Ntよりも大きい値である「11」に変更する(図3のS24)。次いで、プリンタ10は、端末装置50にG/OネゴシエーションResponseを送信する(図3のS26)。G/OネゴシエーションResponseは、周波数帯chp「2.4GHz帯」に関係する関係情報と、変更後のINTENT値Np「11」と、を含む。
端末装置50は、プリンタ10からG/OネゴシエーションResponseを受信すると、INTENT値Nt「10」とINTENT値Np「11」とを比較し、プリンタ10がG/O機器であり、端末装置50がCL機器であると決定する。次いで、端末装置50は、プリンタ10にConfirmation (Success)を送信する。Confirmation (Success)は、プリンタ10がG/O機器であることを示す情報を含む。端末装置50は、Confirmation (Success)を送信すると、CL状態に移行する。即ち、端末装置50はCL機器として動作する。
プリンタ10は、端末装置50からConfirmation (Success)を受信する(図3のS28)と、G/O状態に移行する。即ち、プリンタ10はG/O機器として動作する。そして、プリンタ10は、周波数帯chp(即ち、2.4GHz帯)を利用するWFDNWを形成する。
次いで、プリンタ10は、端末装置50との間でWPSネゴシエーションを実行する(図3のS30)。即ち、プリンタ10は、端末装置50との間で接続用データの無線通信を実行する。
次いで、プリンタ10は、端末装置50と無線接続を確立する(図3のS32)。即ち、プリンタ10は、プリンタ10がG/O機器であるWFDNWに端末装置50をCL機器として参加させる。これにより、プリンタ10及び端末装置50の両方が所属するWFDNWが形成される。
上記の通り、ケースA1では、プリンタ10は、端末装置50から、INTENT値Ntを含むG/OネゴシエーションRequestを受信する。プリンタ10は、G/OネゴシエーションRequestを受信すると、周波数帯chtが5.0GHz帯であり、かつ、INTENT値NtがINTENT値Np以上であるか否かを判断することができる(図3のS20、S22参照)。そのため、プリンタ10は、端末装置50からG/OネゴシエーションRequestを受信した後であって、端末装置50にG/OネゴシエーションResponseを送信する前に、INTENT値Npの値を変更することができる。G/OネゴシエーションRequest/Responseを送受信する間に、適切にプリンタ10をG/O機器として決定することができる。
(ケースA2;図6)
図6のケースA2の初期状態でも、プリンタ10にINTENT値Np「2」が設定されており、端末装置50にINTENT値Nt「10」が設定されている。
端末装置50は、プリンタ10にG/OネゴシエーションRequestを送信する。ケースA2では、G/OネゴシエーションRequestは、周波数帯cht「2.4GHz帯」に関係する関係情報と、INTENT値Nt「10」と、を含む。
プリンタ10は、端末装置50からG/OネゴシエーションRequestを受信すると(図2のS10でYES)、周波数帯chtが2.4GHz帯であると判断する(図3のS20でNO)。そのため、プリンタ10は、予め設定されたINTENT値Npの値を変更しない。次いで、プリンタ10は、端末装置50にG/OネゴシエーションResponseを送信する(図3のS26)。G/OネゴシエーションResponseは、周波数帯chp「2.4GHz帯」に関係する関係情報と、予め設定されているINTENT値Np「2」と、を含む。
端末装置50は、プリンタ10からG/OネゴシエーションResponseを受信する。端末装置50は、INTENT値Nt「10」とINTENT値Np「2」とを比較し、端末装置50がG/O機器であり、プリンタ10がCL機器であると決定する。次いで、端末装置50は、プリンタ10にConfirmation (Success)を送信する。Confirmation (Success)は、端末装置50がG/O機器であることを示す情報を含む。端末装置50は、Confirmation (Success)を送信すると、G/O状態に移行する。即ち、端末装置50はG/O機器として動作する。そして、端末装置50は、周波数帯cht(即ち、2.4GHz帯)を利用するWFDNWを形成する。
プリンタ10は、端末装置50からConfirmation (Success)を受信する(図3のS28)と、CL状態に移行する。即ち、プリンタ10はCL機器として動作する。
次いで、プリンタ10は、端末装置50との間でWPSネゴシエーションを実行する。即ち、プリンタ10は、端末装置50との間で接続用データの無線通信を実行する。
次いで、プリンタ10は、端末装置50と無線接続を確立する(図3のS32)。即ち、プリンタ10は、端末装置50がG/O機器であるWFDNWにCL機器として参加する。これにより、プリンタ10及び端末装置50の両方が所属するWFDNWが形成される。
上記の通り、ケースA2では、プリンタ10は、周波数帯chtが2.4GHzである場合に、プリンタ10のINTENT値Npを変更することなく、予め設定されているINTENT値Npに従って、プリンタ10及び端末装置50の両方が所属し、2.4GHz帯が利用されるWFDNWを、適切に形成することができる。
(ケースA3;図7)
図7のケースA3の初期状態では、プリンタ10にINTENT値Np「2」が設定されており、端末装置50にINTENT値Nt「1」が設定されている。
端末装置50は、プリンタ10にG/OネゴシエーションRequestを送信する。ケースA3では、G/OネゴシエーションRequestは、周波数帯cht「5.0GHz帯」に関係する関係情報と、INTENT値Nt「1」と、を含む。
プリンタ10は、端末装置50からG/OネゴシエーションRequestを受信すると(図2のS10でYES)、周波数帯chtが5.0GHz帯であると判断する(図3のS20でYES)。また、プリンタ10は、INTENT値Nt「1」が、INTENT値Np「2」よりも小さいと判断する(図3のS22でNO)。そのため、プリンタ10は、予め設定されたINTENT値Npの値を変更しない。次いで、プリンタ10は、端末装置50にG/OネゴシエーションResponseを送信する(図3のS26)。G/OネゴシエーションResponseは、周波数帯chp「2.4GHz帯」に関係する関係情報と、INTENT値Np「2」と、を含む。
端末装置50は、プリンタ10からG/OネゴシエーションResponseを受信する。端末装置50は、INTENT値Nt「1」とINTENT値Np「2」とを比較し、プリンタ10がG/O機器であり、端末装置50がCL機器であると決定する。次いで、端末装置50は、プリンタ10にConfirmation (Success)を送信する。Confirmation (Success)は、プリンタ10がG/O機器であることを示す情報を含む。端末装置50は、Confirmation (Success)を送信すると、CL状態に移行する。即ち、端末装置50はCL機器として動作する。
プリンタ10は、端末装置50からConfirmation (Success)を受信する(図3のS28)と、G/O状態に移行する。即ち、プリンタ10はG/O機器として動作する。そして、プリンタ10は、周波数帯chp(即ち、2.4GHz帯)を利用するWFDNWを形成する。次いで、プリンタ10は、端末装置50との間でWPSネゴシエーションを実行し(図3のS30)、端末装置50と無線接続を確立する(図3のS32)。即ち、プリンタ10は、プリンタ10がG/O機器であるWFDNWに端末装置50をCL機器として参加させる。これにより、プリンタ10及び端末装置50の両方が所属するWFDNWが形成される。
上記の通り、ケースA3では、プリンタ10は、予め設定されているINTENT値NpがINTENT値Ntより大きい場合(図3のS22でNO)、即ち、INTENT値Npを変更することなく、プリンタ10がG/O状態に決定される場合に、プリンタ10に予め設定されているINTENT値Npに従って(又は、プリンタ10に予め設定されているINTENT値Npを含むProbe Requestを端末装置50に送信して)、プリンタ10がG/O機器であるWFDNWであって、周波数帯chp(即ち、2.4GHz帯)が利用されるWFDNWを、適切に形成することができる。
(ケースB1;図8)
図8のケースB1の初期状態では、プリンタ10にINTENT値Np「2」が設定されており、端末装置50にINTENT値Nt「10」が設定されている。
ケースB1では、プリンタ10の操作部12で所定の無線接続操作が実行される(図2のS12でYES)。無線接続操作が実行されると、プリンタ10は、Scan、Listen、Searchの各処理を順次実行する(図4のS40)。そして、プリンタ10は、Scan、Listen、Searchによって見つかった機器を示す機器リストを表示部14に表示させる(図4のS42)。ユーザは、操作部12を操作して、機器リストの中からデバイス状態の端末装置50を選択する(図4のS42)。
プリンタ10は、機器リストの中から端末装置50が選択されると、端末装置50にG/OネゴシエーションRequestを送信する(図4のS44)。G/OネゴシエーションRequestは、周波数帯chp「2.4GHz帯」に関係する関係情報と、INTENT値Np「2」とを含む。
端末装置50は、プリンタ10からG/OネゴシエーションRequestを受信すると、プリンタ10にG/OネゴシエーションResponseを送信する。G/OネゴシエーションResponseは、周波数帯cht「5.0GHz帯」に関係する関係情報と、INTENT値Nt「10」と、を含む。
プリンタ10は、端末装置50からG/OネゴシエーションResponseを受信すると(図4のS46)、周波数帯chtが5.0GHz帯であると判断する(図4のS48でYES)。また、プリンタ10は、INTENT値Nt「10」が、INTENT値Np「2」よりも大きいと判断する(図4のS50でYES)。そのため、プリンタ10は、端末装置50にConfirmation (Fail)を送信する(図4のS52)。これにより、端末装置50がG/O機器として動作し、5.0GHz帯が利用されるWFDNW(即ち、プリンタ10が参加不可能なWFDNW)が形成されることが中止される。
次いで、プリンタ10は、端末装置50のMACアドレス、及び、INTENT値Ntをメモリ24に記憶させる(図4のS54)。端末装置50のMACアドレス及びINTENT値Ntは、G/OネゴシエーションResponseに含まれている。そして、プリンタ10は、INTENT値Npの値を、INTENT値Ntよりも大きい値である「11」に変更する(図4のS56)。そして、プリンタ10は、メモリ24に記憶させた端末装置50のMACアドレスを送信先として、G/OネゴシエーションRequestを再度送信する(図4のS44)。G/OネゴシエーションRequestは、周波数帯chp「2.4GHz帯」に関係する関係情報と、変更後のINTENT値Np「11」と、を含む。
端末装置50は、プリンタ10からG/OネゴシエーションRequestを受信すると、プリンタ10にG/OネゴシエーションResponseを送信する。G/OネゴシエーションResponseは、周波数帯cht「5.0GHz帯」に関係する関係情報と、INTENT値Nt「10」と、を含む。
プリンタ10は、端末装置50からG/OネゴシエーションResponseを受信すると(図4のS46)、周波数帯chtが5.0GHz帯であると判断する(図4のS48でYES)。また、プリンタ10は、変更後のINTENT値Np「11」が、INTENT値Nt「10」よりも大きいと判断する(図4のS50でNO)。そのため、プリンタ10は、プリンタ10がG/O機器であり、端末装置50がCL機器であると決定する。
次いで、プリンタ10は、端末装置50にConfirmation (Success)を送信する。Confirmation (Success)は、プリンタ10がG/O機器であることを示す情報を含む。プリンタ10は、端末装置50にConfirmation (Success)を送信すると、G/O状態に移行し、G/O機器として動作する。そして、プリンタ10は、周波数帯chp(即ち、2.4GHz帯)を利用するWFDNWを形成する。
端末装置50は、Confirmation (Success)を受信すると、CL状態に移行し、CL機器として動作する。
プリンタ10は、端末装置50との間でWPSネゴシエーションを実行する(図4のS60)。即ち、プリンタ10は、端末装置50との間で接続用データの無線通信を実行する。
次いで、プリンタ10は、端末装置50と無線接続を確立する(図4のS62)。即ち、プリンタ10は、プリンタ10がG/O機器であるWFDNWに端末装置50をCL機器として参加させる。これにより、プリンタ10及び端末装置50の両方が所属するWFDNWが形成される。
上記の通り、ケースB1では、プリンタ10は、端末装置50にConfirmation (Fail)を送信した後で、プリンタ10と端末装置50が含まれるWFDNWであって、5.0GHz帯とは異なる2.4GHz帯が利用されるべきWFDNWを適切に形成し得る。
(第1実施例の効果)
上述したように、本実施例では、プリンタ10は、周波数帯chtが5.0GHzであると判断され(図3のS20でYES、図4のS48でYES)、かつ、INTENT値NtがINTENT値Np以上であると判断される(図3のS22でYES、図4のS50でYES)場合において、プリンタ10をG/O機器として動作させ、端末装置50をCL機器として動作させて、プリンタ10と端末装置50が含まれるWFDNWであって、5.0GHz帯とは異なる2.4GHz帯が利用されるべきWFDNWを形成する(図3のS32、図4のS62)。従って、プリンタ10は、プリンタ10と端末装置50とを含むWFDNWを形成すべき場合に、適切にWFDNWを形成し得る。
また、本実施例では、プリンタ10は、2.4GHz帯にのみ対応し、5.0GHz帯には対応していない。本実施例の技術によると、周波数帯chtが5.0GHzであると判断され、かつ、INTENT値NtがINTENT値Np以上であると判断される場合であっても、プリンタ10が対応していない5.0GHz帯を利用するWFDNWが形成されることを防止することができる。従って、プリンタ10は、プリンタ10と端末装置50とを含むWFDNWを形成すべき場合に、適切にWFDNWを形成し得る。
(対応関係)
プリンタ10が「無線通信機器」の一例である。無線LANI/F18が、「無線通信インターフェース」の一例である。5.0GHz帯、2.4GHz帯が、それぞれ、「第1の周波数帯」、「第2の周波数帯」の一例である。WFDNWが「特定の無線ネットワーク」の一例である。G/O機器、CL機器が、それぞれ、「親局」、「子局」の一例である。端末装置50がG/O機器として動作し、プリンタ10がCL機器として動作するWFDNWが「第1の無線ネットワーク」の一例である。プリンタ10がG/O機器として動作し、端末装置50がCL機器として動作するWFDNWが「第2の無線ネットワーク」の一例である。図2のS10でYESの場合に受信されるG/OネゴシエーションRequest、及び、図4のS46で受信されるG/OネゴシエーションResponseが、「特定の無線ネットワークを形成するための信号」の一例である。周波数帯chtが「第1の無線ネットワークで利用されるべき周波数帯」の一例である。INTENT値Nt、INTENT値Npが、それぞれ、「端末側指標値」、「機器側指標値」の一例である。変更後のINTENT値Npが「特定の指標値」の一例である。図3のS20、S22でYESの場合、及び、図4のS48、S50でYESの場合が、「第1の場合」の一例である。図2のS10でYESの場合に受信されるG/OネゴシエーションRequestが「要求信号」の一例である。図3のS26で送信されるG/OネゴシエーションResponseが「応答信号」の一例である。図3のS22でNOの場合、及び、図4のS50でNOの場合が「第2の場合」の一例である。図3のS20でNOの場合、及び、図4のS48でNOの場合が「第3の場合」の一例である。
図2のS10でYESの場合の処理、及び、図4のS46の処理が「受信部」によって実行される処理の一例である。図3のS20の判断及び図4のS48の判断が「第1の判断部」によって実行される処理の一例である。図3のS22の判断及び図4のS50の判断が「第2の判断部」によって実行される処理の一例である。図3のS20、S22でYESの場合におけるS32の処理、及び、図4のS48、S50でYESの場合におけるS62の処理が「形成部」によって実行される処理の一例である。図3のS20、S22でYESの場合におけるS26の処理が「第1の送信部」によって実行される処理の一例である。図3のS22でNOの場合におけるS26の処理が「第2の送信部」によって実行される処理の一例である。図3のS20でNOの場合におけるS26の処理が「第3の送信部」によって実行される処理の一例である。
(第2実施例)
第1実施例とは異なる点を説明する。本実施例では、プリンタ10のCPU22が実行する第2の接続処理の内容が第1実施例とは異なる。即ち、本実施例では、CPU22は、端末装置50にConfirmation (Fail)を送信した後に、自発的にG/O状態に移行し、端末装置50との無線接続を確立する点が第1実施例とは異なる。
(第2の接続処理;図9)
図9を参照して、本実施例の第2の接続処理について説明する。操作部12で所定の無線接続操作が実行されると、CPU22は、S70、S72、S74、S76の各処理を順次実行する。S70〜S76の各処理の内容は、図4のS40〜S46の各処理の内容と同様であるため、詳しい説明を省略する。
次いで、CPU22は、S78、S80の各判断を実行する。S78、S80の各判断の内容も、図4のS48、S50の各判断の内容と同様であるため、詳しい説明を省略する。S78でYESの場合、S80に進む。S80でYESの場合、S82に進む。一方、S78又はS80でNOの場合、S92に進む。S92、S94、S96の各処理の内容も、図4のS58、S60、S62の各処理の内容と同様であるため、詳しい説明を省略する。
S82では、CPU22は、無線LANI/F18を介して、Confirmation (Fail)を送信する。これにより、端末装置50がG/O機器として動作し、5.0GHz帯が利用されるWFDNW(即ち、プリンタ10が参加不可能なWFDNW)が形成されることが中止される。
S84では、CPU22は、端末装置50のMACアドレスをメモリ24に記憶させる。端末装置50のMACアドレスは、S76受信されたG/OネゴシエーションResponseに含まれている。
S86では、CPU22は、プリンタ10の状態を自発的にG/O状態に移行させる。この結果、プリンタ10はG/O機器として動作する。そして、CPU22は、周波数帯chp(即ち、2.4GHz帯)を利用するWFDNWを形成する。
S88では、CPU22は、無線LANI/F18を介して、S84で記憶させた端末装置50のMACアドレスを送信先として、Invitation Requestを送信する。Invitation Requestは、G/O機器であるプリンタ10が形成するWFDNWに、端末装置50をCL機器として参加させるための要求信号である。
S90では、CPU22は、無線LANI/F18を介して、端末装置50からInvitation Response (OK)を受信する。Invitation Response (OK)は、端末装置50が、G/O機器であるプリンタ10が形成するWFDNWに、CL機器として参加することを示す応答信号である。S90を終えると、S94に進む。
S94では、CPU22は、無線LANI/F18を介して、端末装置50との間でWPSネゴシエーションを実行する。具体的には、CPU22は、無線LANI/F18を介して、端末装置50との間で接続用データの無線通信を実行する。
続くS96では、CPU22は、無線LANI/F18を介して、端末装置50と無線接続を確立する。即ち、プリンタ10は、プリンタ10がG/O機器であるWFDNWに端末装置50をCL機器として参加させる。これにより、プリンタ10及び端末装置50の両方が所属しているWFDNWが形成される。S96を終えると、図9の第2の接続処理が終了する。
(具体的なケース;ケースB2;図10)
続いて、図10を参照して、本実施例の具体的なケースを説明する。図10のケースB2の初期状態では、プリンタ10にINTENT値Np「2」が設定されており、端末装置50にINTENT値Nt「10」が設定されている。
ケースB2でも、プリンタ10の操作部12において所定の無線接続操作が実行される(図2のS12でYES)。無線接続操作が実行されると、プリンタ10は、Scan、Listen、Searchの各処理を順次実行する(図9のS70)。そして、プリンタ10は、Scan、Listen、Searchによって見つかった機器を示す機器リストを表示部14に表示させる(図9のS72)。ユーザは、操作部12を操作して、機器リストの中からデバイス状態の端末装置50を選択する(図9のS72)。
プリンタ10は、機器リストの中から端末装置50が選択されると、端末装置50にG/OネゴシエーションRequestを送信する(図9のS74)。G/OネゴシエーションRequestは、周波数帯chp「2.4GHz帯」に関係する関係情報と、INTENT値Np「2」とを含む。
端末装置50は、プリンタ10からG/OネゴシエーションRequestを受信すると、プリンタ10にG/OネゴシエーションResponseを送信する。G/OネゴシエーションResponseは、周波数帯cht「5.0GHz帯」に関係する関係情報と、INTENT値Nt「10」と、を含む。
プリンタ10は、端末装置50からG/OネゴシエーションResponseを受信すると(図9のS76)、周波数帯chtが5.0GHz帯であると判断する(図9のS78でYES)。また、プリンタ10は、INTENT値Nt「10」が、INTENT値Np「2」よりも大きいと判断する(図9のS80でYES)。そのため、プリンタ10は、端末装置50にConfirmation (Fail)を送信する(図9のS82)。これにより、端末装置50がG/O機器として動作し、5.0GHz帯が利用されるWFDNW(即ち、プリンタ10が参加不可能なWFDNW)が形成されることが中止される。
次いで、プリンタ10は、端末装置50のMACアドレスをメモリ24に記憶させる(図9のS84)。そして、プリンタ10は、自発的にG/O状態に移行する。この結果、プリンタ10はG/O機器として動作する。そして、プリンタ10は、周波数帯chp(即ち、2.4GHz帯)を利用するWFDNWを形成する。
次いで、プリンタ10は、メモリ24に記憶させた端末装置50のMACアドレスを送信先として、Invitation Requestを送信する(図9のS88)。
端末装置50は、プリンタ10からInvitation Requestを受信すると、プリンタ10にInvitation Response (OK)を送信する。端末装置50は、プリンタ10にInvitation Response (OK)を送信すると、CL状態に移行する。これにより、端末装置50は、CL機器として動作する。
プリンタ10は、端末装置50からInvitation Response (OK)を受信すると(図9のS90)、端末装置50との間でWPSネゴシエーションを実行する(図9のS94)。即ち、プリンタ10は、端末装置50との間で接続用データの無線通信を実行する。
次いで、プリンタ10は、端末装置50と無線接続を確立する(図9のS96)。即ち、プリンタ10は、プリンタ10がG/O機器であるWFDNWに端末装置50をCL機器として参加させる。これにより、プリンタ10及び端末装置50の両方が所属するWFDNWが形成される。
(第2実施例の効果)
上述したように、本実施例では、プリンタ10は、Confirmation (Fail)が送信された後に(図4のS82)、プリンタ10をG/O機器として自発的に動作させて(図4のS86)、2.4GHz帯が利用されるWFDNWを形成する。その後、プリンタ10は、端末装置50にInvitation Requestを送信し、端末装置50をWFDNWに参加させることによって、プリンタ10と端末装置50が含まれるWFDNWを形成することができる。従って、本実施例でも、プリンタ10は、無線通信機器は、適切にWFDNWを形成することができる。
(対応関係)
図9のS78、S80でYESの場合が「第1の場合」の一例である。図9のS80でNOの場合が「第2の場合」の一例である。図9のS78でNOの場合が、「第3の場合」の一例である。
(第3実施例)
第1実施例とは異なる点を中心に説明する。本実施例でも、プリンタ10のCPU22が実行する第2の接続処理の内容が第1実施例とは異なる。即ち、本実施例では、CPU22は、端末装置50にConfirmation (Fail)を送信した後に、外部装置から、G/OネゴシエーションRequestを受信する点が第1実施例とは異なる。
(第2の接続処理;図4、図11)
図4、図11を参照して、本実施例の第2の接続処理について説明する。図4に示すように、本実施例でも、操作部12で所定の無線接続操作が実行されると、CPU22は、第1実施例と同様に、図4のS40〜S54の各処理を実行する。また、CPU22は、S48又はS50でNOの場合には、第1実施例と同様に、S58〜S62の各処理を実行する。
本実施例では、CPU22は、S54で端末装置50のMACアドレスと、端末装置50に設定されているINTENT値Ntをメモリ24に記憶させると、図11のS100に進む点が第1実施例とは異なる。
図11のS100では、CPU22は、G/OネゴシエーションRequestを受信することを監視する。CPU22が、無線LANI/F18を介して、デバイス状態の外部装置からG/OネゴシエーションRequestを受信すると、S100でYESと判断して、S102に進む。
S102では、CPU22は、受信されたG/OネゴシエーションRequestの送信元のMACアドレス(即ち、G/OネゴシエーションRequestに含まれるMACアドレス)と、図4のS54でメモリ24に記憶された端末装置50のMACアドレスとが一致するか否かを判断する。G/OネゴシエーションRequestの送信元のMACアドレスと、メモリ24に記憶させた端末装置50のMACアドレスとが一致する場合、CPU22は、S102でYESと判断し、S104に進む。この場合、G/OネゴシエーションRequestの送信元は端末装置50である。一方、G/OネゴシエーションRequestの送信元のMACアドレスと、メモリ24に記憶させた端末装置50のMACアドレスとが異なる場合、CPU22は、S102でNOと判断し、S114に進む。
S104では、CPU22は、INTENT値Npの値を、メモリ24に記憶されているINTENT値Npの値よりも大きい値に変更する。S104でINTENT値Npの値が変更されたことにより、プリンタ10がG/O状態になることが決定され、端末装置50がCL状態になることが決定される。
S106では、CPU22は、無線LANI/F18を介して、端末装置50にG/OネゴシエーションResponseを送信する。G/OネゴシエーションResponseは、周波数帯chp(即ち、2.4GHz)に関係する関係情報と、変更後のINTENT値Npと、を含む。S106を終えると、S108に進む。
S114、S116、S118、S120の各処理は、図3のS20、S22、S24、S26の各処理と同様であるため、詳しい説明を省略する。S120を終えると、S108に進む。
S108、S110、S112の各処理は、図4のS58、S60、S62の各処理と同様であるため、詳しい説明を省略する。S112を終えると、プリンタ10及び端末装置50の両方が所属しているWFDNWが形成される。S112を終えると、図4及び図11の第2の接続処理が終了する。S104又はS118でINTENT値Npが変更されている場合、S112を終えると、CPU22は、INTENT値Npの値を変更前の値に戻す。
(具体的なケース;ケースB3;図12)
続いて、図12を参照して、本実施例の具体的なケースを説明する。図12のケースB3の初期状態では、プリンタ10にINTENT値Np「2」が設定されており、端末装置50にINTENT値Nt「10」が設定されている。
ケースB3でも、プリンタ10の操作部12において所定の無線接続操作が実行される(図2のS12でYES)。無線接続操作が実行されると、プリンタ10は、Scan、Listen、Searchの各処理を順次実行する(図4のS40)。そして、プリンタ10は、Scan、Listen、Searchによって見つかった機器を示す機器リストを表示部14に表示させる(図4のS42)。ユーザは、操作部12を操作して、機器リストの中からデバイス状態の端末装置50を選択する(図4のS42)。
プリンタ10は、機器リストの中から端末装置50が選択されると、端末装置50にG/OネゴシエーションRequestを送信する(図4のS44)。G/OネゴシエーションRequestは、周波数帯chp「2.4GHz帯」に関係する関係情報と、INTENT値Np「2」とを含む。
端末装置50は、プリンタ10からG/OネゴシエーションRequestを受信すると、プリンタ10にG/OネゴシエーションResponseを送信する。G/OネゴシエーションResponseは、周波数帯cht「5.0GHz帯」に関係する関係情報と、INTENT値Nt「10」と、を含む。
プリンタ10は、端末装置50からG/OネゴシエーションResponseを受信すると(図4のS46)、周波数帯chtが5.0GHz帯であると判断する(図4のS48でYES)。また、プリンタ10は、INTENT値Nt「10」が、INTENT値Np「2」よりも大きいと判断する(図4のS50でYES)。そのため、プリンタ10は、端末装置50にConfirmation (Fail)を送信する(図4のS52)。これにより、端末装置50がG/O機器として動作し、5.0GHz帯が利用されるWFDNW(即ち、プリンタ10が参加不可能なWFDNW)が形成されることが中止される。
次いで、プリンタ10は、端末装置50のMACアドレスと、INTENT値Ntと、をメモリ24に記憶させる(図4のS54)。そして、プリンタ10は、他のデバイスからG/OネゴシエーションRequestを受信することを監視する(図11のS100)。
端末装置50は、プリンタ10からConfirmation (Fail)を受信すると、プリンタ10にG/OネゴシエーションRequestを送信する。例えば、端末装置50が、いわゆるリトライ機能を備える場合には、端末装置50は、プリンタ10からConfirmation (Fail)を受信すると、自動的にプリンタ10にG/OネゴシエーションRequestを送信する。G/OネゴシエーションRequestは、周波数帯cht「5.0GHz」に関係する関係情報と、INTENT値Nt「10」を含む。
プリンタ10は、端末装置50からG/OネゴシエーションRequestを受信すると(図11のS100でYES)、G/OネゴシエーションRequestの送信元のMACアドレスと、メモリ24に記憶させた端末装置50のMACアドレスと、が一致すると判断する(図11のS102でYES)。そして、プリンタ10は、INTENT値Npの値を、INTENT値Ntよりも大きい値である「11」に変更する(図11のS104)。そして、プリンタ10は、端末装置50にG/OネゴシエーションResponseを送信する(図11のS106)。G/OネゴシエーションResponseは、周波数帯chp「2.4GHz帯」に関係する関係情報と、変更後のINTENT値Np「11」と、を含む。
端末装置50は、プリンタ10からG/OネゴシエーションResponseを受信するtp、INTENT値Nt「10」とINTENT値Np「11」とを比較し、プリンタ10がG/O機器であり、端末装置50がCL機器であると決定する。次いで、端末装置50は、プリンタ10にConfirmation (Success)を送信する。Confirmation (Success)は、プリンタ10がG/O機器であることを示す情報を含む。端末装置50は、Confirmation (Success)を送信すると、CL状態に移行する。即ち、端末装置50はCL機器として動作する。
プリンタ10は、端末装置50からConfirmation (Success)を受信する(図11のS108)と、G/O状態に移行し、G/O機器として動作する。そして、プリンタ10は、周波数帯chp(即ち、2.4GHz帯)を利用するWFDNWを形成する。
次いで、プリンタ10は、端末装置50との間でWPSネゴシエーションを実行する(図11のS110)。そして、プリンタ10は、端末装置50と無線接続を確立する(図11のS112)。即ち、プリンタ10は、プリンタ10がG/O機器であるWFDNWに端末装置50をCL機器として参加させる。これにより、プリンタ10及び端末装置50の両方が所属するWFDNWが形成される。
(第3実施例の効果)
上述したように、本実施例では、プリンタ10は、Confirmation (Fail)を送信した後に、他のデバイスからG/OネゴシエーションRequestを受信し(図11のS100でYES)、メモリ24に記憶された端末装置50のMACアドレスとG/OネゴシエーションRequestの送信元のMACアドレスとが一致する場合に(図11のS102でYES)、変更後のINTENT値NpをG/OネゴシエーションResponseを端末装置50に送信することができる(図11のS106)。プリンタ10は、その後、プリンタ10をG/O機器として動作させ、端末装置50をCL機器として動作させて、プリンタ10と端末装置50が含まれるWFDNWであって、5.0GHz帯とは異なる2.4GHz帯が利用されるべきWFDNWを形成する(図11のS112)。従って、本実施例でも、プリンタ10は、適切にWFDNWを形成し得る。
以上、本発明の具体例を詳細に説明したが、これらは例示にすぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には以上に例示した具体例を様々に変形、変更したものが含まれる。上記の実施例の変形例を以下に列挙する。
(変形例1)上記の各ケースでは、プリンタ10のCPU22は、INTENT値Npの値をINTENT値Ntの値より大きい値に変更する場合、INTENT値Ntの値より1だけ大きい値(「11」)に変更している(図5、図8、図12参照)。これに限られず、プリンタ10のCPU22は、INTENT値Npの値をINTENT値Ntの値より大きい値に変更する場合、INTENT値Npを最大値である「15」に変更してもよい。
(変形例2)上記の各実施例では、G/Oになるべき程度を示す指標値として、INTENT値が用いられている。しかしながら、G/Oになるべき程度を示す指標値は、INTENT値に限らず、他の任意の指標値であってもよい。
(変形例3)上記の各実施例では、プリンタ10のCPU22は、周波数帯chtが5.0GHz帯であるか否かの判断(図3のS20、図4のS48、図9のS78)を、INENT値NtがINTENT値Np以上であるか否かの判断(図3のS22、図4のS50、図9のS80)よりも先に行っているが、判断の順番が逆であってもよい。
(変形例4)プリンタ10は、印刷機能のみならず、スキャン機能、FAX機能、電話機能等をさらに備えていてもよい。
(変形例5)上記の各実施例では、プリンタ10のCPU22がプログラム(即ちソフトウェア)を実行することによって、図2〜図12の各処理が実現される。これに代えて、図2〜図12の各処理のうちの少なくとも1つの処理は、論理回路等のハードウェアによって実現されてもよい。
また、本明細書または図面に説明した技術要素は、単独であるいは各種の組合せによって技術的有用性を発揮するものであり、出願時請求項記載の組合せに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。