説明

無線通信装置

【課題】 無線ネットワークの親局として動作する親局デバイスが、親局としての動作を適切に実行するための技術を提供する。
【解決手段】 無線通信装置がG/Oとして動作し、プリンタ70、携帯端末80、PC90がクライアントとして動作する場合において、クライアント状態のプリンタ70及び携帯端末80が、この順で無線ネットワークから離脱すると、PC90が最終クライアントになる。その後、クライアント状態PC90が検出不能によって無線ネットワークから離脱することにより、クライアント数がゼロとなる。無線通信装置は、PC90の最終離脱時刻を始期として、所定期間(1分間)経過後の時刻を維持期間の終期として決定する。維持期間が経過するまでクライアント数がゼロのままであるため、無線通信装置は、維持期間が経過した時点で、無線通信装置の状態をG/O状態からデバイス状態に移行させて、G/Oとしての動作を停止させる。

【発明の詳細な説明】
【技術分野】
【0001】
本明細書によって開示される技術は、無線ネットワークの親局又は子局として選択的に動作可能な無線通信装置に関する。
【背景技術】
【0002】
非特許文献1には、Wi−Fi Allianceによって策定されたWi−Fi Direct(以下では「WFD」と呼ぶ)について記載されている。WFDの無線ネットワークは、Group Ownerとして動作する1個のデバイス(以下では「G/Oデバイス」と呼ぶ)と、G/Oデバイスによって管理されるクライアントとして動作する1個以上のデバイス(以下では「クライントデバイス」と呼ぶ)と、によって構成される。非特許文献1の技術では、G/Oデバイスは、管理対象のクライントデバイスの数がゼロになる場合に、G/Oとしての動作を直ちに停止してしまう。この結果、無線ネットワークが直ちに消失してしまう。このような場合には、例えば、無線ネットワークが消失した直後に、無線ネットワークを再度形成する必要が生じ得る。
【0003】
なお、上記の問題は、WFDに従う装置だけでなく、親局又は子局として選択的に動作可能な他の通信装置にも共通する問題である。
【先行技術文献】
【非特許文献】
【0004】
【非特許文献1】「Wi-Fi Peer-to-Peer(P2P) Technical Specification Version1.1」、Wi-Fi Alliance、2010年
【発明の概要】
【発明が解決しようとする課題】
【0005】
本明細書では、無線ネットワークの親局として動作する親局デバイスが、親局としての動作を適切に実行するための技術を提供する。
【課題を解決するための手段】
【0006】
本明細書によって開示される無線通信装置は、無線ネットワークの親局又は子局として選択的に動作可能な無線通信装置である。無線通信装置は、管理部と、動作制御部と、を備える。管理部は、無線通信装置が特定の無線ネットワークの親局として動作する場合に、特定の無線ネットワークの子局として動作する1個以上の子局デバイスを管理する。動作制御部は、無線通信装置が特定の無線ネットワークの親局として動作する場合において、管理対象の子局デバイスの数がゼロになる第1の場合に、子局デバイス数がゼロになったタイミングを始期とする維持期間が経過するまで、親局としての動作を維持する。動作制御部は、維持期間が経過するまでに子局デバイス数が1以上になる場合には、維持期間が経過した後も、特定の無線ネットワークの親局としての動作を継続し、維持期間が経過するまで子局デバイス数がゼロに維持される場合に、維持期間が経過した後に、特定の無線ネットワークの親局としての動作を停止する。
【0007】
上記の無線通信装置は、子局デバイス数がゼロになっても、直ちに親局としての動作を停止しない(即ち、親局を維持するための維持期間が設けられる)。そして、無線通信装置は、維持期間が経過するまでに子局デバイス数が1以上になる場合には、維持期間の経過後も親局としての動作を継続し、維持期間が経過するまでに子局デバイス数がゼロに維持される場合には、維持期間が経過した後に、親局としての動作を停止する。即ち、無線通信装置は、維持期間が経過するまでに子局デバイス数が1以上になるのか否かに応じて、親局としての動作を継続するのか停止するのかを変える。そのため、無線通信装置は、親局としての動作を適切に実行し得る。この結果、例えば、無線ネットワークが消失した直後に、無線ネットワークを再度形成せずに済む。
【0008】
動作制御部は、管理対象の1個以上の子局デバイスのうち、特定の無線ネットワークを最後に離脱した最終離脱子局デバイスから、非接続信号を取得せずに、子局デバイス数がゼロになる第1の場合に、維持期間が経過するまで親局としての動作を維持し、最終離脱子局デバイスから非接続信号を取得して、子局デバイス数がゼロになる第2の場合に、維持期間が経過する前に、親局としての動作を停止してもよい。この構成によると、無線通信装置は、最終離脱子局デバイスから非接続信号を取得したか否かに応じて、適切なタイミングで親局としての動作を停止し得る。
【0009】
動作制御部は、待機期間決定部と、維持期間決定部と、を備えてもよい。待機期間決定部は、管理対象の1個以上の子局デバイスのうちの第1種の子局デバイスが特定の無線ネットワークを離脱する毎に、当該第1種の子局デバイスが特定の無線ネットワークを離脱したタイミングを始期とする1個の待機期間を決定してもよい。待機期間決定部は、管理対象の1個以上の子局デバイスのうちの第2種の子局デバイスが特定の無線ネットワークを離脱する場合に、待機期間を決定しないようにしてもよい。維持期間決定部は、第1の場合に、待機期間決定部によって決定された1個以上の待機期間の終期のうち、最も遅く到来する終期を、維持期間の終期として決定してもよい。第1種の子局デバイスは、非接続信号を無線通信装置に供給せずに、特定の無線ネットワークを離脱する子局デバイスであってもよく、第2種の子局デバイスは、非接続信号を無線通信装置に供給して、特定の無線ネットワークを離脱する子局デバイスであってもよい。この構成によると、無線通信装置は、特定の無線ネットワークから離脱する子局デバイスから非接続信号を取得したか否かに応じて、待機期間を決定するのか否かを変える。そして、無線通信装置は、1個以上の待機期間の終期に基づいて、維持期間の終期を決定する。このために、無線通信装置は、適切なタイミングで親局としての動作を停止し得る。
【0010】
動作制御部は、情報取得部と、維持期間決定部と、を備えてもよい。情報取得部は、管理対象の1個以上の子局デバイスのそれぞれから、当該子局デバイスの種類を示す種類情報を取得する。維持期間決定部は、管理対象の1個以上の子局デバイスから取得された1個以上の種類情報のうちの少なくとも1個の種類情報に基づいて、維持期間の終期を決定する。この構成によると、無線通信装置は、管理対象の子局デバイスから取得された種類情報に応じて維持期間の終期を決定するために、適切なタイミングで親局としての動作を停止し得る。
【0011】
維持期間決定部は、第1の場合に、管理対象の1個以上の子局デバイスのうち、特定の無線ネットワークを最後に離脱した最終離脱子局デバイスから取得された1個の種類情報のみに基づいて維持期間の終期を決定してもよい。この構成によると、無線通信装置は、最終離脱子局デバイスから既に取得された1個の種類情報のみに基づいて、維持期間の適切な終期を容易に決定し得る。
【0012】
複数個の種類情報のそれぞれについて、当該種類情報と期間とを対応付けて記憶するメモリをさらに備えてもよい。維持期間決定部は、最終離脱子局デバイスから取得された1個の種類情報に対応付けられている期間に基づいて、維持期間の終期を決定してもよい。この構成によると、無線通信装置は、維持期間の終期を適切に決定し得る。
【0013】
動作制御部は、待機期間決定部をさらに備えてもよい。待機期間決定部は、管理対象の1個以上の子局デバイスのうちの第1種の子局デバイスが特定の無線ネットワークを離脱する毎に、当該第1種の子局デバイスから取得された1個の種類情報に基づいて、当該第1種の子局デバイスが特定の無線ネットワークを離脱したタイミングを始期とする1個の待機期間を決定してもよい。維持期間決定部は、第1の場合に、待機期間決定部によって決定された1個以上の待機期間の終期のうち、最も遅く到来する終期を、維持期間の終期として決定してもよい。この構成によると、無線通信装置は、特定の無線ネットワークを離脱した第1種の子局デバイスから取得された種類情報に基づいて、待機期間を決定する。そして、無線通信装置は、1個以上の待機期間の終期に基づいて、維持期間の終期を決定する。このために、無線通信装置は、適切なタイミングで親局としての動作を停止し得る。
【0014】
待機期間決定部は、管理対象の1個以上の子局デバイスのうちの第2種の子局デバイスが特定の無線ネットワークを離脱する場合に、待機期間を決定しないようにしてもよい。第1種の子局デバイスは、非接続信号を無線通信装置に供給せずに、特定の無線ネットワークを離脱する子局デバイスであってもよい。第2種の子局デバイスは、非接続信号を無線通信装置に供給して、特定の無線ネットワークを離脱する子局デバイスであってもよい。この構成によると、無線通信装置は、特定の無線ネットワークから離脱する子局デバイスから非接続信号を取得したか否かに応じて、待機期間を決定するのか否かを変える。そして、無線通信装置は、1個以上の待機期間の終期に基づいて、維持期間の終期を決定する。このために、無線通信装置は、適切なタイミングで親局としての動作を停止し得る。
【0015】
複数個の種類情報のそれぞれについて、当該種類情報と期間とを対応付けて記憶するメモリをさらに備えてもよい。待機期間決定部は、第1種の子局デバイスが特定の無線ネットワークを離脱する毎に、当該第1種の子局デバイスから取得された1個の種類情報に対応付けられている期間に基づいて、待機期間の終期を決定してもよい。この構成によると、無線通信装置は、維持期間の終期を適切に決定し得る。
【0016】
なお、上記の無線通信装置を実現するための制御方法、コンピュータプログラム、及び、当該コンピュータプログラムを格納するコンピュータ読取可能記録媒体も、新規で有用である。
【図面の簡単な説明】
【0017】
【図1】通信システムの構成の一例を示す。
【図2】無線接続処理のフローチャートを示す。
【図3】G/O処理のフローチャートを示す。
【図4】第1実施例のG/O停止処理のフローチャートを示す。
【図5】第1実施例の具体例を示す。
【図6】第2実施例のG/O停止処理のフローチャートを示す。
【図7】第2実施例の具体例を示す。
【図8】第3実施例のG/O停止処理のフローチャートを示す。
【図9】第3実施例の具体例を示す。
【図10】第4実施例の具体例を示す。
【発明を実施するための形態】
【0018】
(第1実施例)
(システムの構成:図1)
図1に示されるように、通信システム2は、プリンタ10、70と、携帯端末80と、PC90と、を備える。各機器10、70、80、90は、それぞれ、後述のWi−Fi Directに従った無線通信機能を実行可能である。なお、以下では、Wi−Fi Directのことを「WFD」と呼び、WFDに従った無線通信機能のことを「WFD機能」と呼ぶ。各機器10、70、80、90は、WFDに従って無線接続を確立することによって、無線ネットワークを構築することができる。この結果、各機器10、70、80、90は、印刷データ等の通信対象の対象データの無線通信を実行可能になる。
【0019】
(プリンタ10の構成)
プリンタ10は、表示部12と、操作部14と、無線インターフェイス16と、印刷実行部20と、制御部22と、を備える。上記の各部12〜22は、バス線(符号省略)に接続されている。表示部12は、様々な情報を表示するためのディスプレイである。操作部14は、複数のキーによって構成される。ユーザは、操作部14を操作することによって、様々な指示をプリンタ10に与えることができる。無線インターフェイス16は、無線通信を実行するためのインターフェイスである。無線インターフェイス16は、無線チップセット17を含む。無線チップセット17は、例えば、broadcom社製の「BCM4319」である。無線チップセット17の機能については後で説明する。印刷実行部20は、インクジェット方式、レーザ方式等の印刷機構を備え、制御部22からの指示に従って印刷を実行する。
【0020】
制御部22は、CPU30とメモリ32とを備える。CPU30は、メモリ32に格納されているプログラム34に従って、様々な処理を実行する。メモリ32は、ROM、RAM、ハードディスク等によって構成される。メモリ32は、上記のプログラム34の他に、後述の管理リスト36を格納する。なお、破線で示す待機期間テーブル38は、後述の第2、第3実施例で利用される。CPU30が上記のプログラム34に従って処理を実行することによって、管理部40及び動作制御部42の各機能が実現される。動作制御部42は、情報取得部44、維持期間決定部46、及び、待機期間決定部48を備える。なお、待機期間決定部48は、後述の第3、第4実施例で実現される機能である。
【0021】
(プリンタ70、携帯端末80、PC90の構成)
プリンタ70は、上記のプリンタ10と同様の構成を備える。携帯端末80、PC90は、図示省略のCPU、メモリ、ディスプレイ等を備える。
【0022】
(WFD)
上述したように、各機器10、70、80、90は、WFD機能を実行可能である。WFDは、Wi−Fi Allianceによって作成された「Wi-Fi Peer-to-Peer(P2P) Technical Specification Version1.1」に記述されている。WFDでは、機器の状態として、Group Owner状態(以下では「G/O状態」と呼ぶ)、クライアント状態、及び、デバイス状態の3つの状態が定義されている。WFD機能を実行可能な機器(即ち、プリンタ10、70、携帯端末80、PC90等)は、上記の3つの状態のうちの1つの状態で選択的に動作可能である。
【0023】
G/O状態の機器とクライアント状態の機器とによって、1個の無線ネットワークが構成される。1個の無線ネットワークでは、1個のG/O状態の機器しか存在し得ないが、1個以上のクライアント状態の機器が存在し得る。G/O状態の機器は、1個以上のクライアント状態の機器を管理する。具体的に言うと、G/O状態の機器は、1個以上のクライアント状態の機器のそれぞれの識別情報(即ちMACアドレス)が記述された管理リスト(図1の符号36参照)を記憶する。G/O状態の機器は、クライアント状態の機器が無線ネットワークに新たに参加すると、当該機器の識別情報を管理リストに追加し、クライアント状態の機器が無線ネットワークから離脱すると、当該機器の識別情報を管理リストから削除する。
【0024】
G/O状態の機器は、管理リストに登録されている機器、即ち、クライアント状態の機器との間で、通信対象の対象データ(例えば、OSI参照モデルのネットワーク層の情報を含むデータ(印刷データ等))の無線通信を実行可能である。しかしながら、G/O状態の機器は、管理リストに登録されていない機器との間で、無線ネットワークに参加するためのデータ(例えば、ネットワーク層の情報を含まないデータ(プローブ要求(Probe Request)信号、プローブ応答(Probe Response)信号等の物理層のデータ))の無線通信を実行可能であるが、上記の対象データの無線通信を実行不可能である。例えば、G/O状態のプリンタ10は、管理リスト36に登録されている携帯端末80(即ちクライアント状態の携帯端末80)から印刷データを無線で受信可能であるが、管理リストに登録されていない携帯端末から印刷データを無線で受信不可能である。
【0025】
また、G/O状態の機器は、複数個のクライアント状態の機器の間の対象データ(印刷データ等)の無線通信を中継可能である。例えば、クライアント状態の携帯端末80がクライアント状態の他のプリンタ70に印刷データを無線で送信すべき場合には、携帯端末80は、まず、印刷データをG/O状態のプリンタ10に無線で送信し、プリンタ10は、印刷データを上記の他のプリンタ70に無線で送信する。即ち、G/O状態の機器は、無線ネットワークのAP(アクセスポイント)の機能を実行可能である。
【0026】
なお、無線ネットワークに参加していない機器(即ち、管理リストに登録されていない機器)が、デバイス状態の機器である。デバイス状態の機器は、無線ネットワークに参加するためのデータの無線通信を実行可能であるが、当該無線ネットワークを介して対象データ(印刷データ等)の無線通信を実行不可能である。
【0027】
(WFDの無線接続を実行するための方式)
WFDの無線接続を実行するための方式として、WPS(Wi-Fi Protected Setup)の無線接続方式が利用される。WPSの無線接続方式は、PBC(Push Button Configuration)方式と、PIN(Personal Identification Number)コード方式と、を含む。どちらの方式でも、無線接続が確立されるべき一対の機器(例えばプリンタ10とプリンタ70)は、WPSネゴシエーション(後で説明する)を実行して、無線接続を確立する。PINコード方式では、ユーザは、一方の機器で表示されるPINコードを、他方の機器に入力する。これに対し、PBC方式では、ユーザは、双方の機器に設けられるボタンを押下することに相当する何らかの操作を実行する。
【0028】
(無線接続処理:図2)
続いて、図2を参照して、デバイス状態のプリンタ10によって実行される無線接続処理の内容について説明する。図2において、プリンタ10は、他の機器と通信を無線で行う。
【0029】
プリンタ10の電源がON状態の間、プリンタ10の制御部22は、方式選択操作が行われることを監視する(S10)。ユーザは、プリンタ10の操作部14を操作して、PINコード方式とPBC方式のどちらかを選択するための方式選択操作を実行することができる。なお、PBC方式を選択する場合、方式選択操作が、双方の機器に設けられるボタンを押下することに相当する。ユーザが方式選択操作を実行すると、制御部22は、S10でYESと判断し、S12に進む。
【0030】
S12では、情報取得部44(図1参照)は、Scan処理を実行する。Scan処理は、プリンタ10の周囲に存在する他のG/O状態の機器(以下「G/O状態機器」と呼ぶ)を検索するための処理である。G/O状態機器は、1ch〜13chのうちの1個のチャネルを利用する。このため、情報取得部44は、Scan処理において、1ch〜13chの13個のチャネルを順次利用して、プローブ要求信号を順次送信する。
【0031】
他のG/O状態機器は、プリンタ10からプローブ要求信号を受信すると、プローブ応答信号をプリンタ10に送信する。他のG/O状態機器からのプローブ応答信号は、IE(Information Element)と、他のG/O状態機器のMACアドレスと、を含む。IEは、他のG/O状態機器がG/O状態であることを示す情報と、他のG/O状態機器のデバイス名と、他のG/O状態機器のカテゴリ(例えば、プリンタ、PC、携帯端末等)を示す情報と、を含む。情報取得部44は、Scan処理において受信するプローブ応答信号を解析することによって、プリンタ10の周囲に存在するG/O状態機器を見つけることができると共に、見つかったG/O状態機器に関する情報を取得することができる。
【0032】
なお、デバイス状態の機器(以下「デバイス状態機器」と呼ぶ)は、1ch、6ch、11chのうちの1個のチャネルを利用する。このため、プリンタ10の周囲に他のデバイス状態機器が存在する場合には、他のデバイス状態機器も、プリンタ10からのプローブ要求信号を受信し、プローブ応答信号をプリンタ10に送信する。ただし、他のデバイス状態機器からのプローブ応答信号は、他のデバイス状態機器がデバイス状態であることを示す情報を含む。また、クライアント状態の機器(以下「クライアント状態機器」と呼ぶ)は、プリンタ10からプローブ要求信号を受信しても、プローブ応答信号をプリンタ10に送信しない。従って、情報取得部44は、Scan処理において、プリンタ10の周囲の機器からプローブ応答信号を受信することによって、G/O状態機器を適切に見つけることができる。
【0033】
次いで、S14では、制御部22は、Listen処理を実行する。Listen処理は、後述のSearch処理(S16参照)を実行している他のデバイス状態機器から送信されるプローブ要求信号に応答するための処理である。即ち、制御部22は、他のデバイス状態機器からプローブ要求信号を受信すると、プローブ応答信号を送信する。プリンタ10からのプローブ応答信号は、IEと、プリンタ10のMACアドレスと、を含む。そして、IEは、プリンタ10がデバイス状態であることを示す情報と、プリンタ10のデバイス名と、プリンタ10のカテゴリを示す情報と、を含む。したがって、制御部22がListen処理においてプローブ応答信号を送信することによって、他のデバイス状態機器は、デバイス状態のプリンタ10を見つけることができる。
【0034】
次いで、S16では、情報取得部44は、Search処理を実行する。情報取得部44は、1ch、6ch、11chの3個のチャネルを順次利用して、プローブ要求信号を順次送信する。これにより、情報取得部44は、他のデバイス状態機器からプローブ応答信号を無線で受信することができる。他のデバイス状態機器からのプローブ応答信号は、IEと、他のデバイス状態機器のMACアドレスと、を含む。そして、IEは、他のデバイス状態機器がデバイス状態であることを示す情報と、他のデバイス状態機器のデバイス名と、他のデバイス状態機器のカテゴリを示す情報と、を含む。したがって、情報取得部44は、Search処理において受信するプローブ応答信号を解析することによって、プリンタ10の周囲に存在する他のデバイス状態機器を見つけることができると共に、見つかった他のデバイス状態機器に関する情報を取得することができる。
【0035】
なお、他のG/O状態機器も、Search処理で送信されるプローブ要求信号に応じて、プローブ応答信号をプリンタ10に送信し得る。ただし、このプローブ応答信号は、他のG/O状態機器がG/O状態であることを示す情報を含む。また、上述したように、他のクライアント状態機器は、プリンタ10からプローブ要求信号を受信しても、プローブ応答信号をプリンタ10に送信しない。従って、情報取得部44は、Search処理において、プリンタ10の周囲の機器からプローブ応答信号を受信することによって、デバイス状態機器を適切に見つけることができる。
【0036】
次いで、S18では、制御部22は、機器リストを表示部12に表示させる。機器リストは、S12及びS16で見つかった各機器に関する情報(即ちS12及びS16で得られた状態を示す情報、デバイス名、カテゴリ、MACアドレス)を含む。図2の例では、S18において、デバイス名「XXX」に対応する機器に関する情報(G/O状態、プリンタ、MACアドレス)と、デバイス名「YYY」に対応する機器に関する情報(デバイス状態、PC、MACアドレス)と、が表示部12に表示される。
【0037】
ユーザは、S18で表示される機器リストを見ることによって、プリンタ10の周囲に存在する機器を知ることができる。ユーザは、操作部14を介して、プリンタ10とどの機器との間で無線接続を確立させるのかを選択するための機器選択操作を実行することができる。機器選択操作が実行されると、S20に進む。なお、以下では、機器選択操作によって選択された機器(例えばプリンタ70)のことを「対象機器」と呼ぶ。
【0038】
S20では、制御部22は、対象機器がデバイス状態であるか否かを判断する。ユーザによって選択された対象機器がデバイス状態である場合(例えば図2のデバイス名「YYY」に対応する機器が選択された場合)、制御部22は、S20でYESと判断し、S22に進む。一方、対象機器がG/O状態である場合(例えば図2のデバイス名「XXX」に対応する機器がユーザによって選択された場合)、制御部22は、S20でNOと判断し、S22をスキップしてS24に進む。
【0039】
なお、例えば、S10で選択された方式がPINコード方式である場合には、S20とS22との間で、制御部22は、PINコードを生成して表示部12に表示させる。この場合、ユーザは、表示部12に表示されたPINコードを、対象機器に入力する。なお、ここでは、プリンタ10でPINコードが表示され、対象機器にPINコードが入力される例を説明したが、対象機器でPINコードが表示され、プリンタ10にPINコードが入力されてもよい。PINコードの表示及び入力が実行されると、制御部22は、S22において、対象機器との間でG/Oネゴシエーションを実行する。上述したように、1個の無線ネットワークでは、1個のG/O状態の機器しか存在し得ない。従って、制御部22は、G/Oネゴシエーションを実行して、デバイス状態のプリンタ10及びデバイス状態の対象機器のどちらか一方の機器をG/Oとして決定し、他方の機器をクライアントとして決定する。一方において、例えば、S10で選択された方式がPBC方式である場合には、S20とS22との間で、PINコードの表示及び入力が実行されない。この場合、S22において、制御部22は、対象機器との間でG/Oネゴシエーションを実行する。
【0040】
S22のG/Oネゴシエーションでは、制御部22は、プリンタ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優先度が設定される。
【0041】
制御部22は、プリンタ10のG/O優先度と対象機器のG/O優先度とを比較して、優先度が高い方の機器(プリンタ10又は対象機器)をG/Oとして決定し、優先度が低い方の機器(対象機器又はプリンタ10)をクライアントとして決定する。対象機器は、プリンタ10と同じ手法を利用して、プリンタ10のG/O優先度と対象機器のG/O優先度とに基づいて、G/O及びクライアントを決定する。
【0042】
また、S22では、動作制御部42(図1参照)は、プリンタ10の状態を、デバイス状態から決定済みの状態(即ちクライアント状態又はG/O状態)に移行させる。対象機器も、デバイス状態から決定済みの状態(即ちクライアント状態又はG/O状態)に移行する。プリンタ10の状態の移行が行われると、S24に進む。
【0043】
一方、ユーザによって選択された対象機器がG/O状態である場合(例えば図2のデバイス名「XXX」に対応する機器が選択された場合)、制御部22は、S20でNOと判断し、S22をスキップしてS24に進む。この場合、S22のG/Oネゴシエーションが実行されずに、制御部22は、プリンタ10の状態としてクライアント状態を決定して、プリンタ10の状態を、デバイス状態からクライアント状態に移行させる。これは、対象機器がG/O状態であるため、プリンタ10は、対象機器によって管理されるクライアント状態になることが好ましいからである。なお、例えば、S10で選択された方式がPINコード方式である場合には、S20でNOと判断されると、S20とS24との間で、前述のように、PINコードの表示または入力のための画面を表示する。そして、制御部22は、S22において、自機(プリンタ10)がPINコードの表示、入力のいずれを実行するかを対象機器に宣言するためのプロビジョニングディスカバリ(provisioning discovery)を実行する。一方において、例えば、S10で選択された方式がPBC方式である場合には、S20でNOと判断されると、S20とS24との間で、PINコードの表示及び入力が実行されず、制御部22は、PBC方式を実行することを対象機器に宣言するためのプロビジョニングディスカバリを実行する。上記のプロビジョニングディスカバリが実行されると、S24に進む。なお、上記のS20でYESの場合には、制御部22は、上記のプロビジョニングディスカバリに相当する処理を、S22のGOネゴシエーションにおいて実行する。そのため、S20でYESの場合は、制御部22は、上記のプロビジョニングディスカバリに相当する処理を単独で実行しない。
【0044】
S24では、プリンタ10の制御部22は、自機の現在の状態がG/O状態であるのか否かを判断する。S24でYESの場合(プリンタ10の現在の状態=G/O状態、かつ、対象機器の現在の状態=クライアント状態)には、S26に進む。一方、S24でNOの場合(プリンタ10の現在の状態=クライアント状態、かつ、対象機器の現在の状態=G/O状態)には、S32に進む。
【0045】
S26では、制御部22は、G/O状態用のWPSネゴシエーションを実行する。例えば、S10で選択された方式がPINコード方式である場合には、制御部22は、プリンタ10で表示されたPINコード又はプリンタ10に入力されたPINコードを用いて、特定のデータ(例えば、最後にプリンタ10と対象機器との間で通信したパケットデータ)をハッシュコードに変換する。一方、対象機器も、対象機器で表示されたPINコード又は対象機器に入力されたPINコードを用いて、上記の特定データをハッシュコードに変換する。プリンタ10(制御部22)及び対象機器のどちらかの機器は、プリンタ10で生成されたハッシュコードと、対象機器で生成されたハッシュコードと、が一致するのか否かを判断する。また、例えば、S10で選択された方式がPBC方式である場合には、プリンタ10(制御部22)及び対象機器は、予め決められているPINコードを用いて、上記の特定データをハッシュコードに変換する。また、プリンタ10及び対象機器のどちらかの機器は、2つのハッシュコードが一致するのか否かを判断する。本実施例では、SSID、認証方式、及び、暗号化方式は、予め決められている。また、SSID及びパスワード(ネットワークキー)は、S26の処理の際に制御部22によって生成されてもよいし、予め決められていてもよい。
【0046】
2つのハッシュコードが一致した場合、即ち、PINコードの認証に成功した場合には、制御部22は、上記の無線プロファイルを、対象機器に送信する。この結果、プリンタ10及び対象機器は、同じ無線プロファイルを利用することができる。
【0047】
次いで、S28では、制御部22は、対象機器との間で、無線プロファイルを用いて接続処理を実行する。即ち、制御部22は、対象機器との間で、無線プロファイルを用いて、Authentication Request、Authentication Response、Association Request、Association Response及び、4way handshakeの無線通信を実行する。この過程で、プリンタ10及び対象機器は、互いのパスワード(ネットワークキー)の一致の確認等の様々な認証処理を実行する。パスワード(ネットワークキー)の一致が確認されて、認証処理が成功した場合に、プリンタ10及び対象機器の間に無線接続が確立される。これにより、プリンタ10と対象機器とを含む無線ネットワークが構築される。なお、パスワード(ネットワークキー)の一致が確認されると、対象データを通信する際の暗号化に利用されるキーが生成される。
【0048】
次いで、S30では、管理部40(図1参照)は、メモリ32内の管理リスト36にクライアント状態である対象機器のMACアドレスを登録する。なお、対象機器のMACアドレスは、S16のSearch処理で取得されたプローブ応答信号に含まれている。S30を終えると、無線接続処理が終了する。
【0049】
一方、S32では、制御部22は、クライアント状態用のWPSネゴシエーションを実行する。具体的に言うと、S32では、制御部22は、無線接続を確立するために必要な無線プロファイル(SSID、認証方式、暗号化方式、パスワード等)を、対象機器から無線で受信する。例えば、S10で選択された方式がPINコード方式である場合には、プリンタ10及び対象機器は、プリンタ10で表示されたPINコード又はプリンタ10に入力されたPINコードを用いて、特定データをハッシュコードに変換し、2つのハッシュコードが一致するのか否かを判断する。2つのハッシュコードが一致した場合、制御部22は、無線プロファイルを対象機器から無線で受信する。また、例えば、S10で選択された方式がPBC方式である場合には、プリンタ10及び対象機器は、予め決められたPINコードを用いて、特定データをハッシュコードに変換し、2つのハッシュコードが一致するのか否かを判断する。2つのハッシュコードが一致した場合、制御部22は、無線プロファイルを対象機器から無線で受信する。この結果、プリンタ10及び対象機器は、同じ無線プロファイルを利用することができる。
【0050】
次いで、S34では、制御部22は、上記のS28と同様に、対象機器との間で無線プロファイルを用いて接続処理を実行する。その結果、プリンタ10と対象機器との間に無線接続が確立される。S34を終えると、無線接続処理が終了する。
【0051】
例えば、プリンタ10がG/O状態である場合には、プリンタ10は、クライアント状態の対象機器との間で、通信対象の対象データ(印刷データ等)の通信を実行することができるようになる。なお、対象データは、OSI参照モデルの物理層よりも上位層であるネットワーク層のデータを含む。従って、G/O状態のプリンタ10は、クライアント状態の対象機器との間で、ネットワーク層の無線通信を実行することができる。さらに、G/O状態のプリンタ10は、クライアント状態の対象機器と、管理リストに登録されているクライアント状態の他の機器と、の間の無線通信を中継することができるようになる。
【0052】
(G/O処理:図3)
次いで、図3を参照して、プリンタ10がG/Oとして動作する場合に実行される処理の内容を説明する。S40では、制御部22は、ユーザによって操作部14に方式選択操作が実行されることを監視する。方式選択操作が実行されると(S40でYES)、S42に進む。
【0053】
なお、ユーザは、G/O状態のプリンタ10との間で無線接続が確立されるべき機器(以下では「対象機器」と呼ぶ)においても、方式選択操作を実行する。この場合、対象機器は、Scan処理においてプリンタ10を見つけることができ、プリンタ10を含む機器リストを対象機器の表示部に表示させる。ユーザによって機器リストからプリンタ10が選択されると、対象機器は、接続要求をプリンタ10に送信する。なお、対象機器から受信される接続要求は、対象機器のMACアドレス、カテゴリ等の各種情報を含む。これにより、プリンタ10の情報取得部44は、対象機器の各種情報を取得する。なお、対象機器は、接続要求をプリンタ10に送信すると、クライアント状態に移行する。これは、プリンタ10がG/O状態であるために、対象機器がG/O状態になることが不可能だからである。
【0054】
制御部22は、対象機器から接続要求を受信すると、S42において、図2のS26と同様に、G/O状態用のWPSネゴシエーションを実行する。S42の処理の結果、プリンタ10及び対象機器は同じ無線プロファイルを利用することができる。次いで、S44において、制御部22は、図2のS28と同様に、該無線プロファイルを用いて接続処理を実行する。次いで、S46では、管理部40は、メモリ32内の管理リスト36に、クライアント状態である対象機器のMACアドレスを新たに登録する。対象機器のMACアドレスは、対象機器から受信された接続要求に含まれている。S46を終えると、S40に戻る。
【0055】
S48では、管理部40は、無線チップセット17(図1参照)から、検出不能信号を取得することを監視する。管理リスト36に登録されているクライアント状態の機器(以下では「クライアント状態機器」と呼ぶ)は、G/O状態のプリンタ10に定期的に信号(以下「定期信号」と呼ぶ)を送信する。無線チップセット17は、クライアント状態機器が送信する定期信号を受信する。例えば、クライアント状態機器が携帯端末80である場合には、携帯端末80は、プリンタ10との無線通信が可能な範囲の外に移動する可能性がある。また、例えば、通信障害等によってプリンタ10とクライアント状態機器との間で無線通信を実行不可能な状態になる可能性もある。また、例えば、クライアント状態機器の電源がOFFされる可能性もある。そのような場合には、無線チップセット17は、クライアント状態機器から送信される定期信号を受信することができない。無線チップセット17は、クライアント状態機器から定期信号を受信不可能な状態が所定時間に亘って継続する場合に、管理部40に検出不能信号を供給する。検出不能信号は、検出不能状態のクライアント状態機器のMACアドレスを含む。管理部40は、検出不能信号を取得すると(S48でYES)、S52に進む。一方、管理部40は、検出不能信号を取得しない場合(S48でNO)、S50に進む。
【0056】
S50では、管理部40は、クライアント状態機器から、非接続信号を取得することを監視する。例えば、ユーザは、クライアント状態機器を無線ネットワークから離脱させることを望む場合に、クライアント状態機器において所定の操作を実行することができる。この場合、クライアント状態機器は、無線ネットワークから離脱することを示す非接続信号(disconnect信号)を、G/O状態のプリンタ10に無線で送信する。非接続信号は、非接続信号の送信元のクライアント状態機器のMACアドレスを含む。管理部40は、非接続信号を取得すると(S50でYES)、S52に進む。
【0057】
S52では、管理部40は、S48で取得した検出不能信号に含まれるMACアドレス、又は、S50で取得した非接続信号に含まれるMACアドレスを、管理リスト36から削除する。S52の削除処理により、無線ネットワークから離脱したクライアント状態機器が、管理部40の管理対象から外れる。以下では、管理部40が検出不能信号に含まれるMACアドレスを管理リスト36から削除することを、「検出不能によってクライアント状態機器が無線ネットワークから離脱する」と表現することがあり、管理部40が非接続信号に含まれるMACアドレスを管理リスト36から削除することを、「非接続信号によって無線ネットワークからクライアント状態機器が離脱する」と表現することがある。なお、S52を終えると、S40に戻る。
【0058】
本実施例では、S52において、管理部40は、管理リスト36から最後のクライアント状態機器(以下では「最終クライアント」と呼ぶ)のMACアドレスを削除する際に、さらに、最終クライアントのMACアドレスと、最終クライアントのMACアドレスが削除された時刻(以下では「最終離脱時刻」と呼ぶ)と、をメモリ32内の一時記憶領域に記憶させる。特に、管理部40は、最終クライアントから非接続信号を取得している場合(S50でYESの場合)には、さらに、非接続信号を取得したことを示すフラグを上記の一時記憶領域に記憶させる。ただし、管理部40は、最終クライアントから非接続信号を取得していない場合(検出不能によって最終クラアイントが離脱した場合(S48でYESの場合))には、上記のフラグを上記の一時記憶領域に記憶させない。
【0059】
(G/O停止処理:図4)
続いて、図4を参照して、本実施例のプリンタ10が実行するG/O停止処理の内容を説明する。まず、S60において、制御部22は、自機(プリンタ10)の現在の状態がG/O状態であるのか否かを判断する。S60でNOの場合(プリンタ10=デバイス状態又はクライアント状態の場合)、制御部22は、S62以降の処理を実行しない。一方において、S60でYESの場合(プリンタ10=G/O状態の場合)、S62に進む。
【0060】
S62では、管理部40は、クライアント状態機器の数がゼロであるのか否かを判断する。具体的には、管理部40は、管理リスト36に記憶されているMACアドレスの総数がゼロであるのか否かを判断する。S62でNOの場合(管理リスト36に記憶されているMACアドレスの総数が1以上である場合)、S78に進む。S78では、管理部40は、所定時間(例えば1秒間)待機し、その後、S60に戻る。
【0061】
一方、S62でYESの場合(管理リスト36に記憶されているMACアドレスの総数がゼロである場合)、S66に進む。S66では、管理部40は、最終クライアントから、非接続信号を取得済みであるのか否かを判断する。具体的には、S66では、管理部40は、メモリ32内の上記の一時記憶領域に、非接続信号を取得したことを示すフラグが記憶されているか否かを判断する。S66でYESの場合(非接続信号を取得したことを示すフラグが記憶されている場合)、S68〜S74の処理をスキップしてS76に進む。
【0062】
S76では、動作制御部42は、プリンタ10の状態をG/O状態からデバイス状態に移行させて、G/Oとしての動作を停止させる。すなわち、S66でYESの場合には、S68〜S74の処理をスキップするために、動作制御部42は、G/Oとしての動作を直ちに停止させることになる。G/Oとしての動作が停止することにより、形成されていた無線ネットワークが消失する。このため、プリンタ10は、他の機器との間で対象データ(印刷データ等)を無線で通信することができなくなる。また、プリンタ10は、複数個のクライアント状態の機器の間の対象データの無線通信を中継することもできなくなる。また、S76では、動作制御部42は、無線ネットワークで利用されていた無線プロファイル(即ち図2のS26又は図3のS42で送信された無線プロファイル)を破棄する。S76を終えると、S60に戻る。
【0063】
一方、S66でNOの場合(非接続信号を取得したことを示すフラグが記憶されていない場合)、S68に進む。S68では、維持期間決定部46(図1参照)は、維持期間の終期を決定する。具体的には、維持期間決定部46は、メモリ32内の上記の一時記憶領域に記憶されている最終離脱時刻に所定期間(例えば1分間)を加算することによって、維持期間の終期を決定する。
【0064】
次いで、S70では、動作制御部42は、所定時間(例えば1秒間)待機する。その後、S72では、管理部40は、クライアント数がゼロである状態が維持されているか否か判断する。S72における判断処理は、S62における判断処理と同様である。S72でYESの場合(クライアント数がゼロである場合)、S74に進む。
【0065】
一方、S72でNOの場合(クライアント数が1以上である場合)、S60に戻る。クライアント数が1以上になる状況として、以下の状況を例示することができる。例えば、プリンタ10と最終クライアントとの間で通信障害が起こり、最終クライアントが検出不能によって無線ネットワークから離脱することを想定する。その後、ユーザは、最終クライアントであった機器及びプリンタ10のそれぞれにおいて、方式選択操作を実行する。この場合、図3のS40でYESと判断され、S42及びS44を経て、最終クライアントであった機器が管理リスト36に再び登録される(S46)。この場合、クライアント数が1以上になり、S72でNOと判断される。
【0066】
S74では、動作制御部42は、現在時刻が、S68で決定された維持期間の終期の時刻を経過したか否かを判断する。S74でNOの場合(現在時刻が維持期間の終期の時刻を経過していない場合)、S70に戻る。一方、S74でYESの場合(現在時刻が維持期間の終期の時刻を経過した場合)、S76に進む。
【0067】
S76では、動作制御部42は、プリンタ10の状態をG/O状態からデバイス状態に移行させて、G/Oとしての動作を停止させる。S66でNOの場合には、S68〜S74の処理が実行されるために、動作制御部42は、最終クライアントが離脱しても、G/Oとしての動作を直ちに停止させることなく、維持期間が経過した後に、G/Oとしての動作を停止させる。
【0068】
(具体例:図5)
続いて、図5を参照して、上記のG/O停止処理(図4参照)が適用される様々なケースを説明する。図5では、プリンタ10がG/Oとして動作し、プリンタ70、携帯端末80、PC90(図1参照)がクライアントとして動作する。以下、ケースA1〜A3の各例について順次説明する。
【0069】
(ケースA1)
プリンタ70は、非接続信号又は検出不能によって無線ネットワークから離脱する。その後、携帯端末80は、非接続信号又は検出不能によって無線ネットワークから離脱する。従って、ケースA1では、PC90が最終クライアントである。PC90は、検出不能によって無線ネットワークから離脱する(図3のS48でYES、S52)。この時点で、プリンタ10の管理対象のクライント機器の数(即ちクライアント数)がゼロとなる(図4のS62でYES)。上述の通り、最終クライアントであるPC90は、検出不能によって無線ネットワークから離脱している。従って、プリンタ10は、図4のS66でNOと判断して、維持期間(例えば1分間)の終期を決定する(図4のS68)。プリンタ10は、維持期間が経過するまでG/Oとして動作を継続する。ケースA1では、維持期間が経過するまでクライアント数がゼロのまま維持される。そのため、プリンタ10は、維持期間が経過した後に、プリンタ10の状態をG/O状態からデバイス状態に移行させて、G/Oとしての動作を停止させる(図4のS76)。
【0070】
(ケースA2)
ケースA2でも、ケースA1と同様に、プリンタ70、携帯端末80の順に無線ネットワークから離脱する。最終クライアントであるPC90は、ケースA1と同様に、検出不能によって無線ネットワークから離脱する(図4のS66でNO)。そのため、プリンタ10は、維持期間(例えば1分間)の終期を決定する。ケースA2では、維持期間が経過するまでに、プリンタ10とPC90との間で無線接続が再び確立(再接続)されている。そのため、維持期間が経過する前にクライアント数が「1」になる(S72でNO)。そのため、プリンタ10は、維持期間が経過した後も、G/Oとしての動作を継続する。
【0071】
(ケースA3)
ケースA3でも、ケースA1と同様に、プリンタ70、携帯端末80の順に無線ネットワークから離脱する。最終クライアントであるPC90は、非接続信号によって無線ネットワークから離脱している(図4のS66でYES)。そのため、プリンタ10は、図4のS68〜S74の処理を実行せず、G/Oとしての動作を直ちに停止する(S76)。即ち、プリンタ10は、ケースA1のように維持期間が経過するまでG/Oとしての動作を継続せずに、維持期間が経過する前にG/Oとしての動作を停止する。
【0072】
(第1実施例の効果)
以上、本実施例の通信システム2について説明した。本実施例のプリンタ10は、G/Oとして動作する場合において、クライアント状態機器の数がゼロになる場合(図4のS62でYES)に、クライアント状態機器の数がゼロになったタイミングを始期とする維持期間が経過するまで、G/Oとしての動作を維持する。そして、プリンタ10は、維持期間が経過するまでにクライアント状態機器の数が1以上になる場合には、維持期間の経過後も、G/Oとしての動作を継続し(図5のケースA2参照)、維持期間が経過するまでクライアント状態機器の数がゼロに維持される場合には、維持期間が経過した後に、無線ネットワークのG/Oとしての動作を停止する(図5のケースA1参照)。この結果、例えば、プリンタ10は、無線ネットワークが消失した直後に、無線ネットワークを再度形成せずに済む。
【0073】
例えば、可搬型の機器(携帯端末80等)がクライアント状態機器である場合を想定する。この場合、可搬型の機器が持ち運ばれた結果、可搬型の機器は、検出不能とよって無線ネットワークから離脱する可能性がある。本実施例の構成によると、そのような場合に、プリンタ10は、G/Oとしての動作を直ちに停止せず、維持期間が経過するまでG/Oとしての動作を継続する。そのため、可搬型の機器が、維持期間が経過する前に、無線ネットワークに再び接続される際に、プリンタ10は、図3のS42〜S46の処理を実行すれば足りる。即ち、プリンタ10は、図2のS12〜S22の処理を実行しなくて済む。このために、プリンタ10の処理負荷を低減させることができる。即ち、プリンタ10は、G/Oとしての動作を適切に実行することができる。
【0074】
また、上述したように、本実施例では、最終クライアントから非接続信号を取得済みである場合に、プリンタ10は、維持期間を設けることなく、G/Oとしての動作を直ちに停止する(図5のケースA3参照)。最終クライアントから非接続信号が取得される場合には、最終クライアントのユーザが、最終クライアントを無線ネットワークから離脱させることを望んでいる。従って、このような場合には、最終クライアントが無線ネットワークに再び接続される可能性が低いために、プリンタ10は、G/Oとしての動作を直ちに停止する。この結果、プリンタ10は、G/Oとしての動作を早期に停止することができ、プリンタ10の処理負荷(G/Oとしての処理の負荷)を低減させることができる。即ち、本実施例では、プリンタ10は、最終クライアントから非接続信号を取得したか否かに応じて、維持期間を設けるのか否かを変える。従って、プリンタ10は、最終クライアントから非接続信号を取得したか否かに応じて、G/Oとしての動作を適切に停止し得る。
【0075】
(対応関係)
プリンタ10が「無線通信装置」の一例である。G/O、クライアントが、それぞれ、「親局」、「子局」の一例である。クライアント状態機器が「子局デバイス」の一例である。図4のS62でYES、かつ、S66でNOの場合が「第1の場合」の一例である。図4のS62でYES、かつ、S66でYESの場合が「第2の場合」の一例である。最終クライアントが「最終離脱子局デバイス」の一例である。
【0076】
(第2実施例)
第2実施例について、第1実施例と異なる点を中心に説明する。第2実施例では、メモリ32内に、待機期間テーブル38が格納されている(図1の破線部参照)。待機期間テーブル38には、機器のカテゴリ(プリンタ、PC、携帯端末等)と、期間(1分間、2分間等)と、が対応付けられて記憶されている。なお、待機期間テーブル38に記憶される機器のカテゴリは、上記のプリンタ、PC、携帯端末の他に、テレビ、ゲーム機、デジタルカメラ、ルータ、スキャナ等を含む。本実施例では、待機期間テーブル38では、機器のカテゴリ毎に、異なる期間が対応付けられている。
【0077】
可搬型の機器(携帯端末等)は、プリンタ10の無線通信可能な範囲外に一時的に移動して、その後、プリンタ10の無線通信可能な範囲内に戻る可能性が高い。待機期間テーブル38では、このような機器のカテゴリに比較的に長い期間が対応付けられている。一方、例えば、据置型の機器(プリンタ、デスクトップPC等)は、プリンタ10の無線通信可能な範囲外に移動すると、その後、プリンタ10の無線通信可能な範囲内に戻る可能性が低い。待機期間テーブル38では、このような機器のカテゴリに比較的に短い期間が対応付けられている。
【0078】
なお、本実施例では、図2のS30では、管理部40は、クライアント状態である対象機器のMACアドレスと、対象機器のカテゴリと、を対応付けて、メモリ32内の管理リスト36に登録する。また、図3のS48でYESの場合(検出不能によって最終クラアイントが離脱する場合)には、S52において、管理部40は、最終クライアントのMACアドレスと、最終クライントのカテゴリと、を管理リスト36から削除する。この際に、管理部40は、最終クライアントのカテゴリも、メモリ32内の一時記憶領域に記憶させる。
【0079】
(G/O停止処理:図6)
図6を参照して、第2実施例のG/O停止処理の内容を説明する。S80〜S86の処理は、図4のS60〜S66の処理と同様である。また、図6のS100の処理も、図4のS78の処理と同様である。
【0080】
S88(検出不能によって最終クラアイントが離脱する場合)では、管理部40は、メモリ32内の一時記憶領域から最終クライアントのカテゴリを特定する。次いで、S90では、維持期間決定部46は、S88で特定されたカテゴリに対応する期間に基づいて、維持期間の終期を決定する。具体的には、S90では、まず、維持期間決定部46は、待機期間テーブル38から、S88で特定されたカテゴリに対応する期間を特定する。次いで、維持期間決定部46は、メモリ32内の一時記憶領域に記憶されている最終離脱時刻に上記の特定された期間を加算することによって、維持期間の終期を決定する。S90を終えると、S92に進む。S92〜S98の処理は、図4のS70〜S76の処理と同様である。S98を終えると、S80に戻る。
【0081】
(具体例:図7)
続いて、図7を参照して、上記のG/O停止処理(図6参照)が適用される様々なケースを説明する。
【0082】
(ケースB1)
最終クライアントであるPC90(例えばデスクトップPC)は、検出不能によって無線ネットワークから離脱する。この時点で、クライアント数がゼロとなる(図6のS82でYES)。プリンタ10は、最終クライアントであるPC90のカテゴリ「PC」を特定する(S88)。次いで、プリンタ10は、特定されたカテゴリ「PC」に対応する期間「1分間」をPC90の最終離脱時刻に加算することによって、維持期間の終期を決定する(S90)。プリンタ10は、維持期間が経過すると、プリンタ10の状態をG/O状態からデバイス状態に移行させて、G/Oとしての動作を停止させる(S98)。
【0083】
上述したように、待機期間テーブル38では、デスクトップPCのような据置型の機器のカテゴリに比較的に短い期間が対応付けられている。従って、ケースB1では、比較的に短い維持期間(1分)が採用される。据置型の機器は、プリンタ10の無線通信可能な範囲外に移動すると、その後、プリンタ10の無線通信可能な範囲内に戻る可能性が低いからである。従って、プリンタ10は、親局としての動作を早期に停止させることができ、この結果、PC10の処理負荷を低減させることができる。
【0084】
(ケースB2)
ケースB2では、ケースB1とは異なり、プリンタ70、PC90の順に無線ネットワークから離脱する。最終クライアントである携帯端末80は、検出不能によって無線ネットワークから離脱する。プリンタ10は、最終クライアントである携帯端末80のカテゴリ「携帯端末」を特定する(図6のS88)。次いで、プリンタ10は、特定されたカテゴリ「携帯端末」に対応する期間「2分間」を携帯端末80の最終離脱時刻に加算することによって、維持期間の終期を決定する(S90)。ケースB2では、維持期間が経過するまでに、プリンタ10と携帯端末80との間で無線接続が再び確立(再接続)されている。そのため、維持期間が経過する前にクライアント数が「1」になる(S94でNO)。そのため、プリンタ10は、維持期間が経過した後も、G/Oとしての動作を継続する。
【0085】
上述したように、待機期間テーブル38では、携帯端末のような可搬型の機器のカテゴリに比較的に長い期間が対応付けられている。従って、ケースB2では、比較的に長い維持期間(2分)が採用される。可搬型の機器は、プリンタ10の無線通信可能な範囲外に移動すると、その後、プリンタ10の無線通信可能な範囲内に戻る可能性が高いからである。従って、可搬型の機器がプリンタ10の無線通信可能な範囲内に戻る場合に、プリンタ10は、親局としての動作を適切に維持することができる。
【0086】
(第3実施例)
第3実施例について、第1実施例と異なる点を中心に説明する。なお、第3実施例でも、第2実施例と同様にメモリ32内に待機期間テーブル38が格納されている。
【0087】
なお、第3実施例では、図3のS52において、管理部40は、管理リスト36からクライアント状態機器のMACアドレスを削除する毎に、当該クライアント状態機器(以下では「離脱クライアント」と呼ぶ)のMACアドレスと、当該離脱クライアントのカテゴリと、当該離脱クライアントのMACアドレスを削除する時刻(以下では「離脱時刻」と呼ぶ)と、を対応付けて、メモリ32内の一時記憶領域に記憶させる。この場合、離脱クライアントから非接続信号を取得している場合(図3のS50でYES)には、管理部40は、さらに、上記の各情報(MACアドレス等)に、非接続信号を取得したことを示すフラグを対応付けてメモリ32内の一時記憶領域に記憶させる。
【0088】
(G/O停止処理:図8)
図8を参照して、第3実施例のG/O停止処理の内容を説明する。S110の処理は、図4のS60の処理と同様である。S112では、管理部40は、クライアント状態機器の数を確認する。具体的には、管理部40は、管理リスト36に記憶されているMACアドレスの数を確認する。次いで、S114では、管理部40は、クライアント状態機器の数が減少しているのか否かを判断する。具体的には、管理部40は、前回の判断時(前回のS112)におけるクライアント状態機器の数と、今回の判断時におけるクライアント状態機器の数と、を比較し、今回のクライアント状態機器の数が前回のクライアント状態機器の数より少ないか否かを判断する。S114でNOの場合(クライアント状態機器の数が減少していない場合)、S134に進む。S134の処理は、図4のS78の処理と同様である。
【0089】
一方、S114でYESの場合(クライアント状態機器の数が減少している場合)、S115において、管理部40は、離脱したクライアント状態機器を特定する。具体的には、管理部40は、メモリ32内の一時記憶領域に記憶されている各離脱クライアントの情報を参照して、最新の離脱時刻に対応するMACアドレス(以下では「最新離脱クライアント」と呼ぶ)を特定する。
【0090】
次いで、S116では、管理部40は、最新離脱クライアントから非接続信号を取得済みであるのか否かを判断する。具体的には、S116では、管理部40は、メモリ32内の一時記憶領域を参照して、S115で特定されたMACアドレスに、非接続信号を取得したことを示すフラグが対応付けられているか否かを判断する。S116でYESの場合(非接続信号を取得していた場合)、S118、S120の処理をスキップして(即ち待機期間決定部48(図1参照)が待機期間を決定せずに)、S122に進む。一方、S116でNOの場合(非接続信号を取得していない場合)、S118に進む。
【0091】
S118では、待機期間決定部48は、メモリ32内の一時記憶領域から、S115で特定されたMACアドレスに対応付けられているカテゴリを特定する。次いで、S120では、待機期間決定部48は、S118で特定されたカテゴリに対応する待機期間の終期を決定する。具体的には、S120では、まず、待機期間決定部48は、待機期間テーブル38において、S118で特定されたカテゴリに対応する期間を特定する。次いで、待機期間決定部48は、最新離脱クライアントの離脱時刻に上記の特定された期間(例えば1分間)を加算することによって、待機期間の終期を決定する。
【0092】
次いで、S122では、管理部40は、クライアント数がゼロであるか否か判断する。S122の処理は、図4のS62の処理と同様である。S122でYESの場合(クライアント数がゼロである場合)、S124において、維持期間決定部46は、維持期間の終期を決定する。具体的には、維持期間決定部46は、S120で決定された1個以上の待機期間の終期のうち、最も遅く到来するものを、維持期間の終期として決定する。S126〜S132の処理は、図4のS70〜S76の処理と同様である。
【0093】
(具体例:図9)
続いて、図9を参照して、上記のG/O停止処理(図8参照)が適用される様々なケースを説明する。
【0094】
(ケースC1)
ケースC1では、まず、プリンタ70が、検出不能によって無線ネットワークから離脱する。この場合、プリンタ10は、待機期間テーブル38を参照して、カテゴリ「プリンタ」に対応する期間「30秒間」を特定する(図8のS120)。次いで、プリンタ10は、プリンタ70の離脱時刻に特定された期間(30秒間)を加算することによって、待機期間の終期を決定する(図8のS120)。次に、携帯端末80が、検出不能によって無線ネットワークから離脱する。この場合、プリンタ10は、カテゴリ「携帯端末」に対応する期間「2分間」を特定して、待機期間の終期を決定する(S120)。次に、最終クライアントであるPC90が、検出不能によって無線ネットワークから離脱する。この場合も、プリンタ10は、上記と同様にカテゴリ「PC」に対応する期間「1分間」を待機期間として特定して、待機期間の終期を決定する(図8のS120)。そして、プリンタ10は、決定された3個の待機期間のうち、最も終期が遅く到来する携帯端末80の待機期間の終期を、維持期間の終期として決定する(S124)。プリンタ10は、維持期間が経過すると、プリンタ10の状態をG/O状態からデバイス状態に移行させて、G/Oとしての動作を停止させる(S132)。
【0095】
(ケースC2)
ケースC2では、ケースC1と同様に、プリンタ70、携帯端末80が、検出不能によって無線ネットワークから順に離脱する。プリンタ10は、上記と同様に、プリンタ70と携帯端末80のそれぞれについて、待機期間の終期を決定する(図8のS120)。このケースでは、次に、最終クライアントであるPC90が、非接続信号によって無線ネットワークから離脱する。この場合、プリンタ10は、待機期間の終期を決定しない(S116でYES)。そのため、プリンタ10は、決定された2個の待機期間のうち、最も終期が遅く到来する携帯端末80の待機期間の終期を、維持期間の終期として決定する(S124)。
【0096】
上述したように、プリンタ10は、2個以上の離脱クライアントについてそれぞれ決定された待機期間に基づいて、維持期間の終期を決定する。また、決定される待機期間の長さは、離脱クライアントのカテゴリに応じて変わる。従って、第3実施例では、プリンタ10は、1個以上の離脱クライアントの1個以上のカテゴリに基づいて、維持期間の終期を決定することができる。即ち、プリンタ10は、1個以上の離脱クライアントのそれぞれのカテゴリに応じて、適切なタイミングでG/Oとしての動作を停止することができる。上述したように、離脱クライアントから非接続信号を取得した場合(S116でYES)、プリンタ10は、当該離脱クライアントのカテゴリに基づいて待機期間を決定しない。即ち、プリンタ10は、離脱クライアントから非接続信号を取得したか否かに応じて、適切な維持期間を決定し得る。その結果、プリンタ10は、適切なタイミングで親局としての動作を停止し得る。
【0097】
(第4実施例)
第4実施例について、第3実施例と異なる点を中心に説明する。第4実施例では、第3実施例と異なり、メモリ32内に待機期間テーブル38が格納されていない。第4実施例では、図8のS118が実行されない。そして、図8のS120において、待機期間決定部48は、離脱クライアントのカテゴリに関わらず、所定の期間(例えば1分間)を待機期間として特定し、待機期間の終期を決定する。なお、第3実施例と同様に、待機期間決定部48は、離脱クライアントから非接続信号を取得している場合(図8のS116でYES)、待機期間の終期を決定しない。
【0098】
(具体例:図10)
続いて、図10を参照して、上記のG/O停止処理が適用されるケースを説明する。
【0099】
(ケースD)
ケースDでは、まず、プリンタ70が、検出不能によって無線ネットワークから離脱する。この場合、プリンタ10は、所定の期間「1分間」を待機期間として特定し、待機期間の終期を決定する。次に、携帯端末80が、検出不能によって無線ネットワークから離脱する。この場合も、プリンタ10は、所定の期間「1分間」を待機期間として特定し、待機期間の終期を決定する。次に、最終クライアントであるPC90が、非接続信号によって無線ネットワークから離脱する。この場合、プリンタ10は、待機期間の終期を決定しない。そのため、プリンタ10は、決定された2個の待機期間のうち、最も終期が遅く到来する携帯端末80の待機期間の終期を、維持期間の終期として決定する。
【0100】
上述したように、第4実施例では、プリンタ10は、離脱クライアントから非接続信号を取得したか否かに応じて、待機期間を決定するのか否かを変える。そのため、プリンタ10は、離脱クライアントから非接続信号を取得したか否かに応じて、適切なタイミングでG/Oとしての動作を停止し得る。
【0101】
以上、本発明の具体例を詳細に説明したが、これらは例示にすぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には、以上に例示した具体例を様々に変形、変更したものが含まれる。上記の実施例の変形例を以下に列挙する。
【0102】
(変形例1)上記の第1、第2実施例では、最終クライアントから非接続信号を取得済みである場合、維持期間決定部46は、維持期間を決定しない(図4のS66でYESの場合に、S68をスキップする)。その場合、動作制御部42は、最終クライアントの離脱後、直ちにG/Oとしての動作を停止する(図4のS76)。これに代えて、最終クライアントから非接続信号を取得済みである場合であっても、維持期間決定部46は、維持期間を決定してもよい。一般的に言うと、動作制御部は、管理対象の子局デバイスの数がゼロになる第1の場合に、子局デバイス数がゼロになったタイミングを始期とする維持期間が経過するまで、親局としての動作を維持すればよい。
【0103】
(変形例2)上記の第3、第4実施例では、離脱クライアントから非接続信号を取得済みである場合、待機期間決定部48は、待機期間を決定しない。これに代えて、離脱クライアントから非接続信号を取得済みである場合であっても、待機期間決定部48は、待機期間を決定してもよい。一般的に言うと、「第1種の子局デバイス」は、非接続信号を供給して離脱する子局デバイスと、非接続信号を供給せずに離脱する子局デバイスと、の両方を含んでもよい。
【0104】
(変形例3)「無線通信装置」は、プリンタ10に限られず、無線通信可能な他の機器(例えば、携帯電話、PDA、PC、サーバ、FAX装置、コピー機、スキャナ、多機能機等)であってもよい。
【0105】
(変形例4)上記の各実施例では、無線チップセット17は、クライアント状態機器から定期信号を受信不可能な状態が所定時間に亘って継続する場合(検出不能)に、管理部40に検出不能信号を供給する。これに代えて、無線チップセット17は、目的のクライアント状態機器に対してデータ(例えば印刷データ)を送信する場合において、所定回数試行してもデータの送信が成功しない場合に、管理部40に検出不能信号を供給してもよい。
【0106】
(変形例5)上記の各実施例では、プリンタ10のCPU30がソフトウェアに従って処理を実行することによって、各部40〜48が実現される。これに代えて、各部40〜48のうちの少なくとも一部は、論理回路等のハードウェアによって実現されてもよい。
【0107】
また、本明細書または図面に説明した技術要素は、単独であるいは各種の組合せによって技術的有用性を発揮するものであり、出願時請求項記載の組合せに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
【符号の説明】
【0108】
2:通信システム、10:プリンタ、12:表示部、14:操作部、16:無線インターフェイス、17:無線チップセット、20:印刷実行部、22:制御部、30:CPU、32:メモリ、34:プログラム、36:管理リスト、38:待機期間テーブル、40:管理部、42:動作制御部、44:情報取得部、46:維持期間決定部、48:待機期間決定部、70:プリンタ、80:携帯端末、90:PC

