(57)【要約】【課題】  すでに構築済みであるネットワークに所属する通信装置と、新規にネットワークに参加する通信装置とで通信パラメータの自動設定を行った場合に、構築済みのネットワークでの通信ができなくなってしまうことを防止する。【解決手段】  提供装置として動作する他の通信装置を検出し、かつ、既に別の通信装置との間で通信パラメータを設定済みの場合、もしくは別の通信装置と同一ネットワーク上に参加している場合は、検出した前記他の通信装置に対して、セッションオーバーラップ通知を送信する。【選択図】  図５
2010103693.tif 000002
【特許請求の範囲】
【請求項１】
通信パラメータを提供する提供装置、又は前記提供装置が提供する通信パラメータを受信する受信装置として通信パラメータの設定処理を行う通信装置であって、
前記提供装置として動作する他の通信装置を検索する検索手段と、
第１の通信装置と通信するための通信パラメータを設定済みか否かを判定する判定手段と、
前記検索手段により前記提供装置として動作する第２の通信装置を検出し、かつ、前記判定手段により前記第１の通信装置と通信するための通信パラメータを設定済みと判定された場合は、前記第２の通信装置に前記提供装置としての動作を規制させるためのメッセージを送信する送信手段と、
を有することを特徴とする通信装置。
【請求項２】
通信パラメータを提供する提供装置、又は前記提供装置が提供する通信パラメータを受信する受信装置として通信パラメータの設定処理を行う通信装置であって、
前記提供装置として動作する他の通信装置を検索する検索手段と、
第１の通信装置と前記通信装置とが同一のネットワーク上に存在するか否かを判定する判定手段と、
前記検索手段により前記提供装置として動作する第２の通信装置を検出し、かつ、前記判定手段により前記第１の通信装置と前記通信装置とが同一のネットワーク上に存在すると判定された場合は、前記第２の通信装置に前記提供装置としての動作を規制させるためのメッセージを送信する送信手段と、
を有することを特徴とする通信装置。
【請求項３】
通信パラメータの設定処理の開始の指示入力を検出する検出手段を有し、
前記検出手段による検出に応じて、前記検索手段により前記提供装置として動作する他の通信装置の検索を開始し、前記第２の通信装置を検出した場合に、前記判定手段により前記第１の通信装置と通信するための通信パラメータを設定済みか否かを判定することを特徴とする請求項１記載の通信装置。
【請求項４】
通信パラメータの設定処理の開始の指示入力を検出する検出手段を有し、
前記検出手段による検出に応じて、前記判定手段により前記第１の通信装置と前記通信装置とが同一ネットワーク上に存在するか否かの判定を開始し、同一のネットワーク上に存在すると判定された場合は、前記通信装置の役割を前記提供装置に設定し、前記検索手段により前記提供装置として動作する他の通信装置の検索を開始することを特徴とする請求項２記載の通信装置。
【請求項５】
前記送信手段は、前記提供装置が複数存在することを通知するためのメッセージを送信することを特徴とする請求項１から４のいずれか１項に記載の通信装置。
【請求項６】
前記送信手段により前記提供装置が複数存在することを通知するためのメッセージを送信するために、前記通信装置の役割を前記提供装置に設定する設定手段を有することを特徴とする請求項５記載の通信装置。
【請求項７】
通信パラメータを提供する提供装置、又は前記提供装置が提供する通信パラメータを受信する受信装置として通信パラメータの設定処理を行う通信装置であって、
前記提供装置として動作する他の通信装置を検索する検索手段と、
前記検索手段による検索結果に応じて、前記通信装置の役割を前記提供装置に設定する設定手段と、
前記設定手段による設定後に前記提供装置が複数存在することを示すメッセージを受信した場合、前記提供装置としての動作を規制する規制手段と、
を有することを特徴とする通信装置。
【請求項８】
前記規制手段による規制に応じて、前記通信装置の役割を前記受信装置に切替える切替え手段を有することを特徴とする請求項７記載の通信装置。
【請求項９】
前記規制手段による規制に応じて、前記検索手段による検索を再開することを特徴とする請求項７記載の通信装置。
【請求項１０】
通信パラメータの設定処理の開始の指示入力を検出する検出手段と、
前記検出手段による検出に応じて、前記通信装置と同一のネットワーク上に他の通信装置が存在するか否かを判定する判定手段と、を有し、
前記判定手段により前記通信装置と同一のネットワーク上に他の通信装置が存在しないと判定された場合に、前記検索手段による前記提供装置の検索を開始することを特徴とする請求項７から９のいずれか１項に記載の通信装置。
【請求項１１】
通信パラメータを提供する提供装置、又は前記提供装置が提供する通信パラメータを受信する受信装置として通信パラメータの設定処理を行う通信装置の制御方法であって、
前記提供装置として動作する他の通信装置を検索する検索工程と、
第１の通信装置と通信するための通信パラメータを設定済みか否かを判定する判定工程と、
前記検索工程において前記提供装置として動作する第２の通信装置が検出され、前記判定工程において前記第１の通信装置と通信するための通信パラメータを設定済みと判定された場合は、前記第２の通信装置に前記提供装置としての動作を規制させるためのメッセージを送信する送信工程と、
を有することを特徴とする通信装置の制御方法。
【請求項１２】
通信パラメータを提供する提供装置、又は前記提供装置が提供する通信パラメータを受信する受信装置として通信パラメータの設定処理を行う通信装置の制御方法であって、
前記提供装置として動作する他の通信装置を検索する検索工程と、
第１の通信装置と前記通信装置とが同一のネットワーク上に存在するか否かを判定する判定工程と、
前記検索工程において前記提供装置として動作する第２の通信装置が検出され、前記判定工程において前記第１の通信装置と前記通信装置とが同一のネットワーク上に存在すると判定された場合は、前記第２の通信装置に前記提供装置としての動作を規制させるためのメッセージを送信する送信工程と、
を有することを特徴とする通信装置の制御方法。
【請求項１３】
通信パラメータを提供する提供装置、又は前記提供装置が提供する通信パラメータを受信する受信装置として通信パラメータの設定処理を行う通信装置の制御方法であって、
前記提供装置として動作する他の通信装置を検索する検索工程と、
前記検索工程における検索結果に応じて、前記通信装置の役割を前記提供装置に設定する設定工程と、
前記設定工程における設定後に前記提供装置が複数存在することを示すメッセージを受信した場合、前記提供装置としての動作を規制する規制工程と、
を有することを特徴とする通信装置の制御方法。
【請求項１４】
請求項１１から１３のいずれか１項に記載の制御方法の各工程をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信装置、通信装置の制御方法、プログラムに関する。
【背景技術】
【０００２】
ＩＥＥＥ８０２．１１規格シリーズに準拠した無線ＬＡＮに代表される無線通信では、使用前に設定しなければならない設定項目が数多く存在する。
【０００３】
例えば、設定項目として、ネットワーク識別子としてのＳＳＩＤ（Ｓｅｒｖｉｃｅ  Ｓｅｔ  Ｉｄｅｎｔｉｆｉｅｒ）、暗号方式、暗号鍵、認証方式、認証鍵等の無線通信を行うために必要な通信パラメータがある。これら全てをユーザが手入力により設定するのは非常に煩雑である。
【０００４】
そこで、様々なメーカーから、通信パラメータを簡単に無線機器に設定するための自動設定方法が考案されている。これら自動設定方法は、接続する機器間で予め定められた手順、及びメッセージにより、一方の機器から他方の機器に通信パラメータを提供し、通信パラメータの設定を自動的に行っている。
【０００５】
非特許文献１には、アクセスポイント（基地局）とステーション（端末局）間における通信パラメータの自動設定の業界標準規格であるＷｉ−Ｆｉ  Ｐｒｏｔｅｃｔｅｄ  Ｓｅｔｕｐ（以下、ＷＰＳ）が開示されている。
【非特許文献１】Ｗｉ−Ｆｉ  ＣＥＲＴＩＦＩＥＤ（ＴＭ）  ｆｏｒ  Ｗｉ−Ｆｉ  Ｐｒｏｔｅｃｔｅｄ  Ｓｅｔｕｐ：  Ｅａｓｉｎｇ  ｔｈｅ  Ｕｓｅｒ  Ｅｘｐｅｒｉｅｎｃｅ  ｆｏｒ  Ｈｏｍｅ  ａｎｄ  Ｓｍａｌｌ  Ｏｆｆｉｃｅ  Ｗｉ−Ｆｉ（Ｒ）  Ｎｅｔｗｏｒｋｓ，ｈｔｔｐ：／／ｗｗｗ．ｗｉ−ｆｉ．ｏｒｇ／ｗｐ／ｗｉｆｉ−ｐｒｏｔｅｃｔｅｄ−ｓｅｔｕｐ
【発明の開示】
【発明が解決しようとする課題】
【０００６】
ＷＰＳでは、通信パラメータを提供する装置（以下、提供装置）と受信する装置（以下、受信装置）の役割が予め決まっているため、通信パラメータの転送方向も一意に決まる。
【０００７】
しかし、提供装置と受信装置の役割が予め決まっていない場合、通信パラメータの転送方向を一意に決定できない。このような場合、どの装置を提供装置とし、どの装置を受信装置とするかをユーザに選択させるようにすると、ユーザの操作性を損なうという問題がある。
【０００８】
例えば、既に複数の装置間で構築済みのネットワークへ新たに装置を追加する場合を考える。この場合、新たに参加する装置が受信装置となって構築済みのネットワークの通信パラメータを受信するのが望ましい。しかしながら、提供装置と受信装置の役割が予め役割が決まっていないため、新たに参加しようとする装置が提供装置になることも考えられる。その場合、新たにネットワークに参加しようとする装置から既にネットワークに参加中の装置に対して別の通信パラメータが提供され、参加中のネットワークでの通信ができなくなってしまう。
【０００９】
本発明は、通信装置が第１の通信装置と通信可能な状態であるにも拘らず、第２の通信装置から通信パラメータの提供を受けることによって前記第１の通信装置と通信できなくなる、といった不具合が生じるのを防止することを目的とする。
【課題を解決するための手段】
【００１０】
上記目的を達成するために、本発明は、通信パラメータを提供する提供装置、又は前記提供装置が提供する通信パラメータを受信する受信装置として通信パラメータの設定処理を行う通信装置であって、前記提供装置として動作する他の通信装置を検索する検索手段と、第１の通信装置と通信するための通信パラメータを設定済みか否かを判定する判定手段と、前記検索手段により前記提供装置として動作する第２の通信装置を検出し、かつ、前記判定手段により前記第１の通信装置と通信するための通信パラメータを設定済みと判定された場合は、前記第２の通信装置に前記提供装置としての動作を規制させるためのメッセージを送信する送信手段と、を有することを特徴とする。
【００１１】
また、本発明は、通信パラメータを提供する提供装置、又は前記提供装置が提供する通信パラメータを受信する受信装置として通信パラメータの設定処理を行う通信装置であって、前記提供装置として動作する他の通信装置を検索する検索手段と、第１の通信装置と前記通信装置とが同一のネットワーク上に存在するか否かを判定する判定手段と、前記検索手段により前記提供装置として動作する第２の通信装置を検出し、かつ、前記判定手段により前記第１の通信装置と前記通信装置とが同一のネットワーク上に存在すると判定された場合は、前記第２の通信装置に前記提供装置としての動作を規制させるためのメッセージを送信する送信手段と、を有することを特徴とする。
【００１２】
更にまた、本発明は、通信パラメータを提供する提供装置、又は前記提供装置が提供する通信パラメータを受信する受信装置として通信パラメータの設定処理を行う通信装置であって、前記提供装置として動作する他の通信装置を検索する検索手段と、前記検索手段による検索結果に応じて、前記通信装置の役割を前記提供装置に設定する設定手段と、前記設定手段による設定後に前記提供装置が複数存在することを示すメッセージを受信した場合、前記提供装置としての動作を規制する規制手段と、を有することを特徴とする。
【発明の効果】
【００１３】
本発明によれば、通信装置が第１の通信装置と通信可能な状態であるにも拘らず、第２の通信装置から通信パラメータの提供を受けることにより前記第１の通信装置と通信できなくなる、といった不具合が生じるのを防止することができる。
【発明を実施するための最良の形態】
【００１４】
＜実施形態１＞
以下、本実施形態に係る通信装置について、図面を参照しながら詳細に説明する。以下では、ＩＥＥＥ８０２．１１シリーズに準拠した無線ＬＡＮシステムを用いた例について説明するが、通信形態は必ずしもＩＥＥＥ８０２．１１準拠の無線ＬＡＮには限らない。
【００１５】
本実施形態に好適な事例におけるハードウェア構成について説明する。
【００１６】
図１は本発明を適用できる実施形態に係る、後述の各装置の構成の一例を表すブロック図である。１０１は装置全体を示す。１０２は、記憶部１０３に記憶される制御プログラムを実行することにより装置全体を制御する制御部である。制御部１０２は、他の装置との間で通信パラメータの設定制御も行う。１０３は制御部１０２が実行する制御プログラムと、通信パラメータ等の各種情報を記憶する記憶部である。後述する各種動作は、記憶部１０３に記憶された制御プログラムを制御部１０２が実行することにより行われる。
【００１７】
１０４はＩＥＥＥ８０２．１１シリーズに準拠した無線ＬＡＮ通信を行うための無線部である。１０５は各種表示を行う表示部でありＬＣＤやＬＥＤのように視覚で認知可能な情報の出力、あるいはスピーカなどの音出力が可能な機能を有する。
【００１８】
１０６は通信パラメータ設定処理を開始するトリガを与える設定ボタンである。設定ボタン１０６が操作されると、通信パラメータの自動設定処理が開始される。制御部１０２は、ユーザによる設定ボタン１０６の操作を検出すると、後述する処理を実施する。
【００１９】
１０７はアンテナ制御部、そして１０８はアンテナである。１０９は、ユーザが各種入力を行うための入力部である。
【００２０】
図２は、後述の通信パラメータの自動設定動作を実行するソフトウェア機能ブロックの構成の一例を表すブロック図である。
【００２１】
２０１は装置全体を示している。２０２は通信パラメータの自動設定機能ブロックである。本実施形態では、ネットワーク識別子としてのＳＳＩＤ、暗号方式、暗号鍵、認証方式、認証鍵等の無線ＬＡＮ通信を行うために必要な通信パラメータの自動設定を行う。なお、通信パラメータの自動設定を、以下、自動設定と簡略化する。
【００２２】
２０３は各種通信にかかわるパケットを受信するパケット受信部である。ビーコン（報知信号）の受信は、パケット受信部２０３によって行われる。２０４は各種通信にかかわるパケットを送信するパケット送信部である。ビーコンの送信は、パケット送信部２０４によって行われる。なおビーコンには、送信元の機器の各種情報が付加される。
【００２３】
２０５はプローブリクエストなどの機器検索信号の送信を制御する検索信号送信部である。なお、プローブリクエストは、所望のネットワークを検索するためのネットワーク検索信号ということもできる。プローブリクエストの送信は、検索信号送信部２０５により行われる。また、受信したプローブリクエストに対する応答信号であるプローブレスポンスの送信も検索信号送信部２０５により行われる。本実施形態では、ユーザが設定ボタン１０６を操作し、自動設定処理を開始した場合は、ビーコン、プローブリクエスト及びプローブレスポンスに自動設定中（自動設定動作中）であることを示す情報（ＩＥ：Ｉｎｆｏｒｍａｔｉｏｎ  Ｅｌｅｍｅｎｔ）を付加して送信する。
【００２４】
２０６は他の装置からのプローブリクエストなどの機器検索信号の受信を制御する検索信号受信部である。プローブリクエストの受信は、検索信号受信部２０６により行われる。また、プローブレスポンスの受信も検索信号受信部２０６により行われる。なお機器検索信号、及びその応答信号には、送信元の機器の各種情報が付加される。
【００２５】
２０７は、ネットワーク接続を制御するネットワーク制御部である。無線ＬＡＮアドホックネットワークへの接続処理などは、ネットワーク制御部２０７により実施される。
【００２６】
自動設定機能ブロック２０２において、２０８は相手機器より通信パラメータを受信（受理）する通信パラメータ受信部であり、２０９は相手機器に通信パラメータを提供する通信パラメータ提供部である。２１０は、自動設定における各種プロトコルを制御する自動設定制御部である。後述の自動設定処理は、自動設定制御部２１０の制御に基づいて、通信パラメータ受信部２０８、通信パラメータ提供部２０９により行われる。
【００２７】
また、自動設定処理を開始してからの経過時間が当該設定処理の制限時間を越えたか否かの判定も、自動設定制御部２１０で行われる。また、当該制限時間を超えたと判定した場合には、自動設定制御部２１０の制御により、自動設定処理を中止する。
【００２８】
２１１は、通信パラメータを提供する装置（以下、提供装置）を検出する提供元検出部である。提供元検出部２１１は、検索信号送信部２０５および検索信号受信部２０６による検索信号の送信と応答により、提供装置の検出を行う。また、提供元検出部２１１は、パケット受信部２０３によるビーコンの受信により、提供装置の検出を行うこともできる。そして、通信パラメータの提供を受ける場合は、検出した提供装置に通信パラメータの提供を要求し、通信パラメータの提供を受ける。なお、以降の説明では通信パラメータの提供を受ける装置を受信装置と呼ぶことにする。
【００２９】
２１２は、通信パラメータ記憶部であり、提供装置から提供を受けた通信パラメータ、もしくは受信装置へ提供した通信パラメータを記憶する。なお、通信パラメータ記憶部２１２は、記憶部１０３に相当する。本実施形態では、他の装置から通信パラメータの提供を受けた際に、該通信パラメータを設定済パラメータとして記憶部１０３に記憶する。また、通信パラメータを他の装置へ提供した際に、該通信パラメータを設定済パラメータとして記憶部２１２に記憶する。記憶部１０３に記憶した設定済パラメータは、該設定済パラメータを用いて構成したネットワークでの通信が終了した際に破棄されるようにしてもよい。また、記憶部１０３に記憶してから一定時間経過後、装置の電源オフ時、等に破棄されるようにしてもよい。
【００３０】
２１３は、ビーコン制御部であり、ビーコン（報知信号）の送信タイミングを制御する。２１４は、ビーコン生成部であり、ビーコンを生成する。生成したビーコンは、パケット送信部２０４によりネットワークへ送信される。
【００３１】
なお、全ての機能ブロックはソフトウェアもしくはハードウェア的に相互関係を有するものである。また、上記機能ブロックは一例であり、複数の機能ブロックが１つの機能ブロックを構成するようにしてもよいし、何れかの機能ブロックが更に複数の機能を行うブロックに分かれてもよい。
【００３２】
図３は、通信装置Ａ３２（以下、装置Ａ）、通信装置Ｂ３３（以下、装置Ｂ）、通信装置Ｃ３４（以下、装置Ｃ）およびアドホックネットワークＡ３１（以下、ネットワークＡ）を示した図である。これら全ての装置は、先に説明した図１、図２の構成を有している。
【００３３】
装置Ａと装置Ｂは、この二装置間において自動設定処理を実施済みであり、装置ＡとＢとの間で共有された通信パラメータＡを用いてネットワークＡを構築しているとする。なお、装置ＡとＢの間で行われた自動設定処理では、装置Ａが提供装置として動作し、装置Ｂが受信装置として動作したものとする。
【００３４】
本実施の形態においては、装置ＣをネットワークＡへ参加させるため、ネットワークＡに参加している装置Ａと、装置Ｃとの間で自動設定処理を行う場合について説明する。
【００３５】
ここで、装置Ａが提供装置となり、装置Ｃが受信装置となれば、ネットワークＡの通信パラメータＡを装置Ａから装置Ｃへ提供できる。その結果、装置ＣはネットワークＡへ参加し、装置Ａ及びＢとの間でデータ通信が可能となる。
【００３６】
図４は、装置Ａと装置Ｃにおいて設定ボタン１０６が押下され、装置Ａと装置Ｃの間で自動設定処理を実施した場合の処理シーケンスの一例を示した図である。
【００３７】
装置Ａは、装置Ｂとの間で行われた自動設定処理により設定された通信パラメータＡを用いて、既に装置Ｂとの間でネットワークＡを構築済みである（Ｆ４０１）。
【００３８】
装置Ａと装置Ｃにおいて設定ボタン１０６が押されると、装置ＣはユニークなネットワークＣを作成する（Ｆ４０３）。装置ＡはネットワークＡを構築済みであるため、新たなネットワークの作成は行わない。
【００３９】
ここで、ネットワークＡとＣとは、ネットワーク識別子であるＢＳＳＩＤ（Ｂａｓｉｃ  Ｓｅｒｖｉｃｅ  Ｓｅｔ  Ｉｄｅｎｔｉｆｉｅｒ））により区別される。ＢＳＳＩＤとはネットワークを作成する装置が生成するランダムな値のネットワーク識別子である。なお、ＳＳＩＤは機器に予め設定しておくことも、ユーザが任意の値を設定することも可能なネットワーク識別子であり、ＢＳＳＩＤとは異なるものである。また、上記説明で明らかなように、ＢＳＳＩＤは自動設定処理によって提供装置から受信装置へ提供される通信パラメータではない。
【００４０】
つぎに、装置Ａと装置Ｃは、その動作役割（以下、役割）として提供装置と受信装置のいずれで動作するかの決定処理を開始する。まず、装置Ａと装置Ｃは共に自装置の役割を提供装置候補に設定し（Ｆ４０２、Ｆ４０５）、提供装置の検索処理の制限時間であるタイマＴ１を開始する（Ｆ４０４，Ｆ４０６）。ここで、提供装置候補とは、提供装置として動作することは可能であるが、未だ提供装置にも受信装置にも決定されていない状態のことをいう。
【００４１】
つぎに、装置Ａおよび装置Ｃは、自動設定機能を有している、あるいは自動設定処理中であることを通知する情報要素（Ｉｎｆｏｒｍａｔｉｏｎ  Ｅｌｅｍｅｎｔ）を含むビーコン（報知信号）を送信する（Ｆ４０７、Ｆ４０８）。ここで、ビーコンに現時点の役割である「提供装置候補」を示す情報要素を含めてもよい。
【００４２】
このビーコンには、ネットワークＡとネットワークＣとで異なるＢＳＳＩＤが含まれるため、該ビーコンを受信した装置は、いずれのネットワークに属する装置から送信されたビーコンであるかを認識できる。
【００４３】
次に、装置Ａは提供装置を検索するため、検索信号を送信する（Ｆ４０９）。検索信号にもビーコン同様に、自動設定機能を有している、あるいは自動設定処理中であることを示す情報要素や現時点の役割である「提供装置候補」を示す情報要素が含まれている。
【００４４】
装置Ｃは装置Ａから送信された検索信号を受信したら、検索応答信号を装置Ａに対して送信する（Ｆ４１０）。該検索応答信号にも、ビーコンや検索信号と同様に、自動設定機能を有している、あるいは自動設定処理中であることを示す情報要素や現時点の役割である「提供装置候補」を示す情報要素が含まれている。
【００４５】
ここで、装置Ａにおいて提供装置を検出できないままタイマＴ１が満了すると（Ｆ４１１）、装置Ａは自装置の役割を提供装置に設定する（Ｆ４１２）。
【００４６】
今度は、装置Ｃが提供装置を検出するため検索信号を送信する（Ｆ４１３）。装置Ｃから送信される検索信号にも、自動設定処理機能を有している、あるいは自動設定処理中であることを示す情報要素や現時点の役割である「提供装置候補」を示す情報要素が含まれている。
【００４７】
装置Ａは装置Ｃから送信された検索信号を受信したら、検索応答信号を装置Ｃに対して送信する（Ｆ４１４）。該検索応答信号には、ビーコンや検索信号Ａと同様に、自動設定機能を有している、あるいは自動設定処理中であることを示す情報要素が含まれる。この時点では、装置Ａは自装置の役割を提供装置に決定しているため、装置Ａは検索応答信号に「提供装置」を示す情報要素を含めて送信する。ここで、役割としての「提供装置」を示す情報要素に加えて、通信パラメータを提供可能な状態であることを示す情報要素を付加してもよい。
【００４８】
装置Ｃは装置Ａから送信された検索応答信号を受信すると、装置Ａの役割が提供装置であり、通信パラメータを提供可能な状態であることを確認する。そこで、装置Ｃは、タイマＴ１を停止して（Ｆ４１５）、自装置の役割を受信装置に設定し（Ｆ４１６）、ネットワークＡへ参加する（Ｆ４１７）。
【００４９】
これによって、装置Ａと装置Ｃの間では、通信パラメータの自動設定プロトコル処理で交わされる通信メッセージ（プロトコルメッセージ）を相互に送受可能となる。なお、Ｆ４１７で装置ＣがネットワークＡに参加した時点では、暗号鍵、認証鍵等の通信パラメータが装置Ｃに設定されていないため、装置Ｃは装置Ａとの間で暗号、認証を用いた通常のデータ通信を行うことはできない。
【００５０】
ここで、自動設定プロトコル処理とは、提供装置から受信装置へ通信パラメータを提供するために予め定められた各種通信メッセージの送受信を行う処理のことをいう。なお、ＷＰＳでは上記プロトコル処理のことをＲｅｇｉｓｔｒａｔｉｏｎプロトコルと呼んでいる（非特許文献１参照）。本実施形態では説明を簡単にするため、以下の１〜３の手順を自動設定プロトコル処理として説明する。
【００５１】
１．受信装置から提供装置に対して通信パラメータ設定起動を示すメッセージ（通信パラメータの提供を要求するメッセージ）を送信する。
【００５２】
２．該メッセージに応じて提供装置が受信装置に対して通信パラメータの提供処理を行う。
【００５３】
３．通信パラメータ提供が完了したら提供装置から受信装置へ通信パラメータ設定完了のメッセージを送信する。
【００５４】
ここで、上記説明では検索信号と検索応答信号を用いるアクティブスキャンによって提供装置の検索を行ったが、ビーコンの受信を待機することにより提供装置を検索するパッシブスキャンを用いてもよい。また、アクティブスキャンとパッシブスキャンを組み合わせて提供装置を検索するようにしてもよい。
【００５５】
装置ＣはネットワークＡに参加すると、装置Ａに通信パラメータ設定起動を示すメッセージを送信する（Ｆ４１８）。そして、該メッセージに応じて、装置Ａから装置Ｃに対する通信パラメータＡの提供処理が行われ（Ｆ４１９）、提供処理が完了すると、装置Ａは装置Ｃに対して通信パラメータ設定完了のメッセージを送信する（Ｆ４２０）。これにより通信パラメータ設定処理が完了し、装置Ａと装置Ｃとの間で通信パラメータＡが共有される。
【００５６】
そして、装置Ａと装置Ｃでは、共有した通信パラメータＡを用いて通信接続処理を行う（Ｆ４２１）。なお、通信パラメータ設定処理が完了すると自動的に通信接続処理を開始することで、ユーザに操作を強いることなく装置Ａと装置Ｃが通信可能となる。
【００５７】
このように、役割決定シーケンスにより装置Ａが提供装置になれば通信パラメータＡが装置Ｃへ提供される。しかしながら、装置Ａと装置Ｃの設定ボタン１０６が押されるタイミングによっては、装置Ｃが提供装置になり、装置Ａが受信装置になる場合も考えられる。この場合、通信パラメータＡとは異なる通信パラメータＣが装置Ｃから装置Ａへ提供される。そうすると、装置Ａと装置Ｃは通信パラメータＣを用いて新たにネットワークを構築することは可能となるが、ネットワークＡでの装置Ｂとの通信はできなくなってしまう。そこで、本実施形態では、このような状況が生じるのを防止するための処理について説明する。
【００５８】
図５は、装置Ａと装置Ｃにおいて設定ボタン１０６が押下され、装置Ａと装置Ｃの間で自動設定処理を実施した場合の処理シーケンスの一例を示した図である。
【００５９】
装置Ａは、装置Ｂとの間で行われた自動設定処理により設定された通信パラメータＡを用いて、既に装置Ｂとの間でネットワークＡを構築済みである（Ｆ５０１）。
【００６０】
ここで装置Ｃにおいて設定ボタン１０６が押されると、装置ＣはユニークなネットワークＣを作成する（Ｆ５０２）。
【００６１】
つぎに、装置Ｃは、提供装置と受信装置のいずれで動作するかの決定処理を開始する。まず、装置Ｃは自装置を提供装置候補に設定し（Ｆ５０３）、提供装置の検索処理の制限時間であるタイマＴ１を開始する（Ｆ５０４）。
【００６２】
つぎに、装置Ｃは、自動設定機能を有している、あるいは自動設定処理中であることを通知する情報要素（Ｉｎｆｏｒｍａｔｉｏｎ  Ｅｌｅｍｅｎｔ）を含むビーコン（報知信号）を送信する（Ｆ５０５）。ここで、ビーコンに現時点の役割である「提供装置候補」を示す情報要素を含めてもよい。
【００６３】
ひき続いて、装置Ｃは提供装置を検索するため、検索信号を送信する（Ｆ５０６）。検索信号にもビーコン同様に、自動設定機能を有している、あるいは自動設定処理中であることを示す情報要素や現時点の役割である「提供装置候補」を示す情報要素が含まれている。
【００６４】
装置Ａは装置Ｃから送信された検索信号を受信したら、検索応答信号を装置Ｃに対して送信する（Ｆ５０７）。装置Ａが検索信号を受信した時点では、装置Ａにて設定ボタン１０６は押下されておらず、装置Ａは自動設定処理を開始していない。よって装置Ａは自動設定機能を有しているが、自動設定処理中でないことを示す情報要素を含む検索応答信号を送信する。
【００６５】
ここで、装置Ｃにおいて提供装置を検出できないままタイマＴ１が満了すると（Ｆ５０８）、装置Ｃは自装置の役割を提供装置に設定する（Ｆ５０９）。
【００６６】
ここで、装置Ａにおいて設定ボタン１０６が押されると、装置Ａは自装置を提供装置候補に設定し（Ｆ５１０）、提供装置の検索処理の制限時間であるタイマＴ１を開始する（Ｆ５１１）。
【００６７】
つぎに、装置Ａは、自動設定機能を有している、あるいは自動設定処理中であることを通知する情報要素（Ｉｎｆｏｒｍａｔｉｏｎ  Ｅｌｅｍｅｎｔ）を含むビーコン（報知信号）を送信する（Ｆ５１２）。ここで、ビーコンに現時点の役割である「提供装置候補」を示す情報要素を含めてもよい。
【００６８】
ひき続いて、装置Ａは提供装置を検索するため、検索信号を送信する（Ｆ５１３）。検索信号もビーコン同様に、自動設定機能を有している、あるいは自動設定処理中であることを示す情報要素や現時点の役割である「提供装置候補」を示す情報要素が含まれる。
【００６９】
装置Ｃは装置Ａから送信された検索信号を受信したら、検索応答信号を装置Ａに対して送信する（Ｆ５１４）。該検索応答信号には、ビーコンや検索信号と同様に、自動設定機能を有している、あるいは処理中であることを示す情報要素が含まれる。この時点では、装置Ｃは自装置の役割を提供装置に決定しているため、装置Ｃは検索応答信号に「提供装置」を示す情報要素を含めて送信する。ここで、役割としての「提供装置」を示す情報要素に加えて、通信パラメータを提供可能な状態であることを示す情報要素を付加してもよい。
【００７０】
装置Ａは装置Ｃから送信された検索応答信号を受信すると、装置Ｃの役割が提供装置であり、通信パラメータを提供可能な状態であることを確認する。そこで、装置ＡはタイマＴ１を停止する（Ｆ５１５）。
【００７１】
ここで装置Ａが自装置の役割を受信装置に設定すると、通信パラメータＡとは異なる通信パラメータＣが装置Ｃから装置Ａへ提供されてしまう。そこで、ネットワークＡを維持するために、自装置の役割を受信装置ではなく提供装置に設定する（Ｆ５１６）。
【００７２】
これにより、装置Ｃと装置Ａの２台が提供装置となる。そこで、装置Ａは装置Ｃに向けて、提供装置が複数存在することを知らせるためにセッションオーバーラップ通知を送信する（Ｆ５１７）。
【００７３】
装置Ａからのセッションオーバーラップ通知を受信した装置Ｃは、提供装置としての動作を継続することができないと判断し、自装置の役割を受信装置に切替える（Ｆ５１８）。そして、装置Ｃは装置Ａから通信パラメータの提供を受け、装置Ａと装置Ｃとの間で共有した通信パラメータを用いて通信接続処理を行う（Ｆ５１９〜Ｆ５２３）。なお、Ｆ５１９〜Ｆ５２３の処理は、図４のＦ４１７〜Ｆ４２１の処理と同様であるため、説明を省略する。
【００７４】
図６は、装置Ａと装置Ｃにおける動作フローの一例を示したフローチャートである。
【００７５】
以下、本フローチャートに沿って両装置が実行する制御について説明する。
【００７６】
まず、装置は自動設定処理の開始を指示するための設定ボタン１０６が押下されたかどうかを判定する（Ｓ６０１）。Ｓ６０１において設定ボタン１０６が押下されたと判定した場合には、装置は自装置の役割を提供装置候補に設定し（Ｓ６０２）、タイマＴ１を開始する（Ｓ６０３）。
【００７７】
そして、装置は役割を提供装置候補に設定後、自動設定機能を有する、もしくは自動設定処理中であることを示す情報要素を含んだビーコンの送信を開始する（Ｓ６０４）。ここで、ビーコンに現時点の役割である「提供装置候補」を示す情報要素を含めてもよい。
【００７８】
そして、装置は、提供装置が見つかるか、タイマＴ１が満了するまで、提供装置の検索処理を行う（Ｓ６０５〜Ｓ６０８）。具体的には、タイマＴ１が満了していなければ（Ｓ６０５）、検索信号（プローブリクエスト）を送信し（Ｓ６０６）、検索応答信号（プローブレスポンス）の受信を待つ（Ｓ６０７）。
【００７９】
検索応答信号を受信した場合は、装置は検索応答信号の情報要素に含まれる相手の役割が提供装置かどうかを判定する（Ｓ６０８）。相手の役割が提供装置であれば、タイマＴ１を停止する（Ｓ６０９）。
【００８０】
Ｓ６０７において検索応答信号を受信しない場合や、Ｓ６０８において受信した検索応答信号の情報要素に含まれる相手の役割が提供装置以外の場合は、再度Ｓ６０５より処理をやり直す。
【００８１】
Ｓ６０９におけるタイマＴ１の停止後、自装置が他の装置との間で既に自動設定処理を実施済みであるか否かを確認する（Ｓ６１０）。
【００８２】
なお、既に自動設定処理を実施済みであるか否かは、記憶部１０３に設定済パラメータが記憶されているか否かにより判定される。そして、既に他の装置との間で自動設定処理を実施済みである場合は、自装置の役割を提供装置に設定する（Ｓ６１１）。
【００８３】
そして、装置はセッションオーバーラップ通知を相手装置へ送信し（Ｓ６１２）、オーバーラップ通知を受信した相手装置が受信装置に切替わった後に、該相手装置に対する通信パラメータの提供処理を行う（Ｓ６１３）。
【００８４】
なお、オーバーラップ通知を送信後に表示部１０５にて自動設定処理を継続するか否かの指示入力をユーザに促す表示を行い、ユーザによる指示入力に応じて、自動設定処理を継続するか中止するかを切替えるようにしてもよい。また、オーバーラップ通知を送信すると、自動設定処理をエラー終了するようにしてもよい。
【００８５】
一方、Ｓ６１０の判定において、以前に自動設定処理を未実施の場合は、自装置の役割を受信装置に設定する（Ｓ６１４）。そして、提供装置として動作する相手装置から提供される通信パラメータの受信処理を行う（Ｓ６１５）。
【００８６】
また、Ｓ６０５において提供装置を発見できないままタイマＴ１が満了した場合、自装置の役割を提供装置に設定する（Ｓ６１６）。そして、提供装置に設定後に他の装置からオーバーラップ通知を受信すると（Ｓ６１７）、Ｓ６１４に進み、自装置の役割を受信装置へ切替え、提供装置（オーバーラップ通知の送信元）から通信パラメータの提供を受ける（Ｓ６１５）。
【００８７】
なお、セッションオーバーラップを受信した場合に、自動設定処理を再起動（Ｓ６０２から処理を再開）するようにしてもよい。この場合、提供装置の検索処理（Ｓ６０５〜Ｓ６０８）にて、上記オーバーラップ通知の送信元である提供装置が検出される。その結果、受信装置として該提供装置から通信パラメータの提供を受けることができる。また、セッションオーバーラップを受信した場合に、自動設定処理をエラー終了するようにしてもよい。
【００８８】
セッションオーバーラップ通知を受信しない場合は、受信装置としての動作を開始した装置に対する通信パラメータの提供処理を行う（Ｓ６１８）。
【００８９】
このように本実施の形態によれば、過去に行った自動設定処理によって設定された通信パラメータを用いてネットワークを構築している場合に、新たに自動設定処理を開始しても該ネットワークを確実に維持することが可能となる。
【００９０】
なお、上記説明では、装置Ａと装置Ｂによって構築されているネットワークＡに装置Ｃが新たに参加する場合について説明した。ここで、装置Ｂが何らかの原因（電波障害、ユーザの誤操作による電源オフ等）によりネットワークから一時的に離脱してしまう場合も考えられる。かかる場合であっても、本実施形態によれば、装置Ａは装置Ｂとの間で共有した通信パラメータを装置Ｃへ提供するので、装置Ｂは通信パラメータＡを用いて再びネットワークＡに復帰することが可能となる。
【００９１】
また、上記説明では、Ｓ６１２にて提供装置としての動作を開始した相手装置へセッションオーバーラップ通知を送信するために、Ｓ６１１にて自装置の役割を提供装置に設定していた。しかしながら、必ずしも自装置の役割を提供装置に設定する必要はない。即ち、Ｓ６１０にて自動設定処理を既に実施済みと判定された場合は、Ｓ６１１の処理を省略し、Ｓ６１２にてセッションオーバーラップ通知を送信するようにしてもよい。
【００９２】
また、上記説明では、提供装置として動作している相手装置に対して、提供装置としての動作を中止させるためにセッションオーバーラップ通知を送信していた。しかしながら、相手装置に提供装置としての動作を規制させることができれば、必ずしもセッションオーバーラップ通知を用いなくてもよい。例えば、自動設定処理の中止を指示するメッセージ、提供装置としての動作の規制又は中止を指示するメッセージを用いてもよい。
【００９３】
また、上記説明では、Ｓ６１０にて記憶部１０３に設定済パラメータが記憶されているか否かに基づいて、自動設定処理を実施済みか否かを判定するものとしたが、他の方法により判定しても構わない。例えば、自動設定処理の実行履歴を記憶部１０３に記憶しておくようにし、該実行履歴に基づいて自動設定処理を実施済みか否かを判定するようにしてもよい。かかる場合、実行履歴として自動設定処理を行った時間（又は日時）を記憶しておき、自動設定処理を行ってからの経過時間に応じて、自動設定処理を実施済みか否かを判定するようにしてもよい。例えば、過去に自動設定処理を行った履歴があったとしても、一定時間（１時間後、１日後等）が経過していれば、自動設定処理を実施済でない、と判定するようにする等の方法がある。
【００９４】
＜実施形態２＞
実施形態１では、自動設定処理を開始した装置は、既に他の装置との間で自動設定処理を実施済みか否かに拘らず、まず提供装置候補となって提供装置の検索処理を行っていた。
【００９５】
実施形態２においては、役割決定のアルゴリズムが実施形態１と異なる場合の処理例について説明する。実施形態２で説明する役割決定アルゴリズムでは、自装置がネットワークに参加中か否かを最初に判定し、自装置がネットワークに参加していると判定された場合は、Ｔ１を待つことなく提供装置となるものとする。
【００９６】
実施形態２においても、装置構成およびネットワーク構成は実施形態１と同様である。
【００９７】
図８は、装置Ａと装置Ｃにおいて設定ボタン１０６が押下され、装置Ａと装置Ｃの間で自動設定処理を実施した場合の処理シーケンスの一例を示した図である。
【００９８】
装置Ａは、装置Ｂとの間で行われた自動設定処理により設定された通信パラメータＡを用いて既にネットワークＡを構築済みである（Ｆ８０１）。
【００９９】
装置Ａにおいて設定ボタン１０６が押されると、装置Ａは最初に、ネットワークに参加中か否かを確認する。ここで、「ネットワークに参加している」とは、自装置が保有するＢＳＳＩＤと同一のＢＳＳＩＤを保有する他の装置が存在する場合を示す。例えば、装置Ａが装置Ｂとの間で既に自動設定処理を行い、通信パラメータＡを共有したとしても、装置Ｂの電源がオフされている場合は、装置Ｂは同一のＢＳＳＩＤを保有していないことになる。このような場合は、装置Ａはネットワークに参加してないものとする。
【０１００】
即ち、図３のネットワーク構成の場合、「ネットワークに参加している」とは、「装置Ａと装置Ｂが同一のネットワーク上に存在している」ということである。よって、装置Ａが作成したネットワークに装置Ｂが参加している場合、装置Ｂが作成したネットワークに装置Ａが参加している場合は「ネットワークに参加している」と判断される。また、装置Ａが作成したネットワークに装置Ｂが参加していない場合、装置Ａと装置Ｂが異なるネットワークを作成した場合は、「ネットワークに参加していない」と判断される。ネットワークに参加しているか否かを判定するには、例えば、アクティブスキャンやパッシブスキャンを行い、自装置と同一のＢＳＳＩＤを有し、異なるＭＡＣアドレスを持つ装置を発見できるか否かを判定すればよい。
【０１０１】
また、同一のＢＳＳＩＤで異なるＭＡＣアドレスを持つ装置を発見しただけでなく、当該装置と上位レイヤによる通信が可能な場合に「ネットワークに参加している」と判定するようにしてもよい。すなわち、同一のＢＳＳＩＤで異なるＭＡＣアドレスを持つ装置を発見した場合でも上位レイヤによる通信が不可能であれば、「ネットワークに参加していない」と判定する。例えば、Ｐｉｎｇを送信し、その応答を受信できるか否かによりネットワークに参加しているか否かを判定することができる。
【０１０２】
装置ＡはネットワークＡに参加中か否か、即ちネットワークＡに装置Ｂが存在するか否かを確認し、装置Ｂの存在を確認できた時点で（Ｆ８０１−２）、自装置の役割を提供装置とする（Ｆ８０２）。
【０１０３】
一方、装置Ｃにおいて設定ボタンが押されると、装置ＣはユニークなネットワークＣを作成する（Ｆ８０３）。そして装置Ｃは、自装置を提供装置候補に設定し（Ｆ８０５）、タイマＴ１を開始する（Ｆ８０６）。
【０１０４】
つぎに、装置Ａおよび装置Ｃは、自動設定機能を有している、あるいは自動設定処理中であることを通知する情報要素（Ｉｎｆｏｒｍａｔｉｏｎ  Ｅｌｅｍｅｎｔ）を含むビーコン（報知信号）を送信する（Ｆ８０７、Ｆ８０８）。ここで、装置Ｃはビーコンに現時点の役割である「提供装置候補」を示す情報要素を含めてもよい。一方装置Ａはビーコンに「提供装置」を示す情報要素を含めても良い。
【０１０５】
次に、装置Ｃは提供装置を検索するためが検索信号を送信する（Ｆ８１３）。装置Ｃから送信される検索信号にも、自動設定機能を有している、あるいは自動設定処理中であることを示す情報要素や現時点の役割である「提供装置候補」を示す情報要素が含まれている。
【０１０６】
装置Ａは装置Ｃから送信された検索信号を受信したら、検索応答信号を装置Ｃに対して送信する（Ｆ８１４）。該検索応答信号には、ビーコンや検索信号と同様に、自動設定機能を有している、あるいは自動設定処理中であることを示す情報要素が含まれる。この時点では、装置Ａは自装置の役割を提供装置に決定しているため、装置Ａは検索応答信号に「提供装置」を示す情報要素を含めて送信する。ここで、役割としての「提供装置」を示す情報要素に加えて、通信パラメータを提供可能な状態であることを示す情報要素を付加してもよい。
【０１０７】
装置Ｃは装置Ａから送信された検索応答信号を受信すると、装置Ａの役割が提供装置であり、通信パラメータを提供可能な状態であることを確認する。そこで、装置Ｃは、タイマＴ１を停止して（Ｆ８１５）、自装置の役割を受信装置に設定し（Ｆ８１６）、ネットワークＡへ参加する（Ｄ８１７）。これによって、装置Ａと装置Ｃの間では、通信パラメータの自動設定プロトコル処理で交わされる通信メッセージを相互に送受可能となる。なお、Ｆ８１７で装置ＣがネットワークＡに参加した時点では、暗号鍵、認証鍵等の通信パラメータが装置Ｃに設定されていないため、装置Ｃは装置Ａとの間で暗号、認証を用いた通常のデータ通信を行うことはできない。
【０１０８】
ここで、ここで、上記説明では検索信号と検索応答信号を用いるアクティブスキャンによって提供装置の検索を行ったが、ビーコンの受信を待機することにより提供装置を検索するパッシブスキャンを用いてもよい。また、アクティブスキャンとパッシブスキャンを組み合わせて提供装置を検索するようにしてもよい。
【０１０９】
装置ＣはネットワークＡに参加すると、装置Ａに通信パラメータ設定起動を示すメッセージを送信する（Ｆ８１８）。そして、該メッセージに応じて装置Ａから装置Ｃに対して通信パラメータＡの提供処理が行われる（Ｆ８１９）。提供処理が完了すると、装置Ａは装置Ｃに対して通信パラメータ設定完了のメッセージを送信する（Ｆ８２０）。これにより通信パラメータ設定処理が完了し、装置Ａと装置Ｃとの間で通信パラメータＡが共有される。
【０１１０】
そして、装置Ａと装置Ｃでは、共有した通信パラメータＡを用いて通信接続処理を行う（Ｆ８２１）。
【０１１１】
このように、装置Ａがネットワークへ参加中であることを確認した時点で提供装置になれば、装置Ｃが受信装置に設定され、その結果通信パラメータＡが装置Ｃへ提供される。しかしながら、このような制御を行ったとしても、装置Ａと装置Ｃの設定ボタン１０６が押されるタイミングによっては、装置Ｃが提供装置になり、装置Ａが受信装置になってしまう場合も考えられる。そこで、本実施形態では、このような状況が生じるのを防止するための処理について説明する。
【０１１２】
図９は、装置Ａと装置Ｃにおいて、設定ボタン１０６が押下され、装置Ａと装置Ｃの間で自動設定処理を実施した場合の処理シーケンスの一例を示した図である。
【０１１３】
装置Ａは、装置Ｂとの間で行われた自動設定処理により設定された通信パラメータＡを用いてネットワークＡを構築済みである（Ｆ９０１）。
【０１１４】
ここで、装置Ｃにおいて設定ボタン１０６が押されると、装置ＣはユニークなネットワークＣを作成する（Ｆ９０２）。
【０１１５】
つぎに、装置Ｃは自装置の役割を提供装置候補に設定し（Ｆ９０３）、タイマＴ１を開始する（Ｆ９０４）。
【０１１６】
つぎに、装置Ｃは、自動設定機能を有している、あるいは自動設定処理中であることを通知する情報要素（Ｉｎｆｏｒｍａｔｉｏｎ  Ｅｌｅｍｅｎｔ）を含むビーコン（報知信号）を送信する（Ｆ９０５）。ここで、ビーコンに現時点の役割である「提供装置候補」を示す情報要素を含めてもよい。
【０１１７】
ひき続いて、装置Ｃは提供装置を検索するため、検索信号を送信する（Ｆ９０６）。検索信号にもビーコン同様に、通信パラメータの自動設定処理機能を有している、あるいは処理中であることを示す情報要素や現時点の役割である「提供装置候補」を示す情報要素が含まれている。
【０１１８】
装置Ａは装置Ｃから送信された検索信号を受信したら、検索応答信号を装置Ａに対して送信する（Ｆ９０７）。装置Ａが検索信号を受信した時点では、装置Ａにて設定ボタン１０６は押下されておらず、装置Ａは自動設定処理を開始していない。よって装置Ａは自動設定機能を有しているが、自動設定処理中でないことを示す情報要素を含む検索応答信号を送信する。
【０１１９】
装置Ｃにおいて提供装置を検出できないままタイマＴ１が満了すると（Ｆ９０８）、装置Ｃは自装置の役割を提供装置に設定する（Ｆ９０９）。
【０１２０】
ここで、装置Ａにおいて設定ボタン１０６が押されると、装置Ａは、自装置が参加しているネットワークＡに、装置Ｂが参加していることを確認した上で（Ｆ９１０）、自装置の役割を提供装置に設定する（Ｆ９１１）。
【０１２１】
ここで、装置Ｂの存在を確認できなかった場合は、装置Ａは自装置の役割を提供装置候補に設定する。この場合の以降の動作シーケンスは、実施形態１で説明したものと同一となる。
【０１２２】
つぎに、装置Ａは、自動設定機能を有している、あるいは自動設定処理中であることを通知する情報要素（Ｉｎｆｏｒｍａｔｉｏｎ  Ｅｌｅｍｅｎｔ）を含むビーコン（報知信号）を送信する（Ｆ９１２）。ここで、ビーコンに現時点の役割である「提供装置」を示す情報要素を含めてもよい。
【０１２３】
ひき続いて、装置Ａは、他に提供装置が存在するか否かを調べるために、検索信号を送信する（Ｆ９１３）。検索信号Ａもビーコン同様に、自動設定機能を有している、あるいは自動設定処理中であることを示す情報要素や現時点の役割である「提供装置」を示す情報要素が含まれている。
【０１２４】
装置Ｃは装置Ａから送信された検索信号を受信したら、検索応答信号を装置Ａに対して送信する（Ｆ９１４）。検索応答信号にも、ビーコンや検索信号と同様に、自動設定処理機能を有している、あるいは自動設定処理中であることを示す情報要素が含まれる。この時点では、装置Ｃは自装置の役割を提供装置に決定しているため、装置Ｃは検索応答信号に「提供装置」を示す情報要素を含めて送信する。ここで、役割としての「提供装置」を示す情報要素に加えて、通信パラメータを提供可能な状態を示す情報要素を付加してもよい。
【０１２５】
検索応答信号を受信した装置Ａは、自装置以外にも提供装置が存在することを認識できる。そこで、装置Ａは装置Ｃに提供装置としての動作を中止させるため、セッションオーバーラップ通知を送信する（Ｆ９１５）。
【０１２６】
装置Ａからのセッションオーバーラップ通知を受信した装置Ｃは、提供装置としての動作を継続することができないと判断し、自装置の役割を受信装置に切替える（Ｆ９１６）。そして、装置Ｃは装置Ａから通信パラメータの提供を受け、装置Ａと装置Ｃとの間で共有した通信パラメータを用いて通信接続処理を行う（Ｆ９１７〜Ｆ９２１）。なお、Ｆ９１７〜Ｆ９２１の処理は、図８のＦ８１７〜Ｆ８２１の処理と同様であるため、説明を省略する。
【０１２７】
図７は実施形態２における装置Ａと装置Ｃの動作フローの一例を示したフローチャートである。
【０１２８】
以下、本フローチャートに沿って両装置が実行する制御について説明する。
【０１２９】
まず、装置は通信パラメータ自動設定処理の開始を指示するための設定ボタン１０６が押下されたかどうかを判定する（Ｓ７０１）。
【０１３０】
Ｓ７０１にて設定ボタン１０６が操作されたと判定した場合には、自装置が現在すでにネットワークに参加しているかどうかを調べる（Ｓ７０２）。
【０１３１】
Ｓ７０２において、すでにネットワークに参加していると判定された場合は、新たに他の装置を該ネットワークに参加させるために、自装置の役割を提供装置に設定する（Ｓ７１９）。
【０１３２】
提供装置として設定後、検索信号（プローブリクエスト）を送信し（Ｓ７２０）、検索応答信号（プローブレスポンス）の受信を一定時間待つ（Ｓ７２１）。Ｓ７２１において提供装置からの検索応答信号を受信した場合は、自装置が参加中のネットワークでの通信が維持できなくなる可能性がでるため、セッションオーバーラップ通知を相手の提供装置へ送信する（Ｓ７２２）。そして、オーバーラップ通知を受信した相手装置が受信装置に切替わった後に、該相手装置に対する通信パラメータの提供処理を行う（Ｓ７２３）。
【０１３３】
なお、オーバーラップ通知を送信後に表示部１０５にて自動設定処理を継続するか否かの指示入力をユーザに促す表示を行い、ユーザによる指示入力に応じて、自動設定処理を継続するか中止するかを切替えるようにしてもよい。また、オーバーラップ通知を送信すると、自動設定処理をエラー終了するようにしてもよい。
【０１３４】
Ｓ７２１において、提供装置からの検索応答信号を受信しない場合は、受信装置としての動作を開始した相手装置に対する通信パラメータの提供処理を行う（Ｓ７２３）。
【０１３５】
Ｓ７０２において、ネットワークに参加していないと判定された場合は、実施形態１と同様の処理（図６のＳ６０２以降の処理）を継続していく。
【０１３６】
このように本実施の形態によれば、実施形態１と役割決定のアルゴリズムが異なる場合でも実施形態１と同様の効果を得ることができる。
【０１３７】
なお、図７のＳ７０２においてネットワークに参加していないと判定された場合は、図６のＳ６０２以降の処理を行うものとして説明したが、必ずしも全て同一の処理を行う必要はない。以下、変形例について説明する。
【０１３８】
Ｓ７０２にて同一ネットワークに他の装置が存在しないと判定された場合は、該ネットワークを維持する必要性は低くなるので、受信装置として他の装置から新たに別の通信パラメータを受信しても良い場合もある。そこで、Ｓ７０２にて同一ネットワークに他の装置が存在しないと判定され、Ｓ７０８にて提供装置を検出できた場合は、既に他の装置との間で自動設定処理を実施済みか否かに関係なく、自装置の役割を受信装置に設定するようにしてもよい。即ち、Ｓ７１０の判定処理は省略し、Ｓ７１４以降に進むようにしてもよい。
【０１３９】
また、上記説明では、予め装置Ａと装置Ｂ間で行われた自動設定処理によって設定された通信パラメータＡを用いてネットワークＡが構築される場合について説明した。しかし、ユーザの手入力によって設定された通信パラメータにより装置Ａと装置Ｂ間でネットワークを構築している場合であっても、本発明は適用できる。
【０１４０】
この場合、手動設定時に設定された通信パラメータ（通信パラメータＡ’とする）を、設定済パラメータとして記憶部１０３に記憶しておく。そして、Ｓ７０２では、通信パラメータＡ’を用いたネットワークに参加しているか否かが判定される。該ネットワークに参加していると判定された場合は、Ｓ７１９にて自装置を提供装置に設定し、Ｓ７２３では相手装置に対して通信パラメータＡ’を提供する。また、該ネットワークに参加していないと判定された場合は、Ｓ７０３以降の処理が行われ、Ｓ７１０では通信パラメータを既に手動設定済みか否かが判定される。手動設定済みと判定された場合は、自装置の役割を提供装置に設定し（Ｓ７１１）、相手装置に対してセッションオーバーラップ通知を送信する（Ｓ７１２）。そして、Ｓ７１３では、相手装置に対して通信パラメータＡ’を提供する。また、手動設定済みでない場合は、自装置の役割を受信装置に設定し（Ｓ７１４）、提供装置である相手装置から通信パラメータを受信する（Ｓ７１５）。このようにすることにより、手動設定によりネットワークを構築し、該ネットワークに新たに他の装置を参加させるために自動設定処理を行う場合であっても、該ネットワークを維持することができる。
【０１４１】
また、自動設定処理により設定済みか、手動設定により設定済みかによって、Ｓ７０２とＳ７１０の判定処理を異なるものとしても構わない。例えば、Ｓ７０２では、自動設定と手動設定のいずれで設定したかに拘らず、既に設定済みの通信パラメータを用いたネットワークに参加中か否かを判定し、Ｓ７１０では自動設定処理によって設定済みか否かのみを判定するようにしてもよい。つまり、手動設定により設定済みの場合は、Ｓ７０２にて該設定済みの通信パラメータによるネットワークに参加中か否かを判定し、参加中でないと判定された場合はＳ７０３以降の処理を行う。そして、Ｓ７１０の判定では、手動設定により設定済みではあるが、自動設定により設定済みではないため、Ｓ７１４以降の処理に進む。このようにすることにより、自動設定と手動設定のいずれの方法で設定済みかによって、ネットワーク維持の判断を適応的に切り替えることができる。例えば、既に自動設定処理によって設定済みの場合は、他の装置から別の通信パラメータの提供を受けることを防止できる。また、既に手動設定済みの場合は、該設定済みの通信パラメータを用いたネットワークに他の装置が存在していれば、該ネットワークを維持し、他の装置が存在しなければ、別の他の装置から新たに他の通信パラメータを受け入れ可能な状態とすることができる。
【０１４２】
また、実施形態１と同様に、Ｓ７１２にてセッションオーバーラップ通知を送信するために、Ｓ７１１にて自装置の役割を提供装置に設定していた。しかしながら、必ずしも自装置の役割を提供装置に設定する必要はない。即ち、Ｓ７１０にて既に設定済みと判定された場合は、Ｓ７１１の処理を省略し、Ｓ７１２にてセッションオーバーラップ通知を送信するようにしてもよい。
【０１４３】
また、相手装置に提供装置としての動作を規制させることができれば、他のメッセージを用いてもよく、必ずしもセッションオーバーラップ通知を用いなくてもよい。例えば、自動設定処理の中止を指示するメッセージ、提供装置としての動作の規制又は中止を指示するメッセージを用いてもよい。
【０１４４】
また、上記説明はＩＥＥＥ８０２．１１準拠の無線ＬＡＮを例に説明した。しかしながら、本発明は、ワイヤレスＵＳＢ、ＭＢＯＡ、Ｂｌｕｅｔｏｏｔｈ（登録商標）、ＵＷＢ、ＺｉｇＢｅｅ等の他の無線媒体において実施してもよい。また、有線ＬＡＮ等の有線通信媒体において実施してもよい。
【０１４５】
ここで、ＭＢＯＡは、Ｍｕｌｔｉ  Ｂａｎｄ  ＯＦＤＭ  Ａｌｌｉａｎｃｅの略である。また、ＵＷＢは、ワイヤレスＵＳＢ、ワイヤレス１３９４、ＷＩＮＥＴなどが含まれる。
【０１４６】
また、通信パラメータとしてネットワーク識別子、暗号方式、暗号鍵、認証方式、認証鍵を例にしたが、他の情報であってもよいし、他の情報も通信パラメータには含まれるようにしてもよいことは言うまでも無い。
【０１４７】
本発明は前述の機能を実現するソフトウェアのプログラムコードを記録した記録媒体をシステムあるいは装置に供給し、システムあるいは装置のコンピュータ（ＣＰＵ、ＭＰＵ）が記録媒体に格納されたプログラムコードを読み出し実行するようにしてもよい。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することとなり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【０１４８】
プログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤなどを用いることができる。
【０１４９】
また、コンピュータが読み出したプログラムコードを実行することにより、前述の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳが実際の処理の一部または全部を行い、前述の機能を実現してもよい。ＯＳとは、Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍの略である。
【０１５０】
さらに、記憶媒体から読み出されたプログラムコードを、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込む。そして、そのプログラムコードの指示に基づき、機能拡張ボードや機能拡張ユニットに備わるＣＰＵが実際の処理の一部または全部を行い、前述の機能を実現してもよい。
【図面の簡単な説明】
【０１５１】
【図１】装置を構成するブロック図
【図２】装置内のソフトウェア機能ブロック図
【図３】実施の形態におけるネットワーク構成図
【図４】実施形態１における装置間シーケンス（その１）
【図５】実施形態１における装置間シーケンス（その２）
【図６】実施形態１における通信装置の役割決定処理フローチャート
【図７】実施形態２における通信装置の役割決定処理フローチャート
【図８】実施形態２における装置間シーケンス（その１）
【図９】実施形態２における装置間シーケンス（その２）
【符号の説明】
【０１５２】
２０１  装置装置
２０２  通信パラメータ自動設定機能ブロック
２０３  パケット受信部
２０４  パケット送信部
２０５  検索信号送信部
２０６  検索信号受信部
２０７  ネットワーク制御部
２０８  通信パラメータ受信部
２０９  通信パラメータ提供部
２１０  自動設定制御部
２１１  通信パラメータ提供元検出部
２１２  通信パラメータ記憶制御部
２１３  ビーコン制御部
２１４  ビーコン生成部
【図１】
2010103693.tif 000003
【図２】
2010103693.tif 000004
【図３】
2010103693.tif 000005
【図４】
2010103693.tif 000006
【図５】
2010103693.tif 000007
【図６】
2010103693.tif 000008
【図７】
2010103693.tif 000009
【図８】
2010103693.tif 000010
【図９】
2010103693.tif 000011