説明

無線通信装置

【課題】 無線通信装置と外部装置との間で無線接続を適切に確立させるための技術を提供すること。
【解決手段】 プリンタ10は、P2P情報を含むProbe Response信号を受信する場合に、G/Oネゴシエーションを実行して、プリンタ10がG/O状態及びクライアント状態のうちのどちらの状態で動作すべきかを決定する(S24)。また、プリンタ10は、P2P情報を含まないProbe Request信号を受信する場合に、プリンタ10がG/O状態で動作すべきと決定する(S30)。プリンタ10は、G/O状態で動作する場合に、無線プロファイルをPCに送信し、PCとの間で当該無線プロファイルを利用して無線接続を確立し(S24)、クライアント状態として動作する場合に、無線プロファイルをPCから受信し、PCとの間で当該無線プロファイルを利用して無線接続を確立する(S26)。

【発明の詳細な説明】
【技術分野】
【0001】
本明細書によって開示される技術は、無線通信装置に関する。
【背景技術】
【0002】
非特許文献1には、Wi−Fi Allianceによって策定されたWi−Fi Direct(以下では「WFD」と呼ぶ)について記載されている。WFDの無線ネットワークは、Group Ownerとして動作する1個の機器(以下では「G/O機器」と呼ぶ)と、G/O機器によって管理されるクライアントとして動作する1個以上の機器(以下では「クライント機器」と呼ぶ)と、によって構成される。非特許文献1には、一対の機器の間でWFDに従った無線接続が確立されるべき場合に、一対の機器のそれぞれがG/O及びクライアントのどちらで動作すべきかを決定することが記載されている。
【先行技術文献】
【非特許文献】
【0003】
【非特許文献1】「Wi−Fi Peer−to−Peer(P2P) Technical Specification Version1.1」、Wi−Fi Alliance、2010年
【発明の概要】
【発明が解決しようとする課題】
【0004】
本明細書では、無線通信装置と外部装置との間で無線接続を適切に確立させるための技術を提供する。
【課題を解決するための手段】
【0005】
本明細書によって開示される無線通信装置は、無線ネットワークの親局として機能する親局状態と、無線ネットワークの子局として機能する子局状態と、を含む複数の状態のうちのいずれかの状態で選択的に動作可能である。無線通信装置は、通信制御部と、状態決定部と、確立制御部と、を備える。通信制御部は、外部から信号を受信する。状態決定部は、通信制御部が所定の情報を含む第1種の信号を受信する場合に、無線通信装置が親局状態及び子局状態のうちのどちらの状態で動作すべきかを決定し、通信制御部が所定の情報を含まない第2種の信号を受信する場合に、無線通信装置が親局状態で動作すべきと決定する。確立制御部は、無線通信装置が親局状態で動作すべきと決定される場合に、第1の無線プロファイルを第1の外部装置に送信して、第1の外部装置との間で第1の無線プロファイルを利用して無線接続を確立し、無線通信装置が子局状態として動作すべきと決定される場合に、第2の無線プロファイルを第2の外部装置から受信して、第2の外部装置との間で第2の無線プロファイルを利用して無線接続を確立する。
【0006】
上記の技術では、無線通信装置は、第1種の信号を受信する場合には、親局状態及び子局状態のうちのどちらの状態で動作すべきかを決定し、第2種の信号を受信する場合には、親局状態で動作すべきと決定する。従って、無線通信装置は、第1種の信号を受信するのか、第2種の信号を受信するのか、に応じて、無線通信装置が動作すべき状態を適切に決定し得る。そして、無線通信装置は、決定済みの状態に応じて、無線プロファイルの通信(送信又は受信)を実行するために、外部装置(第1又は第2の外部装置)との間で無線接続を適切に確立し得る。
【0007】
通信制御部は、複数の状態のうちのいずれかの状態で選択的に動作可能な第1種の外部装置から、第1種の信号を受信し、複数の状態のうちのいずれかの状態で選択的に動作不可能な第2種の外部装置から、第2種の信号を受信してもよい。この構成によると、無線通信装置は、外部装置の種類(第1種又は第2種の外部装置)に応じて、無線通信装置が動作すべき状態を適切に決定し得る。
【0008】
通信制御部は、第1種の外部装置を検索するための特定の期間に、第2種の外部装置から第2種の信号を受信してもよい。この構成によると、無線通信装置は、第2種の外部装置から第2種の信号を適切に受信し得る。
【0009】
特定の期間は、第1種の外部装置からProbe Request信号を受信して、第1種の外部装置にProbe Response信号を送信するための第1の期間と、第1種の外部装置にProbe Request信号を送信して、第1種の外部装置から、第1種の信号であるProbe Response信号を受信するための第2の期間と、を含んでいてもよい。通信制御部は、第1の期間に、第2種の外部装置から、第2種の信号であるProbe Request信号を受信してもよい。この構成によると、無線通信装置は、第1種の外部装置から第1種の信号を適切に受信し得るし、第2種の外部装置から第2種の信号を適切に受信し得る。
【0010】
通信制御部は、特定の期間に、第2種の外部装置から第2種の信号を受信しない場合に、特定の期間の開始から所定時間が経過するまで、特定の期間を継続し、特定の期間に、第2種の外部装置から第2種の信号を受信する場合に、特定の期間の開始から所定時間が経過する前に、特定の期間を終了してもよい。この構成によると、無線通信装置は、第2種の信号を受信する場合に、特定の期間を早期に終了する。従って、無線通信装置は、第2種の外部装置との間で無線接続を迅速に確立し得る。
【0011】
通信制御部は、第2種の外部装置から第2種の信号を受信しない場合に、第1種の外部装置から第1種の信号を受信しても、特定の期間の開始から所定時間が経過するまで、特定の期間を継続してもよい。この構成によると、無線通信装置は、特定の第1種の外部装置から第1種の信号を受信しても、特定の期間を継続する。従って、無線通信装置は、上記の特定の第1種の外部装置から第1種の信号を受信した後に、他の第1種の外部装置から第1種の信号を受信し得る。即ち、無線通信装置は、複数個の第1種の外部装置を適切に見つけ得る。
【0012】
通信制御部は、さらに、第1種の外部装置を検索するために、第1のチャネル数に対応する第1のチャネル群のそれぞれを利用して、複数個の検索信号を順次送信してもよい。第1種の信号は、複数個の検索信号のうちの少なくとも1個の検索信号に対して、第1種の外部装置から送信される応答信号であってもよい。第2種の信号は、第2種の外部装置から、第1のチャネル数よりも大きい第2のチャネル数に対応する第2のチャネル群のそれぞれを利用して順次送信される複数個の検索信号のうちの少なくとも1個の検索信号であってもよい。
【0013】
無線通信装置は、さらに、通信制御部が第1種の信号を受信する場合に、第1種の信号の送信元に関する情報を含む画面を表示部に表示させ、通信制御部が第2種の信号を受信する場合に、第2種の信号の送信元に関する情報を含む画面を表示部に表示させない表示制御部を備えていてもよい。この構成によると、無線通信装置は、第1種の信号を受信するのか、第2種の信号を受信するのか、に応じて、信号の送信元に関する情報を含む画面を表示させるのか否かを適切に選択し得る。
【0014】
親局状態は、無線通信装置が、子局状態で動作している複数の機器の間で実行される無線通信を中継するための状態であってもよい。
【0015】
なお、上記の無線通信装置を実現するための制御方法、コンピュータプログラム、及び、当該コンピュータプログラムを格納するコンピュータ読取可能記録媒体も、新規で有用である。
【図面の簡単な説明】
【0016】
【図1】通信システムの構成の一例を示す。
【図2】デバイス状態で実行されるPBC方式処理のフローチャートを示す。
【図3】ケースAのシーケンス図を示す。
【図4】ケースBのシーケンス図を示す。
【図5】G/O状態で実行されるPBC方式処理のフローチャートを示す。
【発明を実施するための形態】
【0017】
(実施例)
(システムの構成)
図1に示されるように、通信システム2は、プリンタ10(PC60,70の周辺機器)と、複数個のPC60,70と、を備える。プリンタ10とPC60とは、それぞれ、後述のWi−Fi Directに従った無線通信機能を実行可能である。なお、以下では、Wi−Fi Directのことを「WFD」と呼び、WFDに従った無線通信機能のことを「WFD機能」と呼ぶ。プリンタ10とPC60とは、WFDに従って無線接続を確立可能であり、これにより、無線ネットワークが構築される。この結果、プリンタ10とPC60とは、印刷データ等の通信対象の対象データの無線通信を実行可能になる。
【0018】
PC70は、WFD機能を実行不可能であるが、通常の無線通信の機能を実行可能である。即ち、PC70は、公知のAP(アクセスポイント)との間で無線接続を確立可能である。詳しくは後述するが、プリンタ10とPC70とは、無線接続を確立可能であり、これにより、無線ネットワークが構築される。この結果、プリンタ10とPC70とは、印刷データ等の通信対象の対象データの無線通信を実行可能になる。
【0019】
(プリンタ10の構成)
プリンタ10は、操作部12と、表示部14と、印刷実行部16と、有線インターフェイス18と、無線インターフェイス20と、制御部30と、を備える。上記の各部12〜30は、バス線(符号省略)に接続されている。操作部12は、複数のキーによって構成される。ユーザは、操作部12を操作することによって、様々な指示をプリンタ10に与えることができる。表示部14は、様々な情報を表示するためのディスプレイである。印刷実行部16は、インクジェット方式、レーザ方式等の印刷機構を備え、制御部30からの指示に従って印刷を実行する。有線インターフェイス18は、有線通信を実行するためのインターフェイスであり、有線回線(例えばLAN回線)に接続される。無線インターフェイス20は、無線通信を実行するためのインターフェイスである。
【0020】
制御部30は、CPU32とメモリ34とを備える。CPU32は、メモリ34に格納されているプログラムに従って、様々な処理を実行する。メモリ34は、ROM、RAM、ハードディスク等によって構成される。メモリ34は、CPU32によって実行される上記のプログラムを格納したり、CPU32が処理を実行する過程で取得又は生成されるデータを格納したりする。CPU32が上記のプログラムに従って処理を実行することによって、通信制御部40、状態決定部42、確立制御部44、及び、表示制御部46の各機能が実現される。
【0021】
(PC60の構成)
PC60は、図示省略のCPU、メモリ、ディスプレイ等を備える。PC60のメモリは、プリンタ10のためのプリンタドライバプログラムを格納している。PC60のCPUは、プリンタドライバプログラムを利用して、印刷対象の印刷データを生成することができる。プリンタ10とPC60との間に無線接続が確立されている状態では、PC60は、印刷データをプリンタ10に無線で送信可能である。なお、PC70は、WFD機能を実行不可能であることを除けば、PC60と同様の構成を備える。
【0022】
(WFD)
WFDは、Wi−Fi Allianceによって策定された規格である。WFDは、Wi−Fi Allianceによって作成された「Wi−Fi Peer−to−Peer(P2P) Technical Specification Version1.1」に記述されている。
【0023】
上述したように、プリンタ10とPC60とは、それぞれ、WFD機能を実行可能である。なお、以下では、WFD機能を実行可能な機器(例えばPC60)のことを「WFD対応機器」と呼び、WFD機能を実行不可能な機器(例えばPC70)のことを「WFD非対応機器」と呼ぶ。
【0024】
WFDでは、機器の状態として、Group Owner状態(以下では「G/O状態」と呼ぶ)、クライアント状態、及び、デバイス状態の3つの状態が定義されている。WFD対応機器は、上記の3つの状態のうちの1つの状態で選択的に動作可能である。
【0025】
G/O状態の機器とクライアント状態の機器とによって、1個の無線ネットワークが構成される。1個の無線ネットワークでは、G/O状態の機器が1個しか存在し得ないが、クライアント状態の機器が1個以上存在し得る。G/O状態の機器は、1個以上のクライアント状態の機器を管理する。具体的に言うと、G/O状態の機器は、1個以上のクライアント状態の機器のそれぞれの識別情報(即ちMACアドレス)が記述された管理リストを生成する。G/O状態の機器は、クライアント状態の機器が無線ネットワークに新たに参加すると、当該機器の識別情報を管理リストに追加し、クライアント状態の機器が無線ネットワークから離脱すると、当該機器の識別情報を管理リストから削除する。
【0026】
G/O状態の機器は、管理リストに登録されている機器、即ち、クライアント状態の機器との間で、通信対象の対象データ(例えば、OSI参照モデルのネットワーク層の情報を含むデータ(印刷データ等))の無線通信を実行可能である。しかしながら、G/O状態の機器は、管理リストに登録されていない機器との間で、無線ネットワークに参加するためのデータ(例えば、ネットワーク層の情報を含まないデータ(Probe Request信号、Probe Response信号等の物理層のデータ)の無線通信を実行可能であるが、上記の対象データの無線通信を実行不可能である。例えば、G/O状態のプリンタ10の通信制御部40(図1参照)は、管理リストに登録されているPC60(即ち、クライアント状態のPC60)から印刷データを無線で受信可能であるが、管理リストに登録されていないPCから印刷データを無線で受信不可能である。
【0027】
また、G/O状態の機器は、複数個のクライアント状態の機器の間の対象データ(印刷データ等)の無線通信を中継可能である。例えば、クライアント状態のPC60がクライアント状態の他のプリンタに印刷データを無線で送信すべき場合には、PC60は、まず、印刷データをG/O状態のプリンタ10に無線で送信する。この場合、プリンタ10の通信制御部40は、PC60から印刷データを無線で受信して、上記の他のプリンタに印刷データを無線で送信する。即ち、G/O状態の機器は、無線ネットワークのAP(アクセスポイント)の機能を実行可能である。
【0028】
なお、無線ネットワークに参加していないWFD対応機器(即ち、管理リストに登録されていない機器)が、デバイス状態の機器である。デバイス状態の機器は、無線ネットワークに参加するためのデータ(Probe Request信号、Probe Response信号等の物理層のデータ等)の無線通信を実行可能であるが、当該無線ネットワークを介して対象データ(印刷データ等)の無線通信を実行不可能である。
【0029】
なお、プリンタ10のメモリ34内には、プリンタ10の現在の状態(G/O状態、クライアント状態、デバイス状態)に応じた値を有する状態フラグが格納される。従って、制御部30は、状態フラグの値を確認することによって、プリンタ10の現在の状態を知ることができる。
【0030】
(PBC方式処理(プリンタ10=デバイス状態である場合))
続いて、図2を参照して、本実施例のプリンタ10によって実行される処理の内容について説明する。なお、WFDの無線接続を実行するための方式として、WPS(Wi-Fi Protected Setup)の無線接続方式が利用される。WPSの無線接続方式は、PBC(Push Button Configuration)方式と、PIN(Personal Identification Number)コード方式と、を含む。本実施例では、PBCコード方式について説明するが、本実施例の技術は、PINコード方式にも適用可能である。
【0031】
ユーザは、デバイス状態のプリンタ10の操作部12において、PBC方式及びPINコード方式の中からPBC方式を選択するための方式選択操作を実行する。これにより、図2のPBC方式処理が開始される。
【0032】
S10では、通信制御部40(図1参照)は、Scan処理とListen処理とSearch処理を順次実行する。Scan処理は、プリンタ10の周囲に存在するG/O状態の機器を検索するための処理である。具体的に言うと、通信制御部40は、Scan処理において、1ch〜13chの13個のチャネルを順次利用して、Probe Request信号を無線で順次送信する。なお、このProbe Request信号は、プリンタ10がWFD機能を実行可能であることを示すP2P(Peer 2 Peer)情報を含む。
【0033】
例えば、プリンタ10の周囲にG/O状態のWFD対応機器(以下では「特定のG/O機器」と呼ぶ)が存在する場合には、特定のG/O機器は、1ch〜13chのうちの1個のチャネルを利用することを予め決定している。従って、特定のG/O機器は、プリンタ10からProbe Request信号を無線で受信する。この場合、特定のG/O機器は、Probe Response信号をプリンタ10に無線で送信する。このProbe Response信号は、特定のG/O機器がWFD機能を実行可能であることを示すP2P情報と、特定のG/O機器がG/O状態であることを示す情報と、を含む。この結果、通信制御部40は、特定のG/O機器を見つけることができる。なお、上記のProbe Response信号は、さらに、特定のG/O機器のデバイス名と、特定のG/O機器の機種(例えば、プリンタ、PC等)を示す情報と、特定のG/O機器のMACアドレスと、を含む。この結果、通信制御部40は、特定のG/O機器に関する情報を取得することができる。
【0034】
なお、例えば、プリンタ10の周囲にデバイス状態のWFD対応機器(以下では「特定のデバイス機器」と呼ぶ)が存在する場合には、特定のデバイス機器は、1ch、6ch、11chのうちの1個のチャネルを利用することを予め決定している。従って、特定のデバイス機器も、プリンタ10からProbe Request信号を無線で受信する。この場合、特定のデバイス機器は、Probe Response信号をプリンタ10に無線で送信する。ただし、このProbe Response信号は、デバイス状態であることを示す情報を含み、G/O状態であることを示す情報を含まない。また、クライアント状態の機器は、プリンタ10からProbe Request信号を無線で受信しても、Probe Response信号をプリンタ10に無線で送信しない。従って、通信制御部40は、Scan処理において、特定のG/O機器を適切に見つけることができる。
【0035】
Listen処理は、Probe Request信号に応答するための処理である。特定のデバイス機器は、後述のSearch処理において、Probe Request信号を無線で送信することができる。このProbe Request信号は、特定のデバイス機器がWFD機能を実行可能であることを示すP2P情報を含む。通信制御部40は、特定のデバイス機器からProbe Request信号を無線で受信すると、Probe Response信号を無線で送信する。このProbe Response信号は、プリンタ10がWFD機能を実行可能であることを示すP2P情報と、プリンタ10がデバイス状態であることを示す情報と、プリンタ10のデバイス名と、プリンタ10の機種を示す情報と、プリンタ10のMACアドレスと、を含む。通信制御部40がProbe Response信号を送信することによって、特定のデバイス機器は、プリンタ10を見つけることができる。
【0036】
なお、WFD非対応機器(例えばPC70)も、プリンタ10を検索するために、Probe Request信号を送信することができる。この際に、WFD非対応機器は、1ch〜13chの13個のチャネルを順次利用して、Probe Request信号を無線で順次送信する。このProbe Request信号は、P2P情報を含まない。従って、通信制御部40は、Listen処理において、P2P情報を含まないProbe Request信号を受信することによって、プリンタ10の周囲にWFD非対応機器が存在することを知ることができる。
【0037】
Search処理では、通信制御部40は、1ch、6ch、11chの3個のチャネルを順次利用して、Probe Request信号を無線で順次送信する。これにより、通信制御部40は、特定のデバイス機器からProbe Response信号を無線で受信する。このProbe Response信号は、特定のデバイス機器がWFD機能を実行可能であることを示すP2P情報と、特定のデバイス機器がデバイス状態であることを示す情報と、特定のデバイス機器のデバイス名と、特定のデバイス機器の機種を示す情報と、特定のデバイス機器のMACアドレスと、を含む。この結果、通信制御部40は、特定のデバイス機器を見つけることができる。
【0038】
なお、特定のG/O機器も、プリンタ10のSearch処理で送信されるProbe Request信号に応じて、Probe Response信号を無線でプリンタ10に送信し得る。ただし、このProbe Response信号は、G/O状態であることを示す情報を含み、デバイス状態であることを示す情報を含まない。また、上述したように、クライアント状態の機器は、プリンタ10からProbe Request信号を無線で受信しても、Probe Response信号をプリンタ10に無線で送信しない。また、WFD非対応機器は、プリンタ10から送信されるProbe Request信号を無線で受信しても、Probe Response信号を送信しない。従って、通信制御部40は、Search処理において、特定のデバイス機器を適切に見つけることができる。
【0039】
なお、通信制御部40は、最初に1回のScan処理を実行した後に、WFD非対応機器からProbe Request信号を受信しない限り、所定時間が経過するまで、Listen処理及びSearch処理のセットを複数回に亘って繰り返し実行する。即ち、通信制御部40は、WFD対応機器からProbe Response信号を受信しても、他のWFD対応機器からProbe Response信号を受信する可能性があることに鑑みて、上記の所定時間が経過するまで、Listen処理及びSearch処理のセットを継続して実行する。この構成によると、プリンタ10は、WFD対応機器を適切に見つけることができる。
【0040】
図2のフローチャートでは図示省略しているが、制御部30は、上記の所定時間が経過すると、Listen処理及びSearch処理を継続するのか終了するのかをユーザに選択させるための画面を表示部14に表示させる。ユーザが「継続」を選択すれば、通信制御部40は、上記の所定時間が再び経過するまで、Listen処理及びSearch処理のセットを複数回に亘って繰り返し実行する。ユーザが「終了」を選択すれば、S12に進む。
【0041】
一方において、通信制御部40は、WFD非対応機器からProbe Request信号を受信すると、直ちにS10の処理を終了して、S12に進む。即ち、通信制御部40は、上記の所定時間が経過する前に、S10の処理を終了する。この場合、S10の処理のための時間が短くなるために、プリンタ10及びWFD非対応機器との間で無線接続を迅速に確立させることができる。
【0042】
S12では、状態決定部42(図1参照)は、WFD非対応機器を見つけたのか否かを判断する。具体的に言うと、状態決定部42は、S10のListen処理において、P2P情報を含まないProbe Request信号を受信した場合に、S12でYESと判断して、S30に進む。一方において、状態決定部42は、S10のListen処理において、P2P情報を含まないProbe Request信号を受信しなかった場合に、S12でNOと判断して、S14に進む。
【0043】
WFD非対応機器は、無線ネットワークのG/Oとして動作することができず、無線ネットワークのクライアントとして動作することしかできない。即ち、WFD非対応機器は、クライアント状態に維持される。従って、S30(WFD非対応機器を見つけた場合)では、状態決定部42は、プリンタ10がG/O状態で動作すべきことを決定する。具体的に言うと、状態決定部42は、メモリ34内の状態フラグを、デバイス状態に対応する値から、G/O状態に対応する値に変更する。この結果、プリンタ10は、G/O状態として動作することになる。S30を終えると、S14〜S22の処理が実行されずに、S24に進む。S30を経て実行される後述のS24では、WFD非対応機器のことを「対象機器」と呼ぶ。
【0044】
S14(WFD非対応機器を見つけなかった場合)では、表示制御部46(図1参照)は、機器リストを表示部14に表示させる。上述したように、通信制御部40は、上記のScan処理(S10参照)において、特定のG/O機器を見つけることができ、上記のSearch処理(S10参照)において、特定のデバイス機器を見つけることができる。表示制御部46は、S10で見つかった各機器に関する情報(即ちS10で得られた情報)を表示部14に表示させる。
【0045】
なお、表示制御部46は、S12でYESの場合(WFD非対応機器を見つけた場合)には、機器リストを表示部14に表示させない。この構成によると、プリンタ10は、WFD対応機器からProbe Response信号を受信するのか、WFD非対応機器からProbe Request信号を受信するのか、に応じて、機器リストを表示させるのか否かを適切に選択することができる。特に、プリンタ10は、WFD非対応機器からProbe Request信号を受信する場合には、機器リストを表示させないために、プリンタ10及びWFD非対応機器との間で無線接続を迅速に確立させることができる。
【0046】
ユーザは、S14で表示される機器リストを見ることによって、プリンタ10の周囲に存在する機器を知ることができ、プリンタ10とどの機器との間で無線接続を確立させるのかを選択するための機器選択操作を操作部12に実行することができる。機器選択操作が実行されると、制御部30は、S16でYESと判断して、S18に進む。以下では、機器選択操作によって選択された機器(例えばPC60)のことを「対象機器」と呼ぶ。
【0047】
次いで、S18では、状態決定部42は、対象機器の現在の状態がデバイス状態であるのか否かを判断する。対象機器の現在の状態がG/O状態である場合(S18でNOの場合)には、S19に進み、対象機器の現在の状態がデバイス状態である場合(S18でYESの場合)には、S20に進む。
【0048】
S19(対象機器の現在の状態=G/O状態)では、プリンタ10がクライアント状態で動作すべきことを決定する。具体的に言うと、状態決定部42は、メモリ34内の状態フラグを、デバイス状態に対応する値から、クライアント状態に対応する値に変更する。この結果、プリンタ10は、クライアント状態として動作することになる。なお、S19では、通信制御部40は、接続要求信号を対象機器に無線で送信する。この結果、対象機器は、OK信号をプリンタ10に無線で送信する。S19を終えると、S26に進む。
【0049】
S20(対象機器の現在の状態=デバイス状態)では、状態決定部42は、対象機器との間でG/Oネゴシエーションを実行して、プリンタ10及び対象機器のどちらか一方の機器をG/Oとして決定し、他方の機器をクライアントとして決定する。具体的に言うと、通信制御部40は、まず、接続要求信号を対象機器に無線で送信する。この結果、対象機器も、OK信号をプリンタ10に無線で送信する。次いで、状態決定部42は、プリンタ10のG/O優先度を示す情報を対象機器に無線で送信すると共に、対象機器のG/O優先度を示す情報を対象機器から無線で受信する。なお、プリンタ10のG/O優先度は、プリンタ10がG/Oになるべき程度を示す指標であり、プリンタ10において予め決められている。同様に、対象機器のG/O優先度は、対象機器がG/Oになるべき程度を示す指標である。例えば、CPU及びメモリの能力が比較的に高い機器(例えばPC)は、G/Oとして動作しながら、他の処理を高速で実行することができる。従って、このような機器は、通常、G/Oになるべき程度が高くなるように、G/O優先度が設定される。一方において、例えば、CPU及びメモリの能力が比較的に低い機器は、G/Oとして動作しながら、他の処理を高速で実行することができない可能性がある。従って、このような機器は、通常、G/Oになるべき程度が低くなるように、G/O優先度が設定される。
【0050】
状態決定部42は、プリンタ10のG/O優先度と対象機器のG/O優先度とを比較して、優先度が高い方の機器(プリンタ10又は対象機器)をG/Oとして決定し、優先度が低い方の機器(対象機器又はプリンタ10)をクライアントとして決定する。状態決定部42は、プリンタ10をG/Oとして決定した場合に、メモリ34内の状態フラグを、デバイス状態に対応する値から、G/O状態に対応する値に変更する。この結果、プリンタ10は、G/O状態として動作することになる。また、状態決定部42は、プリンタ10をクライアントとして決定した場合に、メモリ34内の状態フラグを、デバイス状態に対応する値から、クライント状態に対応する値に変更する。この結果、プリンタ10は、クライアント状態として動作することになる。なお、対象機器は、プリンタ10と同じ手法を利用して、プリンタ10のG/O優先度と対象機器のG/O優先度とに基づいて、G/O及びクライアントを決定する。S20のG/Oネゴシエーションが終了すると、S22に進む。
【0051】
S22では、確立制御部44(図1参照)は、プリンタ10の現在の状態がG/O状態であり、かつ、対象機器の現在の状態がクライアント状態であるのか否かを判断する。プリンタ10の現在の状態がG/O状態であり、かつ、対象機器の現在の状態がクライアント状態である場合(S22でYESの場合)には、S24に進む。一方において、プリンタ10の現在の状態がクライアント状態であり、かつ、対象機器の現在の状態がG/O状態である場合(S22でNOの場合)には、S26に進む。
【0052】
S24では、確立制御部44は、G/O状態用のWPSネゴシエーションを実行する。具体的に言うと、確立制御部44は、無線接続を確立するために必要な無線プロファイル(SSID、認証方式、暗号化方式、パスワード等)を示すデータを生成して、対象機器に無線で送信する。なお、認証方式及び暗号化方式は、予め決められている。また、確立制御部44は、S24の処理の際にパスワードを生成する。なお、SSIDは、S24の処理の際に、確立制御部44によって生成されてもよいし、予め決められていてもよい。無線プロファイルが対象機器に送信されることにより、プリンタ10及び対象機器が同じ無線プロファイルを利用することができる。即ち、プリンタ10及び対象機器は、無線プロファイルを用いて、Authentication Request、Authentication Response、Association Request、Association Response、及び、4way handshakeの無線通信を実行する。この過程で、プリンタ10及び対象機器は、SSIDの認証、認証方式及び暗号化方式の認証、パスワードの認証等を様々な認証処理を実行する。全ての認証が成功した場合に、プリンタ10及び対象機器の間に無線接続が確立される。
【0053】
なお、S24で無線接続が確立されると、制御部30は、さらに、対象機器のMACアドレス(即ち、S12のScan又はListenで受信されたProbe Response信号に含まれるMACアドレス)を管理リストに追加する。これにより、G/O状態のプリンタ10(即ち通信制御部40)は、クライアント状態の対象機器との間で、通信対象の対象データ(印刷データ等)の通信を実行することができるようになる。なお、対象データは、OSI参照モデルの物理層よりも上位層であるネットワーク層のデータを含む。従って、G/O状態のプリンタ10(即ち通信制御部40)は、クライアント状態の対象機器との間で、ネットワーク層の無線通信を実行することができる。さらに、G/O状態のプリンタ10(即ち通信制御部40)は、クライアント状態の対象機器と、管理リストに登録されているクライアント状態の他の機器と、の間の無線通信を中継することができるようになる。
【0054】
一方において、S26では、確立制御部44は、クライアント状態用のWPSネゴシエーションを実行する。具体的に言うと、対象機器は、無線接続を確立するために必要な無線プロファイル(SSID、認証方式、暗号化方式、パスワード等)を示すデータを生成して、プリンタ10に無線で送信する。この結果、確立制御部44は、無線プロファイルを示すデータを対象機器から無線で受信する。その後の処理(Authentication Request等の通信処理)は、S24と同様である。この結果、クライアント状態のプリンタ10(即ち通信制御部40)は、G/O状態の対象機器との間で、対象データ(印刷データ等)の無線通信を実行することができるようになる。さらに、クライアント状態のプリンタ10(即ち通信制御部40)は、G/O状態の対象機器を介して、クライアント状態の他の機器(即ち、対象機器の管理リストに登録されている他の機器)と、対象データの無線通信を実行することができるようになる。S24又はS26が終了すると、図2のPBC方式処理が終了する。
【0055】
(ケースA;図3)
図3を参照して、プリンタ10と、WFD対応機器であるPC60と、が実行する処理の一例(ケースA)を説明する。図3では、デバイス状態のプリンタ10とデバイス状態のPC60との間で、WPSのPBC方式で無線接続が確立されるべき状況を想定している。ユーザは、プリンタ10の操作部12において、PBC方式を選択するための方式選択操作を実行する。この場合、プリンタ10は、Scan処理(図3では図示省略)、Listen処理、及び、Search処理を実行する(図2のS10)。プリンタ10は、所定時間T1が経過するまで、Listen処理及びSearch処理のセットを複数回に亘って繰り返し実行する。ユーザは、さらに、PC60の操作部において、PBC方式を選択するための方式選択操作を実行する。この場合、PC60も、Scan処理、Listen処理、及び、Search処理を実行する。
【0056】
PC60は、Search処理において、1ch、6ch、11chの3個のチャネルを順次利用して、Probe Request信号を無線で順次送信する。例えば、プリンタ10によって利用されているチャネルが6chである場合には、プリンタ10は、Listen処理において、PC60から6chのProbe Request信号を無線で受信して、Probe Response信号をPC60に無線で送信する。これにより、PC60は、プリンタ10を見つけることができる。
【0057】
同様に、プリンタ10は、Search処理において、1ch、6ch、11chの3個のチャネルを順次利用して、Probe Request信号を無線で順次送信する。例えば、PC60によって利用されているチャネルが1chである場合には、PC60は、Search処理において、プリンタ10から1chのProbe Request信号を無線で受信して、Probe Response信号をプリンタ10に無線で送信する。これにより、プリンタ10は、PC60を見つけることができる。なお、このProbe Response信号は、P2P情報を含む。従って、プリンタ10は、PC60がWFD機能を実行可能であること(即ちWFD対応機器であること)を知ることができる。
【0058】
プリンタ10は、所定時間T1が経過すると、Listen処理及びSearch処理を終了する。そして、プリンタ10は、図2のS14において、機器リストを表示部14に表示させる。ユーザは、機器リストからPC60を選択する。この場合、プリンタ10は、図2のS20において、PC60とG/Oネゴシエーションを実行する。
【0059】
(ケースA1)
ケースA1では、G/Oネゴシエーションにおいて、プリンタ10がG/Oとして決定されると共にPC60がクライントとして決定される。この場合、プリンタ10は、図2のS24において、無線プロファイルをPC60に無線で送信して、当該無線プロファイルを利用してPC60との間で無線接続を確立する。
【0060】
(ケースA2)
ケースA2では、G/Oネゴシエーションにおいて、プリンタ10がクライントとして決定されると共にPC60がG/Oとして決定される。この場合、プリンタ10は、図2のS26において、無線プロファイルをPC60から無線で受信して、当該無線プロファイルを利用してPC60との間で無線接続を確立する。
【0061】
(ケースB;図4)
続いて、図4を参照して、プリンタ10と、WFD非対応機器であるPC70と、が実行する処理の一例(ケースB)を説明する。図4では、プリンタ10は、デバイス状態である。ケースAと同様に、ユーザは、プリンタ10の操作部12において、PBC方式を選択するための方式選択操作を実行する。この場合、プリンタ10は、Scan処理(図3では図示省略)を実行し、次いで、Listen処理を実行する(図2のS10)。
【0062】
ユーザは、PC70の操作部において、PBC方式を選択するための方式選択操作を実行する。この場合、PC70は、1ch〜13chの13個のチャネルを順次利用して、Probe Request信号を無線で順次送信する。例えば、プリンタ10によって利用されているチャネルが6chである場合には、プリンタ10は、Listen処理において、PC70から6chのProbe Request信号を無線で受信して、Probe Response信号をPC70に無線で送信する。これにより、PC70は、プリンタ10を見つけることができる。
【0063】
プリンタ10によって受信されたProbe Request信号は、P2P情報を含まない。従って、プリンタ10は、Listen処理の過程において、WFD非対応機器が存在することを知ることができる。この場合、プリンタ10は、図2のS10の処理を直ちに終了する。即ち、プリンタ10は、通常であれば、Listen処理の後に、Search処理を実行するが(図3参照)、PC70からProbe Request信号を受信すると、Search処理を実行せずに、図2のS10の処理を終了する。この結果、プリンタ10は、図3のケースAの所定時間T1が経過する前に、図2のS10の処理を終了する。ケースBでは、図2のS10の処理時間T2が、ケースAの処理時間T1(図3参照)よりも短くなる。この結果、プリンタ10及びPC70の間で無線接続を迅速に確立させることができる。
【0064】
次いで、プリンタ10は、図2のS12でYESと判断して、図2のS30において、デバイス状態からG/O状態に移行する。そして、プリンタ10は、図2のS24において、無線プロファイルをPC70に無線で送信して、当該無線プロファイルを利用してPC70との間で無線接続を確立する。
【0065】
(PBC方式処理(プリンタ10=G/O状態である場合))
続いて、図5を参照して、G/O状態のプリンタ10によって実行されるPBC方式処理の内容について説明する。ユーザは、G/O状態のプリンタ10の操作部12において、PBC方式及びPINコード方式の中からPBC方式を選択するための方式選択操作を実行する。これにより、図5のPBC方式処理が開始される。
【0066】
S50に示されるように、通信制御部40は、プリンタ10がG/O状態である間に、Listen処理を開始する(即ち、Listen処理を継続して実行する)。なお、通信制御部40は、プリンタ10がG/O状態である間に、Scan処理及びSearch処理を実行しない。
【0067】
プリンタ10との間で無線接続が確立されるべき機器(以下では「対象機器」と呼ぶ)が、WFD非対応機器である状況を想定する。この場合、対象機器は、PBC方式を選択するための方式選択操作が実行されると、Probe Request信号を無線で送信する。通信制御部40は、S50でListen処理を実行しているために、Probe Response信号を対象機器に無線で送信する。この結果、対象機器は、プリンタ10を見つけることができる。
【0068】
対象機器は、プリンタ10に関する情報を含む機器リストを表示させ、ユーザは、プリンタ10を選択する。この結果、対象機器は、接続要求信号をプリンタ10に無線で送信する。この場合、通信制御部40は、S52でYESと判断する。なお、対象機器がWFD対応機器である場合にも、上記と同様に、対象機器は、プリンタ10を見つけることができ、プリンタ10に接続要求信号を送信することができる。この場合も、通信制御部40は、S52でYESと判断する。
【0069】
次いで、S54において、確立制御部44は、G/O状態用のWPSネゴシエーションを実行する。S54の処理は、図2のS24の処理と同様である。ただし、確立制御部44は、プリンタ10によって既に構成されている無線ネットワークで利用されている無線プロファイル(即ち図2のS24で生成された無線プロファイル)を、対象機器に無線で送信する。この結果、プリンタ10及び対象機器の間に無線接続が確立される。なお、その後の処理(対象機器のMACアドレスを管理リストに追加する処理等)は、図2のS24の場合と同様である。
【0070】
なお、ユーザは、プリンタ10が無線ネットワークを構成していない場合(プリンタ10がデバイス状態である場合)に、操作部12において、プリンタ10をG/O状態に移行させるための操作を実行することができる。この場合、状態決定部42は、図2のフローチャート(S20、S30等)を実行することなく、プリンタ10の状態をデバイス状態からG/O状態に移行させる。この場合、制御部30は、図5のフローチャートに従って処理を実行する。即ち、通信制御部40は、Listen処理を実行しながら(S50)、接続要求信号を受信することを監視する(S52)。
【0071】
また、ユーザは、クライアント状態のプリンタ10の操作部12において、PBC方式及びPINコード方式の中からPBC方式を選択するための方式選択操作を実行することもできる。この場合、状態決定部42は、プリンタ10の状態をクラアイント状態からデバイス状態に移行させる。そして、制御部30は、図2のフローチャートに従って、PBC方式処理を実行する。
【0072】
(本実施例の効果)
図3のケースAに示されるように、デバイス状態のプリンタ10は、WFD対応機器であるPC60から、P2P情報を含むProbe Response信号を無線で受信すると、G/Oネゴシエーションを実行して(図2のS20)、プリンタ10がG/O状態及びクライアント状態のうちのどちらの状態で動作すべきかを決定する。一方において、図4のケースBに示されるように、デバイス状態のプリンタ10は、WFD非対応機器であるPC70から、P2P情報を含まないProbe Request信号を無線で受信すると、G/Oネゴシエーションを実行せずに、プリンタ10がG/O状態で動作すべきと決定する(図2のS30)。PC70は、無線ネットワークのG/Oになることができないからである。従って、プリンタ10は、プリンタ10との間で無線接続が確立されるべき対象機器から受信される信号(Probe Response信号又はProbe Request信号)に応じて、プリンタ10が動作すべき状態を適切に決定し得る。そして、プリンタ10は、決定済みの状態に応じて、無線プロファイルの通信(図2のS24又はS26)を実行するために、対象機器との間で無線接続を適切に確立し得る。
【0073】
特に、無線通信に関する知識が乏しいユーザは、対象機器が、WFD対応機器であるのか、WFD非対応機器であるのか、を適切に理解することができない可能性がある。本実施例では、このようなユーザであっても、プリンタ10及び対象機器の間で無線接続を容易に確立させることができる。即ち、ユーザが、プリンタ10及び対象機器のそれぞれにおいて、PBC方式を選択するための方式選択操作を実行すれば、プリンタ10は、(1)対象機器がWFD対応機器である場合には、図2のS14〜S22を経て、S24又はS26のWPSネゴシエーションを実行して無線接続を確立し、(2)対象機器がWFD非対応機器である場合には、S30を経て、S24のWPSネゴシエーションを実行して無線接続を確立する。従って、ユーザは、対象機器が、WFD対応機器であるのか、WFD非対応機器であるのか、に関わらず、プリンタ10及び対象機器のそれぞれで方式選択操作を実行すれば、プリンタ10及び対象機器の間で無線接続を容易に確立させることができる。
【0074】
(対応関係)
プリンタ10が、「無線通信装置」の一例であり、PC60が、「第1の外部装置」及び「第1種の外部装置」の一例であり、PC70が、「第2の外部装置」及び「第2種の外部装置」の一例である。G/O状態、クライアント状態が、それぞれ、「親局状態」、「子局状態」の一例である。P2P情報が、「所定の情報」の一例である。図3でPC60から受信されるProbe Response信号、図4でPC60から受信されるProbe Request信号が、それぞれ、「第1種の信号」、「第2種の信号」の一例である。また、図3のケースA1でPC60に送信される無線プロファイル(又は図4のケースBでPC60に送信される無線プロファイル)、図3のケースA2でPC60から受信される無線プロファイルが、それぞれ、「第1の無線プロファイル」、「第2の無線プロファイル」の一例である。さらに、Listen処理及びSearch処理が実行される期間(図3のT1、図4のT2)が、「特定の期間」の一例である。1ch、6ch、及び、11chのチャネル数(即ち3)が、「第1のチャネル数」の一例であり、1ch〜13chのチャネル数(即ち13)が、「第2のチャネル数」の一例である。
【0075】
以上、本発明の具体例を詳細に説明したが、これらは例示にすぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には、以上に例示した具体例を様々に変形、変更したものが含まれる。上記の実施例の変形例を以下に列挙する。
【0076】
(変形例1)「無線通信装置」は、プリンタ10に限られず、無線通信可能な他の機器(例えば、携帯電話、PDA、PC、サーバ、FAX装置、コピー機、スキャナ、多機能機等)であってもよい。また、「外部装置」は、PC60,70に限られず、無線通信可能な他の機器(例えば、携帯電話、PDA、サーバ、プリンタ、FAX装置、コピー機、スキャナ、多機能機等)であってもよい。
【0077】
(変形例2)上記の実施例では、表示制御部46は、プリンタ10に備えられている表示部14に機器リストを表示させる。これに代えて、表示制御部46は、ウェブサーバ機能を備えており、クライアント端末がプリンタ10のウェブサーバにアクセスした場合に、クライアント端末に機器リストを表わすデータを提供してもよい。この場合、クライアント端末の表示部に機器リストが表示される。即ち、「表示部」は、無線通信装置の内部の表示部であってもよいし、無線通信装置の外部の表示部(即ち無線通信装置と別体に構成されている表示部)であってもよい。
【0078】
(変形例3)「親局状態」は、WFDのG/O状態に限られず、無線ネットワークを構成する他のデバイスを管理(例えば、他のデバイスに関する情報のリストを管理すること、他のデバイス間の無線通信を中継すること等)する状態であればよい。また、「子局状態」は、WFDのクライアント状態に限られず、親局状態の機器によって管理される状態であればよい。
【0079】
(変形例4)上記の実施例では、13(1ch〜13ch)が、「第2のチャネル数」の一例である。これは、欧州で利用される仕様である。これに代えて、「第2のチャネル数」は、11(1ch〜11ch;米国の仕様)であってもよいし、14(1ch〜14ch;日本の仕様)であってもよいし、他のチャネル数であってもよい。
【0080】
(変形例5)上記の各実施例では、プリンタ10のCPU32がソフトウェアに従って処理を実行することによって、各部40〜46が実現される。これに代えて、各部40〜46のうちの少なくとも一部は、論理回路等のハードウェアによって実現されてもよい。
【0081】
また、本明細書または図面に説明した技術要素は、単独であるいは各種の組合せによって技術的有用性を発揮するものであり、出願時請求項記載の組合せに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
【符号の説明】
【0082】
2:通信システム、10:プリンタ、60:PC

【特許請求の範囲】
【請求項1】
無線ネットワークの親局として機能する親局状態と、前記無線ネットワークの子局として機能する子局状態と、を含む複数の状態のうちのいずれかの状態で選択的に動作可能な無線通信装置であって、
外部から信号を受信する通信制御部と、
前記通信制御部が所定の情報を含む第1種の信号を受信する場合に、前記無線通信装置が前記親局状態及び前記子局状態のうちのどちらの状態で動作すべきかを決定し、前記通信制御部が前記所定の情報を含まない第2種の信号を受信する場合に、前記無線通信装置が前記親局状態で動作すべきと決定する状態決定部と、
前記無線通信装置が前記親局状態で動作すべきと決定される場合に、第1の無線プロファイルを第1の外部装置に送信して、前記第1の外部装置との間で前記第1の無線プロファイルを利用して無線接続を確立し、前記無線通信装置が前記子局状態として動作すべきと決定される場合に、第2の無線プロファイルを第2の外部装置から受信して、前記第2の外部装置との間で前記第2の無線プロファイルを利用して無線接続を確立する確立制御部と、
を備える無線通信装置。
【請求項2】
前記通信制御部は、
前記複数の状態のうちのいずれかの状態で選択的に動作可能な第1種の外部装置から、前記第1種の信号を受信し、
前記複数の状態のうちのいずれかの状態で選択的に動作不可能な第2種の外部装置から、前記第2種の信号を受信する、請求項1に記載の無線通信装置。
【請求項3】
前記通信制御部は、前記第1種の外部装置を検索するための特定の期間に、前記第2種の外部装置から前記第2種の信号を受信する、請求項2に記載の無線通信装置。
【請求項4】
前記特定の期間は、
前記第1種の外部装置からProbe Request信号を受信して、前記第1種の外部装置にProbe Response信号を送信するための第1の期間と、
前記第1種の外部装置にProbe Request信号を送信して、前記第1種の外部装置から、前記第1種の信号であるProbe Response信号を受信するための第2の期間と、を含み、
前記通信制御部は、前記第1の期間に、前記第2種の外部装置から、前記第2種の信号であるProbe Request信号を受信する、請求項3に記載の無線通信装置。
【請求項5】
前記通信制御部は、
前記特定の期間に、前記第2種の外部装置から前記第2種の信号を受信しない場合に、前記特定の期間の開始から所定時間が経過するまで、前記特定の期間を継続し、
前記特定の期間に、前記第2種の外部装置から前記第2種の信号を受信する場合に、前記特定の期間の開始から前記所定時間が経過する前に、前記特定の期間を終了する、請求項3又は4に記載の無線通信装置。
【請求項6】
前記通信制御部は、前記第2種の外部装置から前記第2種の信号を受信しない場合に、前記第1種の外部装置から前記第1種の信号を受信しても、前記特定の期間の開始から前記所定時間が経過するまで、前記特定の期間を継続する、請求項5に記載の無線通信装置。
【請求項7】
前記通信制御部は、さらに、前記第1種の外部装置を検索するために、第1のチャネル数に対応する第1のチャネル群のそれぞれを利用して、複数個の検索信号を順次送信し、
前記第1種の信号は、前記複数個の検索信号のうちの少なくとも1個の検索信号に対して、前記第1種の外部装置から送信される応答信号であり、
前記第2種の信号は、前記第2種の外部装置から、前記第1のチャネル数よりも大きい第2のチャネル数に対応する第2のチャネル群のそれぞれを利用して順次送信される複数個の検索信号のうちの少なくとも1個の検索信号である、請求項2から6のいずれか一項に記載の無線通信装置。
【請求項8】
前記無線通信装置は、さらに、
前記通信制御部が前記第1種の信号を受信する場合に、前記第1種の信号の送信元に関する情報を含む画面を表示部に表示させ、
前記通信制御部が前記第2種の信号を受信する場合に、前記第2種の信号の送信元に関する情報を含む画面を前記表示部に表示させない表示制御部を備える、請求項1から7のいずれか一項に記載の無線通信装置。
【請求項9】
前記親局状態は、前記無線通信装置が、前記子局状態で動作している複数の機器の間で実行される無線通信を中継するための状態である、請求項1から8のいずれか一項に記載の無線通信装置。
【請求項10】
無線ネットワークの親局として機能する親局状態と、前記無線ネットワークの子局として機能する子局状態と、を含む複数の状態のうちのいずれかの状態で選択的に動作可能な無線通信装置のためのコンピュータプログラムであって、
前記無線通信装置に搭載されるコンピュータに、以下の各処理、即ち、
外部から信号を受信する通信制御処理と、
前記通信制御処理にて所定の情報を含む第1種の信号が受信される場合に、前記無線通信装置が前記親局状態及び前記子局状態のうちのどちらの状態で動作すべきかを決定し、前記通信制御処理にて前記所定の情報を含まない第2種の信号が受信される場合に、前記無線通信装置が前記親局状態で動作すべきと決定する状態決定処理と、
前記無線通信装置が前記親局状態で動作すべきと決定される場合に、第1の無線プロファイルを第1の外部装置に送信して、前記第1の外部装置との間で前記第1の無線プロファイルを利用して無線接続を確立し、前記無線通信装置が前記子局状態として動作すべきと決定される場合に、第2の無線プロファイルを第2の外部装置から受信して、前記第2の外部装置との間で前記第2の無線プロファイルを利用して無線接続を確立する確立制御処理と、
を実行させるコンピュータプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate


【公開番号】特開2013−5094(P2013−5094A)
【公開日】平成25年1月7日(2013.1.7)
【国際特許分類】
【出願番号】特願2011−132284(P2011−132284)
【出願日】平成23年6月14日(2011.6.14)
【出願人】(000005267)ブラザー工業株式会社 (13,856)
【Fターム(参考)】