<実施形態1>
以下、本実施形態に係る通信装置について、図面を参照しながら詳細に説明する。以下では、IEEE802.11シリーズに準拠した無線LANシステムを用いた例について説明するが、通信形態は必ずしもIEEE802.11準拠の無線LANには限らない。
本実施形態に好適な事例におけるハードウェア構成について説明する。
図1は本発明を適用できる実施形態に係る、後述の各装置の構成の一例を表すブロック図である。101は装置全体を示す。102は、記憶部103に記憶される制御プログラムを実行することにより装置全体を制御する制御部である。制御部102は、他の装置との間で通信パラメータの設定制御も行う。103は制御部102が実行する制御プログラムと、通信パラメータ等の各種情報を記憶する記憶部である。後述する各種動作は、記憶部103に記憶された制御プログラムを制御部102が実行することにより行われる。
104は無線通信を行うための無線部である。105は各種表示を行う表示部でありLCDやLEDのように視覚で認知可能な情報の出力、あるいはスピーカなどの音出力が可能な機能を有する。
106は通信パラメータ設定処理を開始するトリガを与える設定ボタンである。設定ボタン106が操作されると、通信パラメータ自動設定処理が開始される。制御部102は、ユーザによる設定ボタン106の操作を検出すると、後述する図4〜図10の処理を実施する。
107はアンテナ制御部、そして108はアンテナである。
図2は、後述の通信パラメータ設定動作機能を提供する装置が実行するソフトウェア機能ブロックの構成の一例を表すブロック図である。
201は装置全体を示している。202は通信パラメータの自動設定機能ブロックである。本実施形態では、ネットワーク識別子としてのSSID、暗号方式、暗号鍵、認証方式、認証鍵等の無線通信を行うために必要な通信パラメータの自動設定を行う。
203は各種通信にかかわるパケットを受信するパケット受信部である。ビーコン(報知信号)の受信は、パケット受信部203によって行われる。204は各種通信にかかわるパケットを送信するパケット送信部である。ビーコンの送信は、パケット送信部204によって行われる。なおビーコンには、送信元の機器の各種情報(自己情報)が付加される。
205はプローブリクエストなどの機器検索信号の送信を制御する検索信号送信部である。なお、プローブリクエストは、所望のネットワークを検索するためのネットワーク検索信号ということもできる。プローブリクエストの送信は、検索信号送信部205により行われる。また、受信したプローブリクエストに対する応答信号であるプローブレスポンスの送信も検索信号送信部205により行われる。
206は他の装置からのプローブリクエストなどの機器検索信号の受信を制御する検索信号受信部である。プローブリクエストの受信は、検索信号受信部206により行われる。また、プローブレスポンスの受信も検索信号受信部206により行われる。なお機器検索信号、及びその応答信号には、送信元の機器の各種情報(自己情報)が付加される。
207は、ネットワーク接続を制御するネットワーク制御部である。無線LANアドホックネットワークへの接続処理などは、ネットワーク制御部207により実施される。
通信パラメータ自動設定機能ブロックにおいて、208は相手機器より通信パラメータを受信する通信パラメータ受信部であり、209は相手機器に通信パラメータを提供する通信パラメータ提供部である。210は、通信パラメータ自動設定における各種プロトコルを制御する自動設定制御部である。後述の通信パラメータ自動設定の処理は、自動設定制御部210の制御に基づいて、通信パラメータ受信部208、通信パラメータ提供部209により行われる。また、通信パラメータ自動設定処理が開始されてからの経過時間が当該設定処理の制限時間を越えたか否かの判定も、自動設定制御部210で行われる。また、当該制限時間を超えたと判定した場合には、自動設定制御部210の制御により、設定処理が中止される。
211は、通信パラメータの提供装置を検出する通信パラメータ提供元検出部である。検索信号送信部205および検索信号受信部206による検索信号の送信と、応答により、通信パラメータの提供装置の検出を行う。また、パケット受信部203によるビーコンの受信により、提供装置の検出を行うこともできる。そして、通信パラメータの提供を受ける場合は、検出した提供装置に通信パラメータの提供を依頼し、通信パラメータの提供を受ける。
212は、通信パラメータ記憶部であり、提供装置から提供を受けた通信パラメータを記憶する。なお、通信パラメータ記憶部212は、記憶部103に相当する。
213は、ビーコン制御部であり、ビーコン(報知信号)の送信タイミングを制御する。ここで、IEEE802.11無線LANのアドホックネットワークにおけるビーコンの送信アルゴリズムについて説明する。
アドホックネットワークにおけるビーコンの送信は、ネットワークを構成する全ての装置間で自律分散的に行われる。ビーコンの送信間隔(ビーコン周期)は,アドホックネットワークを最初に構築した装置が決定することになっており、通常は100ms程度の間隔でいずれかの装置からビーコンが送信される。
ビーコンを送信するタイミングはコンテンションウィンドウ(乱数発生範囲、以下CW)と呼ばれるパラメータにより制御される。ネットワーク内の各装置は、ビーコンを送信する時間になると0からCWの中からランダムなある値(CWrand)を求める。このCWrandに、予め定められた一定の間隔(スロットタイム)を掛けた時間をビーコン送信までの待ち時間(バックオフ時間)とする。次に、前記ビーコン送信までの待ち時間をスロットタイムでデクリメントしていき、待ち時間が0になったときにビーコンを送信する。もし、自装置がビーコンを送信する前に他の装置からのビーコンを受信した場合は、ビーコンを送信する処理を中止する。このようにすることにより、各装置から送信されるビーコンの衝突を防ぐことができる。アドホックネットワーク上の各装置は、0からCWの間の乱数を選択するので、ネットワークを構成している装置のうち、もっとも小さいCWrandを選択した装置がビーコンを送信することになる。
例えば、各装置に初期値として同一のCWが設定されている場合は、各装置によるビーコンの送信確率は同じになり、その結果として、各装置による単位時間当たりのビーコンの送信回数はほぼ同じになる。言い換えれば、各装置によるビーコンの送信頻度(送信割合)は同じになる。一方でネットワーク上の1つの装置がCWを初期値よりも小さい値に設定すると、当該装置が他の装置よりもビーコンを送信する確率は高くなる。つまり、CWはビーコンの送信確率を決定するためのパラメータ、又はビーコンの単位時間当たりの送信回数を決定するためのパラメータということができる。又、各装置が送信するビーコンの送信割合を決定するためのパラメータということもできる。また、CWはビーコンを送信するタイミングを決定するためのパラメータ、ビーコンの送信までの待ち時間を決定するためのパラメータと言い換えることもできる。
なお、CWの値は、CWmin(最小値)からCWmax(最大値)までの範囲で変更することが可能であり、CWminに設定すると単位時間当たりのビーコンの送信回数が最大になる。なお、初期値としてCWinit(>CWmin)が設定されており、通信パラメータ自動設定処理が実行されていない間は、初期値を用いてビーコンの送信が行われる。214は、ビーコン生成部であり、ビーコンを生成し、パケット送信部204により生成したビーコンをネットワークへ送信する。
図3は、通信装置A32(以下、装置A)、通信装置B33(以下、装置B)、および通信装置C34(以下、装置C)を示した図である。これら全ての装置は、先に説明した図1、図2の構成を有している。
装置Aは通信パラメータの提供装置として、ネットワーク31の構成情報を記憶している。装置Bは、装置Aとの間で通信パラメータ自動設定を実施済みである。ここで、装置Aと装置Bから構成されるアドホックネットワーク31へ装置Cが参加する場合を考える。装置Cは通信パラメータの受信装置として動作し、提供装置である装置Aから通信パラメータの提供を受ける。
図7は、通信パラメータの受信装置として動作する装置Cの動作フローチャート図である。装置Cにおいてユーザにより設定ボタン106が操作されると、図7に示す処理は開始される。また、設定ボタン106が操作されると、通信パラメータ自動設定処理の制限時間を経過したか否かを判定するためのタイマーが起動される。当該タイマーが満了すると、S701〜S704の処理途中であっても、通信パラメータ設定処理は中止される。
処理開始後、装置Cはプローブリクエストを送信し(S701)、提供装置(本実施例では装置A)から通信パラメータ自動設定を意味する付加情報を載せたプローブレスポンスが送信されてくるのを一定時間待つ(S702)。なお、通信パラメータ自動設定を意味する付加情報が付加されたプローブレスポンスは、提供装置が自動設定処理の実行中に返すプローブレスポンスである。自動設定処理の実行中でない場合には、通信パラメータ自動設定を意味する付加情報を付加しないプローブレスポンスが返信される。このように、プローブレスポンスを確認することによって、通信パラメータの設定処理を開始している提供装置を検出することができる。なお、プローブリクエストに通信パラメータ自動設定を意味する付加情報を付加して送信するようにしてもよい。これにより、当該プローブリクエストを受信した装置は、通信パラメータの設定処理を開始している受信装置を検出することができる。
一定時間経過後、付加情報付きのプローブレスポンスを受信しなかった場合は、ステップS701へ戻り、再度、プローブリクエストの送信を繰り返す(S703)。
付加情報付きのプローブレスポンスを受信した場合、装置Cは提供装置である装置Aに対して通信パラメータの提供を要求する。そして、装置Cは装置Aから通信パラメータを受信して記憶部103に記憶する(S704)。装置Cは記憶した通信パラメータを用いることによりネットワーク31に参加することができ、装置Aや装置Bとの間でデータ通信を行うことが可能となる。
なお、IEEE802.11無線LANのアドホックネットワークにおいては、プローブレスポンスを返信する装置は、プローブリクエストを受信する直前にビーコンを送信した装置であることが規定されている。従って、S701〜S703において、装置Cが送信したプローブリクエストを受信する直前に提供装置がビーコンを送信していなければ、通信パラメータ自動設定を意味する付加情報が付加されたプローブレスポンスは返送されない。従って、例え通信パラメータの設定処理を開始している提供装置が存在していたとしても、装置Cは提供装置を検出することができないまま、自動設定処理の制限時間を超えてしまう場合も考えられる。後述する図4では、このような課題を解決するために提供装置が行う処理について説明する。
また、S701〜703ではプローブリクエストに対するプローブレスポンスの受信を待機することにより、通信パラメータの設定処理を開始している提供装置を検索する方法(アクティブスキャン)について説明した。通信パラメータの設定処理を実行中の提供装置は、通信パラメータ自動設定を意味する付加情報を付加したビーコンを送信するので、装置Cは一定時間、当該ビーコンが送信されてくるのを待つ方法(パッシブスキャン)を用いるようにしてもよい。なお、上述したようにIEEE802.11無線LANのアドホックネットワークでは、ネットワーク内の各装置がランダムにビーコンを送信する。従って、パッシブスキャンを用いた場合も、提供装置からの上記付加情報が付加されたビーコンを受信できないまま、通信パラメータ自動設定処理の制限時間を経過してしまう場合も考えられる。
図4は、通信パラメータの提供装置として動作する装置Aの動作フローチャート図である。装置Aにおいて設定ボタン106が操作されると、図4の処理が開始される。また、設定ボタン106が操作されると、通信パラメータ自動設定処理の制限時間を経過したか否かを判定するためのタイマーが起動される。当該タイマーが満了すると、S401〜S409の処理途中であっても、通信パラメータ設定処理は中止される。
通信パラメータ自動設定処理が開始されると、装置Aは、近隣ネットワークの状況を確認するために、ネットワーク検索処理を実施する(S401)。そして、ネットワーク検索結果により、通信パラメータの受信装置を検出したか否かを判定する(S402)。
検索処理としては、アクティブスキャンによる方法と、パッシブスキャンによる方法との二通りがあり、どちらの方法でもよく、両方の方法を組み合わせて検索処理を実施しても良い。
上述したように、アクティブスキャンとは、自装置がプローブリクエストを送信することにより、他装置からのプローブレスポンスを待ち受ける方法である。パッシブスキャンとは、他装置からのビーコンを待ち受ける方法である。
また、上述したように、通信パラメータの自動設定を意味する付加情報が付加されたプローブリクエストを受信した場合も、受信装置が存在すると判定することができる。つまり、通信パラメータの自動設定を意味する付加情報が付加されたプローブリクエストを待ち受けることも、本実施形態におけるネットワーク検索処理に含まれる。
S402において、通信パラメータの受信装置を検出しない場合は、S402に戻り、通信パラメータ受信装置を検出するまでネットワーク検索処理を繰り返し実施する。
また、S402において、通信パラメータの受信装置を検出した場合は、引き続き、S401におけるネットワーク検索結果により、ネットワーク31に他の装置が存在するかどうかを判定する(S403)。
S403において、他の装置を検出した場合は、ネットワーク31のビーコンを装置Aのほかにも送出する装置が存在するということである。本実施形態では、ネットワーク31に装置Bも存在しているため、装置Aと装置Bとが持ち回りでビーコンを送信している。
上述したように、IEEE802.11無線LANのアドホックネットワークにおいては、プローブレスポンスを返信する装置は、プローブリクエストを受信する直前にビーコンを送信した装置であることが規定されている。
そこで、通信パラメータの受信装置(本実施形態では装置C)による提供装置の検索処理(図7のS701〜703)において、装置Aを短時間で検出できるようにするために、ビーコン制御部213はCWを初期値よりも1段階小さい値に設定する(S404)。これにより、装置Aによる単位時間当たりのビーコンの送信回数が装置Bよりも多くなる。
このように、装置Aのビーコンの送信頻度(送信割合)を装置Bよりも高くすることにより、装置Cがアクティブスキャンによって提供装置を検索する場合に、装置Aからのプローブレスポンスを受信する確率が高くなる。また、装置Cがパッシブスキャンにより提供装置を検索する場合であっても、装置Aからのビーコンを受信する確率が上がる。その結果、装置Cが提供装置である装置Aを検出できないまま通信パラメータ設定処理の制限時間を経過してしまう確率を下げることが可能となる。また、装置Cが装置Aを短時間で検出することができれば、通信パラメータの提供が完了するまでの時間も短縮することができる。
S403において、他の装置を検出しなかった場合は、ネットワーク31においてビーコンを送信するのは装置Aのみということになる。よって受信装置である装置Cは、容易に提供装置である装置Aを検出することができるため、CWの変更は行わず、S405に進む。なお、他の装置を検出しなかった場合であっても、定期的にネットワーク検索処理を実施し、他の装置を検出した際にCWの値を変更するようにしても良い。
S405において、装置Aはプローブリクエストを受信すると、装置Aが直前にビーコンを送信したか否かを確認する(S405−1)。
装置Aが直前にビーコンを送信した場合は、通信パラメータ自動設定を意味する付加情報を付加したプローブレスポンスを返信し(S406)、直前にビーコンを送信していない場合はS407に進む。
そして装置Aは、受信装置である装置Cからの通信パラメータの提供要求の受信を待つ(S407)。S407において、通信パラメータの提供要求を受信しないまま一定時間が経過した場合は、装置Cが提供装置である装置Aを検出できなかった可能性があるため、CWの値を更に1段階小さい値に設定する。(S404)。このように、受信装置からの通信パラメータの提供要求を受信するまで段階的にCWの値を小さくするようにする。これにより、装置Aによる単位時間当たりのビーコン送信回数が装置Bに比べて更に多くなるため、装置Cが装置Aを検出できる確率も更に向上する。
S407において、装置Cからの通信パラメータの提供要求を受信した場合は、装置Cが装置Aを検出できたと判定できるので、その後もビーコンを装置Bよりも多く送信する必要はなくなる。よって、ビーコン制御部213により、CWを初期値へ再設定する(S408)。これにより、装置Aによる単位時間当たりのビーコン送信回数は装置Bと同等となる。このように、受信装置からの通信パラメータの提供要求を受信した場合には、ビーコンの送信頻度(送信割合)を他の装置と同じに戻すことで、不要な電力消費を抑えることができる。
その後、通信パラメータの提供を要求した受信装置Cへ通信パラメータを提供する(S409)。
通信パラメータ提供後、装置Aは通信パラメータ自動設定処理の制限時間を経過しているか否かを判定するためのタイマーが満了しているかどうかを判定する(S410)。
タイマーが未だ満了していない場合は、再びS401からのフローチャートを実施する。一方S410において、タイマーが満了している場合は、このまま通信パラメータ自動設定を終了する。なお、1台の受信装置に対して通信パラメータを提供した場合は、S410の判定を行わずに処理を終了するようにしてもよい。
なお、上記実施形態では、装置Aの他に装置Bが1台だけネットワーク上に存在する場合について説明したが、複数台の他の装置が同一ネットワークに存在する場合も考えられる。各装置に同一のCWが設定されている場合、同一ネットワークに存在する装置が多くなればなるほど、各装置の単位時間当たりのビーコン送信回数は少なくなる。従って、検出した他の装置の台数が多くなるほど、CWの値を小さくするようにしてもよい。これにより、同一ネットワークに多くの装置が存在する場合であっても、提供装置がビーコンを送信する割合を高くすることができる。
また、他の装置を検出した後も、定期的にネットワーク検索処理を行うようにしてもよい。そして、新たに他の装置を検出した場合は、CWの値を更に小さくようにしてもよい。このように、定期的に他の装置の検索処理を行うことにより、多くの装置が同一ネットワークに存在する場合であっても、提供装置がビーコンを送信する割合を高くすることができる。
また、上記実施形態ではS401のネットワーク検索処理によって、受信装置が存在するか否かの判定、及び、ネットワーク31上に他の装置が存在するか否かの判定を行うものとして説明したが、それぞれ別々に検索処理を行ってもよい。例えば、通信パラメータ自動設定を意味する付加情報が付加されたプローブリクエストの受信を待機することによって受信装置の検索を行い、その後アクティブスキャンによってネットワーク31上の他の装置を検索するようにしてもよい。
このように本実施の形態によれば、提供装置以外の装置がネットワーク内に存在する場合に、提供装置による単位時間当たりのビーコン送信回数が多くなるよう制御するため、受信装置が短時間で提供装置を発見する確率を上げることができる。その結果、受信装置が提供装置を検出できないまま通信パラメータ設定処理の制限時間を経過してしまう確率を下げることができる。また、提供装置を短時間に検出することにより、通信パラメータの提供が完了するまでの時間も短縮することができる。更に、受信装置からの通信パラメータの提供要求を受信した場合には、単位時間当たりのビーコン送信回数が他の装置と同等になるよう制御するので、不要な電力消費を抑えることができる。
<実施形態2>
実施形態1では、通信パラメータの提供装置は、通信パラメータの受信装置の存在を確認後、さらに提供装置と同一ネットワーク上の他の通信装置を検出した場合にCWを変える場合について説明した。実施形態2においては、受信装置の存在もしくは同一ネットワーク上における他の通信装置の存在、のどちらか一方を確認した時点でCWを変える例について説明する。なお、受信装置である装置Cの動作は実施形態1で説明した図7と同様であるため、ここでの説明は省略する。
図8は、通信パラメータの提供装置として動作する装置Aの動作フローチャート図である。装置Aにおいて設定ボタン106が操作されると、図4の処理が開始される。また、設定ボタン106が操作されると、通信パラメータ自動設定処理の制限時間を経過したか否かを判定するためのタイマーが起動される。当該タイマーが満了すると、S801〜S808の処理途中であっても、通信パラメータ設定処理は中止される。
通信パラメータ自動設定処理が開始されると、装置Aは、近隣ネットワークの状況を確認するために、ネットワーク検索処理を実施する(S801)。そして、ネットワーク検索結果により、通信パラメータの受信装置を検出したか否か、もしくはネットワーク31に他の装置が存在するかどうか、を判定する(S802)。
検索処理としては、アクティブスキャンによる方法と、パッシブスキャンによる方法との二通りがあり、どちらの方法でもよく、両方の方法を組み合わせて検索処理を実施しても良い。また、上述したように、通信パラメータの自動設定を意味する付加情報が付加されたプローブリクエストを受信した場合も、受信装置が存在すると判定することができる。つまり、通信パラメータの自動設定を意味する付加情報が付加されたプローブリクエストを待ち受けることも、本実施形態におけるネットワーク検索処理に含まれる。
通信パラメータの受信装置、又はネットワーク31上に存在する他の装置、のいずれかを検出した場合は、S803に進み、CWを初期値よりも1段階小さい値に設定する。
つまり通信パラメータの受信装置を検出した場合は、ネットワーク31上の他の装置を検出したか否かに関係なくCWを変更する。これにより、ネットワーク31に他の装置が存在する場合は、当該他の装置よりも装置Aの方の送信頻度(送信割合)が高くなるため、受信装置である装置Cが短時間で装置Aを検出する確率が上がる。また、ネットワーク31に他の装置が存在することを検出した場合は、通信パラメータの受信装置を検出したか否かに関係なくCWを変更する。これにより、受信装置が装置Aより後に通信パラメータ自動設定処理を開始した場合にも、設定処理開始後すぐに装置Aを検出する確率が上がる。
なお、S803以降の処理は、図4におけるS404以降の処理と同様であるため、ここでの説明は省略する。
このように本実施の形態によれば、同一ネットワーク上に存在する他の装置、又は受信装置を発見した場合に、CWを変更することにより、受信装置が短時間で提供装置を発見する確率を上げることができる。その結果、受信装置が提供装置を検出できないまま通信パラメータ設定処理の制限時間を経過してしまう確率を下げることができる。また、提供装置を短時間に検出することにより、通信パラメータの提供が完了するまでの時間も短縮することができる。更に、受信装置からの通信パラメータの提供要求を受信した場合には、単位時間当たりのビーコン送信回数が他の装置と同等になるよう制御するので、不要な電力消費を抑えることができる。
<実施形態3>
実施形態1および実施形態2では、通信パラメータの提供装置は、受信装置からの通信パラメータの提供要求が受信されるまで、段階的にビーコンの送信頻度(送信割合)を増大する場合について説明した。実施形態2においては、提供装置が他の装置を検出した時点で、単位時間当たりのビーコン送信回数を最大にすることにより、受信装置が提供装置を検出するまでの時間を更に短縮する例について説明する。なお、受信装置である装置Cの動作は実施形態1で説明した図7と同様であるため、ここでの説明は省略する。
図5は、通信パラメータの提供装置として動作する装置Aの動作フローチャート図である。装置Aにおいて設定ボタン106が操作されると、図5の処理が開始される。また、設定ボタン106が操作されると、通信パラメータ自動設定処理の制限時間を経過したか否かを判定するためのタイマーが起動される。当該タイマーが満了すると、S501〜S509の処理途中であっても、通信パラメータ設定処理は中止される。
通信パラメータ自動設定処理が開始されると、装置Aは、近隣ネットワークの状況を確認するために、ネットワーク検索処理を実施する(S501)。
前記ネットワーク検索結果により、通信パラメータの受信装置を検出したか否かを判定する(S502)。
検索処理としては、アクティブスキャンによる方法と、パッシブスキャンによる方法との二通りがあり、どちらの方法でもよく、両方の方法を組み合わせて検索処理を実施しても良い。また、上述したように、通信パラメータの自動設定を意味する付加情報が付加されたプローブリクエストを受信した場合も、受信装置が存在すると判定することができる。つまり、通信パラメータの自動設定を意味する付加情報が付加されたプローブリクエストを待ち受けることも、本実施形態におけるネットワーク検索処理に含まれる。
S502において、通信パラメータの受信装置を検出しない場合は、S402に戻り、通信パラメータ受信装置を検出するまで、ネットワーク検索処理S501を繰り返し実行する。
また、S502において、通信パラメータの受信装置を検出した場合は、引き続き、S501におけるネットワーク検索結果により、ネットワーク31に他の装置がいるかどうかを判定する(S503)。
S503において、他の装置を検出した場合は、ネットワーク31のビーコンを装置Aのほかにも送出する装置が存在するということである。本実施形態では、装置Aと装置Bとが持ち回りでビーコンを送信している。
上述したように、IEEE802.11無線LANのアドホックネットワークにおいては、プローブレスポンスを返信する装置は、プローブリクエストを受信する直前にビーコンを送信した装置であることが規定されている。
そこで、通信パラメータの受信装置(本実施形態では装置C)による提供装置の検索処理(図7のS701〜703)において、装置Aを短時間で検出できるようにするために、ビーコン制御部213は、CWをCWminに設定する(S504)。これにより、装置Aによる単位時間当たりのビーコンの送信回数が最大になる。
このように、装置Aのビーコンの送信頻度(送信割合)を装置Bよりも高くすることにより、装置Cがアクティブスキャンにより提供装置を検索する場合に、装置Aからのプローブレスポンスを受信する確率が上がる。また、装置Cがパッシブスキャンにより提供装置を検索する場合であっても、装置Aからのビーコンを受信する確率が高くなる。その結果、装置Cが提供装置である装置Aを検出できないまま、通信パラメータ設定処理の制限時間を経過してしまう確率を下げることが可能となる。また、装置Cが装置Aを短時間で検出することができれば、通信パラメータの提供が完了するまでの時間も短縮することができる。
S503において、他の装置を検出しなかった場合は、ネットワーク31においてビーコンを送信するのは装置Aのみということになる。よって受信装置である装置Cは、容易に提供装置である装置Aを検出することができるため、CWの変更は行わず、S505に進む。なお、他の装置を検出しなかった場合に、定期的にネットワーク検索処理を実施し、他の装置を検出した際にCWの値を最小値に設定するようにしても良い。
S505において、装置Aはプローブリクエストを受信すると、装置Aが直前にビーコンを送信したか否かを確認する(S505−1)。
装置Aが直前にビーコンを送信した場合は、通信パラメータ自動設定を意味する付加情報を付加したプローブレスポンスを返信し(S506)、直前にビーコンを送信していない場合はS507に進む。
そして装置Aは、受信装置である装置Cからの通信パラメータの提供要求の受信を待つ(S507)。S507において、装置Cからの通信パラメータの提供要求を受信した場合は、装置Cが提供装置である装置Aを検出できたと判定できるので、その後もビーコンを装置Bよりも多く送信する必要はなくなる。よって、ビーコン制御部213によりCWを初期値へ再設定する(S508)。これにより、装置Aによる単位時間当たりのビーコン送信回数は装置Bと同等となる。このように、受信装置からの通信パラメータの提供要求を受信した場合には、ビーコンの送信頻度(送信割合)を他の装置と同じに戻すことで、不要な電力消費を抑えることができる。
その後、通信パラメータの提供を要求した受信装置Cへ通信パラメータを提供する(S509)。
通信パラメータ提供後、装置Aは通信パラメータ自動設定処理の制限時間を経過しているか否かを判定するためのタイマーが満了しているかどうかを判定する(S510)。
タイマーが未だ満了していない場合は、再びS501からのフローチャートを実施する。一方S510において、タイマーが満了している場合は、このまま通信パラメータ自動設定を終了する。なお、1台の受信装置に対して通信パラメータを提供した場合は、S510の判定を行わずに処理を終了するようにしてもよい。
なお、上記実施形態ではS501のネットワーク検索処理によって、受信装置が存在するか否かの判定、及び、ネットワーク31上に他の装置が存在するか否かの判定を行うものとして説明したが、それぞれ別々に検索処理を行ってもよい。例えば、通信パラメータ自動設定を意味する付加情報が付加されたプローブリクエストの受信を待機することによって受信装置の検索を行い、その後アクティブスキャンによってネットワーク31上の他の装置を検索するようにしてもよい。
このように本実施の形態によれば、提供装置以外の装置がネットワーク内に存在する場合に、提供装置による単位時間当たりのビーコン送信回数が最大になるよう制御するので、受信装置がより短時間で提供装置を発見する確率を上げるができる。その結果、受信装置が提供装置を検出できないまま通信パラメータ設定処理の制限時間を経過してしまう確率を下げることができる。特に他の装置が複数存在する場合により効果的である。また、提供装置を短時間に検出することにより、通信パラメータの提供が完了するまでの時間も短縮することができる。更に、受信装置からの通信パラメータの提供要求を受信した場合には、単位時間当たりのビーコン送信回数が他の装置と同等になるよう制御するので、不要な電力消費を抑えることができる。
<実施形態4>
実施形態3では、通信パラメータの提供装置は、近隣ネットワークの状況を確認し、通信パラメータの受信装置の存在を確認後、さらに提供装置と同一ネットワーク上の他の通信装置を検出した場合にCWを最小値に設定する場合について説明した。実施形態4においては、受信装置の存在もしくは同一ネットワーク上における他の通信装置の存在、のどちらか一方を確認した時点でCWを最小値に設定する例について説明する。なお、受信装置である装置Cの動作は実施形態1で説明した図7と同様であるため、ここでの説明は省略する。
図9は、通信パラメータの提供装置として動作する装置Aの動作フローチャート図である。装置Aにおいて設定ボタン106が操作されると、図9の処理が開始される。また、設定ボタン106が操作されると、通信パラメータ自動設定処理の制限時間を経過したか否かを判定するためのタイマーが起動される。当該タイマーが満了すると、S901〜S908の処理途中であっても、通信パラメータ設定処理は中止される。
通信パラメータ自動設定処理が開始されると、装置Aは、近隣ネットワークの状況を確認するために、ネットワーク検索処理を実施する(S901)。そして、ネットワーク検索結果により、通信パラメータの受信装置を検出したか否か、もしくはネットワーク31に他の装置が存在するかどうか、を判定する(S902)。
検索処理としては、アクティブスキャンによる方法と、パッシブスキャンによる方法との二通りがあり、どちらの方法でもよく、両方の方法を組み合わせて検索処理を実施しても良い。また、上述したように、通信パラメータの自動設定を意味する付加情報が付加されたプローブリクエストを受信した場合も、受信装置が存在すると判定することができる。つまり、通信パラメータの自動設定を意味する付加情報が付加されたプローブリクエストを待ち受けることも、本実施形態におけるネットワーク検索処理に含まれる。
通信パラメータの受信装置、又はネットワーク31上に存在する他の装置のいずれかを検出した場合は、S903に進み、CWを最小値に設定する。
つまり、通信パラメータの受信装置を検出した場合は、ネットワーク31上の他の装置を検出したか否かに関係なくCWを最小値に設定する。これにより、ネットワーク31に他の装置が存在する場合は、当該他の装置よりも装置Aの方の送信頻度(送信割合)が高くなるため、受信装置である装置Cが短時間で装置Aを検出する確率が上がる。また、ネットワーク31に他の装置が存在することを検出した場合は、通信パラメータの受信装置を検出したか否かに関係なくCWを最小値に設定する。これにより、受信装置が装置Aより後に通信パラメータ自動設定処理を開始した場合であっても、受信装置が設定処理開始後すぐに装置Aを検出する確率が上がる。
なお、S903以降の処理は、図5におけるS504以降の処理と同様であるため、ここでの説明は省略する。
このように本実施の形態によれば、同一ネットワーク上に存在する他の装置、又は受信装置を発見した場合に、CWを最小値に設定するので、受信装置がより短時間で提供装置を発見する確率を上げることができる。その結果、受信装置が提供装置を検出できないまま通信パラメータ設定処理の制限時間を経過してしまう確率を下げることができる。特に他の装置が複数存在する場合により効果的である。また、提供装置を短時間に検出することにより、通信パラメータの提供が完了するまでの時間も短縮することができる。更に、受信装置からの通信パラメータの提供要求を受信した場合には、単位時間当たりのビーコン送信回数が他の装置と同等になるよう制御するので、不要な電力消費を抑えることができる。
<実施形態5>
実施形態1から実施形態4においては、通信パラメータの提供装置が他の装置が存在することを検出した時点で、単位時間当たりのビーコン送信回数を増大する場合について説明した。実施形態5においては、通信パラメータの受信装置が短時間で提供装置を検出できるようにするための別の方法について説明する。なお、受信装置である装置Cの動作は実施形態1で説明した図7と同様であるため、ここでの説明は省略する。
図6は、通信パラメータの提供装置として動作する装置Aの動作フローチャート図である。装置Aにおいて設定ボタン106が操作されると、図6の処理が開始される。また、設定ボタン106が操作されると、通信パラメータ自動設定処理の制限時間を経過したか否かを判定するためのタイマーが起動される。当該タイマーが満了すると、S601〜S610の処理途中であっても、通信パラメータ設定処理は中止される。
通信パラメータ自動設定処理が開始されると、装置Aのビーコン制御部213は、CWの値を初期値よりも1段階小さくする(S601)。つまり、実施形態1から実施形態4と異なり、近隣ネットワークの状況を確認することなく、自動設定処理の開始に応じて自動的にCWの値を小さくする。これにより、ネットワーク31に他の装置が存在する場合には、装置Aの方がビーコンの送信頻度(送信割合)が高くなるため、受信装置である装置Cが短時間で装置Aを検出する確率が高くなる。
次に装置Aは、近隣ネットワークの状況を確認するために、ネットワーク検索処理を実施する(S602)。そして、ネットワーク検索結果により、通信パラメータ受信装置を検出したか否かを判定する(S603)。
検索処理としては、アクティブスキャンによる方法と、パッシブスキャンによる方法との二通りがあり、どちらの方法でもよく、両方の方法を組み合わせて検索処理を実施しても良い。また、上述したように、通信パラメータの自動設定を意味する付加情報を付加したプローブリクエストを受信した場合も、受信装置が存在すると判定することができる。
S603において、通信パラメータの受信装置を検出しない場合は、再び装置AのCWの値を1段階小さくし(S601)、再度ネットワーク検索処理を実施する(S602)。
また、S603において、通信パラメータの受信装置を検出した場合は、引き続き、S602におけるネットワーク検索結果により、ネットワーク31に他の装置が存在するかどうかを判定する(S604)。
S604において、他の装置を検出した場合は、ネットワーク31のビーコンを装置Aのほかにも送出する装置が存在するということである。本実施形態では、装置Aと装置Bとが持ち回りでビーコンを送信している。
そこで、通信パラメータの受信装置(本実施形態では装置C)が装置Aの存在を短時間で検出できるようにするために、ビーコン制御部213は、装置Aによる送信頻度(送信割合)を最大限まで高くする(S605)。具体的には、CWをCWminに設定することにより、装置Aによる単位時間当たりのビーコンの送信回数が最大になる。
このように、通信パラメータ設定処理の開始に応じてCWを小さくし、他の装置の存在を検出した場合にはCWを最小値に設定することにより、受信装置である装置Cが装置Aを迅速に検出できるようになる。
S604において、他の装置を検出しなかった場合は、ネットワーク31においてビーコンを送信するのは装置Aのみということになる。よって受信装置である装置Cは、容易に提供装置である装置Aを検出することができるため、CWの変更は行わず、S606に進む。なお、他の装置を検出しなかった場合に、例えば定期的にネットワーク検索処理を実施し、他の装置を検出した際にCWの値を最小値に設定するようにしても良い。
S606において、装置Aはプローブリクエストを受信すると、装置Aが直前にビーコンを送信したか否かを確認する(S606−1)。
装置Aが直前にビーコンを送信した場合は、通信パラメータ自動設定を意味する付加情報を付加したプローブレスポンスを返信し(S607)、直前にビーコンを送信していない場合はS608に進む。
そして装置Aは、受信装置である装置Cからの通信パラメータの提供要求の受信を待つ(S608)。S608において、装置Cからの通信パラメータの提供要求を受信した場合は、装置Cが提供装置である装置Aを検出できたと判定できるので、その後もビーコンを装置Bよりも多く送信する必要はなくなる。よって、ビーコン制御部213により、CWを初期値へ再設定する(S609)。これにより、装置Aによる単位時間当たりのビーコン送信回数は装置Bと同等となる。このように、受信装置からの通信パラメータの提供要求を受信した場合には、ビーコンの送信頻度(送信割合)を他の装置と同じに戻すことで、不要な電力消費を抑えることができる。
なお、S604で他の装置を検出していないのにも拘らず、S608において通信パラメータの提供要求を受信しないまま一定時間が経過した場合は、CWを1段階下げるようにしてもよい。つまり、受信装置からの通信パラメータ提供要求を受信するまで、CWを段階的に下げるようにしてもよい。
その後、通信パラメータの提供を要求した受信装置Cへ通信パラメータを提供する(S610)。
通信パラメータ提供後、装置Aは通信パラメータ自動設定処理の制限時間を経過しているか否かを判定するためのタイマーが満了しているかどうかを判定する(S611)。
タイマーが未だ満了していない場合は、再びS601からのフローチャートを実施する。一方S611において、タイマーが満了している場合は、このまま通信パラメータ自動設定を終了する(S611)。なお、1台の受信装置に対して通信パラメータを提供した場合は、S611の判定を行わずに処理を終了するようにしてもよい。
なお、上記実施形態ではS602のネットワーク検索処理によって、受信装置が存在するか否かの判定、及び、ネットワーク31上に他の装置が存在するか否かの判定を行うものとして説明したが、それぞれ別々に検索処理を行ってもよい。例えば、通信パラメータ自動設定を意味する付加情報が付加されたプローブリクエストの受信を待機することによって受信装置の検索を行い、その後アクティブスキャンによってネットワーク31上の他の装置を検索するようにしてもよい。
このように本実施の形態によれば、通信パラメータの設定処理の開始に応じて、CWを小さい値に設定する。そして、同一ネットワークに他の装置が存在することを検出した時点で、更にCWを小さい値に設定する。これにより、受信装置が短時間で提供装置を発見する確率を高くすることができる。その結果、受信装置が提供装置を検出できないまま通信パラメータ設定処理の制限時間を経過してしまう確率を下げることができる。また、提供装置を短時間に検出することにより、通信パラメータの提供が完了するまでの時間も短縮することができる。また、受信装置からの通信パラメータの提供要求を受信した場合には、単位時間当たりのビーコン送信回数が他の装置と同等になるよう制御するので、不要な電力消費を抑えることができる。
<実施形態6>
実施形態5では、通信パラメータの提供装置は、設定処理の開始に応じてCWを変更し、通信パラメータの受信装置の存在を確認後、さらに提供装置と同一ネットワーク上の他の通信装置を検出した場合にCWを最小値に設定する場合について説明した。実施形態6においては、受信装置の存在もしくは同一ネットワーク上における他の通信装置の存在、のどちらか一方を確認した時点でCWを最小値に設定する例について説明する。なお、受信装置である装置Cの動作は実施形態1で説明した図7と同様であるため、ここでの説明は省略する。
図10は、通信パラメータの提供装置として動作する装置Aの動作フローチャート図である。装置Aにおいて設定ボタン106が操作されると、図10の処理が開始される。また、設定ボタン106が操作されると、通信パラメータ自動設定処理の制限時間を経過したか否かを判定するためのタイマーが起動される。当該タイマーが満了すると、S1001〜S1009の処理途中であっても、通信パラメータ設定処理は中止される。
通信パラメータ自動設定処理が開始されると、装置Aのビーコン制御部213は、CWの値を初期値よりも1段階小さくする(S1001)。つまり、実施形態1から実施形態4までと異なり、近隣ネットワークの状況を確認することなく、自動設定処理の開始に応じて自動的にCWの値を小さくする。これにより、ネットワーク31に他の装置が存在する場合には、装置Aの方がビーコンの送信頻度(送信割合)が高くなるため、受信装置である装置Cが短時間で装置Aを検出する確率が高くなる。
次に装置Aは、近隣ネットワークの状況を確認するために、ネットワーク検索処理を実施する(S1002)。
そして、ネットワーク検索結果により、通信パラメータの受信装置を検出したか否か、もしくはネットワーク31に他の装置が存在するかどうか、を判定する(S1003)。
検索処理としては、アクティブスキャンによる方法と、パッシブスキャンによる方法との二通りがあり、どちらの方法でもよく、両方の方法を組み合わせて検索処理を実施しても良い。また、上述したように、通信パラメータの自動設定を意味する付加情報が付加されたプローブリクエストを受信した場合も、受信装置が存在すると判定することができる。つまり、通信パラメータの自動設定を意味する付加情報が付加されたプローブリクエストを待ち受けることも、本実施形態におけるネットワーク検索処理に含まれる。
通信パラメータの受信装置、又はネットワーク31上に存在する他の装置のいずれかを検出した場合は、S1004に進み、CWを最小値に設定する。
つまり、通信パラメータの受信装置を検出した場合は、ネットワーク31上の他の装置を検出したか否かに関係なくCWを最小値に設定する。これにより、ネットワーク31に他の装置が存在する場合は、当該他の装置よりも装置Aの方の送信頻度(送信割合)が高くなるため、受信装置である装置Cが短時間で装置Aを検出する確率が高くなる。また、ネットワーク31に他の装置が存在することを検出した場合は、通信パラメータの受信装置を検出したか否かに関係なくCWを最小値に設定する。これにより、受信装置が装置Aより後に通信パラメータ自動設定処理を開始した場合にも、受信装置が設定処理開始後すぐに装置Aを検出する確率が高くなる。
なお、S1004以降の処理は、図6におけるS605以降の処理と同様であるため、ここでの説明は省略する。
このように本実施の形態によれば、通信パラメータの設定処理の開始に応じてCWを小さくし、更に同一ネットワーク上に存在する他の装置、又は受信装置を発見した場合に、CWを最小値するので、受信装置がより短時間で提供装置を発見する確率を上げることができる。その結果、受信装置が提供装置を検出できないまま通信パラメータ設定処理の制限時間を経過してしまう確率を下げることができる。特に他の装置が複数存在する場合により効果的である。また、提供装置を短時間に検出することにより、通信パラメータの提供が完了するまでの時間も短縮することができる。更に、受信装置からの通信パラメータの提供要求を受信した場合には、単位時間当たりのビーコン送信回数が他の装置と同等になるよう制御するので、不要な電力消費を抑えることができる。以上、本発明の好適な実施形態を説明したが、これは本発明の説明のための例示であって、本発明の範囲をこの実施例のみに限定する趣旨ではない。本発明の要旨を逸脱しない範囲で、実施形態は種々に変形することが可能である。
上記各実施形態では、提供装置による単位時間当たりのビーコンの送信回数を他の装置よりも多くするために、CWの値を変更する例について説明したが、提供装置が他の装置よりもビーコンの送信回数を多くできるのであれば、他のパラメータを用いてもよい。例えば、ビーコンの送信間隔(ビーコン周期)を変更できるのであれば、提供装置においてビーコンの送信間隔を小さくすることによって、単位時間当たりにビーコンの送信回数を多くすることができる。
特に、提供装置において受信装置を検出した場合に、ビーコン周期を短縮した新たなネットワークを構築しなおすなどの処理を実施することにより、受信装置が、提供装置をより短時間で検出することが可能となる。
また、上記各実施形態では、受信装置から通信パラメータの提供要求を受信した場合にCWを初期値に再設定する場合について説明したが、CWを再設定するタイミングはこれに限られない。つまり、受信装置が提供装置を検出したと判定した場合に、CWを初期値に再設定するようにすればよい。例えば、提供装置が受信装置から受信したプローブリクエストに対してプローブレスポンスを送信した際に、CWを再設定するようにしてもよい。
また、上記説明はIEEE802.11準拠の無線LANを例に説明した。しかしながら、本発明は、ワイヤレスUSB、MBOA、Bluetooth(登録商標)、UWB、ZigBee等の他の無線媒体において実施してもよい。また、有線LAN等の有線通信媒体において実施してもよい。
ここで、MBOAは、Multi Band OFDM Allianceの略である。また、UWBは、ワイヤレスUSB、ワイヤレス1394、WINETなどが含まれる。
また、通信パラメータとしてネットワーク識別子、暗号方式、暗号鍵、認証方式、認証鍵を例にしたが、他の情報であってもよいし、他の情報も通信パラメータには含まれるようにしてもよいことは言うまでも無い。
本発明は前述の機能を実現するソフトウェアのプログラムコードを記録した記録媒体をシステムあるいは装置に供給し、システムあるいは装置のコンピュータ(CPU、MPU)が記録媒体に格納されたプログラムコードを読み出し実行するようにしてもよい。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することとなり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
プログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、磁気テープ、不揮発性のメモリカード、ROM、DVDなどを用いることができる。
また、コンピュータが読み出したプログラムコードを実行することにより、前述の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているOSが実際の処理の一部または全部を行い、前述の機能を実現してもよい。OSとは、Operating Systemの略である。
さらに、記憶媒体から読み出されたプログラムコードを、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込む。そして、そのプログラムコードの指示に基づき、機能拡張ボードや機能拡張ユニットに備わるCPUが実際の処理の一部または全部を行い、前述の機能を実現してもよい。