(57)【特許請求の範囲】
【請求項１】
通信装置であって、
通信パラメータを他の通信装置に提供する提供装置として動作する手段と、
他の通信装置から提供される通信パラメータを受信する受信装置として動作する手段と、
前記提供装置として動作するか前記受信装置として動作するかを決定するための処理であって、他の通信装置との通信を伴う、所定のユーザ操作に応じて開始される所定の処理に基づいて、前記提供装置として動作するか前記受信装置として動作するかを決定する決定手段と、
前記決定手段により前記提供装置として動作するか前記受信装置として動作するかを決定した後に、他の通信装置と前記通信パラメータを共有するための通信が開始されない場合、前記所定の処理を、前記所定のユーザ操作なく再実行する実行手段とを有することを特徴とする通信装置。
【請求項２】
前記通信パラメータを共有するための処理が第１の所定期間の間に完了しなかった場合に、前記通信パラメータを共有するための処理をエラー終了する終了手段とを更に有し、
前記実行手段は、他の通信装置と前記通信パラメータを共有するための処理が終了手段によりエラー終了する前に、前記所定の処理を再実行することを特徴とする請求項１に記載の通信装置。
【請求項３】
前記実行手段は、前記決定手段により前記提供装置として動作するか前記受信装置として動作するかを決定した後から第２の所定期間の間に、他の装置から所定のパケットを受信しない場合に、前記所定の処理を再実行することを特徴とする請求項１または２に記載の通信装置。
【請求項４】
前記決定手段により前記提供装置として動作するか前記受信装置として動作するかを決定した後から第２の所定期間の間に、他の装置から所定のパケットを受信した場合に、前記通信パラメータを共有するための通信を開始することを特徴とする請求項１乃至３の何れか１項に記載の通信装置。
【請求項５】
前記決定手段により前記提供装置として動作するか前記受信装置として動作するかを決定した後に、他の通信装置と前記通信パラメータを共有するための通信が開始されない場合、エラー通知を行う通知手段を更に有することを特徴とする請求項１乃至３の何れか１項に記載の通信装置。
【請求項６】
前記実行手段により再実行された前記所定の処理に基づいて前記決定手段により決定された役割により他の通信装置と通信パラメータを共有した場合、当該他の通信装置に関する情報を表示する表示手段とを更に有することを特徴とする請求項１乃至５の何れか１項に記載の通信装置。
【請求項７】
前記実行手段により再実行された前記所定の処理に基づいて前記決定手段により決定された役割により他の通信装置と通信パラメータを共有した場合、ユーザに当該他の通信装置と接続するかを問い合わせる第２の問合せ手段と、
当該ユーザにより当該他の通信装置と接続することを指示された場合に、当該他の通信装置と接続するための処理を行う制御手段とを更に有することを特徴とする請求項１乃至６の何れか１項に記載の通信装置。
【請求項８】
前記接続するための処理は、暗号鍵交換処理であることを特徴とする請求項７に記載の通信装置。
【請求項９】
通信装置であって、
通信パラメータを他の通信装置に提供する提供装置として動作する手段と、
他の装置から提供される通信パラメータを受信する受信装置として動作する手段と、
前記提供装置として動作するか前記受信装置として動作するかを決定するための処理であって、他の通信装置との通信を伴う、所定のユーザ操作に応じて開始される所定の処理に基づいて、前記提供装置として動作するか前記受信装置として動作するかを決定する第１の決定手段と、
第１の他の通信装置との通信により前記提供装置として動作するか前記受信装置として動作するかを前記第１の決定手段により決定した後に、前記第１の他の通信装置と前記通信パラメータを共有するための通信が開始されない場合、第２の他の通信装置との、前記所定のユーザ操作なく開始される前記所定の処理に基づいて、前記提供装置として動作するか前記受信装置として動作するかを決定する第２の決定手段と、を有する通信装置。
【請求項１０】
前記通信パラメータは、少なくともＳＳＩＤ、暗号方式、暗号鍵、認証方式、認証鍵のうち少なくとも何れか一つを含むことを特徴とする請求項１乃至９の何れか１項に記載の通信装置。
【請求項１１】
前記所定の処理は、前記提供装置か前記受信装置かの仮の役割を定めておき、当該仮に定めた役割と異なる役割で動作する他の通信装置から検出されたかもしくは検出したかに基づいて、前記提供装置として動作するか前記受信装置として動作するかを決定する処理であることを特徴とする請求項１乃至１０の何れか１項に記載の通信装置。
【請求項１２】
前記通信装置は、前記所定の処理において、前記仮に定めた役割と異なる役割で動作する他の通信装置から検出されなかったもしくは検出しなかった場合、前記仮に定めた役割を変更することを特徴とする請求項１１に記載の通信装置。
【請求項１３】
前記通信装置は、前記所定の処理において、プローブリクエストまたはプローブリクエストに対する応答信号に付加されるＩｎｆｏｒｍａｔｉｏｎ  Ｅｌｅｍｅｎｔに基づいて、前記仮に定めた役割と異なる役割で動作する他の通信装置から検出されるもしくは検出することを特徴とする請求項１１または１２に記載の通信装置。
【請求項１４】
前記所定の処理は、設定ボタンの押下の検出に応じて開始されることを特徴とする請求項１乃至１３の何れか１項に記載の通信装置。
【請求項１５】
前記通信パラメータを共有するための通信は、ＥＡＰ−Ｒｅｑ／ＩｄｅｎｔｉｔｙまたはＥＡＰＯＬ−ＳＴＡＲＴの通信により開始されること特徴とする請求項１乃至１４の何れか１項に記載の通信装置。
【請求項１６】
前記所定の処理は、ＩＥＥＥ８０２．１１シリーズに準拠した無線通信に基づいて行われ、かつ、アドホックネットワークを構築するための処理であることを特徴とする請求項１乃至１５の何れか１項に記載の通信装置。
【請求項１７】
通信パラメータを他の通信装置に提供し、他の通信装置と該通信パラメータを共有するための提供装置と、他の通信装置から提供される通信パラメータを受信し、他の通信装置と該通信パラメータを共有するための受信装置とで動作可能な通信装置の制御方法であって、
前記提供装置として動作するか前記受信装置として動作するかを決定するための処理であって、他の通信装置との通信を伴う、所定のユーザ操作に応じて開始される所定の処理に基づいて、前記提供装置として動作するか前記受信装置として動作するかを決定し、
前記提供装置として動作するか前記受信装置として動作するかを決定した後に、他の通信装置と前記通信パラメータを共有するための通信が開始されない場合、前記所定の処理を、前記所定のユーザ操作なく再実行することを特徴とする通信装置の制御方法。
【請求項１８】
通信パラメータを他の通信装置に提供し、他の通信装置と該通信パラメータを共有するための提供装置と、他の通信装置から提供される通信パラメータを受信し、他の通信装置と該通信パラメータを共有するための受信装置とで動作可能な通信装置の制御方法であって、
前記提供装置として動作するか前記受信装置として動作するかを決定するための処理であって、他の通信装置との通信を伴う、所定のユーザ操作に応じて開始される所定の処理に基づいて、前記提供装置として動作するか前記受信装置として動作するかを第１の他の通信装置と間で決定し、
当該決定の後に前記第１の他の通信装置と前記通信パラメータを共有するための通信が開始されない場合、第２の他の通信装置との、前記所定のユーザ操作なく開始される前記所定の処理により、前記提供装置として動作するか前記受信装置として動作するかを決定することを特徴とする通信装置の制御方法。
【請求項１９】
請求項１７または１８に記載の制御方法をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信装置、通信装置の制御方法、プログラムに関する。
【背景技術】
【０００２】
従来、無線ＬＡＮ機能を有する通信装置がアクセスポイント（以下、ＡＰと略記する）の提供するネットワーク（インフラストラクチャネットワーク）に参加するには、通信装置において無線の接続やセキュリティのセットアップを行う必要がある。これには通信端末上で様々な設定の入力を要していた。このような無線通信に必要な設定と入力は複雑なものであったため、不慣れなユーザにとっては、セットアップを行うのは煩雑な作業であった。
【０００３】
この問題に対し、無線の接続やセキュリティのセットアップを簡単に行い、通信装置をインフラストラクチャネットワークに参加させるための無線ＬＡＮの業界標準の技術として、非特許文献１が公開されている。この非特許文献１に開示されている技術はＷＰＳ（Ｗｉ−Ｆｉ  Ｐｒｏｔｅｃｔｅｄ  Ｓｅｔｕｐ）として様々な製品に搭載されている。ＷＰＳはＡＰがパラメータ提供装置（レジストラと称する）となり、通信装置がパラメータ受信装置（エンローリーと称する）としてＡＰから無線ＬＡＮ接続に必要なパラメータを取得する技術である。また、ＷＰＳには、両方の機器でボタンを押す押しボタン方式と、予め定めたＰＩＮコードを双方に設定して、そのＰＩＮコードが一致した機器間で通信パラメータの設定を行うＰＩＮ方式とがある。また、ＷＰＳを押しボタン方式で実施する場合は、レジストラもしくはエンローリーが複数台存在する場合は、セッションオーバーラップとしてエラー処理を実施することが規定されている。
【０００４】
一方、近年無線通信機能を有する電子機器が普及するにつれ、２以上のデバイスでＡＰを介さず機器間で直接通信（アドホック通信）することが望まれている。このようなＡＰ不要のネットワーク（アドホックネットワーク）であっても機器間で無線通信に必要な通信パラメータの設定、入力を行う必要がある。アドホックネットワークで上述のＷＰＳのような無線の接続やセキュリティのセットアップを自動で行う際には、機器同士は対等な立場のため機器間でレジストラまたはエンローリーとして動作するかを決定する処理が必要となる。特許文献１は、通信装置がレジストラもしくはエンローリーとして動作するかを制御する方法が記載されている。特許文献１によれば、通信装置はユーザからの操作に基づいて、パラメータ設定処理を行う際の役割であるレジストラもしくはエンローリーとして動作するかを決定する構成が開示されている。また、エンローリーとして動作する通信装置が所定期間レジストラとして動作する他の装置を検出することができない場合、レジストラとして動作を切り替える構成が開示されている。
【０００５】
また、特許文献２ではレジストラおよびエンロ―リーとして動作可能な通信装置が他の通信装置とのネゴシエーションに基づいて、動作する役割を決定する構成が開示されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特表２０１０−５００８１７号公報
【特許文献２】特開２０１０−２６８３００号公報
【非特許文献】
【０００７】
【非特許文献１】Ｗｉ−Ｆｉ  Ａｌｌｉａｎｃｅ，  Ｗｉ−Ｆｉ  Ｐｒｏｔｅｃｔｅｄ  Ｓｅｔｕｐ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ  Ｖｅｒｓｉｏｎ  １．０ｈ
【発明の概要】
【発明が解決しようとする課題】
【０００８】
アドホックモードにおけるパラメータ自動設定処理において、複数の装置が同時期に自動設定処理を開始し、ある通信装置の一つが複数のレジストラまたはエンローリーを見つけてしまった場合の処理についても検討が必要である。例えば、ＷＰＳにおいてはＡＰが役割をレジストラ、端末装置がエンローリーとして固定して動作するので、自装置と異なる役割の装置を複数台存検出した場合は何れの装置と処理を開始してよいか判断がつかずセッションオーバーラップをせざるを得ない。しかしながら、レジストラおよびエンローリー双方の機能を実施可能な通信相手においては、自動設定処理を開始している複数台の装置の全てがエラー終了せずとも少なくとも２台の装置においては処理を開始することがユーザの操作性の観点から望まれる。
本発明では、複数台の通信装置が他の通信装置との間で通信パラメータを共有するための処理を開始した場合であっても少なくとも任意の２台において通信パラメータ設定処理を実行することを目的とする。
【課題を解決するための手段】
【０００９】
上記目的を達成するために、通信パラメータを他の通信装置に提供する提供装置として動作する手段と、他の通信装置から提供される通信パラメータを受信する受信装置として動作する手段と、前記提供装置として動作するかは前記受信装置として動作するかを決定するための処理であって、他の通信装置との通信を伴う、所定のユーザ操作に応じて開始される所定の処理に基づいて、前記提供装置として動作するか前記受信装置として動作するかを決定する決定手段と、前記決定手段により前記提供装置として動作するか前記受信装置として動作するかを決定した後に、他の通信装置と前記通信パラメータを共有するための通信が開始されない場合、前記所定の処理を、前記所定のユーザ操作なく再実行する実行手段とを有することを特徴とする通信装置を提供する。
また、通信パラメータを他の通信装置に提供する提供装置として動作する手段と、他の装置から提供される通信パラメータを受信する受信装置として動作する手段と、
前記提供装置として動作するか前記受信装置として動作するかを決定するための処理であって、他の通信装置との通信を伴う、所定のユーザ操作に応じて開始される所定の処理に基づいて、前記提供装置として動作するか前記受信装置として動作するかを決定する第１の決定手段と、第１の他の通信装置との通信により前記提供装置として動作するか前記受信装置として動作するかを前記第１の決定手段により決定した後に、前記第１の他の通信装置と前記通信パラメータを共有するための通信が開始されない場合、第２の他の通信装置との、前記所定のユーザ操作なく開始される前記所定の処理に基づいて、前記提供装置として動作するか前記受信装置として動作するかを決定する第２の決定手段と、を有する通信装置を提供する。
【発明の効果】
【００１０】
本発明によれば、複数台の通信装置が他の通信装置との間で通信パラメータを共有するための処理を開始した場合であっても少なくとも任意の２台において通信パラメータを共有することが可能となる。
【図面の簡単な説明】
【００１１】
【図１】本実施形態に係る通信装置の構成を示すブロック図である。
【図２】本実施形態に係る通信装置の機能構成を示すブロック図である。
【図３】ネットワーク構成の一例を示す図である。
【図４】複数の通信装置が自動設定処理を実行できない場合のシーケンス図である。
【図５】実施例１に関する通信装置のシーケンス図である。
【図６】本実施形態に係る通信装置の動作を示すフローチャートである。
【図７】実施例２に関する通信装置のシーケンス図である。
【図８】通信パラメータ交換処理のパケットシーケンス図である。
【図９】ＥＡＰＯＬ−ＳＴＡＲＴパケットの再送シーケンス図である。
【図１０】ＥＡＰ−ＲＥＱ．／ＩＤＥＮＴＩＴＹパケットの再送シーケンス図である。
【発明を実施するための形態】
【００１２】
［実施例１］
以下、本実施形態に係る通信装置について、図面を参照しながら詳細に説明する。以下では、ＩＥＥＥ８０２．１１シリーズに準拠した無線ＬＡＮシステムを用いた例について説明するが、通信形態は必ずしもＩＥＥＥ８０２．１１準拠の無線ＬＡＮには限らない。
【００１３】
本実施形態に好適な事例におけるハードウェア構成について説明する。図１は本実施形態に係る後述の各装置の構成の一例を表すブロック図である。１０１は装置全体を示す。１０２は、記憶部１０３に記憶される制御プログラムを実行することにより装置全体を制御する制御部である。制御部１０２は、他の装置との間で通信パラメータの設定制御も行う。１０３は制御部１０２が実行する制御プログラムと、通信パラメータ等の各種情報を記憶する記憶部である。後述する各種動作は、記憶部１０３に記憶された制御プログラムを制御部１０２が実行することにより行われる。１０４はＩＥＥＥ８０２．１１シリーズに準拠した無線ＬＡＮ通信を行うための無線部である。１０５は各種表示を行う表示部でありＬＣＤやＬＥＤのように視覚で認知可能な情報の出力、あるいはスピーカなどの音出力が可能な機能を有する。
【００１４】
１０６は通信パラメータ設定処理を開始するトリガを与える設定ボタンである。設定ボタン１０６が操作されると、通信パラメータの自動設定処理が開始される。なお、設定ボタン１０６はハードウェアで構成されていてもよいし表示部１０５により出力されたアイコンを選択する等任意のＵＩにより実現されてよい。制御部１０２は、ユーザによる設定ボタン１０６の操作を検出すると、後述する処理を実施する。１０７はアンテナ制御部、そして１０８はアンテナである。１０９は、ユーザが各種入力を行うための入力部である。
【００１５】
図２は、装置１０１の各ハードウェアをプログラムに従って制御することより実現される機能構成を示すブロック図である。２０１は装置全体を示している。２０２は通信パラメータの自動設定機能ブロックである。本実施形態では、ネットワーク識別子としてのＳＳＩＤ、暗号方式、暗号鍵、認証方式、認証鍵等の無線ＬＡＮ通信を行うために必要な通信パラメータの自動設定を行う。なお、通信パラメータの自動設定を、以下、自動設定と簡略化する。２０３は各種通信にかかわるパケットを受信するパケット受信部である。ビーコン（報知信号）の受信は、パケット受信部２０３によって行われる。２０４は各種通信にかかわるパケットを送信するパケット送信部である。ビーコンの送信は、パケット送信部２０４によって行われる。なおビーコンには、送信元の機器の各種情報が付加される。２０５はプローブリクエストなどの機器検索信号の送信を制御する検索信号送信部である。なお、プローブリクエストは、所望のネットワークを検索するためのネットワーク検索信号ということもできる。プローブリクエストの送信は、検索信号送信部２０５により行われる。また、受信したプローブリクエストに対する応答信号であるプローブレスポンスの送信も検索信号送信部２０５により行われる。本実施形態では、ユーザが設定ボタン１０６を操作し、自動設定処理を開始した場合は、ビーコン、プローブリクエスト及びプローブレスポンスに自動設定中（自動設定動作中）であることを示す情報を含めて送信する。付加する情報を（ＩＥ：（Ｉｎｆｏｒｍａｔｉｏｎ  Ｅｌｅｍｅｎｔインフォーメーション  エレメント）と本実施例では呼ぶこととする。
【００１６】
２０６は他の装置からのプローブリクエストなどの機器検索信号の受信を制御する検索信号受信部である。プローブリクエストの受信は、検索信号受信部２０６により行われる。また、プローブレスポンスの受信も検索信号受信部２０６により行われる。なお機器検索信号、及びその応答信号には、送信元の機器の各種情報が付加される。２０７は、ネットワーク接続を制御するネットワーク制御部である。無線ＬＡＮアドホックネットワークへの接続処理などは、ネットワーク制御部２０７により実施される。
【００１７】
自動設定機能部２０２は、さらに通信パラメータ受信部２０８、通信パラメータ提供部２０９、自動設定制御部２１０、提供元検出部２１１、通信パラメータ記憶部２１２により構成される。また、自動設定機能部２０２は、さらに計時部２１３、判定部２１４、エラー終了部２１５、実行部２１６、決定部２１７から構成される。通信パラメータ受信部２０８は相手機器より通信パラメータを受信（受理）する。通信パラメータ提供部２０９は相手機器に通信パラメータを提供する。自動設定制御部２１０は、自動設定における各種プロトコルを制御する。また、自動設定制御部２１０は、自動設定が開始してから予め定められた所定の制限時間を超えた場合には、自動設定処理を中止する。
【００１８】
２１１は、自装置が通信パラメータの提供を受ける装置（エンローリー）として動作している際に、通信パラメータを提供する装置（レジストラ）を検出する提供元検出部である。提供元検出部２１１は、検索信号送信部２０５および検索信号受信部２０６による検索信号の送信と応答により、通信パラメータの提供装置の検出を行う。また、提供元検出部２１１は、パケット受信部２０３によるビーコンの受信により、提供装置の検出を行うこともできる。そして、通信パラメータの提供を受ける場合は、検出した提供装置に通信パラメータの提供を依頼要求し、通信パラメータの提供を受ける。なお、以降の説明では通信パラメータを提供する装置（レジストラ）を提供装置、通信パラメータの提供を受ける装置（エンローリー）を受信装置と呼ぶことにする。
【００１９】
２１２は、通信パラメータ記憶部であり、提供装置から提供を受けた通信パラメータ、もしくは受信装置へ提供する通信パラメータを記憶する。なお、通信パラメータ記憶部２１２は、記憶部１０３に相当する。本実施形態では、他の装置から通信パラメータの提供を受けた際に、該通信パラメータを設定済パラメータとして記憶部１０３に記憶する。また、通信パラメータを他の装置へ提供した際に、提供した該通信パラメータを設定済パラメータとして通信パラメータ記憶部２１２に記憶する。記憶部１０３に記憶した設定済パラメータは、該設定済パラメータを用いて構成したネットワークでの通信が終了した際に破棄されるようにしてもよい。また、記憶部１０３に記憶してから一定時間経過後、装置の電源オフ時、等に破棄されるようにしてもよい。
【００２０】
計時部２１３は時間を計測するタイマである。判定部２１４は計時部２１３に基づいて、所定期間経過したかを判定する。エラー終了部２１５は、所定の条件を検出した場合に自動設定機能を終了し、エラー終了したことをユーザに通知する。実行部２１６は、提供装置として動作するか（提供機能）または受信装置として動作するか（受信機能）のどちらを実施するかを決定するための処理を制御する。決定部２１７は、実行部２１６により制御される提供機能または受信機能のどちらを実施するかを決定するための処理に基づいて、実施する機能を決定する。
【００２１】
２１８は、ビーコン制御部であり、ビーコン（報知信号）の送信タイミングを制御する。２１９は、ビーコン生成部であり、ビーコンを生成する。生成したビーコンは、パケット送信部２０４によりネットワークへ送信される。なお、全ての機能ブロックはソフトウェアもしくはハードウェア的に相互関係を有するものである。また、上記機能ブロックは一例であり、複数の機能ブロックが１つの機能ブロックを構成するようにしてもよいし、何れかの機能ブロックが更に複数の機能を行うブロックに分かれてもよい。
【００２２】
上述の構成を有する本実施形態に係る通信装置の動作を説明する。まず、本実施形態に係る通信パラメータ自動設定処理について説明を行う。本実施形態に係る通信装置は設定ボタン１０６の操作の検出に応じて、自動設定処理を開始する。通信装置は、まず実施する役割（機能）を決定するための処理を実行する。通信装置は、他の通信装置との通信に基づいて、自装置で実施する役割（機能を）決定する。ここで、役割を決定するための処理としては特許文献１に示されているように、自装置に仮の役割を定めておき、自装置が仮に定めた役割と異なる役割で動作する他の通信装置から検出されたかもしくは検出したかに基づいて決定する。また、自装置が仮に定めた役割と異なる役割で動作する他の通信装置から検出されないもしくは他の通信装置を検出できない場合仮に定めた役割を切替える。なお、特許文献２に示されているように他の通信装置と役割を決定するためのメッセージを送受信し、メッセージに含まれる優先度と、自身の優先度とを比較することで、優先度の高い装置を管理装置に決定するよう構成してもよい。
【００２３】
役割決定処理により自身で動作する役割を決定した場合、他の通信装置とパラメータを共有するための処理（通信パラメータ交換処理）を開始する。なお、自動設定処理は、パラメータ交換処理が完了しないまま、タイムアウトエラーするまでの期間（第１の所定期間）が経過した場合、エラー終了する。
【００２４】
続いて、図３に示すシステム構成を例にして本実施形態に係る通信装置の動作の説明を行う。図３には、通信装置Ａ３２（以下、装置Ａ）、通信装置Ｂ３４（以下、装置Ｂ）、通信装置Ｃ３６（以下、装置Ｃ）の３台の通信装置が存在する。装置Ａ、Ｂ、Ｃは夫々アドホックネットワークＡ３１（以下、ネットワークＡ）、アドホックネットワークＢ３３（以下、ネットワークＢ）、およびアドホックネットワークＣ３５（以下、ネットワークＣ）を形成している。通信装置Ａ、Ｂ、Ｃは、先に説明した図１、図２の構成を有している。本実施の形態においては、それぞれ独立したネットワークを形成している装置同士の間で、通信パラメータ自動設定を実施することによりパラメータを共有し、各装置間でデータ通信が可能となるようにする。
【００２５】
次に、本実施形態に係る通信パラメータ自動設定処理における複数の通信装置が同時期に処理を開始した場合の問題を説明する。図４は、装置Ａ、装置Ｂおよび装置Ｃにおいて設定ボタン１０６が同時期に押下され、各装置間の間で自動設定処理を実施した場合の処理シーケンスの一例を示した図である。図４において、装置Ａ、装置Ｂおよび装置Ｃの夫々が設定ボタン１０６の押下を検出する（Ｆ４０１、Ｆ４０２、Ｆ４０３）。装置Ａ、装置Ｂおよび装置Ｃの実行部２１６は、まずは仮の役割として受信装置（エンローリー）として動作するよう制御し、提供装置（レジストラ）として動作する他の装置を検出するためのスキャンを開始する（Ｆ４０４、Ｆ４０５、Ｆ４０６）。装置Ａの実行部２１６は、提供装置として動作する他の装置を所定の期間検出できなかったため、自装置の動作モードを提供装置に変更する（Ｆ４０７）。装置Ａの実行部２１６は受信装置として動作している他の通信装置からの検索信号（前述の通りプローブリクエストなどデバイスを探索するブロードキャストないしはマルチキャストの無線信号）を受信したかを判定するため検索信号受信部２０６を制御する。また、装置Ａが提供装置として動作したタイミングでの受信装置として動作している装置Ｂ、装置Ｃからの検索信号（Ｆ４０８）に対して、装置Ａが提供装置として動作している情報を含めてパケット送信部２０４は応答信号を送信する。装置Ｃ、装置Ｂの決定部２１７は、提供装置（装置Ａ）からの検索信号に対する応答信号に応じて、提供装置として動作している他の通信装置を検出し、受信装置として動作することを決定する（Ｆ４１０、Ｆ４１１）。
【００２６】
一方、装置Ａにおいては、提供装置として動作している際に受信した装置Ｂおよび装置Ｃそれぞれからからの検索信号には受信装置として動作することを示す情報が含まれていることを検知する。装置Ａのエラー終了部２１５は、提供装置として動作している際に複数台の受信装置が存在することを検知したため自動設定処理をエラー終了（セッションオーバーラップ）する（Ｆ４０９）。エラー終了を行った場合、後続の通信パラメータ交換処理については実行しない。
【００２７】
しかしながら、装置Ｂおよび装置Ｃは受信装置として動作することが決定したため、提供装置である装置Ａからの通信パラメータ交換処理の開始を待っている。しかしながらすでに装置Ａはエラー終了によって通信パラメータ交換処理を停止している。そして、装置Ｂおよび装置Ｃにおいても通信パラメータ交換処理が開始されることなく、自動設定制御部２１０は、前述の第１の所定の期間の経過を検知し、タイムアウトエラーによって自動設定処理を終了する（Ｆ４１２、Ｆ４１３）。図４のようなケースでは全ての通信装置がエラー終了することとなる。
【００２８】
図４を用いて説明した通り、複数台の装置における通信パラメータ自動設定を開始するタイミングによって、全ての通信装置が互いに通信不可能（パラメータ自動設定処理が完了しない）場合が起こり得る。例えば、装置Ｂと装置Ｃが互いに通信を行いたい場合、タイムアウトエラーした後に再度ユーザは自動設定処理の開始指示を行う必要があるため、煩雑な操作および時間の無駄をユーザに強いることになりユーザビリティに欠ける。そこで、通信装置の通信パラメータの送受に関する役割（提供装置または受信装置）が決定後に、通信パラメータ交換処理が起動しない場合には再度役割決定処理を自動的に再実行する。これにより、複数台の装置が同時期に自動設定処理を開始したとしても最終的には少なくとも２台の通信装置が通信パラメータ交換処理を実行し、通信可能となるように制御を行う。その制御を含めた場合のシーケンス図が図５である。図５は図４と同様な処理については同一の符号を付す。
【００２９】
図５において図４と同様に、装置Ａ、装置Ｂおよび装置Ｃにおいて設定ボタン１０６が同時期に押下され、各装置間の間で自動設定処理を実施した場合の処理シーケンスの一例を示した図である。図４において、装置Ａ、装置Ｂおよび装置Ｃの夫々が設定ボタン１０６の押下を検出する（Ｆ４０１、Ｆ４０２、Ｆ４０３）。装置Ａ、装置Ｂおよび装置Ｃの実行部２１６は、まずは仮の役割として受信装置（エンローリー）として動作するよう制御し、提供装置（レジストラ）として動作する他の装置を検出するためのスキャンを開始する（Ｆ４０４、Ｆ４０５、Ｆ４０６）。装置Ａの実行部２１６は、提供装置として動作する他の装置を所定の期間検出できなかったため、自装置の動作モードを提供装置に変更する（Ｆ４０７）。装置Ａの実行部２１６は受信装置として動作している他の通信装置からの検索信号（前述の通りプローブリクエストなどデバイスを探索するブロードキャストないしはマルチキャストの無線信号）を受信したかを判定するため検索信号受信部２０６を制御する。また、装置Ａが提供装置として動作したタイミングでの受信装置として動作している装置Ｂ、装置Ｃからの検索信号（Ｆ４０８）に対して、装置Ａが提供装置として動作している情報を含めてパケット送信部２０４は応答信号を送信する。装置Ｃ、装置Ｂの決定部２１７は、提供装置（装置Ａ）からの検索信号に対する応答信号に応じて、提供装置として動作している他の通信装置を検出し、受信装置として動作することを決定する（Ｆ４１０、Ｆ４１１）。
【００３０】
一方、装置Ａにおいては、提供装置として動作している際に受信した装置Ｂおよび装置Ｃそれぞれからからの検索信号には受信装置として動作することを示す情報が含まれていることを検知する。装置Ａのエラー終了部２１５は、提供装置として動作している際に複数台の受信装置が存在することを検知したため自動設定処理をエラー終了（セッションオーバーラップ）する（Ｆ４０９）。エラー終了を行った場合、後続の通信パラメータ交換処理については実行しない。
【００３１】
しかしながら、装置Ｂおよび装置Ｃは受信装置として動作することが決定したため、受信装置である装置Ａからの通信パラメータ交換処理の開始を待っている。装置Ｂおよび装置Ｃは、役割決定に応じてパラメータ交換処理の開始を所定期間（第２の所定期間）待つ。ここで、提供装置と受信装置の間のパラメータ交換処理のパケットシーケンスを図８に示す。受信装置からの通信パラメータの交換処理の開始を待つというのは、図８のＥＡＰＯＬ−ＳＴＡＲＴパケットの受信を待つということなる。ＥＡＰＯＬ−ＳＴＡＲＴは、図９に示す通り該パケットの再送間隔が３０秒であるため、ＥＡＰＯＬ−ＳＴＡＲＴの送信失敗を鑑みて提供装置は通信パラメータ交換処理の開始を３０秒以上待つことが好ましい。一方、提供装置からの通信パラメータ交換処理の開始を待つというのは図１０に示す通りＥＡＰ−Ｒｅｑ／Ｉｄｅｎｔｉｔｙパケットの受信を待つということである。ＥＡＰ−Ｒｅｑの再送は提供装置側で管理し、その再送間隔は仕様上５秒となっている。したがって、ＥＡＰ−Ｒｅｑ／Ｉｄｅｎｔｉｔｙの送信失敗を鑑みて受信装置は通信パラメータ交換処理の開始を５秒以上待つことが好ましい。即ち、決定した役割に応じてパラメータ交換処理の開始を待つタイマ時間を異なるように構成すること出来る。なお、通信パラメータ交換処理において図１０におけるＥＡＰＯＬ−ＳＴＡＲＴパケットは省略されてもよい。
【００３２】
通信パラメータ交換処理の開始を待つタイマがタイムアウトとなった時点で実行部２１６は役割決定処理を再開させる（Ｆ６０１、Ｆ６０２）。装置Ｂ、装置Ｃは役割決定処理を再開し、提供装置として動作している他の装置を検出するためスキャン処理を再開する。装置Ｂは、所定期間提供装置として動作している他の装置を検出出来なかったため、提供装置として動作を切替える（Ｆ６０３）。装置Ｂは、提供装置として動作したタイミングで受信装置として動作している装置Ｃからの検索信号に対して、装置Ａが提供装置として動作している情報を含めてパケット送信部２０４は応答信号を送信する（Ｆ６０４）。
【００３３】
そして、装置Ｂは提供装置となり、装置Ｃは受信装置として、再度役割を決定し（Ｆ６０５、Ｆ６０６）、装置Ｂと装置Ｃとの間でパラメータ交換処理を実施する（Ｆ６０７）。このように、役割決定後に通信パラメータ交換処理が開始されない場合は、再度役割決定処理を自動的に行う。したがって、３台以上の通信装置が同時期にパラメータ自動設定処理を行ったとしても少なくとも２台の通信装置間でパラメータ自動設定処理を正常終了（パラメータ交換処理の実行）することができる。なお、図５においては受信装置として動作することを決定した後に通信パラメータ交換処理が開始されない場合に、役割決定処理を再開する例を示した。しかしながら、提供装置として動作することを決定した後に通信パラメータ交換処理が開始されない場合に、役割決定処理を再開する構成としても良い。
【００３４】
続いて、図６は、図５のシーケンス図を実現するための、各通信装置の動作フローを示すフローチャートである。通信装置の自動設定制御部は設定ボタン１０６を押下の検出に基づいて、自動設定処理の開始を判定する（Ｓ７００）。自動設定制御部は設定ボタン１０６を押下により自動設定処理の開始を検出すると通信装置の計時部２１３は、自動設定処理を開始してからタイムアウトしてエラー終了するまでの期間である第１の所定期間のタイマ計測を開始する（Ｓ７０１）。そして、実行部２１６は役割決定処理（機能を決定するための処理）を開始する。まずは受信装置（エンローリー）として動作をするよう制御し、提供元検出部２１１は提供装置として動作する他の通信装置を検出する為のスキャン処理を開始する（Ｓ７０２）。ここで、実行部２１６は、提供装置を検出した場合は、それが複数台であるかどうかを判定する（Ｓ７０３）。複数台の提供装置を検出した場合は、エラー終了部２１５は、セッションオーバーラップエラーを出力して処理を終了する（Ｓ７０９）。
【００３５】
検出した提供装置が一台である場合は、決定部２１７は、受信装置として動作することを決定し、計時部２１３はエンローリー用第２の所定期間（上述の通り本実施形態では５秒とする）のタイマ計測を開始する（Ｓ７０４）。そして、自動設定制御部２１０は、パケット送信部２０４から、他の通信装置にＥＡＰＯＬ−ＳＴＡＲＴパケットを送信する。そして、該他の通信装置からＥＡＰ−Ｒｅｑ．／Ｉｄｅｎｔｉｔｙ  パケットを受信したかに基づいて、通信パラメータ交換処理が開始されたかを判定する（Ｓ７０５）。
【００３６】
他の通信装置からＥＡＰ−Ｒｅｑ．／Ｉｄｅｎｔｉｔｙ  パケットを受信した場合は、通信パラメータ受信部２０８は、他の通信装置との間で共有するために、続いて提供される通信パラメータを通信パラメータ記憶部２１２に記憶する（Ｓ７０８）。他の通信装置からＥＡＰ−Ｒｅｑ．／Ｉｄｅｎｔｉｔｙを受信しない場合は、判定部２１４は第２の所定期間が経過したかを判定する（Ｓ７０６）。
【００３７】
第２の所定期間が経過した場合は、自動設定制御部２１０は、受信装置として動作することの決定を無効とする。そして、実行部２１６は役割決定処理を再開する（Ｓ７０７）ため、Ｓ７０２に戻り、提供装置として動作する他の通信装置を検出するためのスキャン処理を開始する。
【００３８】
次に、Ｓ７０２において所定期間提供装置を一台も検出しない場合を考える。この場合は、実行部２１６は、自通信装置を提供装置と動作するよう役割を切替える（Ｓ７１０）。検索信号受信部２０６は受信装置として動作する他の通信装置からの検索信号の受信に応じて、受信装置として動作する他の装置を検出したかを判定する（Ｓ７１４）。判定の結果、受信装置として動作する他の通信装置を検出できない場合は、第１の所定期間が経過したかを判定（Ｓ７１２）し、経過していない場合は、Ｓ７０２に戻り、再度自装置を受信装置と設定し、Ｓ７０２へ戻る。第１の所定期間経過した場合、エラー終了部２１５は、自動設定処理をタイムアウトエラー終了する（Ｓ７１３）。なお、自動設定処理をタイムアウトエラーは、Ｓ７１１の後のタイミングに限らず、任意のタイミングで判定する構成としてもよいし、第１の所定期間経過した時点で割り込み処理として実施してもよい。
【００３９】
Ｓ７１１において、受信装置を検出した場合、検出した受信装置が複数台か否かを判定する（Ｓ７１４）。複数台検出した場合は、提供装置を複数台検出した場合と同様に、エラー終了部２１５はセッションオーバーラップエラーを出力して処理を終了する（Ｓ７０９）。Ｓ７１４にて、受信装置を一台のみ検出した場合は、決定部２１７は、提供装置として動作することを決定し、計時部２１３はレジストラ用第２の所定期間（上述の通り本実施形態では３０秒とする）のタイマ計測を開始する（Ｓ７１５）。そして、自動設定制御部２１０は、他の通信装置からＥＡＰＯＬ−ＳＴＡＲＴパケットを受信したかに基づいて、通信パラメータ交換処理が開始されたかを判定する（Ｓ７１６）。なお、通信装置からＥＡＰ−Ｒｅｑ／Ｉｄｅｎｔｉｔｙパケットを送信し、他の通信装置からＥＡＰ−Ｒｅｓｐ／ＷＳＣ−Ｓｔａｒｔパケットを受信したかに基づいて通信パラメータ交換処理が開始されたかを判定してもよい。ＥＡＰ−Ｒｅｑ／Ｉｄｅｎｔｉｔｙの再送間隔は仕様上５秒となっている。したがって、この場合は、レジストラ用第２の所定期間は５秒とすることができる。
【００４０】
他の通信装置からＥＡＰＯＬ−ＳＴＡＲＴパケットを受信し、パラメータ交換処理が開始されたと判定した場合を説明する。パラメータ交換処理が開始されたと判定した場合は、通信パラメータ提供部２０９は、通信パラメータ記憶部２１２に記憶されている通信パラメータを、受信装置として動作する該他の通信装置との間で共有するために、パラメータ交換処理を実施する（Ｓ７１７）。他の通信装置からＥＡＰＯＬ−ＳＴＡＲＴパケットを受信しない場合は、判定部２１４は第２の所定期間が経過したかを判定する（Ｓ７１８）。
【００４１】
第２の所定期間が経過した場合は、自動設定制御部２１０は、提供装置として動作することの決定を無効とし、実行部２１６は役割決定処理を再開する（Ｓ７１９）ため、Ｓ７０２に戻り、受信装置として動作を切替える。なお、Ｓ７１９からＳ７０２の戻るのではなくＳ７１０に戻るように構成しても構わない。このように一定時間内にパラメータ交換処理が開始しなかった場合に再度提供装置／受信装置かの役割決定から実施することにより、図５に示したシーケンスチャートを実現することができる。
【００４２】
以上説明したように、本実施例１では３台以上の通信装置が通信パラメータ自動設定を同時期に行った場合において、少なくとも任意の２台が通信パラメータ交換処理を実行可能になり、データ通信を実施することが可能である。また、自動設定処理のエラーが低減され、再度ユーザが自動設定処理の開始を行わなくてよいので、ユーザの利便性が向上する。また、自動設定処理のタイムアウトエラーを待たずとも、再度役割決定処理が行われるので、自動設定処理の効率が向上する。
【００４３】
なお本実施形態では、通信パラメータ交換処理の開始を待つタイマを通信パラメータ交換処理に用いるパケットの再送タイミングに基づいて決定し、レジストラ用タイマ時間を３０秒、エンロ―リー用タイマ時間を５秒として設定した。しかしながら、パケット生成処理や伝送遅延等にかかる時間を考慮すると再送時間より長めに設定することが好ましい。したがって、例えば再送時間にパケット生成処理や伝送遅延等を考慮し、レジストラ用タイマ時間を３２秒、エンロ―リー用タイマ時間を７秒として構成しても良い。このようにパケット生成処理や伝送遅延等を考慮してタイマ時間を設定することで、本来始まるはずのパラメータ交換処理を中止してしまう場合を低減することができる。
【００４４】
［実施例２］
実施例１においては、役割決定後にパラメータ交換処理が開始されない場合に、役割決定処理を再開する例について説明した。しかしながら、実施例１では例えば装置Ｂが装置Ａと自動設定処理を行うことを希望していたにもかかわらず、見知らぬ装置Ｃと自動設定処理を行うってしまう場合が起こり得る。即ち、所望の相手以外と通信可能になってしまうため、セキュリティ上の問題が生じてしまう。そこで、本実施例２においては、役割決定後にパラメータ交換処理が開始されない場合に、エラー情報をユーザに通知し、自動設定処理を継続するかをユーザに問い合わせる。また、継続した自動設定処理において通信パラメータ交換処理を実行した相手装置と接続するかを問い合わせる例を説明する。
【００４５】
実施例２における各通信装置の構成は実施例１と同様であり、実施例１と異なる点について説明を行う。実施例２における装置Ａ、装置Ｂ、および装置Ｃで同時に通信パラメータ自動設定を開始したときのシーケンス例を図７に示す。
【００４６】
図５と異なる点について説明を行う。装置Ｂ、装置Ｃにおいて提供装置として動作することの決定後（Ｆ４１０、Ｆ４１１）、パラメータ交換処理が所定時間開始されない場合、パラメータ交換処理が開始されないことを通知するエラー通知を表示する（Ｆ８０１、Ｆ８０２）。そして、装置Ｂ、装置Ｃはユーザへ処理継続するか問合せを行う（Ｆ８０３、Ｆ８０４）。問合せを行う際、処理を継続する場合はセキュリティ上のリスクがあることを併せて通知する。ユーザから処理継続を指示された場合は、装置Ｂ、装置Ｃは夫々図５で説明したＦ６０１、Ｆ６０２以降の処理を行う。ユーザから処理中止を指示された場合は、処理を終了する。このようにユーザにエラー通知を行い、処理を継続するか問合せを行うので、ユーザがセキュリティ上のリスクを認識できないまま所望としていない他の装置と通信可能になる事態を低減することができる。また、３台以上の通信装置が通信パラメータ自動設定を同時期に行われていることを、ユーザは認識することができる。また、ユーザの指示によりにより速やかなリトライが可能となる。
【００４７】
そして、装置Ｂ，装置Ｃの間でパラメータ交換処理が終了すると、パラメータ交換処理を行った相手通信装置に関する情報を表示部１０５にて通知し、さらに該相手装置と接続を行うかをユーザに問い合わせる。ユーザによってパラメータ交換処理を行った相手装置との接続が指示された場合、暗号鍵交換処理（ＷＰＡ鍵交換処理）を実施する（Ｆ８０７）。また、相手装置との接続が許可されなかった場合は、そのまま接続処理を中断して処理を終了する。なお、接続が許可されなかった場合は、相手装置に対して接続しないこと（エラー終了すること）を通知するメッセージを送信する構成としてもよい。接続しないこと（エラー終了すること）を通知するメッセージを受信した場合は、自装置の接続処理も速やかに終了する。
【００４８】
このように、通信パラメータ自動設定後の接続処理を実施する前に必ずユーザに確認を求めることで、予期しない通信装置同士がネットワークを共有することを低減することができ、セキュリティ上のリスクを緩和することができる。
【００４９】
（その他の実施例）
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは情報処理装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【符号の説明】
【００５０】
３１  アドホックネットワークＡ
３２  通信装置Ａ
３３  アドホックネットワークＢ
３４  通信装置Ｂ
３５  アドホックネットワークＣ
３６  通信装置Ｃ
【図１】
0005967947.tif 000002
【図２】
0005967947.tif 000003
【図３】
0005967947.tif 000004
【図４】
0005967947.tif 000005
【図５】
0005967947.tif 000006
【図６】
0005967947.tif 000007
【図７】
0005967947.tif 000008
【図８】
0005967947.tif 000009
【図９】
0005967947.tif 000010
【図１０】
0005967947.tif 000011