【特許請求の範囲】
【請求項1】
無線ネットワークの親局又は子局として選択的に動作可能な無線通信装置であって、
前記無線通信装置が特定の無線ネットワークの親局として動作する場合に、前記特定の無線ネットワークの子局として動作する1個以上の子局デバイスを管理する管理部と、
前記無線通信装置が前記特定の無線ネットワークの前記親局として動作する場合において、管理対象の子局デバイスの数がゼロになる第1の場合に、前記子局デバイス数がゼロになったタイミングを始期とする維持期間が経過するまで、前記親局としての動作を維持する動作制御部であって、
前記維持期間が経過するまでに前記子局デバイス数が1以上になる場合には、前記維持期間が経過した後も、前記特定の無線ネットワークの前記親局としての動作を継続し、
前記維持期間が経過するまで前記子局デバイス数がゼロに維持される場合に、前記維持期間が経過した後に、前記特定の無線ネットワークの前記親局としての動作を停止する、前記動作制御部と、
を備える無線通信装置。
【請求項2】
前記動作制御部は、
管理対象の1個以上の子局デバイスのうち、前記特定の無線ネットワークを最後に離脱した最終離脱子局デバイスから、非接続信号を取得せずに、前記子局デバイス数がゼロになる前記第1の場合に、前記維持期間が経過するまで前記親局としての動作を維持し、
前記最終離脱子局デバイスから前記非接続信号を取得して、前記子局デバイス数がゼロになる第2の場合に、前記維持期間が経過する前に、前記親局としての動作を停止する、請求項1に記載の無線通信装置。
【請求項3】
前記動作制御部は、
管理対象の1個以上の子局デバイスのうちの第1種の子局デバイスが前記特定の無線ネットワークを離脱する毎に、当該第1種の子局デバイスが前記特定の無線ネットワークを離脱したタイミングを始期とする1個の待機期間を決定する待機期間決定部であって、前記管理対象の1個以上の子局デバイスのうちの第2種の子局デバイスが前記特定の無線ネットワークを離脱する場合には、前記待機期間を決定しない、前記待機期間決定部と、
前記第1の場合に、前記待機期間決定部によって決定された1個以上の前記待機期間の終期のうち、最も遅く到来する終期を、前記維持期間の終期として決定する維持期間決定部と、を備え、
前記第1種の子局デバイスは、非接続信号を前記無線通信装置に供給せずに、前記特定の無線ネットワークを離脱する子局デバイスであり、
前記第2種の子局デバイスは、前記非接続信号を前記無線通信装置に供給して、前記特定の無線ネットワークを離脱する子局デバイスである、請求項1に記載の無線通信装置。
【請求項4】
前記動作制御部は、
管理対象の1個以上の子局デバイスのそれぞれから、当該子局デバイスの種類を示す種類情報を取得する情報取得部と、
前記管理対象の1個以上の子局デバイスから取得された1個以上の前記種類情報のうちの少なくとも1個の前記種類情報に基づいて、前記維持期間の終期を決定する維持期間決定部と、
を備える請求項1又は2に記載の無線通信装置。
【請求項5】
前記維持期間決定部は、前記第1の場合に、前記管理対象の1個以上の子局デバイスのうち、前記特定の無線ネットワークを最後に離脱した最終離脱子局デバイスから取得された1個の前記種類情報のみに基づいて、前記維持期間の終期を決定する、請求項4に記載の無線通信装置。
【請求項6】
複数個の前記種類情報のそれぞれについて、当該種類情報と期間とを対応付けて記憶するメモリをさらに備え、
前記維持期間決定部は、前記最終離脱子局デバイスから取得された1個の前記種類情報に対応付けられている期間に基づいて、前記維持期間の終期を決定する、請求項4又は5に記載の無線通信装置。
【請求項7】
前記動作制御部は、
管理対象の1個以上の子局デバイスのうちの第1種の子局デバイスが前記特定の無線ネットワークを離脱する毎に、当該第1種の子局デバイスから取得された1個の前記種類情報に基づいて、当該第1種の子局デバイスが前記特定の無線ネットワークを離脱したタイミングを始期とする1個の待機期間を決定する待機期間決定部をさらに備え、
前記維持期間決定部は、前記第1の場合に、前記待機期間決定部によって決定された1個以上の前記待機期間の終期のうち、最も遅く到来する終期を、前記維持期間の終期として決定する、請求項4に記載の無線通信装置。
【請求項8】
前記待機期間決定部は、前記管理対象の1個以上の子局デバイスのうちの第2種の子局デバイスが前記特定の無線ネットワークを離脱する場合に、前記待機期間を決定せず、
前記第1種の子局デバイスは、非接続信号を前記無線通信装置に供給せずに、前記特定の無線ネットワークを離脱する子局デバイスであり、
前記第2種の子局デバイスは、前記非接続信号を前記無線通信装置に供給して、前記特定の無線ネットワークを離脱する子局デバイスである、請求項7に記載の無線通信装置。
【請求項9】
複数個の前記種類情報のそれぞれについて、当該種類情報と期間とを対応付けて記憶するメモリをさらに備え、
前記待機期間決定部は、前記第1種の子局デバイスが前記特定の無線ネットワークを離脱する毎に、当該第1種の子局デバイスから取得された1個の前記種類情報に対応付けられている期間に基づいて、前記待機期間の終期を決定する、請求項7又は8に記載の無線通信装置。
【請求項10】
無線ネットワークの親局又は子局として選択的に動作可能な無線通信装置のためのコンピュータプログラムであって、
前記無線通信装置に搭載されるコンピュータに、以下の各処理、即ち、
前記無線通信装置が特定の無線ネットワークの親局として動作する場合に、前記特定の無線ネットワークの子局として動作する1個以上の子局デバイスを管理する管理処理と、
前記無線通信装置が前記特定の無線ネットワークの前記親局として動作する場合において、管理対象の子局デバイスの数がゼロになる第1の場合に、前記子局デバイス数がゼロになったタイミングを始期とする維持期間が経過するまで、前記親局としての動作を維持する動作制御処理であって、
前記維持期間が経過するまでに前記子局デバイス数が1以上になる場合には、前記維持期間が経過した後も、前記特定の無線ネットワークの前記親局としての動作を継続し、
前記維持期間が経過するまでに前記子局デバイス数がゼロに維持される場合には、前記維持期間が経過した後に、前記特定の無線ネットワークの前記親局としての動作を停止する、前記動作制御処理と、
を実行させるコンピュータプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate