(57)【特許請求の範囲】
【請求項１】
第一のネットワーク識別子と第二のネットワーク識別子を用いて他の通信装置と通信する通信装置であって、
報知信号の送信を開始することによってネットワークを形成する形成手段と、
前記形成手段によりネットワークを形成後、周囲に存在するネットワークを検出する検出手段と、
前記検出手段により検出したネットワークの第一のネットワーク識別子と第二のネットワーク識別子を判別する判別手段と、
前記判別手段により判別した前記第一、第二のネットワーク識別子と、前記形成手段により前記通信装置が形成したネットワークの第一、第二のネットワーク識別子と、を比較する比較手段と、
前記比較手段による比較結果に応じて、前記検出したネットワークに参加する手段と、
を有することを特徴とする通信装置。
【請求項２】
前記比較手段による比較の結果、前記判別手段により判別した前記第一のネットワーク識別子と前記形成手段により前記通信装置が形成したネットワークの第一のネットワーク識別子とが同一であり、前記判別手段により判別した前記第二のネットワーク識別子と前記形成手段により前記通信装置が形成したネットワークの第二のネットワーク識別子とが異なる場合に、前記検出したネットワークへ参加することを特徴とする請求項１記載の通信装置。
【請求項３】
前記比較手段による比較の結果、前記判別手段により判別した前記第一のネットワーク識別子と前記形成手段により前記通信装置が形成したネットワークの第一のネットワーク識別子とが同一であり、前記判別手段により判別した前記第二のネットワーク識別子と前記形成手段により前記通信装置が形成したネットワークの第二のネットワーク識別子とが異なる場合に、前記判別した前記第二のネットワーク識別子と、前記通信装置が形成したネットワークの前記第二のネットワーク識別子と、の関係を判定する判定手段を備え、
前記判定手段による判定に応じて、前記検出したネットワークへ参加することを特徴とする請求項１記載の通信装置。
【請求項４】
前記判定手段による判定に応じて、前記形成手段により前記通信装置が形成したネットワークに他の通信装置が参加したことを確認する手段を有することを特徴とする請求項３記載の通信装置。
【請求項５】
前記通信装置が参加したネットワークに他の通信装置が属していることを確認する手段を更に有することを特徴とする請求項１から４のいずれか１項に記載の通信装置。
【請求項６】
前記形成手段は、前記通信装置に設定された第一のネットワーク識別子を用いてネットワークを形成することを特徴とする請求項１から５のいずれか１項に記載の通信装置。
【請求項７】
前記形成手段は、通信相手の種別に応じて、ネットワークを形成することを特徴とする請求項６記載の通信装置。
【請求項８】
前記設定された第一のネットワーク識別子を有するネットワークを検索する検索手段を有し、
前記形成手段は、前記検索手段による検索結果に基づいて、ネットワークを形成することを特徴とする請求項６又は７記載の通信装置。
【請求項９】
前記第一のネットワーク識別子は、前記通信装置に予め設定されていることを特徴とする請求項１から８のいずれか１項に記載の通信装置。
【請求項１０】
前記第二のネットワーク識別子は、ネットワークを形成する通信装置により生成される
ことを特徴とする請求項１から９のいずれか１項に記載の通信装置。
【請求項１１】
前記第二のネットワーク識別子は、ネットワークを形成する通信装置が、ネットワーク形成の際に生成することを特徴とする請求項１から１０のいずれか１項に記載の通信装置。
【請求項１２】
ネットワーク識別子を用いて他の通信装置と通信する通信装置であって、
周囲に存在するネットワークを検出する検出手段と、
前記検出手段により検出したネットワークのネットワーク識別子と、前記通信装置が属するネットワークのネットワーク識別子を比較する比較手段と、
前記比較手段による比較結果に応じて、前記通信装置が属するネットワークによる通信を終了し、前記検出したネットワークに参加する手段と、
を有することを特徴とする通信装置。
【請求項１３】
第一の通信装置及び第二の通信装置に設定された第一のネットワーク識別子を用いて通信を行う通信システムにおいて、
前記第一の通信装置は、
報知信号の送信を開始することによってネットワークを形成する形成手段と、
前記形成手段によりネットワークを形成後、前記第二の通信装置が属するネットワークを検出する検出手段と、
前記検出手段により検出したネットワークの第二のネットワーク識別子と前記形成手段により形成したネットワークの第二のネットワーク識別子とを比較する比較手段と、を有し、
前記比較手段による比較結果に基づいて、前記第一の通信装置と前記第二の通信装置とが同一のネットワークに参加することを特徴とする通信システム。
【請求項１４】
前記第一の通信装置と前記第二の通信装置とが同一のネットワークに参加したことを確認する手段と、
前記確認後に前記第一の通信装置は前記第二の通信装置の情報を登録する登録手段と、
を有することを特徴とする請求項１３記載の通信システム。
【請求項１５】
前記登録手段により登録する情報は、前記第二の通信装置が形成するネットワークのネットワーク識別子を含むことを特徴とする請求項１４記載の通信システム。
【請求項１６】
通信装置が他の通信装置とネットワークを構成する方法であって、
前記他の通信装置の種別を判定する判定工程と、
前記通信装置が形成したネットワークのネットワーク識別子と前記他の通信装置が形成したネットワークのネットワーク識別子との比較結果に応じて、前記通信装置が形成したネットワークを終了し、他の通信装置が形成したネットワークに前記通信装置が参加することによりネットワークを構成する構成工程と、
を有し、
前記判定工程における判定結果に応じて、前記構成工程におけるネットワーク構成を実行することを特徴とするネットワークの構成方法。
【請求項１７】
第一のネットワーク識別子と第二のネットワーク識別子を用いて他の通信装置と通信する通信方法であって、
報知信号の送信を開始することによってネットワークを形成する形成工程と、
前記形成工程においてネットワークを形成後、周囲に存在するネットワークを検出する検出工程と、
前記検出工程において検出したネットワークの第一のネットワーク識別子と第二のネットワーク識別子とを判別する判別工程と、
前記判別工程において判別した前記第一、第二のネットワーク識別子と、前記形成工程において形成されたネットワークの第一、第二のネットワーク識別子と、を比較する比較工程と、
前記比較工程における比較結果に応じて、前記検出したネットワークに参加する工程と、
を有することを特徴とする通信方法。
【請求項１８】
請求項１６又は１７記載の方法をコンピュータに実行させるためのプログラム。
【請求項１９】
通信装置であって、
ユーザからの指示に応じてネットワークを形成する形成手段と、
前記ユーザからの指示の検出後の所定の期間、他の通信装置から所定の信号の受信を判定する判定手段と、
前記判定手段により前記所定の期間の間に前記他の通信装置からの前記所定の信号の受信がないと判定された場合、探索要求を送信する送信手段と、
前記送信手段により送信した前記探索要求に対する応答信号に含まれる情報に応じて、該応答信号を送信した通信装置が形成したネットワークに参加する参加手段と、
を有することを特徴とする通信装置。
【請求項２０】
通信装置の制御方法であって、
ユーザからの指示に応じてネットワークを形成する形成工程と、
前記ユーザからの指示の検出後の所定の期間、他の通信装置から所定の信号の受信を判定する判定工程と、
前記判定工程において前記所定の期間の間に前記他の通信装置からの前記所定の信号の受信がないと判定された場合、探索要求を送信する送信工程と、
前記送信工程において送信した前記探索要求に対する応答信号に含まれる情報に応じて、該応答信号を送信した通信装置が形成したネットワークに参加する参加工程と、
を有することを特徴とする通信装置の制御方法。
【請求項２１】
請求項２０記載の制御方法をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は通信装置、通信方法、ネットワークを構成する方法、通信システムに関する。
【背景技術】
【０００２】
近年、８０２．１１（Ｉｎｓｔｉｔｕｔｅ  ｏｆ  Ｅｌｅｃｔｒｉｃａｌ  ａｎｄ  Ｅｌｅｃｔｒｏｎｉｃｓ  Ｅｎｇｉｎｅｅｒｓ）無線ＬＡＮをはじめとする無線機能を搭載した機器が数多く登場し、製品化されている。
【０００３】
ＩＥＥＥ８０２．１１無線ＬＡＮの通信方法としては、アクセスポイント経由で通信するインフラストラクチャモードの他に、端末間で直接通信を行うアドホックモードがある。
【０００４】
ＩＥＥＥ８０２．１１無線ＬＡＮのアドホックモードでは、ネットワークを開設しようとする端末が、ビーコンと呼ばれる報知信号を送信することによってネットワークが開設される。ネットワークに参加する端末は、当該ビーコンに含まれる情報（ビーコン周期、伝送レート等）に基づいてネットワークに参加し、通信を行う。
【０００５】
また、ネットワークを構成する端末間では、通信チャネルやネットワーク識別子、暗号方式、暗号鍵等の無線通信パラメータを共通の値に設定しなければならない。ＩＥＥＥ８０２．１１無線ＬＡＮではＳＳＩＤ（Ｓｅｒｖｉｃｅ  Ｓｅｔ  Ｉｄｅｎｔｉｆｉｃａｔｉｏｎ）とＢＳＳＩＤ（Ｂａｓｉｃ  Ｓｅｒｖｉｃｅ  Ｓｅｔ  Ｉｄｅｎｔｉｆｉｃａｔｉｏｎ）という２つのネットワーク識別子が存在する。
【０００６】
ＳＳＩＤはユーザにより任意の値に設定することもできるし、予め端末に設定しておくことも可能な識別子である。一方、ＢＳＳＩＤはアドホックネットワークを開設する端末、すなわち最初にビーコンを送信する端末が自身のＭＡＣ（Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ）アドレス等を基にして、任意に生成する識別子である。同一のネットワークで無線通信を行う場合、これら２つのネットワーク識別子を端末間で共通の値に設定しなければならない。
【０００７】
例えば、アドホックモードで無線通信を行うために、２つの端末間で共通のＳＳＩＤを予め設定しておくものとする。ここで、どちらか一方の端末がアドホックネットワークを開設するために、ＢＳＳＩＤを生成し、ビーコンの送信を開始すると、もう一方の端末は当該ＢＳＳＩＤを自機に設定することにより、アドホックモードでの通信が可能となる。
【特許文献１】特開２００４−２５４０２８
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかしながら、両方の端末がほぼ同時にアドホックネットワークを開設しようとすると、各端末がそれぞれＢＳＳＩＤを生成し、ビーコンの送信を開始することにより、別々のアドホックネットワークが構成されてしまう可能性がある。この場合、同じＳＳＩＤが設定されているにも拘らず、端末間で無線通信をすることはできない。
【０００９】
本発明は、同一のネットワークに参加することを意図した複数の通信装置が、異なるネットワークを形成してしまった場合でも、同一のネットワークを構成できるようにすることを目的とする。
【課題を解決するための手段】
【００１０】
本発明は、第一のネットワーク識別子と第二のネットワーク識別子を用いて他の通信装置と通信する通信装置であって、報知信号の送信を開始することによってネットワークを形成する形成手段と、前記形成手段によりネットワークを形成後、周囲に存在するネットワークを検出する検出手段と、前記検出手段により検出したネットワークの第一のネットワーク識別子と第二のネットワーク識別子を判別する判別手段と、前記判別手段により判別した前記第一、第二のネットワーク識別子と、前記形成手段により前記通信装置が形成したネットワークの第一、第二のネットワーク識別子と、を比較する比較手段と、前記比較手段による比較結果に応じて、前記検出したネットワークに参加する手段と、を有することを特徴とする通信装置。
【００１１】
また、本発明は、ネットワーク識別子を用いて他の通信装置と通信する通信装置であって、
周囲に存在するネットワークを検出する検出手段と、前記検出手段により検出したネットワークのネットワーク識別子と、前記通信装置が属するネットワークのネットワーク識別子を比較する比較手段と、前記比較手段による比較結果に応じて、前記通信装置が属するネットワークによる通信を終了し、前記検出したネットワークに参加する手段と、を有することを特徴とする。
【００１２】
さらにまた、本発明は、第一の通信装置及び第二の通信装置に設定された第一のネットワーク識別子を用いて通信を行う通信システムにおいて、前記第一の通信装置は、報知信号の送信を開始することによってネットワークを形成する形成手段と、前記形成手段によりネットワークを形成後、前記第二の通信装置が属するネットワークを検出する検出手段と、
前記検出手段により検出したネットワークの第二のネットワーク識別子と前記形成手段により形成したネットワークの第二のネットワーク識別子とを比較する比較手段と、を有し、前記比較手段による比較結果に基づいて、前記第一の通信装置と前記第二の通信装置とが同一のネットワークに参加することを特徴とする。
【００１３】
さらにまた、本発明は、通信装置が他の通信装置とネットワークを構成する方法であって、前記他の通信装置の種別を判定する判定工程と、前記通信装置が形成したネットワークのネットワーク識別子と前記他の通信装置が形成したネットワークのネットワーク識別子との比較結果に応じて、前記通信装置が形成したネットワークを終了し、他の通信装置が形成したネットワークに前記通信装置が参加することによりネットワークを構成する構成工程と、を有し、前記判定工程における判定結果に応じて、前記構成工程におけるネットワーク構成を実行することを特徴とする。
さらにまた、本発明は通信装置であって、
ユーザからの指示に応じてネットワークを形成する形成手段と、
前記ユーザからの指示の検出後の所定の期間、他の通信装置から所定の信号の受信を判定する判定手段と、
前記判定手段により前記所定の期間の間に前記他の通信装置からの前記所定の信号の受信がないと判定された場合、探索要求を送信する送信手段と、
前記送信手段により送信した前記探索要求に対する応答信号に含まれる情報に応じて、該応答信号を送信した通信装置が形成したネットワークに参加する参加手段と、
を有することを特徴とする通信装置。
【００１４】
さらにまた、本発明は、第一のネットワーク識別子と第二のネットワーク識別子を用いて他の通信装置と通信する通信方法であって、報知信号の送信を開始することによってネットワークを形成する形成工程と、前記形成工程においてネットワークを形成後、周囲に存在するネットワークを検出する検出工程と、前記検出工程において検出したネットワークの第一のネットワーク識別子と第二のネットワーク識別子とを判別する判別工程と、前記判別工程において判別した前記第一、第二のネットワーク識別子と、前記形成工程において形成されたネットワークの第一、第二のネットワーク識別子と、を比較する比較工程と、前記比較工程における比較結果に応じて、前記検出したネットワークに参加する工程と、を有することを特徴とする。
【発明の効果】
【００１５】
本発明によれば、同一のネットワークに参加することを意図した複数の通信装置が異なるネットワークを形成してしまった場合でも、同一のネットワークに参加することが可能となり、通信の信頼性やユーザの利便性を高めることができる。
【発明を実施するための最良の形態】
【００１６】
以下、図面を参照して本発明の実施形態について詳細に説明する。なお、本発明は係る実施形態に限定されず、その技術思想の範囲内で種々の変更が可能である。
【００１７】
（第１の実施形態）
図１は、本発明の第１の実施形態における無線通信ネットワークの構成の一例を示す概略図である。本実施形態では、無線通信装置としてデジタルスチルカメラ（以下ＤＳＣ）１０１とプリンタ１０２の間でアドホックネットワークを構成する場合について説明する。
【００１８】
アドホックネットワークを構成するためには、ＳＳＩＤ（Ｓｅｒｖｉｃｅ  Ｓｅｔ  Ｉｄｅｎｔｉｆｉｃａｔｉｏｎ）とＢＳＳＩＤ（Ｂａｓｉｃ  Ｓｅｒｖｉｃｅ  Ｓｅｔ  Ｉｄｅｎｔｉｆｉｃａｔｉｏｎ）という２つのネットワーク識別子を共通の値に設定しなければならない。
【００１９】
ＳＳＩＤはユーザにより任意の値に設定することもできるし、予め端末に設定しておくことも可能な識別子である。本実施形態では、ＤＳＣ１０１とプリンタ１０２には予めＳＳＩＤとして「ＡｄｈｏｃＮｅｔ」が設定されている。
【００２０】
一方、ＢＳＳＩＤはアドホックネットワークを開設する端末、すなわち最初にビーコンを送信する端末が、自身のＭＡＣ（Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ）アドレス等を基にして、任意に生成する識別子である。
【００２１】
ＤＳＣ１０１、プリンタ１０２は、それぞれに設置された無線通信ボタンが押下されることによって、アドホックネットワークの構成処理が開始される。例えば、ＤＳＣ１０１の無線通信ボタンが押下されると、ＳＳＩＤが「ＡｄｈｏｃＮｅｔ」のネットワークが存在しているか、すなわちプリンタ１０２が既にネットワークを開設しているかを調べる。プリンタ１０２が既にネットワークを開設している場合は、ＤＳＣ１０１はプリンタ１０２が生成したＢＳＳＩＤに設定し、ネットワークに参加する。一方、ネットワークが開設されていない場合は、ＤＳＣ１０１自身がネットワークを開設するため、ＢＳＳＩＤを生成し、ビーコンの送信を開始する。
【００２２】
図２に、第１の実施形態におけるＤＳＣ１０１の機能ブロック図を示す。
【００２３】
操作部２１０は、システムコントローラ２１１を介してＣＰＵ２１５に接続されており、操作部２１０にはシャッタースイッチや無線通信ボタン等、各種キーが含まれる。システムコントローラ２１１はタイマ部（図示せず）を有する。
【００２４】
撮像部２０２は、撮像部２１０のシャッタースイッチが押下されたときに画像を撮影するブロックであり、撮像部２０２が出力した撮像信号は撮像処理部２０３によって処理される。
【００２５】
表示部２０６は、ＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ）表示、ＬＥＤ（Ｌｉｇｈｔ  Ｅｍｉｔｔｉｎｇ  Ｄｉｏｄｅ）表示、音声表示など、ユーザに対する情報を表示するブロックである。表示部２０６は、表示処理部２０７によってその表示内容の制御処理が行われる。また表示部２０６に表示された情報から選択するなどの操作は、操作部２１０と連動して行われる。すなわち、表示部２０６と操作部２１０とがユーザインタフェースを構成する。
【００２６】
メモリカードインタフェース（以下Ｉ／Ｆ）２０８は、メモリカード２０９を接続する為のインタフェースである。ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）Ｉ／Ｆ２１２は、外部機器とＵＳＢを用いて接続する為のインタフェースである。オーディオＩ／Ｆ２１４は、音信号を外部機器と接続する為のインタフェースである。
【００２７】
無線通信ＲＦ部２０５と無線通信コントローラ２０４とを合わせて無線部が構成される。無線通信ＲＦ部２０５では、アンテナから受信したアナログ信号をデジタル化し、逆にデジタル情報をアナログ化してアンテナより送信するためのハードウェアブロックが存在する。無線通信コントローラ２０４は、通信を制御するＭＡＣ（Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ）層とそれを駆動させるファームウェアを処理するハードウェアより構成される。無線通信コントローラ２０４にはフラッシュＲＯＭが内蔵されており、ＭＡＣアドレスなどを記憶することが可能である。
【００２８】
これらのブロック図に示される機能部分は、ＣＰＵ２１５からの制御によって処理される。後述する図５、６、７、１２のプログラムは、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）２１６、もしくは、フラッシュＲＯＭ２１３に格納されており、ＣＰＵ２１５はこのプログラムに従って処理を行う。ファームウェアは、無線通信コントローラ２０４内に存在するフラッシュＲＯＭなどに格納されているか、もしくはＤＳＣ１０１側が保持するフラッシュＲＯＭ２１３もしくはＲＯＭ２１６に格納されている。後者の場合には、無線部を利用する際に無線通信コントローラ２０４に、ファームウェアがロードされる。またフラッシュＲＯＭ２１３には、無線通信に必要なＳＳＩＤや暗号鍵などのパラメータが格納されており、無線部を利用する際に、ドライバが無線通信コントローラ２０４にこれらの値を引き渡すことで無線通信が可能となる。
【００２９】
また、ＣＰＵ２１５によって処理されるデータは、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）２１７、もしくは、フラッシュＲＯＭ２１３に対して、書き込み、読み込みが行われる。フラッシュＲＯＭ２１３は不揮発性の記憶領域である。なお、撮像した画像データはメモリカードＩ／Ｆ２０８を介し、メモリカード２０９に格納、記憶される。
【００３０】
図３は、第１の実施形態におけるプリンタ１０２の機能ブロックを示す図である。プリンタ操作部３１０は、システムコントローラ３１１を介してＣＰＵ３１５に接続されており、操作部３１０には無線通信ボタン等、各種キーが含まれる。システムコントローラ３１１はタイマ部（図示せず）を有する。
【００３１】
プリントエンジン３０２は、実際に用紙に画像をプリントする機能ブロックであり、プリント処理部３０３によって制御される。プリントエンジン３０２は上記機能を備えれば如何なるものでも良いが、図１に示すプリンタ１０２は、熱エネルギーによってインク液滴を記録紙等の記録媒体上に吐出するインクジェットプリンタである。
【００３２】
表示部３０６は、ＬＣＤ表示、ＬＥＤ表示、音声表示等、ユーザに対する情報を表示するブロックであり、表示処理部３０７の制御によりその表示内容が制御される。また表示部３０６に表示された情報から選択するなどの操作は操作部３１０を介して行われる。つまり、表示部３０６及び操作部３１０がプリンタ１０２のユーザインタフェースとなる。
【００３３】
メモリカードＩ／Ｆ３０８は、脱着可能なメモリカード３０９を接続する為のインタフェースであり、ＤＳＣに搭載されたメモリカードを差し込むことで、撮像画像を印刷することも可能である。
【００３４】
ＵＳＢＩ／Ｆ３１２は、外部機器とＵＳＢを用いて接続する為のインタフェース、ＥＴＨＥＲＩ／Ｆ３１４は、外部機器とＥＴＨＥＲ通信を用いて接続する為のインタフェースである。
【００３５】
無線通信ＲＦ部３０５と無線通信コントローラ３０４を合わせて無線部が構成される。無線通信ＲＦ部３０５では、アンテナから受信したアナログ信号をデジタル化し、逆にデジタル情報をアナログ化してアンテナより送信するためのハードウェアブロックが存在する。無線通信コントローラ３０４は、通信を制御するＭＡＣ層やそれを駆動させるファームウェアを処理するハードウェアより構成される。無線通信コントローラ３０４にはフラッシュＲＯＭが内蔵されており、ＭＡＣアドレスなどを記憶することが可能である。
【００３６】
これらのブロック図に示される機能部分は、ＣＰＵ３１５からの制御によって処理される。後述する図５、６、７、１１のプログラムは、ＲＯＭ３１６、もしくは、フラッシュＲＯＭ３１３に格納されており、ＣＰＵ３１５はこのプログラムに従って処理を行う。ファームウェアは、無線通信コントローラ３０４内に存在するフラッシュＲＯＭなどに格納されているか、もしくはプリンタ３０１側が保持するフラッシュＲＯＭ３１３もしくはＲＯＭ３１６に格納されている。後者の場合には、無線部を利用する際に無線通信コントローラ３０４が、ファームウェアがロードされる。またフラッシュＲＯＭ３１３には、無線通信に必要なＳＳＩＤや暗号鍵などのパラメータが格納されており、無線部を利用する際に、ドライバが無線通信コントローラ３０４にこれらの値を引き渡すことで無線通信が可能となる。
【００３７】
また、ＣＰＵ３１５によって処理されるデータは、ＲＡＭ３１７、もしくは、フラッシュＲＯＭ３１３に対して、書き込み、読み込みが行われる。
【００３８】
図４は第１の実施形態において、ＤＳＣ１０１とプリンタ１０２がほぼ同時にアドホックネットワークを開設した場合のシーケンスを示した図である。ここでは、ＤＳＣ１０１とプリンタ１０２の無線通信ボタンがほぼ同時に押下されることにより、このようなシーケンスが発生する場合について説明する。
【００３９】
プリンタ１０２の無線通信ボタンが押下されると、ＳＳＩＤが「ＡｄｈｏｃＮｅｔ」のアドホックネットワークを構成するよう、アプリケーションプログラムからドライバに対して要求が送信される（Ｓ４０１）。
【００４０】
アプリケーションプログラムからの要求を受信したドライバは、「ＡｄｈｏｃＮｅｔ」というＳＳＩＤを有するアドホックネットワークが存在するかどうか確認するためにスキャン（検索処理）を開始する。まず、ドライバから無線通信コントローラ３０４に対してスキャンのための一連のコマンドが発行される（Ｓ４０２）。次に無線通信コントローラ３０４と無線通信ＲＦ部３０５でコマンドが処理され、Ｐｒｏｂｅ  Ｒｅｑｕｅｓｔ（探索要求）が送信される（Ｓ４０３）。そして、一定時間Ｐｒｏｂｅ  Ｒｅｑｕｅｓｔに対する応答（Ｐｒｏｂｅ  Ｒｅｓｐｏｎｓｅ）の受信を待機する。
【００４１】
Ｐｒｏｂｅ  ＲｅｓｐｏｎｓｅにはＳＳＩＤが含まれているので、受信したＰｒｏｂｅ  ＲｅｓｐｏｎｓｅからＳＳＩＤを抽出することにより、「ＡｄｈｏｃＮｅｔ」というＳＳＩＤを有するネットワークが既に存在しているかを確認することができる。
【００４２】
また、Ｐｒｏｂｅ  ＲｅｑｕｅｓｔのＳＳＩＤに「ＡｄｈｏｃＮｅｔ」を指定して送信すれば、ＳＳＩＤが「ＡｄｈｏｃＮｅｔ」のネットワークを構築している通信装置のみがＰｒｏｂｅ  Ｒｅｓｐｏｎｓｅを返信する。従って当該Ｐｒｏｂｅ  Ｒｅｓｐｏｎｓｅを受信したかに応じて、ＳＳＩＤが「ＡｄｈｏｃＮｅｔ」のネットワークが既に構築されているか否かが分かる。
【００４３】
この時、ＤＳＣ１０１はまだアドホックネットワークを開設していないので、プリンタ１０２はＰｒｏｂｅ  Ｒｅｓｐｏｎｓｅを受信しないまま応答待ち時間が経過する。
【００４４】
プリンタ１０２のドライバは、ネットワークが存在しないことを確認すると（Ｓ４０４）、「ＡｄｈｏｃＮｅｔ」というＳＳＩＤのアドホックネットワークを開設するための一連の設定用コマンドを無線通信コントローラ３０４に対して送信する（Ｓ４０５）。
【００４５】
無線通信コントローラ３０４はドライバから受信したコマンドを処理し、ＳＳＩＤが「ＡｄｈｏｃＮｅｔ」のアドホックネットワークを開設する。具体的には、プリンタ１０２自身のＭＡＣアドレスからＢＳＳＩＤを生成し、ビーコンの送信を開始する。
【００４６】
次にＤＳＣ１０１の処理について説明する。
【００４７】
ＤＳＣ１０１の無線通信ボタンが押下されると、ＳＳＩＤが「ＡｄｈｏｃＮｅｔ」のアドホックネットワークを構成するよう、アプリケーションプログラムからドライバに対して要求が送信される（Ｓ４０６）。
【００４８】
アプリケーションプログラムからの要求を受信したドライバは、「ＡｄｈｏｃＮｅｔ」というＳＳＩＤを有するアドホックネットワークが存在するかどうか確認するためにスキャンを開始する。まず、ドライバから無線通信コントローラ２０４に対してスキャンのための一連のコマンドが発行される（Ｓ４０７）。
【００４９】
次に無線通信コントローラ２０４と無線通信ＲＦ部２０５でコマンドが処理され、Ｐｒｏｂｅ  Ｒｅｑｕｅｓｔが送信される（Ｓ４０８）。そして、一定時間Ｐｒｏｂｅ  Ｒｅｓｐｏｎｓｅの受信を待機する。
【００５０】
この時、プリンタ１０２はまだアドホックネットワークを開設していないので、ＤＳＣ１０１はＰｒｏｂｅ  Ｒｅｓｐｏｎｓｅを受信しないまま応答待ち時間が経過する。
【００５１】
ＤＳＣ１０１のドライバはネットワークが存在しないことを確認すると（Ｓ４０９）、「ＡｄｈｏｃＮｅｔ」というＳＳＩＤのアドホックネットワークを開設するための一連の設定用コマンドを無線通信コントローラ２０４に対して送信する（Ｓ４１０）。無線通信コントローラ２０４はドライバから受信したコマンドを処理し、ＳＳＩＤが「ＡｄｈｏｃＮｅｔ」のアドホックネットワークを開設する。具体的には、ＤＳＣ１０１自身のＭＡＣアドレスからＢＳＳＩＤを生成し、ビーコンの送信を開始する。
【００５２】
Ｓ４１０が終了した時点で、ＤＳＣ１０１とプリンタ１０２は、「ＡｄｈｏｃＮｅｔ」という同一のＳＳＩＤであるにも拘らず、異なるＢＳＳＩＤを持つ別々のアドホックネットワークを構成していることになる。
【００５３】
プリンタ１０２はアドホックネットワークを開設（Ｓ４０５）した後、システムコントローラ３１１が有するタイマに任意の値Ｔ１を設定する（Ｓ４１１）。同様に、ＤＳＣ１０１はＳ４１０後、システムコントローラ２１１が有するタイマに任意の値Ｔ２を設定する（Ｓ４１２）。図４では、ＤＳＣ１０１の設定する時間Ｔ２の方がプリンタ１０２の設定する時間Ｔ１よりも短く、ＤＳＣ１０１のタイマ時間Ｔ２が先に終了する。
【００５４】
ＤＳＣ１０１はタイマ時間Ｔ２が終了したら、自らが開設したアドホックネットワークのＳＳＩＤ「ＡｄｈｏｃＮｅｔ」と同一のＳＳＩＤを有するアドホックネットワークが存在するかどうか確認するためにスキャンを行う。ＤＳＣ１０１のドライバは、無線通信コントローラ２０４に対してスキャンのための一連のコマンドを送信する（Ｓ４１３）。そして、無線通信コントローラ２０４と無線通信ＲＦ部２０５でコマンドが処理され、Ｐｒｏｂｅ  Ｒｅｑｕｅｓｔが送信される（Ｓ４１４）。
【００５５】
この時は既にプリンタ１０２がＳＳＩＤに「ＡｄｈｏｃＮｅｔ」を指定してアドホックネットワークを開設しているので、プリンタ１０２からＤＳＣ１０１に対してＰｒｏｂｅ  Ｒｅｓｐｏｎｓｅが返信される（Ｓ４１５）。
【００５６】
ＤＳＣ１０１がＰｒｏｂｅ  Ｒｅｓｐｏｎｓｅを受信すると、無線通信コントローラ２０４は、Ｐｒｏｂｅ  Ｒｅｓｐｏｎｓｅから得られた情報をドライバに渡す（Ｓ４１６）。ドライバは渡された情報から、ＤＳＣ１０１が開設したネットワークと同じＳＳＩＤで、異なるＢＳＳＩＤを持つ別のアドホックネットワークが存在していることが分かる。
【００５７】
すると、ＤＳＣ１０１のドライバは、プリンタ１０２が開設したアドホックネットワークに参加するために、ＤＳＣ１０１が開設したネットワークを終了するための一連の設定用コマンドを無線通信コントローラ２０４に対して発行する（Ｓ４１７）。
【００５８】
そして、ＤＳＣ１０１のドライバは、ＳＳＩＤが「ＡｄｈｏｃＮｅｔ」のアドホックネットワークに参加するための一連の設定用コマンドを無線通信コントローラ２０４に対して発行する（Ｓ４１８）。こうして、ＤＳＣ１０１はＢＳＳＩＤをプリンタ１０２が開設したネットワークと同一の値に設定し、当該ネットワークに参加する。
【００５９】
プリンタ１０２はタイマ時間Ｔ１が終了したら、プリンタ１０２が使用しているＳＳＩＤ「ＡｄｈｏｃＮｅｔ」と同一のＳＳＩＤを有するアドホックネットワークが存在するかどうか確認するためにスキャンを行う。プリンタ１０２のドライバは、無線通信コントローラ３０４に対してスキャンのための一連のコマンドを発行する（Ｓ４１９）。そして、無線通信コントローラ３０４と無線通信ＲＦ部３０５でコマンドが処理され、Ｐｒｏｂｅ  Ｒｅｑｕｅｓｔが送信される（Ｓ４２０）。
【００６０】
この時は既にＤＳＣ１０１がプリンタ１０２と同じアドホックネットワークに参加しているので、ＤＳＣ１０１からプリンタ１０２に対してＰｒｏｂｅ  Ｒｅｓｐｏｎｓｅが返信される（Ｓ４２１）。
【００６１】
プリンタ１０２がＰｒｏｂｅ  Ｒｅｓｐｏｎｓｅを受信すると、無線通信コントローラ３０４は、Ｐｒｏｂｅ  Ｒｅｓｐｏｎｓｅから得られた情報をドライバに渡す（Ｓ４２２）。プリンタ１０２のドライバは、渡された情報とプリンタ１０２が開設したネットワークの情報とを比較し、ＤＳＣ１０１がプリンタ１０２と同一のアドホックネットワークに参加していることが分かる。
【００６２】
図５はＤＳＣ１０１およびプリンタ１０２の動作フローを示した図である。ＤＳＣ１０１、プリンタ１０２それぞれの動作フローは同一であるので、ここではＤＳＣ１０１の動作を例として説明する。
【００６３】
ＤＳＣ１０１の無線通信ボタンが押下されることにより、アドホックネットワークの構成を指示されると（Ｓ５０１）、ＤＳＣ１０１は「ＡｄｈｏｃＮｅｔ」というＳＳＩＤのアドホックネットワークが存在するかどうか確認するためにスキャンを行う。具体的には、ＳＳＩＤに「ＡｄｈｏｃＮｅｔ」を指定したＰｒｏｂｅ  Ｒｅｑｕｅｓｔをブロードキャストで送信し（Ｓ５０２）、応答としてＰｒｏｂｅ  Ｒｅｓｐｏｎｓｅが送信されてくるのを一定時間待機する（Ｓ５０３）。ここで、ブロードキャストとは、不特定多数の相手に対して送信することをいう。
【００６４】
スキャンの結果、ＳＳＩＤが「ＡｄｈｏｃＮｅｔ」のアドホックネットワークを検出した場合（Ｓ５０４のＹｅｓ）、検出したアドホックネットワークに参加する処理を行い（Ｓ５１２）、処理を終了する。
【００６５】
ＳＳＩＤが「ＡｄｈｏｃＮｅｔ」のネットワークが存在しない場合（Ｓ５０４のＮｏ）、ＤＳＣ１０１はＳＳＩＤが「ＡｄｈｏｃＮｅｔ」のアドホックネットワークの開設処理を行う（Ｓ５０５）。具体的には、ＤＳＣ１０１は自機のＭＡＣアドレスを基にＢＳＳＩＤを生成し、ビーコンの送信を開始する。
【００６６】
ＤＳＣ１０１はアドホックネットワークを開設後、タイマに任意の値Ｔを設定し（Ｓ５０６）、タイマが終了するまで待機する（Ｓ５０７）。タイマが終了したら（Ｓ５０７のＹｅｓ）、ＤＳＣ１０１が開設したネットワークと同一のＳＳＩＤを有するアドホックネットワークが存在するかどうか確認するためにスキャンを行う（Ｓ５０８、Ｓ５０９）。
【００６７】
スキャンの結果、同一のＳＳＩＤを有するネットワークが検出されなかった場合は（Ｓ５１０のＮｏ）、Ｓ５０６からの処理を繰り返す。
【００６８】
スキャンの結果、同一のＳＳＩＤを有するネットワークを検出した場合（Ｓ５１０のＹｅｓ）、検出したネットワークのＢＳＳＩＤが、ＤＳＣ１０１の開設したネットワークのＢＳＳＩＤと同一か否かを調べる（Ｓ５１１）。ＢＳＳＩＤが同一であれば（Ｓ５１１のＹｅｓ）、同一のネットワークに他の通信装置（プリンタ１０２）が存在していることが分かるため、処理を終了する。
【００６９】
ＢＳＳＩＤが同一でない場合は（Ｓ５１１のＮｏ）、ＤＳＣ１０１が開設したアドホックネットワークを終了し（Ｓ５１２）、検出したネットワークに参加する処理を行う（Ｓ５１３）。すなわち、ＢＳＳＩＤを検出したネットワークのＢＳＳＩＤと同じ値に設定する。
【００７０】
なお、ＤＳＣ１０１はネットワーク参加後（図５のＳ５１３）、再度スキャンを行って、同一ネットワークに他の通信装置（プリンタ１０２）が存在することを確認する処理を実行してもよい。この処理によりＤＳＣ１０１とプリンタ１０２が同一のネットワークを形成したことを確認できるので、より通信の信頼性を高めることができる。
【００７１】
本実施例では、自機が開設したネットワークと同一のＢＳＳＩＤを有するネットワークを検出した場合は、開設したネットワークを終了してまでも、検出したネットワークに参加する。したがって、同一のネットワークに参加することを意図した通信装置の間でネットワークを構成することができる。
【００７２】
このように本実施形態では、２つの通信装置がそれぞれＳＳＩＤが同一であるにも拘らず、ＢＳＳＩＤが異なるネットワークを開設してしまった場合でも、一方の通信装置が他の通信装置が開設したネットワークに参加することができる。従って、通信の信頼性、及びユーザの利便性を高めることが可能となる。
【００７３】
（第２の実施形態）
次に、第２の実施形態について説明する。なお、ネットワーク構成やＤＳＣ１０１及びプリンタ１０２のハードウェア構成は上述した第１の実施形態と同様なので（図１、２、３）、説明を省略する。
【００７４】
本実施形態ではＳＳＩＤが同一でＢＳＳＩＤの異なるアドホックネットワークを検出した場合の処理が第１の実施形態と異なる。
【００７５】
図６は本実施例におけるＤＳＣ１０１およびプリンタ１０２の動作フローを示した図である。ＤＳＣ１０１、プリンタ１０２の動作フローは同一であるので、ここではＤＳＣ１０１を例にとって説明する。Ｓ６０１〜Ｓ６１０の処理は図５のＳ５０１〜Ｓ５１０の処理と同一であるため、説明を省略する。
【００７６】
ＤＳＣ１０１は、ＤＳＣ１０１が開設したネットワークのＳＳＩＤと同一のＳＳＩＤを有するネットワークを検出した場合（Ｓ６１０のＹｅｓ）、検出したネットワークのＢＳＳＩＤ  と自機が開設したネットワークのＢＳＳＩＤを所定の規則に従って比較する（Ｓ６１１）。
【００７７】
比較するときの規則としては、ＢＳＳＩＤを数字として扱ったときの値の小さい方を劣性、値の大きい方を優性とする方法や、それとは反対に、値の小さい方を優性、値の大きい方を劣性とする方法などがあげられる。
【００７８】
ＢＳＳＩＤを比較した結果、ＤＳＣ１０１が開設したネットワークのＢＳＳＩＤが劣性と判定した場合（Ｓ６１１のＹｅｓ）、ＤＳＣ１０１が開設したネットワークを終了し（Ｓ６１２）、検出したネットワークに参加する処理を実行する（Ｓ６１３）。すなわち、検出したネットワークのＢＳＳＩＤと同一のＢＳＳＩＤに設定することにより、ＤＳＣ１０１は他の通信装置（プリンタ１０２）と同一のネットワークを構成することができる。
【００７９】
ＢＳＳＩＤを比較した結果、ＤＳＣ１０１が開設したネットワークのＢＳＳＩＤが優性、もしくは検出したネットワークのＢＳＳＩＤと同一であると判定した場合（Ｓ６１１のＮ）、処理を終了する。この場合は、検出したネットワークを開設した装置（プリンタ１０２）がＤＳＣ１０１の開設したネットワークに参加することになる。
【００８０】
なお、Ｓ６１１においてＢＳＳＩＤの優劣を判定する前に、ＢＳＳＩＤが同一か否かを調べ、同一のときは処理を終了し、同一でなかったときに優劣の判定を行ってもよい。
【００８１】
図７は、ＤＳＣ１０１とプリンタ１０２が、最終的に同一のネットワークを構成できたか否かを確認する処理を追加したときの動作フローを示した図である。Ｓ７０１〜Ｓ７１０の処理は、図６のＳ６０１〜Ｓ６１０の処理と同一の処理であるため、説明を省略する。
【００８２】
Ｓ７１０においてＤＳＣ１０１が開設したネットワークと同一のＳＳＩＤを有するネットワークを検出した場合（Ｓ７１０のＹｅｓ）、検出したネットワークのＢＳＳＩＤと自機が開設したネットワークのＢＳＳＩＤを所定の規則に従って比較する（Ｓ７１１）。
【００８３】
比較の結果、ＤＳＣ１０１が開設したネットワークのＢＳＳＩＤが劣性と判定した場合（Ｓ７１１のＹｅｓ）、ＤＳＣ１０１が開設したネットワークを終了し（Ｓ７１２）、検出したネットワークに参加する処理を実行する（Ｓ７１３）。そして、ＤＳＣ１０１が参加したネットワークに他の通信装置（プリンタ１０２）が存在するかどうか確認するため、Ｓ７０８に戻りスキャンを行う。
【００８４】
ＢＳＳＩＤを比較した結果、ＤＳＣ１０１が開設したネットワークのＢＳＳＩＤと検出したネットワークのＢＳＳＩＤが同一であると判断した場合（Ｓ７１１のＮｏ、Ｓ７１４のＹｅｓ）、他の通信装置（プリンタ１０２）が同一のネットワークに参加していることが分かるため、処理を終了する。
【００８５】
ＤＳＣ１０１が開設したネットワークのＢＳＳＩＤが優性であると判定した場合（Ｓ７１１のＮｏ、Ｓ７１４のＮｏ）、Ｓ７０６に戻り、ＤＳＣ１０１が開設したネットワークに他の通信装置（プリンタ１０２）が参加したことを確認する処理を行う。他の通信装置がネットワークに参加するためにはある程度の時間が必要であるため、スキャン実施前にタイマに任意の値Ｔを設定し（Ｓ７０６）、タイマが終了後（Ｓ５０７のＹｅｓ）にスキャン（Ｓ５０８、Ｓ５０９）を行う。
【００８６】
本実施形態によれば、２つの通信装置がそれぞれＳＳＩＤが同一で、ＢＳＳＩＤが異なる別々のネットワークを開設してしまった場合、ＢＳＳＩＤの比較結果に応じて、どちらの通信装置がもう一方の通信装置が開設したネットワークに参加するかを決定する。従って、ネットワークに参加する通信装置を一意に決めることができ、効率的に同一ネットワークを構成することができ、更に利便性を高めることができる。
【００８７】
また、図７の処理によれば、同一のネットワークに参加したかを確認するまで処理を続けるため、より確実にＤＳＣ１０１とプリンタ１０２が同一ネットワークを構成することができる。
【００８８】
（第３の実施形態）
次に、第３の実施形態について説明する。なお、ネットワーク構成やＤＳＣ１０１及びプリンタ１０２のハードウェア構成は上述した第１、第２の実施形態と同様なので（図１、２、３）、ここでは説明を省略する。
【００８９】
本実施形態では、ＤＳＣ１０１がプリンタ１０２と一時的に無線接続して、プリンタ１０２の情報を登録する場合の処理方法について説明する。
【００９０】
通信相手の情報を登録するために構成する一時的なアドホックネットワークのＳＳＩＤは、通常の無線通信に用いるＳＳＩＤとは異なる値を用いるものとする。通信相手の情報の登録に用いるＳＳＩＤを「ＳｅｔＮｅｔ」とし、ＤＳＣ１０１およびプリンタ１０２は予めこのＳＳＩＤをフラッシュＲＯＭ２１３、３１３に記憶しているものとする。
【００９１】
図８は通信相手の情報を登録する場合のＤＳＣ１０１、プリンタ１０２の表示部２０６、３０６の一例を示した図である。ここではＤＳＣ１０１から通信相手としてプリンタ１０２を登録する場合の表示例について説明する。
【００９２】
図８（ａ）はネットワークを介して無線通信を行うことを選択した場合に表示される画面の例である。８０１は既に登録してある通信相手を選択して通信を行う場合に選択する項目、８０２は通信相手の情報を登録する時に選択する項目、８０３は既に登録してある通信相手の情報を削除する場合に選択する項目、８０４はネットワークを介した無線通信をキャンセルするときに選択する項目である。ユーザは、通信相手の情報を登録するために、操作部２１０を用いて８０２を選択する。
【００９３】
図８（ｂ）は８０２を選択したときの表示部２０６の一例である。８０５は、通信相手の種別としてＤＳＣの情報を登録する場合に選択する項目、８０６は通信相手の種別としてプリンタの情報を登録する場合に選択する項目である。ここでは、ＤＳＣ１０１が通信相手としてプリンタの情報を登録するため、ユーザは操作部２１０を用いて８０６を選択するものとする。
【００９４】
図８（ｃ）は図８（ｂ）で登録する通信相手の種別を選択したとき（すなわち８０５または８０６を選択した後）の表示部２０６の一例である。この画面が表示されている時、ＤＳＣ１０１はプリンタ１０２との間で登録用の無線通信ネットワークを構成し、後述する図９のような機器情報の登録処理を行う。なお、登録処理の詳細については後述する。
【００９５】
図８（ｄ）はＤＳＣ１０１とプリンタ１０２との間で情報登録作業が終了した後の表示部２０６の一例である。８０７は処理の確認を促すボタンである。ユーザが操作部２１０を用いて８０７を選択すると表示部２０６の表示は図８（ａ）に戻る。
【００９６】
図９は各通信装置が有する自機の情報の一部を示したものである。上記の登録処理を行うことにより、各通信装置は通信相手の情報を自機に登録することができる。９０１は当該通信装置がアドホックネットワークを開設する場合に使用するＳＳＩＤ、９０２は当該通信装置の種別である。
【００９７】
図９（ａ）はＤＳＣ１０１が有する情報の例、図９（ｂ）はプリンタ１０２が持つ情報の例である。例えば、ＤＳＣ１０１はプリンタ１０２の情報（図９（ｂ））を登録後、図８（ａ）の画面表示より８０１を選択し、表示された通信相手先一覧の中からプリンタ１０２を選択すれば、ＳＳＩＤが「Ｐｒｉｎｔｅｒｎｅｔ」に設定され、プリンタ１０２と無線通信することができる。
【００９８】
図１０はＤＳＣ１０１とプリンタ１０２がそれぞれ通信相手の登録処理を行う場合のシーケンス図である。なお、通信相手の登録用アドホックネットワーク構成方法としては、図７の方法を用いるものとする。
【００９９】
プリンタ１０２は、ユーザの操作によって通信相手登録処理が起動されると、ＳＳＩＤが「ＳｅｔＮｅｔ」のアドホックネットワークを構成するよう、アプリケーションプログラムからドライバに対して、要求が発行される（Ｓ１００１）。
【０１００】
アプリケーションプログラムからの要求を受信したドライバは、「ＳｅｔＮｅｔ」というＳＳＩＤを有するアドホックネットワークが存在するかどうか確認するためにスキャンを行う。まず、ドライバから無線通信コントローラ３０４に対してスキャンのための一連のコマンドが発行される（Ｓ１００２）。次に無線通信コントローラ３０４と無線通信ＲＦ部３０５でコマンドが処理され、Ｐｒｏｂｅ  Ｒｅｑｕｅｓｔが送信される（Ｓ１００３）。そして、一定時間Ｐｒｏｂｅ  Ｒｅｓｐｏｎｓｅの受信を待機する。
【０１０１】
この時、ＤＳＣ１０１はまだアドホックネットワークを開設していないので、プリンタ１０２はＰｒｏｂｅ  Ｒｅｓｐｏｎｓｅを受信しないまま応答待ち時間が経過する。
【０１０２】
プリンタ１０２のドライバは、ネットワークが存在しないことを確認すると（Ｓ１００４）、「ＳｅｔＮｅｔ」というＳＳＩＤのアドホックネットワークを開設するための一連の設定用コマンドを無線通信コントローラ３０４に対して送信する（Ｓ１００５）。
【０１０３】
無線通信コントローラ３０４はドライバから受信したコマンドを処理し、ＳＳＩＤが「ＳｅｔＮｅｔ」のアドホックネットワークを開設する。具体的には、プリンタ１０２自身のＭＡＣアドレスからＢＳＳＩＤを生成し、ビーコンの送信を開始する。
【０１０４】
ここで、プリンタ１０２が通信相手登録処理を開始したのとほほ同じタイミングで、ＤＳＣ１０１側でも通信相手登録処理が開始されたものとする。
【０１０５】
ＤＳＣ１０１は、ユーザの操作によって通信相手登録処理が起動されると、ＳＳＩＤが「ＳｅｔＮｅｔ」のアドホックネットワークを構成するよう、アプリケーションプログラムからドライバに対して要求が送信される（Ｓ１００６）。
【０１０６】
アプリケーションプログラムからの要求を受信したドライバは、「ＳｅｔＮｅｔ」というＳＳＩＤを有するアドホックネットワークが存在するかどうか確認するためにスキャンを開始する。まず、ドライバから無線通信コントローラ３０４に対してスキャンのための一連のコマンドが発行される（Ｓ１００７）。
【０１０７】
次に無線通信コントローラ３０４と無線通信ＲＦ部３０５でコマンドが処理され、Ｐｒｏｂｅ  Ｒｅｑｕｅｓｔが送信される（Ｓ１００８）。そして、一定時間Ｐｒｏｂｅ  Ｒｅｓｐｏｎｓｅの受信を待機する。
【０１０８】
この時、プリンタ１０２はまだアドホックネットワークを開設していないので、ＤＳＣ１０１はＰｒｏｂｅ  Ｒｅｓｐｏｎｓｅを受信しないまま応答待ち時間が経過する。
【０１０９】
ＤＳＣ１０１のドライバはネットワークが存在しないことを確認すると（Ｓ１００９）、「ＳｅｔＮｅｔ」というＳＳＩＤのアドホックネットワークを開設するための一連の設定用コマンドを無線通信コントローラ２０４に対して送信する（Ｓ１０１０）。
【０１１０】
無線通信コントローラ２０４はドライバから受信したコマンドを処理し、ＳＳＩＤが「ＳｅｔＮｅｔ」のアドホックネットワークを開設する。具体的には、ＤＳＣ１０１自身のＭＡＣアドレスからＢＳＳＩＤを生成し、ビーコンの送信を開始する。
【０１１１】
Ｓ１０１０が終了した時点で、ＤＳＣ１０１とプリンタ１０２は、「ＳｅｔＮｅｔ」という同一のＳＳＩＤであるにも拘らず、異なるＢＳＳＩＤを持つ別々のアドホックネットワークを構成していることになる。
【０１１２】
プリンタ１０２はアドホックネットワークを開設（Ｓ１００５）した後、システムコントローラ３１１が有するタイマに任意の値Ｔ１を設定する（Ｓ１０１１）。同様に、ＤＳＣ１０１はＳ４１０後、システムコントローラ２１１が有するタイマに任意の値Ｔ２を設定する（Ｓ１０１２）。図１２では、ＤＳＣ１０１の設定する時間Ｔ２の方がプリンタ１０２の設定する時間Ｔ１よりも短く、ＤＳＣ１０１のタイマ時間Ｔ２が先に終了する。
【０１１３】
ＤＳＣ１０１はタイマ時間Ｔ２が終了したら、自らが開設したアドホックネットワークのＳＳＩＤ「ＳｅｔＮｅｔ」と同一のＳＳＩＤを有するアドホックネットワークが存在するかどうか確認するためにスキャンを行う。まず、ＤＳＣ１０１のドライバは、無線通信コントローラ２０４に対してスキャンのための一連のコマンドを送信する（Ｓ１０１３）。そして、無線通信コントローラ２０４と無線通信ＲＦ部２０５でコマンドが処理され、Ｐｒｏｂｅ  Ｒｅｑｕｅｓｔが送信される（Ｓ１０１４）。
【０１１４】
この時は既にプリンタ１０２がＳＳＩＤに「ＳｅｔＮｅｔ」を指定してアドホックネットワークを開設しているので、プリンタ１０２からＤＳＣ１０１に対してＰｒｏｂｅ  Ｒｅｓｐｏｎｓｅが返信される（Ｓ１０１５）。
【０１１５】
ＤＳＣ１０１がＰｒｏｂｅ  Ｒｅｓｐｏｎｓｅを受信すると、無線通信コントローラ２０４は、Ｐｒｏｂｅ  Ｒｅｓｐｏｎｓｅから得られた情報をドライバに渡す（Ｓ１０１６）。ドライバは渡された情報から、ＤＳＣ１０１が開設したネットワークと同じＳＳＩＤで、異なるＢＳＳＩＤを持つ別のアドホックネットワークが存在することを検出する。
【０１１６】
ＤＳＣ１０１は、自機が開設したネットワークのＢＳＳＩＤと、検出したネットワーク、すなわちプリンタ１０２が開設したネットワークのＢＳＳＩＤとの比較を行い、ＢＳＳＩＤの優劣を判定する。図１０はＤＳＣ１０１が開設したネットワークのＢＳＳＩＤが劣性である場合の例である。
【０１１７】
ＢＳＳＩＤ優劣判定の結果、ＤＳＣ１０１は自機が開設したネットワークのＢＳＳＩＤが劣性であるので、プリンタ１０２が開設したネットワークへの参加処理を行う。
【０１１８】
まず、ＤＳＣ１０１のドライバはネットワークを終了するための一連の設定用コマンドを無線通信コントローラ２０４に対して発行する（Ｓ１０１７）。
【０１１９】
そして、ＤＳＣ１０１のドライバは、ＳＳＩＤが「ＳｅｔＮｅｔ」のアドホックネットワークに参加するための一連の設定用コマンドを無線通信コントローラ２０４に対して発行する（Ｓ１０１８）。こうして、ＤＳＣ１０１はＢＳＳＩＤをプリンタ１０２が開設したネットワークのＢＳＳＩＤと同一の値に設定し、ネットワークに参加する。
【０１２０】
そしてＤＳＣ１０１が参加したアドホックネットワークに他の無線通信装置、つまりプリンタ１０２が存在するかどうか確認するために再びスキャンを行う。ＤＳＣ１０１のドライバは、無線通信コントローラ２０４に対してスキャンのための一連のコマンドを送信する（Ｓ１０１９）。そして、無線通信コントローラ２０４と無線通信ＲＦ部２０５でコマンドが処理され、Ｐｒｏｂｅ  Ｒｅｑｕｅｓｔが送信される（Ｓ１０２０）。
【０１２１】
この時は既にプリンタ１０２がＳＳＩＤに「ＳｅｔＮｅｔ」を指定してアドホックネットワークを開設しているので、プリンタ１０２よりＤＳＣ１０１にＰｒｏｂｅ  Ｒｅｓｐｏｎｓｅが返信される（Ｓ１０２１）。
【０１２２】
ＤＳＣ１０１がＰｒｏｂｅ  Ｒｅｓｐｏｎｓｅを受信すると、無線通信コントローラ２０４は、Ｐｒｏｂｅ  Ｒｅｓｐｏｎｓｅから得られた情報をドライバに渡す（Ｓ１０２２）。ドライバは渡された情報からＤＳＣ１０１が属するネットワークのＢＳＳＩＤと、検出したネットワークのＢＳＳＩＤが同一であることが分かる。従って、ＤＳＣ１０１が属するアドホックネットワークに他の無線通信装置、つまりプリンタ１０２が存在することが確認できる。そこで、ドライバは通信相手登録処理用のアドホックネットワークの構成が完了したことを示す信号をアプリケーションに通知する（Ｓ１０２３）。通知を受けたアプリケーションは、通信相手としてプリンタ１０２の登録処理を行う（Ｓ１０２４）。
【０１２３】
一方、プリンタ１０２はタイマに設定した時間Ｔ１が終了したら、自らが開設したネットワークのＳＳＩＤ「ＳｅｔＮｅｔ」と同一のＳＳＩＤを有するネットワークが存在するかどうか確認するためにスキャンを行う。まず、プリンタ１０２のドライバは、無線通信コントローラ３０４に対してスキャンのための一連のコマンドを発行する（Ｓ１０２５）。そして、無線通信コントローラ３０４と無線通信ＲＦ部３０５でコマンドが処理され、Ｐｒｏｂｅ  Ｒｅｑｕｅｓｔが送信される（Ｓ１０２６）。
【０１２４】
この時は既にＤＳＣ１０１がプリンタ１０２の開設したアドホックネットワークに参加しているので、ＤＳＣ１０１からプリンタ１０２に対してＰｒｏｂｅ  Ｒｅｓｐｏｎｓｅが返信される（Ｓ１０２７）。
【０１２５】
プリンタ１０２がＰｒｏｂｅ  Ｒｅｓｐｏｎｓｅを受信すると、無線通信コントローラ３０４は、Ｐｒｏｂｅ  Ｒｅｓｐｏｎｓｅから得られた情報をドライバに渡す（Ｓ１０２８）。プリンタ１０２のドライバは渡された情報とプリンタ１０２が開設したネットワークの情報とを比較し、ＤＳＣ１０１がプリンタ１０２と同一のアドホックネットワークに参加していることを確認する。
そこで、プリンタ１０２のドライバは通信相手登録処理用のアドホックネットワークの構成が完了したことを示す信号をアプリケーションに通知する（Ｓ１０２９）。通知を受けたアプリケーションは通信相手としてＤＳＣ１０１の登録処理を行う（Ｓ１０３０）。
【０１２６】
本実施形態では通信相手登録用のアドホックネットワーク構成方法として図７で示した方法を用いたが、図４や図６に示した方法を用いてもよい。
【０１２７】
このように本実施形態では通信相手登録処理を行うために一時的なアドホックネットワークを構成する場合、ネットワークが構成されてから通信相手の登録処理が実行されるため、確実に登録処理を行うことができる。
【０１２８】
また本実施形態では、通信相手登録処理を行う場合を例に取って説明したが、アドホックネットワーク構成後の処理は通信相手の登録処理に限らない。例えばＤＳＣとプリンタとの間の印刷処理や、ＤＳＣ同士での画像ファイルの転送処理、またＤＳＣとコンピュータとを接続して行うファイル転送処理など、さまざまな処理に対して適応することが可能である。
【０１２９】
また本実施形態では、プリンタ１０２は表示部３０６に図８で示したような表示がされる場合を例に取って説明したが、図８のような表示は必ずしも必要なものではない。例えば、表示部３０６としてＬＥＤしか備えていないプリンタであれば、電源投入時は「ＰｒｉｎｔｅｒＮｅｔ」というＳＳＩＤのネットワークを開設しておく。そして、操作部３１０のスイッチ（図示せず）が押し下げられた場合に通信相手登録用のネットワーク（ＳＳＩＤが「ＳｅｔＮｅｔ」）を構成するという方法を用いてもよい。
【０１３０】
（第４の実施形態）
第１、第２の実施形態では、ＤＳＣ１０１とプリンタ１０２がほぼ同時にアドホックネットワークを構成する場合を例に取って説明をおこなった。ＤＳＣの場合、バッテリー駆動であり電力消費が問題となるため、無線通信が必要なときのみ無線ネットワークを構成することが望ましい。一方、プリンタの場合、ＡＣ電源に接続して使用されることが多いため、無線通信による電力消費はさほど問題にはならない。従って、プリンタでは電源投入直後から無線ネットワークを開設する場合も考えられる。
【０１３１】
この場合、上記実施形態の方法（図５、６、７）を用いると、プリンタはネットワーク開設後、他の通信装置がネットワークに参加するまでの間、一定時間毎にスキャン（図５のＳ５０６〜Ｓ５１０、図６のＳ６０６〜Ｓ６１０、図７のＳ７０６〜７１０）を行わなければならない。従って、本実施形態では、各通信装置の機能によってネットワーク構築方法を変更する場合について説明する。
【０１３２】
図１１は本実施形態におけるプリンタ１０２の動作フローを示した図である。プリンタ１０２は、アドホックネットワークの構成を指示されると（Ｓ１１０１）、「ＡｄｈｏｃＮｅｔ」というＳＳＩＤのアドホックネットワークが存在するかどうか確認するためにスキャンを行う（Ｓ１１０２、Ｓ１１０３）。
【０１３３】
スキャンの結果、ＳＳＩＤが「ＡｄｈｏｃＮｅｔ」のアドホックネットワークを検出した場合（Ｓ１１０４のＹｅｓ）、検出したアドホックネットワークに参加する処理を行い（Ｓ１１１３）、処理を終了する。
【０１３４】
ＳＳＩＤが「ＡｄｈｏｃＮｅｔ」のネットワークが存在しない場合（Ｓ５０４のＮｏ）、プリンタ１０２はＳＳＩＤが「ＡｄｈｏｃＮｅｔ」のアドホックネットワークの開設処理を行う（Ｓ１１０５）。
【０１３５】
図１２は本実施形態におけるＤＳＣ１０１の動作フローを示した図である。
【０１３６】
ユーザによって指定された通信装置とのアドホックネットワークの構成指示があると（Ｓ１２０１）、指定された通信相手の種別が自機と同等か否かによって処理が分かれる（Ｓ１２０２）。通信相手の種別が自機と同等だった場合、例えばＤＳＣであった場合は（Ｓ１２０２のＹｅｓ）、図７のＳ７０２以降の処理を実行する。なお、図５のＳ５０２以降の処理、図６のＳ６０２以降の処理を行っても構わない。
【０１３７】
通信相手の種別が自機と同等でなかった場合、例えばプリンタであった場合は（Ｓ１２０２のＮｏ）、ネットワークのスキャンを行う（Ｓ１２０３、Ｓ１２０４）。スキャンの結果、同一のＳＳＩＤを有するアドホックネットワークがあるかどうかを調べ（Ｓ１２０５）、ＳＳＩＤが「ＡｄｈｏｃＮｅｔ」のアドホックネットワークが検出された場合は（Ｓ１２０５のＹｅｓ）、当該ネットワークへの参加処理を行う（Ｓ１２０８）。
【０１３８】
ＳＳＩＤが「ＡｄｈｏｃＮｅｔ」のアドホックネットワークを検出しなかった場合は（Ｓ１２０５のＮｏ）、タイマに任意の値Ｔを設定し（Ｓ１２０６）、タイマが終了するのを待つ（Ｓ１２０７）。タイマが終了したら（Ｓ１２０７のＹｅｓ）、ネットワークのスキャンを再度行う（Ｓ１２０３、Ｓ１２０４）。こうして、ＳＳＩＤが「ＡｄｈｏｃＮｅｔ」を有するアドホックネットワークが検出できるまでＳ１２０３〜Ｓ１２０７の処理を繰り返す。ただし、所定回数、もしくは所定時間上記の処理を行っても、当該ネットワークを検出することができない場合は、処理を強制終了させてもよい。
【０１３９】
本実施形態によれば、通信装置はアドホックネットワークを構成する際に、通信相手の種別によって接続方法を変えることが可能となり、効率よくアドホックネットワークを構成することが可能となる。プリンタは自機が開設したネットワークにＤＳＣが参加してくるまで待機していればよく、ネットワークのスキャンを行う必要がない。また、ＤＳＣは通信相手がプリンタであれば、プリンタがネットワークを開設するのを待てばよいため、ＢＳＳＩＤが異なるネットワークを開設することはなくなる。
【０１４０】
なお、上記実施例では通信相手の種別によって接続方法を変えたが、通信相手の機能、種類、属性、などによって接続方法を変えてもよい。
【０１４１】
以上のように、上記各実施形態によれば、同一のネットワークに参加することを意図した複数の通信装置が、異なるネットワークを構成してしまった場合でも、自機が開設したネットワークを終了してまでも、もう一方が開設したネットワークに参加する。従って、確実に同一のネットワークを構成することができる。また、指定した通信装置との間でネットワークが構成されたことを確認した後に通信相手の登録を行うので、無線通信が不可能な通信装置を登録することがなく、ユーザの利便性を向上させることができる。さらに、通信相手の種別等に応じて、ネットワークの構成方法を変更させるので、余計な処理を行うする必要がなく、効率的に所望の相手とネットワークを構成することができる。
【０１４２】
なお、上記各実施形態にでは、ＢＳＳＩＤはＭＡＣアドレス等を基にして任意に生成されるものとして説明したが、他の方法によって生成してもよい。例えば、通信装置がランダムな値を生成してもよく、通信装置の製造番号等をそのまま用いてもよい。
【０１４３】
また、上記各実施形態ではＰｒｏｂｅ  Ｒｅｑｕｅｓｔ／Ｐｒｏｂｅ  Ｒｅｓｐｏｎｓｅを送受信することにより他のネットワークを検索する場合（アクティブスキャン）を例に取って説明したが、他の方法でネットワークのスキャンを行ってもよい。例えば、他の無線通信装置が送信するビーコンを監視するパッシブスキャン等がある。パッシブスキャンの場合、受信したビーコンにＳＳＩＤやＢＳＳＩＤ等のネットワーク情報が含まれている。
【０１４４】
また、本実施形態ではＤＳＣとプリンタとの接続を例に取って説明したが、ＤＳＣ同士の接続や、ＤＳＣとＰＣとの接続、プリンタとＰＣとの接続等、アドホックネットワークを構成できる機能を有する通信装置であれば、本発明は適用可能である。
【０１４５】
また、本発明は無線通信として、８０２．１１無線ＬＡＮ、ＢＬＵＥＴＯＯＴＨ、ＵＷＢ、Ｗｉｒｅｌｅｓｓ  ＵＳＢ、Ｗｉｒｅｌｅｓｓ  １３９４、Ｗｉｍａｘ等いかなる無線通信方式においても適用可能である。また、無線通信だけでなく、有線通信であっても本発明は適用可能である。
【図面の簡単な説明】
【０１４６】
【図１】第１〜第４の実施形態における無線通信ネットワークの構成図
【図２】第１〜第４の実施形態におけるＤＳＣ１０１機能ブロック図
【図３】第１〜第４の実施形態におけるプリンタ１０２の機能ブロック図
【図４】第１の実施形態におけるアドホックネットワークを構成する手順を示すシーケンス図
【図５】第１の実施形態におけるＤＳＣ１０１、プリンタ１０２の動作フロー
【図６】第２の実施形態におけるＤＳＣ１０１、プリンタ１０２の動作フロー
【図７】第２の実施形態におけるＤＳＣ１０１、プリンタ１０２の動作フロー
【図８】第３の実施形態におけるＤＳＣ１０１、プリンタ１０２の表示部２０６、３０６の一例
【図９】第３の実施形態におけるＤＳＣ１０１、プリンタ１０２の情報の一部を示した一例
【図１０】第３の実施形態における通信相手情報の登録を行う場合のシーケンス図
【図１１】第４の実施形態におけるプリンタ１０２の動作フロー
【図１２】第４の実施形態におけるＤＳＣ１０１の動作フロー
【符号の説明】
【０１４７】
１０１  ＤＳＣ
１０２  プリンタ
２０４、３０４  無線通信コントローラ
２０５、３０５  無線通信ＲＦ部
２１３、３１３  フラッシュＲＯＭ
２１５、３１５  ＣＰＵ（中央演算装置）
２１６、３１６  ＲＯＭ
【図１】
0004829635.tif 000002
【図２】
0004829635.tif 000003
【図３】
0004829635.tif 000004
【図４】
0004829635.tif 000005
【図５】
0004829635.tif 000006
【図６】
0004829635.tif 000007
【図７】
0004829635.tif 000008
【図８】
0004829635.tif 000009
【図９】
0004829635.tif 000010
【図１０】
0004829635.tif 000011
【図１１】
0004829635.tif 000012
【図１２】
0004829635.tif 000013