(第1実施例)
(通信システム2の構成;図1)
図1に示すように、通信システム2は、端末機器100と、複数個のプリンタ200,300,400と、を備える。端末機器100は、AP(Access Pointの略)500との無線接続(以下では「AP接続」と呼ぶ)を確立しており、AP500が親局として動作している無線ネットワーク(以下では「APネットワーク」と呼ぶ)に参加している。また、端末機器100は、WFD(Wi-Fi Direct(登録商標)の略)方式に従って、各プリンタ200〜400との無線接続(以下では「WFD接続」と呼ぶ)を確立可能である。
各機器100〜400は、複数個の無線ネットワークに同時的に所属することができない。なお、以下では、ネットワークのことを「NW」と記載することがある。
(端末機器100の構成)
端末機器100は、デスクトップPC等の据置型の端末機器である。変形例では、端末機器100は、ノートPC、タブレットPC等の可搬型の端末機器であってもよい。端末機器100は、操作部112と、表示部114と、ネットワークインターフェース116と、制御部130と、を備える。操作部112は、キーボード及びマウスを備えており、ユーザの操作を受け付けることによって、様々な指示を端末機器100に与えることができる。表示部114は、様々な情報を表示するためのディスプレイである。以下では、インターフェースのことを「I/F」と記載する。
ネットワークI/F116は、Wi−Fi方式に従った無線通信を実行するためのI/Fである。Wi−Fi方式は、Wi-Fi Allianceによって策定された規格に準拠した無線通信方式であり、例えば、IEEE(The Institute of Electrical and Electronics Engineers, Inc.の略)の802.11の規格、及び、それに準ずる規格(例えば、802.11a,11b,11g,11n等)に基づく無線通信方式である。ネットワークI/F116は、特に、Wi-Fi Allianceによって策定されたWFD方式をサポートしている。WFD方式の詳細は、Wi-Fi Allianceによって作成された「Wi-Fi Peer-to-Peer(P2P) Technical Specification Version1.1」に記述されている。また、米国特許出願公開第2013/0260683号公報にも、WFD方式の詳細が開示されており、当該文献を参照して引用する。
制御部130は、CPU132と、メモリ134と、を備える。CPU132は、メモリ134に格納されているOS(Operating Systemの略)プログラム136に従って、様々な処理を実行する。メモリ134は、ROM、RAM、ハードディスク等によって構成される。
メモリ134は、端末機器100がAP500とのAP接続を確立した実績を有する場合に、無線情報138を格納する。無線情報138は、端末機器100がAP接続を実際に確立した際に利用された情報であり、APNWのSSID、パスワード、AP500のMACアドレス等を含む。
メモリ134は、通信プログラム140を格納し得る。通信プログラム140は、各プリンタ200〜400に他の機器との通信を実行させるためのプログラムであり、プリンタ200等のベンダによって提供されるインターネット上のサーバ(図示省略)から端末機器100にインストールされる。変形例では、通信プログラム140は、プリンタ200等と共に出荷されるメディアから端末機器100にインストールされてもよい。
メモリ134は、通信プログラム140がインストールされる際に、さらに、予め決められている2個のSSID「initial」,「substitute」を格納する。これらの2個のSSIDは、通信プログラム140の実行過程でCPU132によって参照される情報である。SSID「initial」は、WFDNWの形成をプリンタ200等に指示するためのSSIDである。SSID「substitute」は、端末機器100がWFDNWを形成するために利用される情報である。
(プリンタ200〜400の構成)
各プリンタ200〜400は、印刷機能を実行可能な周辺機器(即ち端末機器100等の周辺機器)である。プリンタ200,300は、同じモデル名「X」を有し、プリンタ400は、プリンタ200等とは異なるモデル名「Y」を有する。各プリンタ200〜400は、出荷段階から、同じSSID「initial」を予め格納している。また、プリンタ200には、プリンタ200のネットワークI/F(図示省略)を識別するためのMACアドレス「MACa」と、プリンタ200の製品番号であるシリアル番号「1」と、が割り当てられている。同様に、各プリンタ300,400にも、それぞれ、ユニークなMACアドレス、ユニークなシリアル番号が割り当てられている。
(AP500の構成)
AP500は、無線AP、無線LANルータ等と呼ばれる公知のAPである。AP500は、AP500とのAP接続が確立されている一対の機器、即ち、APNWに所属している一対の子局(例えば、端末機器100及びプリンタ200)の間の通信を中継する。
(端末機器100の処理;図2)
次いで、図2を参照して、通信プログラム140によって実現される処理の内容を説明する。CPU132は、通信プログラム140を端末機器100にインストールするためのインストール操作がユーザによって実行されることをトリガとして、通信プログラム140に従って図2の処理を実行する。図2の処理は、端末機器100内の無線情報138を1個以上のプリンタに送信して、1個以上のプリンタをAPNWに参加させるための処理である。
S10では、CPU132は、端末機器100の周囲に存在する対象プリンタを検索する。対象プリンタは、SSID「initial」によって識別されるWFDNWの親局(即ちG/O(Group Ownerの略)状態の機器)として動作するプリンタである。具体的には、CPU132は、SSID「initial」を含むプローブ要求をブロードキャスト送信する。当該プローブ要求は、WFDNWの形成をプリンタに指示するために送信される。プリンタは、端末機器100からプローブ要求を受信すると、プローブ要求内のSSID「initial」に一致するSSIDを格納しているのか否かを判断し、SSID「initial」を格納している場合に、デバイス状態からG/O状態に移行して、SSID「initial」によって識別されるWFDNW(以下では「NW(initial)」と記載する)を形成する。次いで、CPU132は、SSID「initial」を含むプローブ要求を再びブロードキャスト送信する。当該プローブ要求は、NW(initial)の親局として動作する対象プリンタ、即ち、最初のプローブ要求に応じてNW(initial)を形成した対象プリンタを検索するための信号である。
S12では、CPU132は、S10の検索の結果として複数個の対象プリンタを見つけたのか否かを判断する。具体的には、CPU132は、複数個の対象プリンタから複数個のプローブ応答を受信した場合に、S12でYESと判断し、S14に進み、1個の対象プリンタのみから1個のプローブ要求のみを受信した場合に、S12でNOと判断し、S80に進む。プローブ応答は、送信元の対象プリンタの対象情報を含む。対象情報は、MACアドレス、モデル名、及び、シリアル番号を含む。なお、図示省略しているが、CPU132は、1個のプローブ応答も受信しなかった場合には、図2の処理を終了する。
S14では、CPU132は、個別モード及び一括モードのうちのいずれかのモードをユーザに選択させるための選択画面を表示部114に表示させる。個別モードは、複数個の対象プリンタの中からユーザによって指定される指定プリンタとのWFD接続を確立するためのモードである。一括モードは、複数個の対象プリンタのそれぞれとのWFD接続を確立するためのモードである。CPU132は、選択画面において個別モードが選択される場合に、S16でYESと判断し、S40に進み、選択画面において一括モードが選択される場合に、S16でNOと判断し、S20に進む。
S20では、CPU132は、AP500とのAP接続を切断する。具体的には、CPU132は、AP接続を切断するための切断要求をAP500に送信する。これにより、端末機器100とAP500との間のAP接続が切断され、端末機器100がAPNWから離脱する。端末機器100がAP接続を切断する理由は、以下のとおりである。即ち、端末機器100(即ちネットワークI/F116)は、複数個の無線NWに同時的に所属することができない。そして、端末機器100は、後にWFDNWに所属する必要があるので、AP接続を切断する。なお、端末機器100がAP接続を過去に確立したことがあるが、現在確立していない場合には、S20の処理は省略される。
S22では、CPU132は、SSID「substitute」と、パスワードと、消滅指示と、接続要求指示と、を含むプローブ要求をブロードキャスト送信する。パスワードは、SSID「substitute」によって識別されるWFDNW(以下では「NW(substitute)」と記載する)で利用される情報である。消滅指示は、対象プリンタにNW(initial)を消滅させるための指示である。接続要求指示は、対象プリンタに接続要求(即ちプローブ要求)を送信させるための指示である。なお、変形例では、S22において、プローブ要求は、各対象プリンタにユニキャスト送信されてもよい。ただし、本実施例のように、プローブ要求がブロードキャスト送信されると、プローブ要求の送信のために必要な時間を短縮することができる。
対象プリンタは、端末機器100からS22のプローブ要求を受信すると、G/O状態からデバイス状態に移行してNW(initial)を消滅させ、その後、接続要求を端末機器100に送信する。対象プリンタがNW(initial)を消滅させる理由は以下のとおりである。即ち、対象プリンタは、複数個の無線NWに同時的に所属することができない。そして、対象プリンタは、後にNW(substitute)に参加する必要があるので、NW(initial)を消滅させる。なお、対象プリンタがNW(initial)を消滅させると、当該プリンタは、SSID「initial」によって識別されるWFDNWの親局として動作していないので、もはや「対象プリンタ」ではなくなる。ただし、以下では、S10の検索の結果として見つかったプリンタのことを、引き続き「対象プリンタ」と呼ぶ。
S24では、CPU132は、端末機器100の動作状態を、デバイス状態からG/O状態に移行させて、SSID「substitute」によって識別されるNW(substitute)を新たに形成する。NW(substitute)は、端末機器100と複数個の対象プリンタとのそれぞれが所属すべきNWである。
S26では、CPU132は、複数個の対象プリンタのうちの1個の対象プリンタから、SSID「substitute」を含むプローブ要求を受信し、プローブ応答を当該1個の対象プリンタに送信する。そして、CPU132は、様々な信号の通信を当該1個の対象プリンタと実行して、当該1個の対象プリンタとのWFD接続を確立する。当該様々な信号は、例えば、Authentication信号、Association信号、4-way handshake等を含む。同様に、CPU132は、残りの各対象プリンタとのWFD接続を確立する。これにより、CPU132は、複数個の対象プリンタのそれぞれとのWFD接続を確立して、複数個の対象プリンタのそれぞれをNW(substitute)に子局として参加させることができる。当該子局は、WFD方式のCL(Clientの略)状態の機器である。S26の処理の結果として、CPU132は、複数個の対象プリンタの全てがNW(substitute)に子局として参加している状態を構築することができる。
S28では、CPU132は、NW(substitute)を利用して、無線情報138を複数個の対象プリンタのそれぞれに送信する。この結果、複数個の対象プリンタのそれぞれは、無線情報138を利用して、AP500とのAP接続を確立して、APNWに参加することができる。
S30では、CPU132は、端末機器100の動作状態をG/O状態からデバイス状態に移行させて、NW(substitute)を消滅させる。これにより、CPU132は、複数個の対象プリンタのそれぞれとのWFD接続を切断する。端末機器100がWFD接続を切断する理由は、以下のとおりである。即ち、端末機器100(即ちネットワークI/F116)は、複数個の無線NWに同時的に所属することができない。そして、CPU132は、後にAPNWに参加する必要があるので、WFD接続を切断する。換言すると、端末機器100は、WFD接続を切断することによって、APNWに参加することができる。
次いで、S92では、CPU132は、無線情報138を利用して、AP500とのAP接続を確立して、APNWに参加する。具体的には、CPU132は、無線情報138に含まれるSSIDを含むプローブ要求をAP500に送信し、さらに、Authentication信号、Association信号、4-way handshake等の通信を実行する。これにより、端末機器100と複数個の対象プリンタとがAPNWに参加している状態が構築される。この結果、図示していないが、CPU132は、AP500を介して、APNWに所属している複数個の対象プリンタとの無線通信を実行することができる。例えば、CPU132は、AP500を介して、画像ファイルを複数個の対象プリンタのうちのいずれかの対象プリンタに送信して、画像ファイルによって表わされる画像の印刷を当該対象プリンタに実行させることができる。S92が終了すると、図2の処理が終了する。
また、S16で個別モードが選択されたと判断される場合(S16でYES)には、S40において、CPU132は、複数個の対象プリンタの中から1個以上のプリンタをユーザに指定させるための指定画面を表示部114に表示させる。以下では、ここで指定されるプリンタのことを「指定プリンタ」と呼ぶ。指定画面は、S12で受信された複数個のプローブ応答に含まれる複数個の対象情報を含む。即ち、各対象情報に含まれるMACアドレス、モデル名、及び、シリアル番号が対応付けられた状態で、指定画面が表示される。ユーザは、指定画面において、1個以上の対象情報を指定することによって、1個以上の指定プリンタを指定することができる。
S42では、CPU132は、2個以上の指定プリンタがユーザによって指定されたのか否かを判断する。CPU132は、2個以上の指定プリンタが指定された場合に、S42でYESと判断し、S50に進み、1個の指定プリンタのみが指定された場合に、S42でNOと判断し、S80に進む。
S50は、S20と同様である。S52では、CPU132は、SSID「substitute」と、パスワードと、消滅指示と、接続要求指示と、2個以上の送信先MACアドレスと、を含むプローブ要求をブロードキャスト送信する。2個以上の送信先MACアドレスのそれぞれは、指定プリンタのMACアドレスである。指定プリンタは、端末機器100からS52のプローブ要求を受信すると、指定プリンタに格納されているMACアドレスに一致するMACアドレスが、2個以上の送信先MACアドレスに含まれると判断する。そして、指定プリンタは、G/O状態からデバイス状態に移行してNW(initial)を消滅させ、接続要求を端末機器100に送信する。指定プリンタがNW(initial)を消滅させる理由は、S22の説明で述べた理由と同様である。一方、未指定プリンタは、端末機器100からS52のプローブ要求を受信すると、未指定プリンタに格納されているMACアドレスに一致するMACアドレスが、2個以上の送信先MACアドレスに含まれないと判断する。そして、未指定プリンタは、G/O状態からデバイス状態に移行してNW(initial)を消滅させる。この結果、未指定プリンタは、NW(initial)から離脱するので、別の無線NWに所属可能な状態になる。なお、未指定プリンタは、接続要求を端末機器100に送信しない。
S56は、S24と同様である。S58,S60は、処理の対象が、複数個の対象プリンタに代えて2個以上の指定プリンタであることを除いて、S26,S28と同様である。これにより、CPU132は、2個以上の指定プリンタのそれぞれとのWFD接続を確立して、2個以上の指定プリンタのそれぞれをNW(substitute)に子局として参加させることができる。即ち、2個以上の指定プリンタの全てがNW(substitute)に子局として参加している状態を構築することができる。S62は、S30と同様であり、その後のS92は、上述したとおりである。これにより、端末機器100と2個以上の指定プリンタとがAPNWに参加している状態が構築される。
上述したように、S10の検索の結果として1個の対象プリンタのみが見つかった場合(S12でNO)には、S80に進む。また、S42で1個の指定プリンタのみが指定されたと判断される場合(S42でNO)にも、S80に進む。以下では、上記の1個の対象プリンタと1個の指定プリンタのことを、まとめて、「1個のプリンタ」と呼ぶ。S80は、S20と同様である。S82では、CPU132は、プローブ要求を1個のプリンタにユニキャスト送信する。当該プローブ要求は、送信先MACアドレスとして1個のプリンタのMACアドレスを含む。そして、CPU132は、1個のプリンタからプローブ応答を受信する。
S84では、CPU132は、端末機器100の動作状態をデバイス状態からCL状態に移行させる。
S86では、CPU132は、様々な信号の通信を1個のプリンタと実行して、1個のプリンタとのWFD接続を確立する。当該様々な信号は、例えば、Authentication信号、Association信号、4-way handshake等を含む。そして、CPU132は、1個のプリンタとのWFD接続を確立して、端末機器100をNW(initial)に子局として参加させる。
S88では、CPU132は、NW(initial)を利用して、無線情報138を1個のプリンタに送信する。この結果、1個のプリンタは、無線情報138を利用して、AP500とのAP接続を確立して、APNWに参加することができる。
S90では、CPU132は、端末機器100の動作状態をCL状態からデバイス状態に移行させて、1個のプリンタとのWFD接続を切断する。その後のS92は、上述したとおりである。これにより、端末機器100と1個のプリンタとがAPNWに参加している状態が構築される。
(具体的なケース;図3〜図6)
続いて、図3〜図6を参照して、CPU132が図2の処理を実行することによって実現される具体的なケースを説明する。各ケースの初期状態では、端末機器100は、AP500とのAP接続を確立している。
(ケースA;図3)
ケースAでは、プリンタ200は、端末機器100の周囲に存在するが、プリンタ300,400は、端末機器100から遠く離れた位置に存在する。この結果、対象プリンタの検索の結果として1個のプリンタ200のみが見つかる。
T10では、ユーザは、インストール操作を端末機器100に実行する(図2のトリガ)。T12では、端末機器100は、SSID「initial」を含むプローブ要求をブロードキャスト送信する(S10)。
プリンタ200は、T12のプローブ要求を端末機器100から受信すると、T14において、G/O状態に移行して、NW(initial)を形成する。プリンタ300,400は、端末機器100の周囲に存在しないので、T12のプローブ要求を受信しない。
T20では、端末機器100は、SSID「initial」を含むプローブ要求を再びブロードキャスト送信する(S10)。
プリンタ200は、T20のプローブ要求を受信すると、T22において、MACaと、モデル名「X」と、シリアル番号「1」と、を含むプローブ応答を端末機器100に送信する。
端末機器100は、1個のプリンタ200のみからプローブ応答を受信する場合(S12でNO)、即ち、1個の対象プリンタ200のみが見つかる場合に、T30において、切断要求をAP500に送信して、AP500とのAP接続を切断する(S80)。そして、端末機器100は、T40において、送信先MACアドレスとしてMACaを含むプローブ要求をプリンタ200にユニキャスト送信し(S82)、T42において、プリンタ200からプローブ応答を受信し(S84)、T43において、デバイス状態からCL状態に移行し、T44において、プリンタ200とのWFD接続を確立する(S86)。これにより、端末機器100は、NW(initial)に子局(即ちCL状態)として参加することができる。
次いで、T50では、端末機器100は、NW(initial)を利用して、無線情報138をプリンタ200に送信する(S88)。端末機器100は、プリンタ200への無線情報138の送信が完了すると、T52において、CL状態からデバイス状態に移行して、プリンタ200とのWFD接続を切断する(S90)。
プリンタ200は、端末機器100から無線情報138を受信すると、T54において、G/O状態からデバイス状態に移行してNW(initial)を消滅させ、T56において、無線情報138を利用して、AP500とのAP接続を確立する。
T58では、端末機器100は、無線情報138を利用して、AP500とのAP接続を確立する(S92)。これにより、端末機器100は、AP500を介して、プリンタ200との無線通信(例えば画像ファイルの無線通信)を実行することができる。
上述したように、ケースAでは、端末機器100は、対象プリンタの検索の結果として1個のプリンタ200のみが見つかる場合に、プリンタ200が親局として動作するNW(initial)に子局として参加する(T44)。そして、端末機器100は、NW(initial)を利用して、無線情報138をプリンタ200に送信する(T50)。これにより、端末機器100は、APNWにプリンタ200を参加させることができる(T56)。ユーザは、通信プログラム140を端末機器100にインストールすれば、プリンタ200をAPNWに参加させるための他の作業(例えば無線情報138を直接的にプリンタ200に入力する作業)を実行せずに済むので、プリンタ200をAPNWに容易に参加させることができる。このために、ユーザの利便性を向上させることができる。
1個のプリンタ200のみが見つかる場合に、端末機器100が、プリンタ200にNW(initial)を消滅させて、NW(substitute)を新たに形成する第1の比較例の構成を採用することが考えられる。この構成でも、端末機器100は、プリンタ200を子局としてNW(substitute)に参加させれば、NW(substitute)を利用して、無線情報138をプリンタ200に送信することができる。ただし、この構成では、プリンタ200は、G/O状態からデバイス状態に移行してNW(initial)を消滅させ、その後、デバイス状態からCL状態に移行してNW(substitute)に参加する。即ち、プリンタ200は、2回の状態移行を実行しなければならない。これに対し、本実施例では、プリンタ200は、状態移行を実行せずに済む。従って、プリンタ200の処理負荷を軽減することができ、この結果、無線情報138をプリンタ200に送信するのに必要な時間を短縮し得る。
(ケースB;図4)
ケースBでは、プリンタ200〜400が端末機器100の周囲に存在するので、対象プリンタの検索の結果として3個のプリンタ200〜400が見つかる。図4のT110〜T114は、それぞれ、図3のT10〜T14と同様である。
プリンタ300は、T112のプローブ要求を端末機器100から受信すると、T116において、G/O状態に移行して、NW(initial)を形成する。プリンタ400は、T112のプローブ要求を端末機器100から受信すると、T118において、G/O状態に移行して、NW(initial)を形成する。
T120,T122は、それぞれ、図3のT20,T22と同様である。プリンタ300は、T120のプローブ要求を受信すると、T124において、MACbと、モデル名「X」と、シリアル番号「2」と、を含むプローブ応答を端末機器100に送信する。プリンタ400は、T120のプローブ要求を受信すると、T126において、MACcと、モデル名「Y」と、シリアル番号「3」と、を含むプローブ応答を端末機器100に送信する。
端末機器100は、3個のプリンタ200〜400からプローブ応答を受信する場合、即ち、3個の対象プリンタが見つかる場合(図2のS12でYES)に、T130において、選択画面を表示する(S14)。選択画面は、個別モードを示すボタンと、一括モードを示すボタンと、を含む。
(ケースB1;図5)
図5のケースB1では、図4のT130の選択画面において、一括モードを示すボタンが選択される(T220;図2のS16でNO)。T230は、図3のT30と同様である。T240では、端末機器100は、SSID「substitute」と、パスワードと、消滅指示と、接続要求指示と、を含むプローブ要求をブロードキャスト送信する(S22)。T242では、端末機器100は、デバイス状態からG/O状態に移行して、NW(substitute)を形成する(S24)。
T244〜T248では、プリンタ200〜400のそれぞれは、T240のプローブ要求を端末機器100から受信すると、G/O状態からデバイス状態に移行して、NW(initial)を消滅させる。
端末機器100は、T250において、SSID「substitute」を含むプローブ要求をプリンタ200から受信し、T254において、プローブ応答をプリンタ200に送信し、T256において、プリンタ200とのWFD接続を確立する(S26)。これにより、端末機器100は、プリンタ200をNW(substitute)に子局として参加させる。また、端末機器100は、T250〜T256と同様の処理をプリンタ300,400のそれぞれと実行して、プリンタ300,400のそれぞれとのWFD接続を確立する(S26)。これにより、端末機器100は、プリンタ300,400のそれぞれをNW(substitute)に子局として参加させる。
T260では、端末機器100は、NW(substitute)を利用して、無線情報138をプリンタ200〜400のそれぞれに送信する(S28)。端末機器100は、プリンタ200〜400の全てへの無線情報138の送信が完了すると、T262において、G/O状態からデバイス状態に移行して、NW(substitute)を消滅させる(S30)。これにより、端末機器100は、複数の対象プリンタのそれぞれとのWFD接続を切断する。
プリンタ200〜400のそれぞれは、端末機器100から無線情報138を受信すると、T264において、CL状態からデバイス状態に移行して、T266において、無線情報138を利用して、AP500とのAP接続を確立する。
T270は、図3のT58と同様である。これにより、端末機器100は、AP500を介して、プリンタ200〜400のそれぞれとの無線通信を実行することができる。
上述したように、端末機器100は、3個のプリンタ200〜400が見つかる場合(図4のT112,T120〜T126)に、NW(substitute)を新たに形成し(図5のT242)、3個のプリンタ200〜400のそれぞれとのWFD接続を確立して、3個のプリンタ200〜400のそれぞれをNW(substitute)に子局として参加させる(T256)。そして、端末機器100は、NW(substitute)を利用して、無線情報138を3個のプリンタ200〜400のそれぞれに送信する(T260)。この結果、3個のプリンタ200〜400のそれぞれは、APNWに参加することができる(T266)。ユーザは、通信プログラム140を端末機器100にインストールすれば、3個のプリンタ200〜400のそれぞれをAPNWに容易に参加させることができる。
3個のプリンタ200〜400が見つかる場合に、端末機器100が、3個のプリンタ200〜400によって形成されている3個のNW(initial)のそれぞれに子局として参加する第2の比較例の構成を採用することが考えられる。ただし、端末機器100は、複数個の無線NWに同時的に所属することができない。従って、端末機器100は、まず、1個のプリンタ(例えば200)とのWFD接続を確立して当該1個のプリンタによって形成されているNW(initial)に参加し、無線情報138を当該1個のプリンタに送信し、当該1個のプリンタとのWFD接続を切断する。その後、端末機器100は、他の1個のプリンタ(例えば300)について、同様の処理を実行し、その後、最後の1個のプリンタ(例えば400)について、同様の処理を実行する。この構成では、端末機器100は、まず、デバイス状態からCL状態に移行して第1のNW(initial)に参加し、その後、CL状態からデバイス状態に移行する。そして、端末機器100は、デバイス状態からCL状態に移行して第2のNW(initial)に参加し、その後、CL状態からデバイス状態に移行する。さらに、端末機器100は、デバイス状態からCL状態に移行して第3のNW(initial)に参加する。このように、端末機器100は、5回の状態移行を実行する必要がある。これに対し、本実施例によると、端末機器100は、デバイス状態からG/O状態への1回の状態移行(T242)を実行すればよい。従って、端末機器100の処理負荷を軽減することができ、この結果、無線情報138をプリンタ200〜400に送信するのに必要な時間を短縮し得る。
なお、本実施例では、端末機器100の処理負荷とプリンタの処理負荷とのうち、端末機器100の処理負荷を優先的に軽減させることを目的としている。その理由は、以下のとおりである。即ち、ユーザは、本実施例の処理とは異なる様々な処理(例えばデータの演算処理)を端末機器100に実行させ得る。そのため、端末機器100の処理負荷を軽減させる必要性が高い。従って、図5のケースB1に示されるように、端末機器100の状態移行に起因する処理負荷を軽減させている。また、図3のケースAでは、端末機器100の状態移行の回数は、第1の比較例の構成における端末機器100の状態移行の回数と変わらない。このために、プリンタ200の状態移行に起因する処理負荷を軽減させることを目的としている。
(ケースB2;図6)
図6のケースB2では、図4のT130の選択画面において、個別モードを示すボタンが選択される(T308;図2のS16でYES)。T310では、端末機器100は、指定画面を表示する(S40)。指定画面では、各プリンタ200〜400の対象情報(例えば、MACa、モデル名「X」、及び、シリアル番号「1」)が対応付けて表示される。T312では、ユーザは、指定画面において、2個のプリンタ200,300に対応する2個の対象情報を指定する(S42でYES)。
T330では、図3のT30と同様である。T340では、端末機器100は、SSID「substitute」と、パスワードと、消滅指示と、接続要求指示と、MACaと、MACbと、を含むプローブ要求をブロードキャスト送信する(S52)。
T346〜T366は、それぞれ、図5のT242〜T256と同様である。これにより、端末機器100は、プリンタ200,300のそれぞれをNW(substitute)に子局として参加させる。T370では、端末機器100は、NW(substitute)を利用して、無線情報138をプリンタ200,300のそれぞれに送信する(S60)。T372〜T380は、それぞれ、図5のT262〜T270と同様である。
ケースB2では、ユーザは、個別モードを選択し、2個以上のプリンタ200,300を指定する(図6のT308,T312)。端末機器100は、ユーザによって指定される各プリンタ200,300とのWFD接続を確立して(T366)、各プリンタ200,300をAPNWに参加させることができる(T376)。このように、端末機器100は、ユーザの意図に応じた各プリンタ200,300をAPNWに参加させることができる。また、ケースB2によると、ケースB1と同様に、端末機器100の処理負荷を軽減することができ、この結果、無線情報138をプリンタ200,300に送信するのに必要な時間を短縮し得る。
なお、仮に、T312において、1個のプリンタ(例えば200)のみが指定される場合には、図3のT30〜T58と同様の処理が実行される。この場合、図3のケースAと同様に、プリンタ200の処理負荷を軽減することができる。
上述したように、本実施例では、端末機器100は、1個のプリンタ200のみとのWFD接続を確立すべき場合(ケースA)と、複数個のプリンタ200〜400とのWFD接続を確立すべき場合(ケースB)と、のいずれの場合であっても、端末機器100又は接続対象のプリンタの処理負荷が高くなるのを抑制しながら、接続対象のプリンタとのWFD接続を適切に確立することができる。
(対応関係)
端末機器100、ケースAのプリンタ200、AP500が、それぞれ、「通信機器」、「1個対象機器」、「特定のアクセスポイント」の一例である。ケースB1,B2のプリンタ200〜400が、「複数個の対象機器」の一例である。プリンタ200が、「1個の指定機器」の一例である。ケースB2のプリンタ200,300が、「2個以上の指定機器」の一例である。SSID「initial」が、「予め決められている識別子」の一例である。NW(initial)、NW(substitute)が、それぞれ、「第1の無線ネットワーク」、「第2の無線ネットワーク」の一例である。デバイス状態、G/O状態が、それぞれ、「無所属状態」、「親局状態」の一例である。個別モード、一括モードが、それぞれ、「第1のモード」、「第2のモード」の一例である。図5のT240のプローブ要求、T250のプローブ要求が、それぞれ、「第1の信号」、「接続要求」の一例である。
(第2実施例)
本実施例では、ネットワークI/F116は、WFD方式をサポートしておらず、SoftAP方式をサポートしている。そのために、本実施例では、第1実施例とは異なり、端末機器100は、G/O状態に移行せず、NW(substitute)を形成しない。そして、端末機器100は、SoftAPを起動して、無線NW(以下では「SoftAPNW」と呼ぶ)を形成する。なお、端末機器100は、WFDに従った動作を実行することなく、NW(initial)に子局(即ちレガシー)として参加することができる。
(端末機器100の処理;図7)
本実施例では、図2の処理に代えて、図7の処理が実行される。S110〜S120は、それぞれ、図2のS10〜S20と同様である。S122では、CPU132は、SoftAPを起動して、メモリ134内のSSID「substitute」を利用して、SSID「substitute」によって識別されるSoftAPNWを形成する。
S124では、CPU132は、複数個の対象プリンタのうちの1個の対象プリンタにプローブ要求をユニキャスト送信する。プローブ要求は、消滅指示と、WPS(Wi-Fi Protected Setupの略)実行指示と、1個の対象プリンタのMACアドレスと、を含む。WPS実行指示は、WPSに従った動作を送信先に実行させるための指示である。1個の対象プリンタは、端末機器100からプローブ要求を受信すると、WPSに従った動作を実行する。WPSに従った動作は、WPSに従った接続処理を実行中である状態に移行する動作である。例えば、対象プリンタがWPSのプッシュボタン方式(以下では「PBC(Push Button Configuration)の略」と呼ぶ)をサポートしている場合では、WPSに従った動作は、対象プリンタのMIB(Management information Baseの略)の値を、PBCの待ち受け状態を示す値に設定する動作である。なお、PBCの待ち受け状態は、プッシュボタンが押下された状態と同じ状態である。
S126では、CPU132は、WPSに従った動作を実行して、SoftAPNWで利用される無線情報を1個の対象プリンタに送信する。そして、CPU132は、1個の対象プリンタと様々な信号の通信を実行して、WPSに従って、1個の対象プリンタとの無線接続(以下では「SoftAP接続」と呼ぶ)を確立する。当該様々な信号は、例えば、プローブ信号、Authentication信号、Association信号、4-way handshake等を含む。これにより、CPU132は、1個の対象プリンタをSoftAPNWに子局として参加させる。
S128では、CPU132は、SoftAPNWを利用して、1個の対象プリンタに無線情報138を送信する。1個の対象プリンタは、SoftAPNWを利用して、端末機器100から無線情報138を受信すると、無線情報138を利用して、AP500とのAP接続を確立して、APNWに参加する。
S130では、CPU132は、複数個の対象プリンタの全てに無線情報138を送信したのか否かを判断する。CPU132は、複数個の対象プリンタの全てに無線情報138を送信した場合(S130でYES)に、S132に進む。一方、CPU132は、複数個の対象プリンタの全てに無線情報138を送信していない場合(S130でNO)に、S124に戻り、他の対象プリンタについてS124〜S128の処理を実行する。
S132では、CPU132は、SoftAPを終了して、SoftAPNWを消滅させる。これにより、CPU132は、複数個の対象プリンタのそれぞれとのSoftAP接続を切断する。S140〜S150は、図2のS40〜S50と同様である。S152は、S122と同様である。
S153では、CPU132は、複数個の対象プリンタのうち、S140の指定画面で指定さなかった1個以上の未指定プリンタのそれぞれに、消滅指示をユニキャスト送信する。当該消滅指示は、送信先MACアドレスとして未指定プリンタのMACアドレスを含む。未指定プリンタは、端末機器100からS153の消滅指示を受信すると、G/O状態からデバイス状態に移行してNW(initial)を消滅させる。この結果、未指定プリンタは、NW(initial)から離脱するので、別の無線NWに所属可能な状態になる。S154〜S160は、処理の対象が、対象プリンタに代えて指定プリンタであることを除いて、それぞれ、S124〜S130と同様である。S162は、S132と同様である。S180〜S192は、図2のS80〜S92と同様である。S192が終了すると、図7の処理が終了する。
(ケースC;図8)
続いて、図8を参照して、図7の処理によって実現される具体的なケースCを説明する。ケースCでは、対象プリンタの検索の結果として3個のプリンタ200〜400が見つかる。そして、図4のT130の選択画面において、一括モードを示すボタンが選択される(T420;図7のS116でNO)。
図8のT430は、図5のT230と同様である。T432では、端末機器100は、SoftAPを起動して、SoftAPNWを形成する(S122)。T440では、端末機器100は、消滅指示と、WPS実行指示と、MACaと、を含むプローブ要求をプリンタ200に送信する(S124)。
プリンタ200は、T440のプローブ要求を端末機器100から受信すると、T444において、G/O状態からデバイス状態に移行して、NW(initial)を消滅させる。
T446,T448では、端末機器100及びプリンタ200は、WPSに従った動作を実行する(S126)。そして、端末機器100は、T460において、プリンタ200からプローブ要求を受信し、T462において、プローブ応答をプリンタ200に送信する。端末機器100は、T464において、プリンタ200と様々な信号の通信を実行して、プリンタ200とのSoftAP接続を確立し(S126)、T466において、SoftAPNWを利用して、無線情報138をプリンタ200に送信する(S128)。この結果、T468では、プリンタ200は、無線情報138を利用して、AP500とのAP接続を確立する。
T480では、端末機器100は、消滅指示と、WPS実行指示と、MACbと、を含むプローブ要求をプリンタ300に送信する(S124)。そして、端末機器100は、T444,T448〜T466と同様の処理をプリンタ300と実行する。この結果、T482では、プリンタ300は、無線情報138を利用して、AP500とのAP接続を確立する。
T490では、端末機器100は、消滅指示と、WPS実行指示と、MACcと、を含むプローブ要求をプリンタ400に送信する(図7のS124)。そして、端末機器100は、T444,T448〜T466と同様の処理をプリンタ400と実行する。この結果、T492では、端末機器100は、無線情報138を利用して、AP500とのAP接続を確立する。
T494では、端末機器100は、SoftAPを終了して、SoftAPNWを消滅させる(S132)。T496は、図5のT270と同様である。
ケースCでも、図5のケースB1と同様の効果を奏することができる。また、ケースCでは、ケースB1とは異なり、プリンタ200は、端末機器100とプリンタ300との間の無線接続が確立される前に、AP500とのAP接続を確立することができる。プリンタ300は、端末機器100とプリンタ400との間の無線接続が確立される前に、AP500とのAP接続を確立することができる。即ち、各プリンタ200,300は、AP接続を迅速に確立し得る。本実施例では、SoftAPが起動されている状態が、「親局状態」の一例である。T440,T480,T490のプローブ要求が、「第2の信号」の一例である。
(第3実施例)
本実施例のネットワークI/F116は、第1実施例のネットワークI/F116と同様である。ただし、本実施例では、端末機器100は、図2のS26,S58において、対象プリンタからプローブ要求を受信することに代えて、Invitation要求を対象プリンタに送信する。Invitation要求は、送信先をNW(substitute)に子局として参加させるための招待信号である。
(ケースD;図9)
続いて、図9を参照して、具体的なケースDを説明する。ケースDの初期状態では、端末機器100は、AP500とのAP接続を確立している。ケースDでは、対象プリンタの検索の結果として3個のプリンタ200〜400が見つかる。そして、図4のT130の選択画面において、一括モードを示すボタンが選択される(T520)。
T530は、それぞれ、図5のT230と同様である。T540では、端末機器100は、SSID「substitute」と、消滅指示と、を含むプローブ要求をブロードキャスト送信する。T542〜T548は、それぞれ、図5のT242〜T248と同様である。
端末機器100は、T550において、Invitation要求をプリンタ200に送信し、T554において、プリンタ200からInvitation応答を受信する。T556では、端末機器100は、プリンタ200と様々な信号の通信を実行して、プリンタ200とのWFD接続を確立する。当該様々な信号は、例えば、Authentication信号、Association信号、4-way handshake等を含む。これにより、端末機器100は、プリンタ200をNW(substitute)に子局として参加させることができる。T560では、端末機器100は、無線情報138をプリンタ300に送信する。T561,T562は、図8のT467,T468と同様である。
端末機器100は、T550〜T560と同様の処理をプリンタ300と実行して、プリンタ300とのWFD接続を確立し、NW(substitute)を利用して、無線情報138をプリンタ300に送信する。T571,T572は、それぞれ、図8のT481,T482と同様である。
端末機器100は、T550〜T560と同様の処理をプリンタ400と実行して、プリンタ400とのWFD接続を確立し、NW(substitute)を利用して、無線情報138をプリンタ400に送信する。T581,582は、図8のT491,492と同様である。T590,T592は、それぞれ、図5のT262,T270と同様である。本実施例でも、図5のケースB1と同様の効果を奏することができる。
以上、本発明の具体例を詳細に説明したが、これらは例示にすぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には以上に例示した具体例を様々に変形、変更したものが含まれる。上記の実施例の変形例を以下に列挙する。
(変形例1)各プリンタは、WFD方式をサポートしていなくてもよく、その代わりに、SoftAPをサポートしていてもよい。例えば、プリンタ200は、図3のT14において、SoftAPを起動して、SoftAPNWを形成してもよい。プリンタ200は、SoftAPを起動することによって形成されるSoftAPNWに端末機器100を子局として所属させ、SoftAPNWを利用して、端末機器100から無線情報138を受信してもよい。即ち、「第1の無線ネットワーク」は、SoftAPNWであってもよい。
(変形例2)CPU132は、無線情報138をプリンタに送信しなくてもよい。即ち、例えば、第1実施例では、図2のS28,S60,S88は省略可能である。これらに代えて、CPU132は、WFDNWを利用して、無線情報138とは異なる情報の通信をプリンタと実行してもよい。例えば、CPU132は、WFDNWを利用して、画像ファイルをプリンタに送信してもよい。また、CPU132は、複数個のプリンタのそれぞれとのWFD接続を確立している場合には、WFDNWを利用して、当該複数個のプリンタのうちの1個のプリンタから、印刷機能の設定(例えば、用紙サイズ等)を示す設定情報を受信してもよい。そして、CPU132は、WFDNWを利用して、設定情報を他の1個以上のプリンタに送信してもよい。即ち、「第1の無線情報送信部」及び「第2の無線情報送信部」は、省略可能である。
(変形例3)CPU132は、無線接続を確立済みのプリンタに無線情報138を送信した後に、無線接続を維持してもよい。即ち、「消滅部」は、省略可能である。
(変形例4)CPU132は、選択画面を表示せずに、複数個の対象プリンタとの無線接続を確立してもよい。即ち、CPU132は、図2のS12でYESと判断する場合に、S14及びS16を実行せずに、S20に進んでもよい。即ち、「表示制御部」及び「第3の確立部」は、省略可能である。
(変形例5)上記の各実施例では、CPU132は、消滅指示を含むプローブ要求を送信した後に、複数個の対象プリンタのそれぞれとの無線接続を確立している(図2のS22等)。しかし、各対象プリンタが複数個のネットワークインターフェースを備えている場合に、当該プローブ要求は、消滅指示を含んでいなくてもよい。この場合、各対象プリンタは、1個のネットワークインターフェースを利用して、NW(initial)を形成している状態で、端末機器100との無線接続を確立して、他の1個のネットワークインターフェースを利用して、端末機器100が親局として動作する無線NWに所属する。即ち、「指示送信部」は、省略可能である。
(変形例6)例えば、対象プリンタは、SSID「initial」を含むプローブ要求を端末機器100から受信する場合に、ランダムな文字列からなるSSIDを生成して、当該SSIDによって識別されるWFDNWを形成してもよい。そして、対象プリンタは、対象プリンタが検索対象であることを示す検索情報を含むプローブ応答を端末機器100に送信してもよい。端末機器100は、プローブ応答が検索情報を含む場合に、プローブ応答の送信元が対象プリンタであると判断してもよい。即ち、「第1の無線ネットワーク」は、「予め決められている識別子」によって識別されるものでなくてもよい。
(変形例7)「対象機器」は、印刷機能を実行可能なプリンタに限られず、スキャン機能を実行可能なスキャナであってもよいし、印刷機能及びスキャン機能とは異なる機能(例えば、画像の表示機能、データの演算機能)を実行する機器(例えば、PC、サーバ、携帯端末(携帯電話、スマートフォン、PDA等))であってもよい。即ち、「対象機器」は、通信機器との無線接続を確立可能なあらゆる機器を含む。
(変形例8)上記の各実施例では、図2、図7、及び、図9の各処理がソフトウェア(即ちプログラム136)によって実現されるが、図2、図7、及び、図9の各処理のうちの少なくとも1つが論理回路等のハードウェアによって実現されてもよい。
また、本明細書または図面に説明した技術要素は、単独であるいは各種の組合せによって技術的有用性を発揮するものであり、出願時請求項記載の組合せに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。