通信装置、通信装置の制御方法、及びプログラム
【課題】通信環境に応じて適切に接続形態を切り替えること。
【解決手段】通信装置は、基地局を含まないネットワークにおいて通信相手と直接通信を行う第1の接続形態と、通信相手もしくは他の通信装置または自らのいずれかを基地局として、基地局が形成するネットワークにおいて通信相手と通信を行う第2の接続形態との一方を使用してネットワークへ接続して通信を行う通信装置であって、通信装置が接続しているネットワークへ接続する他の装置の台数を検出し、検出した他の装置の台数に基づいて、第1の接続形態と第2の接続形態とから、使用すべき接続形態を決定し、使用している接続形態と決定された接続形態とが異なる場合に、接続形態を決定された接続形態に切り替える。
【解決手段】通信装置は、基地局を含まないネットワークにおいて通信相手と直接通信を行う第1の接続形態と、通信相手もしくは他の通信装置または自らのいずれかを基地局として、基地局が形成するネットワークにおいて通信相手と通信を行う第2の接続形態との一方を使用してネットワークへ接続して通信を行う通信装置であって、通信装置が接続しているネットワークへ接続する他の装置の台数を検出し、検出した他の装置の台数に基づいて、第1の接続形態と第2の接続形態とから、使用すべき接続形態を決定し、使用している接続形態と決定された接続形態とが異なる場合に、接続形態を決定された接続形態に切り替える。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、通信環境に応じて接続形態を切り替える通信装置、通信装置の制御方法、プログラムに関する。
【背景技術】
【0002】
IEEE802.11規格シリーズに準拠した無線LANには、二種類の接続形態が存在する。一つはインフラストラクチャネットワークであり、基地局が中央集権型で各通信装置を管理するものである。もうひとつはアドホックネットワークであり、全ての通信装置が主従関係なく接続できるものである。アドホックネットワークは、通信装置の参加・離脱が容易であり、機動性に優れているという特徴があり、インフラストラクチャネットワークは、通信装置の管理が容易であるという特徴がある。
【0003】
特許文献1及び特許文献2には、通信装置がこれらのインフラストラクチャネットワークとアドホックネットワークとの両方を同時サポートする技術が記載されている。また、特許文献3には、要求される暗号方式によって、インフラストラクチャネットワークとアドホックネットワークとを切り替える技術が記載されている。これらの先行技術のように、アドホックネットワークとインフラストラクチャネットワークとを同時にサポートする通信装置により、ネットワークの利便性を向上させることができる。
【0004】
なお、アドホックネットワークとインフラストラクチャネットワークとの両者をサポートできる環境においては、通信の開始当初は、機動性・省電力性に優れたアドホックネットワークを用いることが有利であることが多い。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2007−288722号公報
【特許文献2】特開2010−093652号公報
【特許文献3】特開2008−035371号公報
【非特許文献】
【0006】
【非特許文献1】Wi−Fi Protected Access Enhanced Security Implementation Based on IEEE P802.11i standard
【非特許文献2】Wi−Fi CERTIFIED(TM) for Wi−Fi Protected Setup:Easing the User Experience for Home and Small Office Wi−Fi(R) Networks,http://www.wi−fi.org/wifi−protected−setup
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、インフラストラクチャネットワークとアドホックネットワークとの両方をサポートするために、常に両方のネットワークを起動しておくことは、消費電力の観点から望ましくない。また、暗号方式等の設定変更ごとにインフラストラクチャネットワークとアドホックネットワークとを切り替えることは、消費電力や操作性等の観点から運用上不利となる場合がある。
【0008】
しかしながら、ネットワークの切り替えをせずに、片方のネットワークを使用し続けると、当該ネットワークの使用に向かない環境であっても、そのネットワークを使い続けることとなるため妥当性を欠く。特にアドホックモードで通信を行う場合、通信装置の数が増加すると、通信装置間で暗号鍵を共有する暗号鍵交換の仕組みが非常に煩雑となってしまうという課題がある。
【0009】
そこで、本発明は、通信環境に応じて適切に接続形態を切り替える通信装置、制御方法、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【0010】
上記目的を達成するため、本発明による通信装置は、基地局を含まないネットワークにおいて通信相手と直接通信を行う第1の接続形態と、通信相手もしくは他の通信装置または自らのいずれかを基地局として、当該基地局が形成するネットワークにおいて通信相手と通信を行う第2の接続形態との一方を使用してネットワークへ接続して通信を行う通信装置であって、前記通信装置が接続しているネットワークへ接続する他の装置の台数を検出する検出手段と、検出した他の装置の台数に基づいて、前記第1の接続形態と前記第2の接続形態とから、使用すべき接続形態を決定する決定手段と、使用している接続形態と決定された接続形態とが異なる場合に、接続形態を当該決定された接続形態に切り替える切替手段とを備える。
【発明の効果】
【0011】
本発明によれば、通信環境に応じて、適切な接続形態を選択する技術を提供することができる。
【図面の簡単な説明】
【0012】
【図1】通信装置のハードウェア構成を示すブロック図。
【図2】通信装置のソフトウェア機能構成を示すブロック図。
【図3】3台の通信装置を有する通信システム。
【図4】3台の通信装置を有する通信システムにおける実施形態1に係る各装置の動作を示すシーケンス図。
【図5】4台の通信装置を有する通信システム。
【図6】4台の通信装置を有する通信システムにおける実施形態1に係る各装置の動作を示すシーケンス図。
【図7】実施形態1に係る通信装置の動作フロー図。
【図8】3台の通信装置を有する通信システムにおける実施形態2に係る各装置の動作を示すシーケンス図。
【図9】4台の通信装置を有する通信システムにおける実施形態2に係る各装置の動作を示すシーケンス図。
【図10】実施形態2に係る通信装置の動作フロー図。
【図11】3台の通信装置を有する通信システムにおける実施形態3に係る各装置の動作を示すシーケンス図。
【図12】4台の通信装置を有する通信システムにおける実施形態3に係る各装置の動作を示すシーケンス図。
【図13】実施形態3に係る通信装置の動作フロー図。
【図14】実施形態4に係る通信システムにおける3台の通信装置の動作を示すシーケンス図。
【発明を実施するための形態】
【0013】
以下、添付図面を参照して本発明の実施の形態を詳細に説明する。なお、以下では、IEEE802.11シリーズに準拠した無線LANシステムを用いた例について説明するが、通信形態は必ずしもIEEE802.11準拠の無線LANには限らない。
【0014】
<<実施形態1>>
(通信装置のハードウェア構成)
図1は、本実施形態に係る通信装置のハードウェア構成の一例を表すブロック図である。101は通信装置全体を示す。102は、記憶部103に記憶される制御プログラムを実行することにより通信装置全体を制御する制御部である。制御部102は、他の通信装置との間で通信パラメータの設定制御も行う。103は制御部102が実行する制御プログラムと、通信パラメータ等の各種情報を記憶する記憶部である。後述する各種動作は、記憶部103に記憶された制御プログラムを制御部102が実行することにより行われる。
【0015】
104はIEEE802.11シリーズに準拠した無線LAN通信を行うための無線部である。105は各種表示を行う表示部でありLCDやLEDのように視覚で認知可能な情報の出力、あるいはスピーカなどの音出力が可能な機能を有する。表示部105は視覚情報および音情報の少なくともどちらか一方を出力する機能を備えるものである。106は通信パラメータ設定処理を開始するトリガを与える設定ボタンである。設定ボタン106が操作されると、通信パラメータの自動設定処理が開始される。107はアンテナ制御部、そして108はアンテナである。109は、ユーザが各種入力を行うための入力部である。
【0016】
(通信装置のソフトウェア構成)
図2は、通信パラメータの自動設定動作を実行する通信装置のソフトウェア機能ブロックの構成の一例を表すブロック図である。通信パラメータの自動設定動作については後述する。201は通信装置の全体を示す。202は通信パラメータの自動設定機能ブロックである。本実施形態では、ネットワーク識別子としてのSSID、暗号方式、暗号鍵、認証方式、認証鍵等の無線LAN通信を行うために必要な通信パラメータの自動設定を行う。
【0017】
203は通信に関する各種信号を受信する受信部である。ビーコン(報知信号)の受信は、受信部203によって行われる。204は通信に関する各種信号を送信する送信部である。ビーコンの送信は送信部204によって行われる。なおビーコンには送信元の機器の各種情報が付加される。205はプローブリクエストなどの検索信号の送信を制御する検索信号送信部である。なお、プローブリクエストは、所望のネットワークを検索するためのネットワーク検索信号である。プローブリクエストの送信は、検索信号送信部205により行われる。また、受信したプローブリクエストに対する応答信号であるプローブレスポンスの送信も検索信号送信部205により行われる。
【0018】
206は他の通信装置からのプローブリクエストなどの検索信号の受信を制御する検索信号受信部である。プローブリクエストの受信は、検索信号受信部206により行われる。また、プローブレスポンスの受信も検索信号受信部206により行われる。なお機器検索信号、及びその応答信号には、送信元の機器の各種情報が付加される。207は、ネットワーク接続を制御するネットワーク制御部である。無線LANネットワークへの接続処理などは、ネットワーク制御部207により実施される。
【0019】
通信パラメータの自動設定機能ブロック202において、208は相手機器より通信パラメータを受信(受理)する通信パラメータ受信部である。209は、通信パラメータ自動設定における各種プロトコルを制御する自動設定制御部である。210は相手機器へ通信パラメータを送信(提供)する通信パラメータ送信部である。211は、通信パラメータ記憶部であり、提供装置から提供を受けた通信パラメータまたは、自通信装置が提供装置となる場合に提供を行う通信パラメータを記憶する。なお、通信パラメータ記憶部211は、記憶した設定済パラメータを用いる通信が終了した際に、当該パラメータを破棄するようにしてもよい。また、パラメータの破棄は、記憶してから一定時間経過後や、通信装置の電源オフ時等に実行されてもよいし、明示的に削除を指示しない限り実行されないようにしてもよい。
【0020】
212は、WPA認証処理部であり、IEEE802.11i規格に定められたオーセンティケータ(Authenticator)機能をつかさどる。213は、WPA被認証処理部であり、IEEE802.11i規格に定められたサプリカント(Supplicant)機能をつかさどる。通信装置がインフラストラクチャネットワークのアクセスポイントと接続する場合は、WPA被認証処理部213のみを使用する。しかしアドホックネットワークを用いて接続する場合は、通信装置はWPA認証処理部212およびWPA被認証処理部213の両方を使用する。
【0021】
ここで、WPA(Wi-Fi Protected Access)について説明する。WPAには認証サーバを用いて認証サーバから暗号鍵を取得するWPA−802.1Xと、通信装置間で同一の暗号鍵を設定するWPA−PSKの二つがある。本実施形態においては、WPA−PSKを用いる場合について述べるため、WPA−PSKについて説明する。WPA−PSKは、IEEE802.11iおよびWPAにおいて規格化されており、IBSS(Independent Basic Service Set)モードにおける動作方法についても規定されている。なお、IBSSモードとは、アドホックモードである。
【0022】
ここで、通信パラメータ自動設定処理が終了した通信装置Aと通信装置Bが存在する場合についての、WPA−PSKの動作例について説明する。通信パラメータ自動設定処理が完了した後、自動的、又はユーザ操作によって、通信装置Aと通信装置Bとの間で、自動設定された通信パラメータを用いて通信接続処理が実行される。まず、通信装置Aと通信装置Bは互いに相手を検索する。互いが認識できた場合は、通信装置Aと通信装置BのうちMACアドレスの大きなものがオーセンティケータとなり、他方がサプリカントとなる。そして、通信装置Aと通信装置Bとの間で一度目の4ウェイハンドシェイクおよびグループキーハンドシェイクが実行される。なお、4ウェイハンドシェイクとは、オーセンティケータとサプリカントとの間で乱数のやり取りを行い、事前共有鍵に基づいてペアワイズ鍵と呼ばれるユニキャストパケットの暗号鍵をセッション毎に生成する仕組みである。一方、グループキーハンドシェイクは、オーセンティケータが保有しているマルチキャストパケットやブロードキャストパケットの暗号鍵を、サプリカントへ送信する仕組みである。その後、オーセンティケータとサプリカントの役割を交換して、再度4ウェイハンドシェイクとグループキーハンドシェイクを実施する。以上により通信装置Aと通信装置Bとの間で通信が可能となる。詳細については、IEEE802.11i仕様書および、非特許文献1に記載されているため参照されたい。
【0023】
214は、通信暗号制御部であり、認証処理完了後の暗号鍵の管理等を行う。215は通信暗号記憶部であり、通信装置が通信相手ごとに暗号鍵を変える場合などに、それぞれの暗号鍵を通信相手のMACアドレス等に紐づけて記憶する。
【0024】
なお、全ての機能ブロックはソフトウェアもしくはハードウェア的に相互関係を有するものである。また、上記機能ブロックは一例であり、複数の機能ブロックが1つの機能ブロックを構成するようにしてもよいし、何れかの機能ブロックが更に複数の機能を行うブロックに分かれてもよい。
【0025】
(システム構成)
図3は、通信装置A32(以下、装置A)、通信装置B33(以下、装置B)、通信装置C34(以下、装置C)、およびネットワークN31(以下、ネットワークN)を示した図である。装置A〜Cは、先に説明した図1、図2の構成を有している。
【0026】
本実施形態においては、装置Aと装置Bがアドホックモードで直接通信することによりネットワークNを形成し、ネットワークNに装置Cが接続する場合について説明する。なお、装置CはネットワークNに接続するための通信パラメータをすでに保持しているものとする。また、ネットワークNはWPA―PSK又はWPA2−PSKによる認証処理を行い、TKIPまたはAESによる暗号通信を行うものとする。WPA−PSKとWPA2−PSKはWPAのバージョンの違いであり、認証および鍵交換の大まかなメカニズムに差はない。
【0027】
(システムの動作)
本実施形態においては、複数の通信装置が第1の接続形態としてアドホックモードで互いに直接通信しているときに、新たにネットワークに参加を希望する通信装置が現れた場合の処理を説明する。具体的には、第1の接続形態である基地局を介さずに通信装置同士が直接通信を行うアドホックモードから、第2の接続形態である基地局が形成するネットワークにおいて通信を行うインフラストラクチャモードへ使用する接続形態の切替を実行する。また、その際、インフラストラクチャモードでは、基地局、すなわちアクセスポイントとして機能する通信装置が必要となるため、アクセスポイント機能を実行する通信装置を選択する。以下では、これらの処理についての具体的な動作について説明する。
【0028】
図4は、本実施形態に係る、装置A、装置Bおよび装置Cの動作を示すシーケンス図である。装置A、装置B及び装置Cはすでに接続のためのパラメータは共有しており、それぞれの装置における通信パラメータ記憶部211には、同様の通信パラメータが記憶されているとする。
【0029】
まず、本シーケンスの初期的な状態として、装置Aが通信パラメータ記憶部211に記憶されている通信パラメータを用いて、アドホックモードでネットワークNを形成している。そこに装置Bが同一の通信パラメータを用いて、当該ネットワークNへ接続を試みる。アドホックネットワークは、通信装置がビーコン信号を持ち回りで送信することで確立される。このため、装置Bがアドホックネットワークへ接続を行う場合、装置Bから装置Aへビーコン信号が送信し(F401)、装置Aは装置Bからのビーコン信号を検知する(F402)。
【0030】
装置Aによる装置Bからのビーコン信号の検知を契機に、装置Aと装置Bとの間で鍵交換処理を行う。具体的には、まず、装置Aをオーセンティケータ、装置Bをサプリカントとして、4ウェイハンドシェイク処理を実行する(F403)。F403の4ウェイハンドシェイクの完了後、役割を反転し、装置Aをサプリカント、装置Bをオーセンティケータとして、2回目の4ウェイハンドシェイク処理を実行する(F404)。F403およびF404の完了により、装置Aと装置Bは暗号鍵を共有し、互いに通信することが可能となる。なお、通信の開始の契機は、装置Aによる装置Bのビーコン信号の検知ではなく、ユーザによる接続開始指示であってもよい。
【0031】
この状況で、装置Aと装置Bとで形成しているネットワークNに、3台目の端末(装置C)が参加を試みる。具体的には、装置Cはビーコン信号をブロードキャスト送信する(F405)。ここで、装置Aが装置Cから送信されたビーコン信号を検知したものとする(F406)。装置Aは、装置Cからのビーコン信号を検知すると、ネットワークNへ接続している、又は接続しようとしている通信装置の台数を検出する(F407)。なお、ここでは、ビーコン信号を検知したときにネットワークNへ接続している、又は接続しようとしている通信装置の台数を検出しているが、予めネットワークNへ接続している通信装置の台数を把握しておいてもよい。この場合、以下の処理では、ネットワークNへ接続している通信装置の台数が所定数であるときに、新たにネットワークNへ接続要求する通信装置がいたか否かを判定する。
【0032】
F407で検出された通信装置の台数が、所定数以上と判定された場合について検討する。検出した通信装置の台数が所定数以上であった場合、ネットワークNはアドホックネットワークであるよりも、インフラストラクチャネットワークであることが望ましい。このため、ネットワークNをインフラストラクチャネットワークへの切替処理を実行する。具体的には、まず、装置Aは、役割決定モードへ遷移する(F408)。役割決定モードでは、ネットワークNに所属する通信装置のうち、どの通信装置がアクセスポイントとして動作するべきかを決定する。
【0033】
装置Aは、その後、ネットワークNに所属する通信装置の各々へ、装置Aが役割決定モードに遷移したことを通知する。本実施形態の場合、ネットワークNに所属しているのは装置Aと装置Bの2つであるため、装置Aは装置Bへ向けて遷移通知を送信する(F409)。また、F409と同時に、新規にネットワークNへの参加を試みている装置Cへも遷移通知を送信する(F410)。
【0034】
装置Bは、装置Aからの遷移通知を受信すると、役割決定モードに遷移する(F411)。装置Aと装置Bの双方が役割決定モードに遷移すると、装置Aと装置Bの間でネゴシエーションを行い、どちらの装置がアクセスポイント機能を実行するかの役割決定処理を行う(F412)。役割決定処理においては、通信装置の機能による評価や、通信装置の固有識別子(例えばMACアドレスや、UUIDなどの機器固有情報)による評価などを行い、どちらの機器がアクセスポイントとして動作するかを選択する。アクセスポイント機能を実行しない装置については、ステーション機能を実行するものとする。役割決定処理(F412)において、例えば、装置Aの役割をアクセスポイントと決定(F413)し、装置Bの役割をステーションと決定(F414)する。
【0035】
装置Cにおいても、遷移通知F410によりネットワークNがアドホックネットワークからインフラストラクチャネットワークに遷移することが通知されている。このため、インフラストラクチャネットワークであるネットワークNに参加するため、装置Aとの間でアソシエーションを行う(F415)。装置Aと装置Cとの間では、アソシエーション完了後、4ウェイハンドシェイクを行う(F416)。ここで実施する4ウェイハンドシェイクは、インフラストラクチャネットワークとしての4ウェイハンドシェイクであるため、F403やF404とは異なり1回のみ実行される。
【0036】
図3と図4を用いて、2つの装置から構成されているネットワークに3台目の通信装置が参加する場合について説明した。次に、3台の通信装置から構成されたネットワークに4台目の通信装置が参加する場合についても説明する。
【0037】
図5は、通信装置A32(以下、装置A)、通信装置B33(以下、装置B)、通信装置C34(以下、装置C)、通信装置D55(以下、装置D)およびアドホックネットワークN31(以下、ネットワークN)を示した図である。これら全ての装置は、先に説明した図1、図2の構成を有している。
【0038】
図6は、本実施形態における装置A、装置B、装置Cおよび装置Dのシーケンス図である。本シーケンス図における全ての通信装置(装置Aから装置D)は接続のためのパラメータを共有しており、それぞれの装置における通信パラメータ記憶部211には、同一の通信パラメータが記憶されているとする。
【0039】
まず、本シーケンスの初期的な状態として、装置Aが通信パラメータ記憶部211に記憶されている通信パラメータを用いて、アドホックネットワークを形成している。そこに装置Bが同一の通信パラメータを用いて、当該アドホックネットワークへ接続を行う。アドホックネットワークは、通信装置がビーコン信号を持ち回りで送信することで確立される。このため、装置Bがアドホックネットワークへ接続を行う場合、装置Bから装置Aへビーコン信号が送信される(F601)。装置Aは装置Bからのビーコン信号を検知する(F602)。
【0040】
装置Aによる装置Bからのビーコン信号の検知を契機に、装置Aと装置Bとの間で鍵交換処理を行う。具体的には、まず、装置Aをオーセンティケータ、装置Bをサプリカントとして、1回目の4ウェイハンドシェイク処理を実行する。1回目の4ウェイハンドシェイクの完了後、役割を反転し、装置Aをサプリカント、装置Bをオーセンティケータとして、2回目の4ウェイハンドシェイク処理を実行する(F603)。F603における2回の4ウェイハンドシェイクの完了により、装置Aと装置Bは暗号鍵を共有できるため、互いに通信することが可能となる。
【0041】
ここまでで装置Aと装置BとでネットワークNが形成されている。ここで、3台目の端末(装置C)がネットワークNへ参加するとする。装置Cは、ネットワークNに接続を試みる。装置Cはビーコン信号をブロードキャスト送信する(F604)。装置Cが送信したビーコン信号を装置Aおよび装備Bが検出することにより、それぞれが4ウェイハンドシェイクを2回ずつ実行する(F605、F606)。これにより装置A、装置Bおよび装置Cの3者間でネットワークNが形成される。
【0042】
引き続き、ネットワークNに4台目の通信装置(装置D)が参加する場合について説明する。装置DがネットワークNに接続要求を送信する。具体的には、装置Dはビーコン信号をブロードキャスト送信し(F607)、当該ビーコン信号を例えば装置Aが検知する(F608)。装置Aは、装置Dからのビーコン信号を検知すると、ネットワークNへ接続している、又は接続しようとしている通信装置の台数を判定する(F609)。F609の判定により、通信装置の台数が、あらかじめ定めた台数を超過した場合について考える。台数が超過した場合、ネットワークNはアドホックネットワークであるよりも、インフラストラクチャネットワークであることが望ましい。このため、装置Aは役割決定モードに遷移する(F610)。
【0043】
装置Aは、その後、ネットワークNに所属する通信装置の各々へ、装置Aが役割決定モードに遷移したことを通知する。本実施形態の場合、ネットワークNに所属しているのは装置A、装置B及び装置Cの3つであるため、装置Aは装置B及び装置Cへ向けて遷移通知を送信する(F611)。また、F611と同時に、新規にネットワークNへの参加を試みている装置Dへ向けても遷移通知を送信する(F612)。
【0044】
装置Bは、装置Aからの遷移通知を受信すると、役割決定モードに遷移する。そして、装置Aと装置Bの間でネゴシエーションを行い、装置Aと装置Bのどちらがアクセスポイント機能を実行するかの役割決定処理を行う(F613)。また、装置Cにおいても装置Bと同様に、役割決定モードに遷移し、装置Aと装置Cとの間でネゴシエーションを行い、アクセスポイント機能を実行する装置を選択する(F614)。なお、ここでは、F613およびF614に示した役割決定処理によって、装置Aがアクセスポイント機能を実行すると決定したとする(F615)。この場合は、他の通信装置はステーション機能を実行する(F616,F617)。
【0045】
装置Dにおいても、遷移通知F612によりネットワークNがアドホックネットワークからインフラストラクチャネットワークに遷移することが通知されている。このため、装置Aとの間でアソシエーションを行う(F618)。装置Aと装置Dとの間では、アソシエーション完了後、4ウェイハンドシェイクを行う(F619)。ここで実施する4ウェイハンドシェイクは、インフラストラクチャネットワークとしての4ウェイハンドシェイクであるため、F603,F605、およびF606のように2回実施することはなく1回のみ実行される。
【0046】
以上、通信装置が4台存在した場合の処理について説明した、5台以上となった場合についても同様である。
【0047】
(通信装置の動作)
引き続き、通信装置の内部処理について説明する。図7は、通信装置における通信接続処理時の処理フローを示した図である。
【0048】
通信装置はまず、アドホックネットワークに参加するため、ビーコン信号を送信する(S701)。ビーコン信号には、自身の所属するネットワークのネットワーク識別子(例えば、ESSIDやBSSIDなど)、ネットワークの認証情報、及び暗号情報(例えば、WPAIEやRSNIEなど)が付与されていてもよい。S701においてネットワークへの参加およびネットワークの新規構築ができる。続いて、自装置と同一のネットワーク識別子を持つビーコン信号を受信したか否かを確認する(S702)。同一のネットワーク識別子を持つビーコン信号を受信しなかった場合(S702でNo)は、再度ビーコンの送信(S701)を繰り返す。
【0049】
同一の識別子を持つビーコン信号を受信した場合(S702でYes)、ネットワークに参加を試みる通信装置が存在すると判定できる。このため、ネットワークに参加している装置及びネットワークに参加を試みる装置を検出し、その台数があらかじめ定めた閾値を超えたかどうかを判定する(S703)。
【0050】
検出した装置の台数が閾値を超えていない場合は(S703でNo)、ビーコン報知を繰り返す(S701)。検出した装置の台数が閾値を超えた場合は(S703でYes)、ネットワークNをアドホックネットワークからインフラストラクチャネットワークへの切替のため役割決定モードへ遷移する(S704)。
【0051】
通信装置は、役割決定モードへ遷移後、ネットワークNに参加中の通信装置、及びネットワークへ参加を試みている通信装置へ、役割決定モードへ遷移したことを通知する(S705)。各通信装置へ通知後、役割決定処理を実行する(S706)。役割決定処理により、どの通信装置がアクセスポイントとして機能するかの選択が行われる。なお、アクセスポイント機能を実行しない装置は、ステーション機能のみを実行する。
【0052】
役割決定処理が完了すると、自装置の役割がアクセスポイントであるか否かを判定する(S707)。自装置がアクセスポイント機能を実行する場合(S707でYes)、ビーコンの内容を変更する(S709)。すなわち、役割決定処理以前のビーコン信号は自装置がアドホックネットワークを構築していることを示す識別情報を付与したものであるため、この付与する識別情報を変更する。具体的には、通信装置は、アクセスポイント機能を実行した後は、インフラストラクチャネットワークのアクセスポイントであることを示す識別情報を付与するように、ビーコン信号を変更する。ビーコン情報の変更後、ステーションの受け入れを開始する(S710)。これによりアクセスポイントとして、ステーション機能を実行する装置との間の通信を確立することが可能となる。
【0053】
一方、アクセスポイント機能を実行しない、すなわちステーション機能のみの実行の場合は(S707でNo)、ビーコン信号の報知を停止する(S708)。これは、アドホックネットワークを構築している場合は、ネットワークを構成している各通信装置がビーコンを持ち回りで送信するが、インフラストラクチャネットワークでのステーションはビーコンを送信する必要がないからである。
【0054】
上述のS708、又はS709及びS710の各ステップの完了後、通信装置は、それまでにアドホックネットワークとして保有していた暗号鍵をインフラストラクチャネットワーク用に変更する(S711)。具体的には、アドホックネットワークでは各通信装置が、それぞれの通信相手ごとにユニキャスト暗号鍵とグループ暗号鍵を保有するが、これを変更する。アクセスポイント機能を実行する通信装置は、通信相手ごとのユニキャスト暗号鍵はそのまま保持し、グループ暗号鍵は自通信装置のものだけ保持してそれ以外は破棄する。ステーション機能を実行する通信装置は、アクセスポイント機能を実行する装置のユニキャスト暗号鍵とグループ暗号鍵だけを保持し、それ以外の暗号鍵はすべて破棄する。
【0055】
このように、本実施形態では、ネットワークを構成する通信装置が増加した場合に、各通信装置間でネゴシエーションを行い、ある一つの通信装置をアクセスポイントとして決定する。これにより、通信装置の各々において、暗号鍵の保有方式および交換方式を変更し、処理負荷を軽減することが可能となる。
【0056】
<<実施形態2>>
実施形態1では、ネットワークへの参加を試みる通信装置を検出した場合に、既存のネットワークを構成する通信装置間で役割決定処理を実行する場合について説明した。本実施形態においては、ネットワークへの参加を試みる通信装置を検出した通信装置が、速やかにアクセスポイント機能を実行する場合について説明する。なお、通信装置のハードウェア構成、ソフトウェア構成および、ネットワーク構成については実施形態1と同様である。
【0057】
(システムの動作)
図8は、本実施形態における装置A、装置Bおよび装置Cの動作に関するシーケンス図である。装置A、装置Bおよび装置Cは接続のためのパラメータをすでに共有しており、それぞれの装置における通信パラメータ記憶部211には、同一の通信パラメータが記憶されているとする。なお、本シーケンスにおいて、F407までの動作は、図4と同様であるため、同一の動作をするものについては同一の符号を付して説明を省略する。
【0058】
本実施形態においては、装置AがF407で検出された通信装置の台数が所定数以上であったと判定した場合、装置Aは、自らが実行する機能をインフラストラクチャネットワークのアクセスポイントの機能へと変更する(F801)。そして、装置Aは、アクセスポイントモードに遷移したことを、ネットワークNに所属する通信装置の各々へ通知することにより、使用するネットワークをアドホックネットワークからインフラストラクチャネットワークへ切り替える。本実施形態の場合、ネットワークNに所属しているのは装置Aと装置Bの2つであるため、装置Aは装置Bへ向けて遷移通知を送信する(F802)。また、F802と同時に、ネットワークNへの参加を試みている装置Cへ向けても遷移通知を送信する(F803)。
【0059】
装置Bは、装置Aからの遷移通知を受信すると、自らが実行する機能をステーションモードへと変更する(F803)。装置Cは、遷移通知F804によりネットワークNがアドホックネットワークからインフラストラクチャネットワークに遷移したことが通知されているため、装置Aとの間でアソシエーションを実行する(F805)。装置Aと装置Cとの間では、アソシエーション完了後、4ウェイハンドシェイクを行う(F806)。
【0060】
続いて、図9を用いて、3台の通信装置から構成されたネットワークに4台目の通信装置が参加する場合についても説明する。ネットワーク構成図は図5と同様である。
【0061】
図9は、本実施形態における装置A、装置B、装置Cおよび装置Dのシーケンス図である。本シーケンス図における全ての通信装置(装置Aから装置D)は接続のためのパラメータを共有しており、それぞれの装置における通信パラメータ記憶部211には、同一の通信パラメータが記憶されているとする。なお、本シーケンスにおいて、F609までの動作は、図6と同様であるため、同一の動作をするものについては同一の符号を付して説明を省略する。
【0062】
本実施形態においては、装置AがF609で検出された通信装置の台数が所定数以上であったと判定した場合、装置Aは、自らの動作モードをインフラストラクチャネットワークのアクセスポイントモードへと変更する(F901)。そして、装置Aは、アクセスポイントモードに遷移したことをネットワークNに所属する通信装置の各々へ通知する。本実施形態の場合、ネットワークNに所属しているのは装置A、装置B及び装置Cの3つであるため、装置Aは装置Bおよび装置Cへ向けて遷移通知を送信する(F902)。また、F902の遷移通知と同時に、ネットワークNへの参加を試みている装置Dへ向けても遷移通知を送信する(F903)。
【0063】
装置Bは、装置Aからの遷移通知を受信すると、自らの動作モードをステーションモードに切り替える(F905)。装置Cも装置Bと同様に、ステーションモードに遷移する(F904)。装置Dは、遷移通知F903によりネットワークNがアドホックネットワークからインフラストラクチャネットワークに遷移したことを把握している。このため、装置Dは装置Aとの間でアソシエーションを行う(F906)。装置Aと装置Dとの間では、アソシエーションが完了した後に、4ウェイハンドシェイクが実行される(F907)。
【0064】
以上、通信装置が4台存在した場合の処理について説明した、5台以上となった場合についても同様である。
【0065】
(通信装置の動作)
引き続き、通信装置の内部処理について説明する。図10は、本実施形態に係る通信装置における通信接続処理時の処理フローを示した図である。なお、図7と共通する個所については、同一の番号を付して説明を省略する。
【0066】
S703において検出した装置の台数が閾値を超えた場合は(S703でYes)、ネットワークNをアドホックネットワークからインフラストラクチャネットワークに切り替えるため、自装置の動作モードをアクセスポイントモードへ変更する(S1001)。通信装置は、動作モードの変更後、アクセスポイントモードへ遷移したことをネットワークNに参加している通信装置の各々へ通知する(S1002)。
【0067】
以降の処理は、図7において、自装置の役割がAPとなった場合(S707でYes)と同様である。すなわち、ビーコンの内容を変更し(S709)、ステーションの受け入れを開始し(S710)、保有していた暗号鍵をインフラストラクチャモード用へ変更する(S711)。
【0068】
本実施形態では、ネットワークを構成する通信装置が増加した場合に、通信装置が増加したことを最初に検知した通信装置をアクセスポイントとする。これにより、容易かつ高速に暗号鍵の保有方式および交換方式を変更し処理負荷を軽減することが可能となる。また、役割決定処理がないため、迅速に使用するネットワークをアドホックネットワークからインフラストラクチャネットワークへの切替が可能となる。
【0069】
<<実施形態3>>
本実施形態においては、あらかじめ決定済みのルールに従ってアクセスポイント機能を起動する通信装置を決定する場合について説明する。
【0070】
(システムの動作)
図11は、本実施の形態における装置A、装置Bおよび装置Cの動作のシーケンス図である。図4と同様の動作をする個所には、同一の符号を付して説明を省略する。なお、装置A、装置Bおよび装置Cは、図4の場合と同様、接続のためのパラメータを共有しており、それぞれの装置における通信パラメータ記憶部211には、同一の通信パラメータが記憶されているとする。
【0071】
本実施形態においては、装置AがF407で検出された通信装置の台数が所定数以上であったと判定した場合、予め定められたポリシに基づいて、インフラストラクチャネットワークに遷移した場合にアクセスポイントして動作する装置を決定する。例えば、装置固有識別子(例えばMACアドレスやUUIDなど)が最大のものをアクセスポイントとするとあらかじめ決定しておく。この場合、アドホックネットワークを構成している通信装置の中から、最大の装置固有識別子を有するものを検索する(F1101)。F1101による検索の結果、アクセスポイントとして動作するべき通信装置に向けて、アクセスポイント機能起動指示信号を送信する(F1102)。
【0072】
装置Bは、装置Aからのアクセスポイント機能起動指示信号を受信すると、動作モードをアクセスポイントモードに変更する(F1103)。装置Bは、自装置の動作モードをアクセスポイントモードに変更したことを示す遷移通知を、各通信装置にブロードキャストで通知する(F1104)。なお、ここで装置Bが送信する信号を遷移通知と述べたが、周囲の通信装置にインフラストラクチャネットワークが存在することを通知できる信号であればよく、例えばビーコン信号であってもよい。
【0073】
装置Aは、遷移通知を受信すると、自装置の動作モードをステーションモードに変更する(F1105)。一方、装置Cは、遷移通知F1104によりネットワークNがアドホックネットワークからインフラストラクチャネットワークに遷移することを把握している。このため、装置Bとの間でアソシエーションを行う(F1106)。装置Bと装置Cとの間では、アソシエーションが完了後、4ウェイハンドシェイクが実行される(F1107)。
【0074】
続いて、図12を用いて、3台の通信装置から構成されたネットワークに4台目の通信装置が参加する場合について説明する。
【0075】
図12は、本実施の形態における装置A、装置B、装置Cおよび装置Dの動作を示すシーケンス図である。図6と同様の動作をする個所には、同一の符号を付して説明を省略する。本シーケンスにおける全ての通信装置(装置Aから装置D)は、図6の場合と同様、接続のためのパラメータを共有しており、それぞれの装置における通信パラメータ記憶部211には、同一の通信パラメータが記憶されているとする。
【0076】
本実施形態においては、装置AがF609で検出された通信装置の台数が所定数以上であったと判定した場合、図11のF1101と同様に、ポリシに基づいてアクセスポイントとして動作すべき装置を検索する(F1201)。F1201による検索の結果、アクセスポイント機能を担当するべき通信装置に向けて、アクセスポイント機能起動指示信号を送信する(F1202)。ここで、本実施形態においては、装置Cがアクセスポイントとして動作すべきと決定されたとする。
【0077】
装置Cは、装置Aからのアクセスポイント機能起動指示信号を受信すると、自らの動作モードをアクセスポイントモードに変更する(F1203)。そして、装置Cは自装置の動作モードをアクセスポイントモードに変更したことを示す遷移通知を、ネットワークに参加する装置にブロードキャスト送信により通知する(F1204)。
【0078】
装置Aは、遷移通知を受信すると、自装置の動作モードをステーションモードに変更する(F1206)。装置Bも同様に、自装置の動作モードをステーションモードに変更する(F1205)。一方、装置Dは、遷移通知F1204によりネットワークNがアドホックネットワークからインフラストラクチャネットワークに遷移することを把握している。このため、装置Dは、装置Cとの間でアソシエーションを行う(F1207)。装置Cと装置Dとの間では、アソシエーションの完了後、4ウェイハンドシェイクが実行される(F1208)。
【0079】
以上、通信装置が4台存在した場合の処理について説明した、5台以上となった場合についても同様である。
【0080】
(通信装置の動作)
引き続き、通信装置の内部処理について説明する。図13は、通信装置における通信接続処理時の処理フローを示した図である。なお、図7と共通する個所については、同一の番号を付して説明を省略する。
【0081】
S703において検出した装置の台数が閾値を超えた場合は(S703でYes)、ネットワークNをアドホックネットワークからインフラストラクチャネットワークに切り替えるため、アクセスポイント機能を実行する装置を検索する(S1301)。
【0082】
続いて、S1301により自装置がアクセスポイント機能を実行すべき装置であるか否かを判定する(S1302)。アクセスポイント機能を実行するとなった場合は(S1302でYes)、図7のS707でYesの場合と同様である。すなわち、ビーコンの内容を変更し(S709)、ステーションの受け入れを開始する(S710)。
【0083】
一方、S1302において、自装置がアクセスポイント機能を実行すべき装置でなかった場合(S1302でNo)は、アクセスポイント機能を実施すべき装置へアクセスポイント機能起動指示信号を送信する(S1303)。アクセスポイント機能起動指示信号の送信後、ステーション機能を起動し(S1304)、ビーコン信号の報知を停止する(S1305)。上述の処理完了後、それまでにアドホックネットワークとして保有していた暗号鍵をインフラストラクチャネットワーク用に変更する。これは図7のS711と同様の処理である。
【0084】
本実施形態では、ネットワークを構成する通信装置が増加した場合に、あらかじめ定めた論理により、識別子が最大の通信装置をアクセスポイントとする。これにより、複雑な処理を伴わずに、暗号鍵の保有方式および交換方式を変更し処理負荷を軽減することが可能となる。また、予め定めたポリシに基づいてアクセスポイントを決定するため、迅速にネットワークをアドホックネットワークからインフラストラクチャモードへ変更できると共に、適切な通信装置をアクセスポイントとすることができる。
【0085】
<<実施形態4>>
本実施形態においては、各通信装置が通信パラメータをあらかじめ保有しておらず、通信の都度ごとに、通信に先立って通信パラメータ自動設定を行う場合について説明する。図14は、本実施形態における装置A、装置Bおよび装置Cの動作を示すシーケンス図である。本実施形態においては上述の実施形態1から3までとは異なり、あらかじめ通信パラメータは設定されていないものとする。
【0086】
まず、装置Aと装置BとでネットワークNを形成するために、装置Bにて設定ボタン106を押下する(F1401)。引き続き、装置Aにて設定ボタン106を押下する(F1402)。その後、装置Aと装置Bとの間で通信パラメータの自動設定における役割を決定する(F1403)。役割決定処理の結果、装置Aが通信パラメータ受信装置となり(F1405)、装置Bが通信パラメータ提供装置となったものとする(F1404)。
【0087】
続いて、装置Aと装置Bとの通信パラメータ設定の役割に基づいて、両者の間でWPSパラメータ交換処理が実行される(F1406)。WPSパラメータ交換処理はWi−Fiアライアンスにて規定されている標準技術(WPS:Wi−Fi Protected Setup)である(非特許文献2等参照)。本実施形態においては、通信パラメータ提供装置である装置Aがレジストラ(Registrar)機能を実行し、通信パラメータ受信装置である装置Bがエンローリ(Enrollee)機能を実行する。
【0088】
F1406により装置Aと装置Bとで通信パラメータが共有されると、実施形態1から3までと同様に、装置Aと装置Bとの間で鍵交換処理を行う。まず、装置Aをオーセンティケータ、装置Bをサプリカントとして、1回目の4ウェイハンドシェイク処理を実施する。1回目の4ウェイハンドシェイクの完了後、役割を反転(装置Aをサプリカント、装置Bをオーセンティケータ)として、2回目の4ウェイハンドシェイク処理を実施する(F1407)。これにより、装置Aと装置Bとの間にネットワークNが構築される。
【0089】
ここで、このネットワークNに3台目の端末(装置C)が参加することを考える。この場合、装置Aにおいて、設定ボタン106が押下され(F1408)、引き続き、装置Cにおいて設定ボタン106が押下される(F1409)。その後、装置Aと装置Cとの間で通信パラメータの自動設定における役割を決定する(F1410)。役割決定処理の結果、装置Aが通信パラメータ受信装置となり(F1411)、装置Cが通信パラメータ提供装置となったものとする(F1412)。
【0090】
続いて、装置Aと装置Cとの通信パラメータ設定の役割に基づいて、両者の間でWPSパラメータ交換処理を実施する(F1413)。WPSパラメータ交換処理は、前述したとおりである。F1413により装置Aと装置Cとで通信パラメータが共有される。
【0091】
本実施形態において、これ以降は、実施形態2における図8のF407以降の処理と同様とする。このため、以下の動作については、図8における同一の動作をするものと同一の符号を付して説明を省略する。
【0092】
なお、本実施形態においては、装置Aと装置Cのパラメータ交換後の処理は実施形態2の図8のシーケンスのS407以降に準じると述べたが、実施形態1又は3のシーケンスの後半と同様の処理にしてもよい。さらに、パラメータ交換後に、アドホックネットワークからインフラストラクチャネットワークに変更するかを判断しているが、パラメータ交換時に、通信台数を評価してネットワーク変更処理を実施してもよい。
【0093】
本実施形態のように、通信パラメータ設定処理も含めて、ネットワークをアドホックネットワークからインフラストラクチャネットワークに変更することで、暗号鍵の保有方式および交換方式を変更し処理負荷を軽減することが可能となる。
【0094】
<<その他の実施形態>>
上記説明はIEEE802.11準拠の無線LANを例に説明した。しかしながら、本発明は、ワイヤレスUSB、MBOA、Bluetooth(登録商標)、UWB、ZigBee等の他の無線媒体に適用してもよい。また、有線LAN等の有線通信媒体に適用してもよい。ここで、MBOAは、Multi Band OFDM Allianceの略である。また、UWBは、ワイヤレスUSB、ワイヤレス1394、WINETなどが含まれる。
【0095】
なお、上述の処理の説明においては、通信装置が自らが接続しているネットワークへ参加する、又は参加しようとする他の通信装置の数が所定数を超えた場合に自動的に接続形態を変更していた。この接続形態の切替は、ユーザからの指定によって行われてもよい。すなわち、ユーザにより、入力部109を介して、接続形態の切替の指定があった場合、ネットワークへの通信装置の接続台数によらず、強制的に接続形態を切り替えてもよい。
【0096】
また、通信パラメータとしてネットワーク識別子、暗号方式、暗号鍵、認証方式、認証鍵を例にしたが、他の情報であってもよいし、他の情報も通信パラメータには含まれるようにしてもよいことは言うまでも無い。
【0097】
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
【技術分野】
【0001】
本発明は、通信環境に応じて接続形態を切り替える通信装置、通信装置の制御方法、プログラムに関する。
【背景技術】
【0002】
IEEE802.11規格シリーズに準拠した無線LANには、二種類の接続形態が存在する。一つはインフラストラクチャネットワークであり、基地局が中央集権型で各通信装置を管理するものである。もうひとつはアドホックネットワークであり、全ての通信装置が主従関係なく接続できるものである。アドホックネットワークは、通信装置の参加・離脱が容易であり、機動性に優れているという特徴があり、インフラストラクチャネットワークは、通信装置の管理が容易であるという特徴がある。
【0003】
特許文献1及び特許文献2には、通信装置がこれらのインフラストラクチャネットワークとアドホックネットワークとの両方を同時サポートする技術が記載されている。また、特許文献3には、要求される暗号方式によって、インフラストラクチャネットワークとアドホックネットワークとを切り替える技術が記載されている。これらの先行技術のように、アドホックネットワークとインフラストラクチャネットワークとを同時にサポートする通信装置により、ネットワークの利便性を向上させることができる。
【0004】
なお、アドホックネットワークとインフラストラクチャネットワークとの両者をサポートできる環境においては、通信の開始当初は、機動性・省電力性に優れたアドホックネットワークを用いることが有利であることが多い。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2007−288722号公報
【特許文献2】特開2010−093652号公報
【特許文献3】特開2008−035371号公報
【非特許文献】
【0006】
【非特許文献1】Wi−Fi Protected Access Enhanced Security Implementation Based on IEEE P802.11i standard
【非特許文献2】Wi−Fi CERTIFIED(TM) for Wi−Fi Protected Setup:Easing the User Experience for Home and Small Office Wi−Fi(R) Networks,http://www.wi−fi.org/wifi−protected−setup
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、インフラストラクチャネットワークとアドホックネットワークとの両方をサポートするために、常に両方のネットワークを起動しておくことは、消費電力の観点から望ましくない。また、暗号方式等の設定変更ごとにインフラストラクチャネットワークとアドホックネットワークとを切り替えることは、消費電力や操作性等の観点から運用上不利となる場合がある。
【0008】
しかしながら、ネットワークの切り替えをせずに、片方のネットワークを使用し続けると、当該ネットワークの使用に向かない環境であっても、そのネットワークを使い続けることとなるため妥当性を欠く。特にアドホックモードで通信を行う場合、通信装置の数が増加すると、通信装置間で暗号鍵を共有する暗号鍵交換の仕組みが非常に煩雑となってしまうという課題がある。
【0009】
そこで、本発明は、通信環境に応じて適切に接続形態を切り替える通信装置、制御方法、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【0010】
上記目的を達成するため、本発明による通信装置は、基地局を含まないネットワークにおいて通信相手と直接通信を行う第1の接続形態と、通信相手もしくは他の通信装置または自らのいずれかを基地局として、当該基地局が形成するネットワークにおいて通信相手と通信を行う第2の接続形態との一方を使用してネットワークへ接続して通信を行う通信装置であって、前記通信装置が接続しているネットワークへ接続する他の装置の台数を検出する検出手段と、検出した他の装置の台数に基づいて、前記第1の接続形態と前記第2の接続形態とから、使用すべき接続形態を決定する決定手段と、使用している接続形態と決定された接続形態とが異なる場合に、接続形態を当該決定された接続形態に切り替える切替手段とを備える。
【発明の効果】
【0011】
本発明によれば、通信環境に応じて、適切な接続形態を選択する技術を提供することができる。
【図面の簡単な説明】
【0012】
【図1】通信装置のハードウェア構成を示すブロック図。
【図2】通信装置のソフトウェア機能構成を示すブロック図。
【図3】3台の通信装置を有する通信システム。
【図4】3台の通信装置を有する通信システムにおける実施形態1に係る各装置の動作を示すシーケンス図。
【図5】4台の通信装置を有する通信システム。
【図6】4台の通信装置を有する通信システムにおける実施形態1に係る各装置の動作を示すシーケンス図。
【図7】実施形態1に係る通信装置の動作フロー図。
【図8】3台の通信装置を有する通信システムにおける実施形態2に係る各装置の動作を示すシーケンス図。
【図9】4台の通信装置を有する通信システムにおける実施形態2に係る各装置の動作を示すシーケンス図。
【図10】実施形態2に係る通信装置の動作フロー図。
【図11】3台の通信装置を有する通信システムにおける実施形態3に係る各装置の動作を示すシーケンス図。
【図12】4台の通信装置を有する通信システムにおける実施形態3に係る各装置の動作を示すシーケンス図。
【図13】実施形態3に係る通信装置の動作フロー図。
【図14】実施形態4に係る通信システムにおける3台の通信装置の動作を示すシーケンス図。
【発明を実施するための形態】
【0013】
以下、添付図面を参照して本発明の実施の形態を詳細に説明する。なお、以下では、IEEE802.11シリーズに準拠した無線LANシステムを用いた例について説明するが、通信形態は必ずしもIEEE802.11準拠の無線LANには限らない。
【0014】
<<実施形態1>>
(通信装置のハードウェア構成)
図1は、本実施形態に係る通信装置のハードウェア構成の一例を表すブロック図である。101は通信装置全体を示す。102は、記憶部103に記憶される制御プログラムを実行することにより通信装置全体を制御する制御部である。制御部102は、他の通信装置との間で通信パラメータの設定制御も行う。103は制御部102が実行する制御プログラムと、通信パラメータ等の各種情報を記憶する記憶部である。後述する各種動作は、記憶部103に記憶された制御プログラムを制御部102が実行することにより行われる。
【0015】
104はIEEE802.11シリーズに準拠した無線LAN通信を行うための無線部である。105は各種表示を行う表示部でありLCDやLEDのように視覚で認知可能な情報の出力、あるいはスピーカなどの音出力が可能な機能を有する。表示部105は視覚情報および音情報の少なくともどちらか一方を出力する機能を備えるものである。106は通信パラメータ設定処理を開始するトリガを与える設定ボタンである。設定ボタン106が操作されると、通信パラメータの自動設定処理が開始される。107はアンテナ制御部、そして108はアンテナである。109は、ユーザが各種入力を行うための入力部である。
【0016】
(通信装置のソフトウェア構成)
図2は、通信パラメータの自動設定動作を実行する通信装置のソフトウェア機能ブロックの構成の一例を表すブロック図である。通信パラメータの自動設定動作については後述する。201は通信装置の全体を示す。202は通信パラメータの自動設定機能ブロックである。本実施形態では、ネットワーク識別子としてのSSID、暗号方式、暗号鍵、認証方式、認証鍵等の無線LAN通信を行うために必要な通信パラメータの自動設定を行う。
【0017】
203は通信に関する各種信号を受信する受信部である。ビーコン(報知信号)の受信は、受信部203によって行われる。204は通信に関する各種信号を送信する送信部である。ビーコンの送信は送信部204によって行われる。なおビーコンには送信元の機器の各種情報が付加される。205はプローブリクエストなどの検索信号の送信を制御する検索信号送信部である。なお、プローブリクエストは、所望のネットワークを検索するためのネットワーク検索信号である。プローブリクエストの送信は、検索信号送信部205により行われる。また、受信したプローブリクエストに対する応答信号であるプローブレスポンスの送信も検索信号送信部205により行われる。
【0018】
206は他の通信装置からのプローブリクエストなどの検索信号の受信を制御する検索信号受信部である。プローブリクエストの受信は、検索信号受信部206により行われる。また、プローブレスポンスの受信も検索信号受信部206により行われる。なお機器検索信号、及びその応答信号には、送信元の機器の各種情報が付加される。207は、ネットワーク接続を制御するネットワーク制御部である。無線LANネットワークへの接続処理などは、ネットワーク制御部207により実施される。
【0019】
通信パラメータの自動設定機能ブロック202において、208は相手機器より通信パラメータを受信(受理)する通信パラメータ受信部である。209は、通信パラメータ自動設定における各種プロトコルを制御する自動設定制御部である。210は相手機器へ通信パラメータを送信(提供)する通信パラメータ送信部である。211は、通信パラメータ記憶部であり、提供装置から提供を受けた通信パラメータまたは、自通信装置が提供装置となる場合に提供を行う通信パラメータを記憶する。なお、通信パラメータ記憶部211は、記憶した設定済パラメータを用いる通信が終了した際に、当該パラメータを破棄するようにしてもよい。また、パラメータの破棄は、記憶してから一定時間経過後や、通信装置の電源オフ時等に実行されてもよいし、明示的に削除を指示しない限り実行されないようにしてもよい。
【0020】
212は、WPA認証処理部であり、IEEE802.11i規格に定められたオーセンティケータ(Authenticator)機能をつかさどる。213は、WPA被認証処理部であり、IEEE802.11i規格に定められたサプリカント(Supplicant)機能をつかさどる。通信装置がインフラストラクチャネットワークのアクセスポイントと接続する場合は、WPA被認証処理部213のみを使用する。しかしアドホックネットワークを用いて接続する場合は、通信装置はWPA認証処理部212およびWPA被認証処理部213の両方を使用する。
【0021】
ここで、WPA(Wi-Fi Protected Access)について説明する。WPAには認証サーバを用いて認証サーバから暗号鍵を取得するWPA−802.1Xと、通信装置間で同一の暗号鍵を設定するWPA−PSKの二つがある。本実施形態においては、WPA−PSKを用いる場合について述べるため、WPA−PSKについて説明する。WPA−PSKは、IEEE802.11iおよびWPAにおいて規格化されており、IBSS(Independent Basic Service Set)モードにおける動作方法についても規定されている。なお、IBSSモードとは、アドホックモードである。
【0022】
ここで、通信パラメータ自動設定処理が終了した通信装置Aと通信装置Bが存在する場合についての、WPA−PSKの動作例について説明する。通信パラメータ自動設定処理が完了した後、自動的、又はユーザ操作によって、通信装置Aと通信装置Bとの間で、自動設定された通信パラメータを用いて通信接続処理が実行される。まず、通信装置Aと通信装置Bは互いに相手を検索する。互いが認識できた場合は、通信装置Aと通信装置BのうちMACアドレスの大きなものがオーセンティケータとなり、他方がサプリカントとなる。そして、通信装置Aと通信装置Bとの間で一度目の4ウェイハンドシェイクおよびグループキーハンドシェイクが実行される。なお、4ウェイハンドシェイクとは、オーセンティケータとサプリカントとの間で乱数のやり取りを行い、事前共有鍵に基づいてペアワイズ鍵と呼ばれるユニキャストパケットの暗号鍵をセッション毎に生成する仕組みである。一方、グループキーハンドシェイクは、オーセンティケータが保有しているマルチキャストパケットやブロードキャストパケットの暗号鍵を、サプリカントへ送信する仕組みである。その後、オーセンティケータとサプリカントの役割を交換して、再度4ウェイハンドシェイクとグループキーハンドシェイクを実施する。以上により通信装置Aと通信装置Bとの間で通信が可能となる。詳細については、IEEE802.11i仕様書および、非特許文献1に記載されているため参照されたい。
【0023】
214は、通信暗号制御部であり、認証処理完了後の暗号鍵の管理等を行う。215は通信暗号記憶部であり、通信装置が通信相手ごとに暗号鍵を変える場合などに、それぞれの暗号鍵を通信相手のMACアドレス等に紐づけて記憶する。
【0024】
なお、全ての機能ブロックはソフトウェアもしくはハードウェア的に相互関係を有するものである。また、上記機能ブロックは一例であり、複数の機能ブロックが1つの機能ブロックを構成するようにしてもよいし、何れかの機能ブロックが更に複数の機能を行うブロックに分かれてもよい。
【0025】
(システム構成)
図3は、通信装置A32(以下、装置A)、通信装置B33(以下、装置B)、通信装置C34(以下、装置C)、およびネットワークN31(以下、ネットワークN)を示した図である。装置A〜Cは、先に説明した図1、図2の構成を有している。
【0026】
本実施形態においては、装置Aと装置Bがアドホックモードで直接通信することによりネットワークNを形成し、ネットワークNに装置Cが接続する場合について説明する。なお、装置CはネットワークNに接続するための通信パラメータをすでに保持しているものとする。また、ネットワークNはWPA―PSK又はWPA2−PSKによる認証処理を行い、TKIPまたはAESによる暗号通信を行うものとする。WPA−PSKとWPA2−PSKはWPAのバージョンの違いであり、認証および鍵交換の大まかなメカニズムに差はない。
【0027】
(システムの動作)
本実施形態においては、複数の通信装置が第1の接続形態としてアドホックモードで互いに直接通信しているときに、新たにネットワークに参加を希望する通信装置が現れた場合の処理を説明する。具体的には、第1の接続形態である基地局を介さずに通信装置同士が直接通信を行うアドホックモードから、第2の接続形態である基地局が形成するネットワークにおいて通信を行うインフラストラクチャモードへ使用する接続形態の切替を実行する。また、その際、インフラストラクチャモードでは、基地局、すなわちアクセスポイントとして機能する通信装置が必要となるため、アクセスポイント機能を実行する通信装置を選択する。以下では、これらの処理についての具体的な動作について説明する。
【0028】
図4は、本実施形態に係る、装置A、装置Bおよび装置Cの動作を示すシーケンス図である。装置A、装置B及び装置Cはすでに接続のためのパラメータは共有しており、それぞれの装置における通信パラメータ記憶部211には、同様の通信パラメータが記憶されているとする。
【0029】
まず、本シーケンスの初期的な状態として、装置Aが通信パラメータ記憶部211に記憶されている通信パラメータを用いて、アドホックモードでネットワークNを形成している。そこに装置Bが同一の通信パラメータを用いて、当該ネットワークNへ接続を試みる。アドホックネットワークは、通信装置がビーコン信号を持ち回りで送信することで確立される。このため、装置Bがアドホックネットワークへ接続を行う場合、装置Bから装置Aへビーコン信号が送信し(F401)、装置Aは装置Bからのビーコン信号を検知する(F402)。
【0030】
装置Aによる装置Bからのビーコン信号の検知を契機に、装置Aと装置Bとの間で鍵交換処理を行う。具体的には、まず、装置Aをオーセンティケータ、装置Bをサプリカントとして、4ウェイハンドシェイク処理を実行する(F403)。F403の4ウェイハンドシェイクの完了後、役割を反転し、装置Aをサプリカント、装置Bをオーセンティケータとして、2回目の4ウェイハンドシェイク処理を実行する(F404)。F403およびF404の完了により、装置Aと装置Bは暗号鍵を共有し、互いに通信することが可能となる。なお、通信の開始の契機は、装置Aによる装置Bのビーコン信号の検知ではなく、ユーザによる接続開始指示であってもよい。
【0031】
この状況で、装置Aと装置Bとで形成しているネットワークNに、3台目の端末(装置C)が参加を試みる。具体的には、装置Cはビーコン信号をブロードキャスト送信する(F405)。ここで、装置Aが装置Cから送信されたビーコン信号を検知したものとする(F406)。装置Aは、装置Cからのビーコン信号を検知すると、ネットワークNへ接続している、又は接続しようとしている通信装置の台数を検出する(F407)。なお、ここでは、ビーコン信号を検知したときにネットワークNへ接続している、又は接続しようとしている通信装置の台数を検出しているが、予めネットワークNへ接続している通信装置の台数を把握しておいてもよい。この場合、以下の処理では、ネットワークNへ接続している通信装置の台数が所定数であるときに、新たにネットワークNへ接続要求する通信装置がいたか否かを判定する。
【0032】
F407で検出された通信装置の台数が、所定数以上と判定された場合について検討する。検出した通信装置の台数が所定数以上であった場合、ネットワークNはアドホックネットワークであるよりも、インフラストラクチャネットワークであることが望ましい。このため、ネットワークNをインフラストラクチャネットワークへの切替処理を実行する。具体的には、まず、装置Aは、役割決定モードへ遷移する(F408)。役割決定モードでは、ネットワークNに所属する通信装置のうち、どの通信装置がアクセスポイントとして動作するべきかを決定する。
【0033】
装置Aは、その後、ネットワークNに所属する通信装置の各々へ、装置Aが役割決定モードに遷移したことを通知する。本実施形態の場合、ネットワークNに所属しているのは装置Aと装置Bの2つであるため、装置Aは装置Bへ向けて遷移通知を送信する(F409)。また、F409と同時に、新規にネットワークNへの参加を試みている装置Cへも遷移通知を送信する(F410)。
【0034】
装置Bは、装置Aからの遷移通知を受信すると、役割決定モードに遷移する(F411)。装置Aと装置Bの双方が役割決定モードに遷移すると、装置Aと装置Bの間でネゴシエーションを行い、どちらの装置がアクセスポイント機能を実行するかの役割決定処理を行う(F412)。役割決定処理においては、通信装置の機能による評価や、通信装置の固有識別子(例えばMACアドレスや、UUIDなどの機器固有情報)による評価などを行い、どちらの機器がアクセスポイントとして動作するかを選択する。アクセスポイント機能を実行しない装置については、ステーション機能を実行するものとする。役割決定処理(F412)において、例えば、装置Aの役割をアクセスポイントと決定(F413)し、装置Bの役割をステーションと決定(F414)する。
【0035】
装置Cにおいても、遷移通知F410によりネットワークNがアドホックネットワークからインフラストラクチャネットワークに遷移することが通知されている。このため、インフラストラクチャネットワークであるネットワークNに参加するため、装置Aとの間でアソシエーションを行う(F415)。装置Aと装置Cとの間では、アソシエーション完了後、4ウェイハンドシェイクを行う(F416)。ここで実施する4ウェイハンドシェイクは、インフラストラクチャネットワークとしての4ウェイハンドシェイクであるため、F403やF404とは異なり1回のみ実行される。
【0036】
図3と図4を用いて、2つの装置から構成されているネットワークに3台目の通信装置が参加する場合について説明した。次に、3台の通信装置から構成されたネットワークに4台目の通信装置が参加する場合についても説明する。
【0037】
図5は、通信装置A32(以下、装置A)、通信装置B33(以下、装置B)、通信装置C34(以下、装置C)、通信装置D55(以下、装置D)およびアドホックネットワークN31(以下、ネットワークN)を示した図である。これら全ての装置は、先に説明した図1、図2の構成を有している。
【0038】
図6は、本実施形態における装置A、装置B、装置Cおよび装置Dのシーケンス図である。本シーケンス図における全ての通信装置(装置Aから装置D)は接続のためのパラメータを共有しており、それぞれの装置における通信パラメータ記憶部211には、同一の通信パラメータが記憶されているとする。
【0039】
まず、本シーケンスの初期的な状態として、装置Aが通信パラメータ記憶部211に記憶されている通信パラメータを用いて、アドホックネットワークを形成している。そこに装置Bが同一の通信パラメータを用いて、当該アドホックネットワークへ接続を行う。アドホックネットワークは、通信装置がビーコン信号を持ち回りで送信することで確立される。このため、装置Bがアドホックネットワークへ接続を行う場合、装置Bから装置Aへビーコン信号が送信される(F601)。装置Aは装置Bからのビーコン信号を検知する(F602)。
【0040】
装置Aによる装置Bからのビーコン信号の検知を契機に、装置Aと装置Bとの間で鍵交換処理を行う。具体的には、まず、装置Aをオーセンティケータ、装置Bをサプリカントとして、1回目の4ウェイハンドシェイク処理を実行する。1回目の4ウェイハンドシェイクの完了後、役割を反転し、装置Aをサプリカント、装置Bをオーセンティケータとして、2回目の4ウェイハンドシェイク処理を実行する(F603)。F603における2回の4ウェイハンドシェイクの完了により、装置Aと装置Bは暗号鍵を共有できるため、互いに通信することが可能となる。
【0041】
ここまでで装置Aと装置BとでネットワークNが形成されている。ここで、3台目の端末(装置C)がネットワークNへ参加するとする。装置Cは、ネットワークNに接続を試みる。装置Cはビーコン信号をブロードキャスト送信する(F604)。装置Cが送信したビーコン信号を装置Aおよび装備Bが検出することにより、それぞれが4ウェイハンドシェイクを2回ずつ実行する(F605、F606)。これにより装置A、装置Bおよび装置Cの3者間でネットワークNが形成される。
【0042】
引き続き、ネットワークNに4台目の通信装置(装置D)が参加する場合について説明する。装置DがネットワークNに接続要求を送信する。具体的には、装置Dはビーコン信号をブロードキャスト送信し(F607)、当該ビーコン信号を例えば装置Aが検知する(F608)。装置Aは、装置Dからのビーコン信号を検知すると、ネットワークNへ接続している、又は接続しようとしている通信装置の台数を判定する(F609)。F609の判定により、通信装置の台数が、あらかじめ定めた台数を超過した場合について考える。台数が超過した場合、ネットワークNはアドホックネットワークであるよりも、インフラストラクチャネットワークであることが望ましい。このため、装置Aは役割決定モードに遷移する(F610)。
【0043】
装置Aは、その後、ネットワークNに所属する通信装置の各々へ、装置Aが役割決定モードに遷移したことを通知する。本実施形態の場合、ネットワークNに所属しているのは装置A、装置B及び装置Cの3つであるため、装置Aは装置B及び装置Cへ向けて遷移通知を送信する(F611)。また、F611と同時に、新規にネットワークNへの参加を試みている装置Dへ向けても遷移通知を送信する(F612)。
【0044】
装置Bは、装置Aからの遷移通知を受信すると、役割決定モードに遷移する。そして、装置Aと装置Bの間でネゴシエーションを行い、装置Aと装置Bのどちらがアクセスポイント機能を実行するかの役割決定処理を行う(F613)。また、装置Cにおいても装置Bと同様に、役割決定モードに遷移し、装置Aと装置Cとの間でネゴシエーションを行い、アクセスポイント機能を実行する装置を選択する(F614)。なお、ここでは、F613およびF614に示した役割決定処理によって、装置Aがアクセスポイント機能を実行すると決定したとする(F615)。この場合は、他の通信装置はステーション機能を実行する(F616,F617)。
【0045】
装置Dにおいても、遷移通知F612によりネットワークNがアドホックネットワークからインフラストラクチャネットワークに遷移することが通知されている。このため、装置Aとの間でアソシエーションを行う(F618)。装置Aと装置Dとの間では、アソシエーション完了後、4ウェイハンドシェイクを行う(F619)。ここで実施する4ウェイハンドシェイクは、インフラストラクチャネットワークとしての4ウェイハンドシェイクであるため、F603,F605、およびF606のように2回実施することはなく1回のみ実行される。
【0046】
以上、通信装置が4台存在した場合の処理について説明した、5台以上となった場合についても同様である。
【0047】
(通信装置の動作)
引き続き、通信装置の内部処理について説明する。図7は、通信装置における通信接続処理時の処理フローを示した図である。
【0048】
通信装置はまず、アドホックネットワークに参加するため、ビーコン信号を送信する(S701)。ビーコン信号には、自身の所属するネットワークのネットワーク識別子(例えば、ESSIDやBSSIDなど)、ネットワークの認証情報、及び暗号情報(例えば、WPAIEやRSNIEなど)が付与されていてもよい。S701においてネットワークへの参加およびネットワークの新規構築ができる。続いて、自装置と同一のネットワーク識別子を持つビーコン信号を受信したか否かを確認する(S702)。同一のネットワーク識別子を持つビーコン信号を受信しなかった場合(S702でNo)は、再度ビーコンの送信(S701)を繰り返す。
【0049】
同一の識別子を持つビーコン信号を受信した場合(S702でYes)、ネットワークに参加を試みる通信装置が存在すると判定できる。このため、ネットワークに参加している装置及びネットワークに参加を試みる装置を検出し、その台数があらかじめ定めた閾値を超えたかどうかを判定する(S703)。
【0050】
検出した装置の台数が閾値を超えていない場合は(S703でNo)、ビーコン報知を繰り返す(S701)。検出した装置の台数が閾値を超えた場合は(S703でYes)、ネットワークNをアドホックネットワークからインフラストラクチャネットワークへの切替のため役割決定モードへ遷移する(S704)。
【0051】
通信装置は、役割決定モードへ遷移後、ネットワークNに参加中の通信装置、及びネットワークへ参加を試みている通信装置へ、役割決定モードへ遷移したことを通知する(S705)。各通信装置へ通知後、役割決定処理を実行する(S706)。役割決定処理により、どの通信装置がアクセスポイントとして機能するかの選択が行われる。なお、アクセスポイント機能を実行しない装置は、ステーション機能のみを実行する。
【0052】
役割決定処理が完了すると、自装置の役割がアクセスポイントであるか否かを判定する(S707)。自装置がアクセスポイント機能を実行する場合(S707でYes)、ビーコンの内容を変更する(S709)。すなわち、役割決定処理以前のビーコン信号は自装置がアドホックネットワークを構築していることを示す識別情報を付与したものであるため、この付与する識別情報を変更する。具体的には、通信装置は、アクセスポイント機能を実行した後は、インフラストラクチャネットワークのアクセスポイントであることを示す識別情報を付与するように、ビーコン信号を変更する。ビーコン情報の変更後、ステーションの受け入れを開始する(S710)。これによりアクセスポイントとして、ステーション機能を実行する装置との間の通信を確立することが可能となる。
【0053】
一方、アクセスポイント機能を実行しない、すなわちステーション機能のみの実行の場合は(S707でNo)、ビーコン信号の報知を停止する(S708)。これは、アドホックネットワークを構築している場合は、ネットワークを構成している各通信装置がビーコンを持ち回りで送信するが、インフラストラクチャネットワークでのステーションはビーコンを送信する必要がないからである。
【0054】
上述のS708、又はS709及びS710の各ステップの完了後、通信装置は、それまでにアドホックネットワークとして保有していた暗号鍵をインフラストラクチャネットワーク用に変更する(S711)。具体的には、アドホックネットワークでは各通信装置が、それぞれの通信相手ごとにユニキャスト暗号鍵とグループ暗号鍵を保有するが、これを変更する。アクセスポイント機能を実行する通信装置は、通信相手ごとのユニキャスト暗号鍵はそのまま保持し、グループ暗号鍵は自通信装置のものだけ保持してそれ以外は破棄する。ステーション機能を実行する通信装置は、アクセスポイント機能を実行する装置のユニキャスト暗号鍵とグループ暗号鍵だけを保持し、それ以外の暗号鍵はすべて破棄する。
【0055】
このように、本実施形態では、ネットワークを構成する通信装置が増加した場合に、各通信装置間でネゴシエーションを行い、ある一つの通信装置をアクセスポイントとして決定する。これにより、通信装置の各々において、暗号鍵の保有方式および交換方式を変更し、処理負荷を軽減することが可能となる。
【0056】
<<実施形態2>>
実施形態1では、ネットワークへの参加を試みる通信装置を検出した場合に、既存のネットワークを構成する通信装置間で役割決定処理を実行する場合について説明した。本実施形態においては、ネットワークへの参加を試みる通信装置を検出した通信装置が、速やかにアクセスポイント機能を実行する場合について説明する。なお、通信装置のハードウェア構成、ソフトウェア構成および、ネットワーク構成については実施形態1と同様である。
【0057】
(システムの動作)
図8は、本実施形態における装置A、装置Bおよび装置Cの動作に関するシーケンス図である。装置A、装置Bおよび装置Cは接続のためのパラメータをすでに共有しており、それぞれの装置における通信パラメータ記憶部211には、同一の通信パラメータが記憶されているとする。なお、本シーケンスにおいて、F407までの動作は、図4と同様であるため、同一の動作をするものについては同一の符号を付して説明を省略する。
【0058】
本実施形態においては、装置AがF407で検出された通信装置の台数が所定数以上であったと判定した場合、装置Aは、自らが実行する機能をインフラストラクチャネットワークのアクセスポイントの機能へと変更する(F801)。そして、装置Aは、アクセスポイントモードに遷移したことを、ネットワークNに所属する通信装置の各々へ通知することにより、使用するネットワークをアドホックネットワークからインフラストラクチャネットワークへ切り替える。本実施形態の場合、ネットワークNに所属しているのは装置Aと装置Bの2つであるため、装置Aは装置Bへ向けて遷移通知を送信する(F802)。また、F802と同時に、ネットワークNへの参加を試みている装置Cへ向けても遷移通知を送信する(F803)。
【0059】
装置Bは、装置Aからの遷移通知を受信すると、自らが実行する機能をステーションモードへと変更する(F803)。装置Cは、遷移通知F804によりネットワークNがアドホックネットワークからインフラストラクチャネットワークに遷移したことが通知されているため、装置Aとの間でアソシエーションを実行する(F805)。装置Aと装置Cとの間では、アソシエーション完了後、4ウェイハンドシェイクを行う(F806)。
【0060】
続いて、図9を用いて、3台の通信装置から構成されたネットワークに4台目の通信装置が参加する場合についても説明する。ネットワーク構成図は図5と同様である。
【0061】
図9は、本実施形態における装置A、装置B、装置Cおよび装置Dのシーケンス図である。本シーケンス図における全ての通信装置(装置Aから装置D)は接続のためのパラメータを共有しており、それぞれの装置における通信パラメータ記憶部211には、同一の通信パラメータが記憶されているとする。なお、本シーケンスにおいて、F609までの動作は、図6と同様であるため、同一の動作をするものについては同一の符号を付して説明を省略する。
【0062】
本実施形態においては、装置AがF609で検出された通信装置の台数が所定数以上であったと判定した場合、装置Aは、自らの動作モードをインフラストラクチャネットワークのアクセスポイントモードへと変更する(F901)。そして、装置Aは、アクセスポイントモードに遷移したことをネットワークNに所属する通信装置の各々へ通知する。本実施形態の場合、ネットワークNに所属しているのは装置A、装置B及び装置Cの3つであるため、装置Aは装置Bおよび装置Cへ向けて遷移通知を送信する(F902)。また、F902の遷移通知と同時に、ネットワークNへの参加を試みている装置Dへ向けても遷移通知を送信する(F903)。
【0063】
装置Bは、装置Aからの遷移通知を受信すると、自らの動作モードをステーションモードに切り替える(F905)。装置Cも装置Bと同様に、ステーションモードに遷移する(F904)。装置Dは、遷移通知F903によりネットワークNがアドホックネットワークからインフラストラクチャネットワークに遷移したことを把握している。このため、装置Dは装置Aとの間でアソシエーションを行う(F906)。装置Aと装置Dとの間では、アソシエーションが完了した後に、4ウェイハンドシェイクが実行される(F907)。
【0064】
以上、通信装置が4台存在した場合の処理について説明した、5台以上となった場合についても同様である。
【0065】
(通信装置の動作)
引き続き、通信装置の内部処理について説明する。図10は、本実施形態に係る通信装置における通信接続処理時の処理フローを示した図である。なお、図7と共通する個所については、同一の番号を付して説明を省略する。
【0066】
S703において検出した装置の台数が閾値を超えた場合は(S703でYes)、ネットワークNをアドホックネットワークからインフラストラクチャネットワークに切り替えるため、自装置の動作モードをアクセスポイントモードへ変更する(S1001)。通信装置は、動作モードの変更後、アクセスポイントモードへ遷移したことをネットワークNに参加している通信装置の各々へ通知する(S1002)。
【0067】
以降の処理は、図7において、自装置の役割がAPとなった場合(S707でYes)と同様である。すなわち、ビーコンの内容を変更し(S709)、ステーションの受け入れを開始し(S710)、保有していた暗号鍵をインフラストラクチャモード用へ変更する(S711)。
【0068】
本実施形態では、ネットワークを構成する通信装置が増加した場合に、通信装置が増加したことを最初に検知した通信装置をアクセスポイントとする。これにより、容易かつ高速に暗号鍵の保有方式および交換方式を変更し処理負荷を軽減することが可能となる。また、役割決定処理がないため、迅速に使用するネットワークをアドホックネットワークからインフラストラクチャネットワークへの切替が可能となる。
【0069】
<<実施形態3>>
本実施形態においては、あらかじめ決定済みのルールに従ってアクセスポイント機能を起動する通信装置を決定する場合について説明する。
【0070】
(システムの動作)
図11は、本実施の形態における装置A、装置Bおよび装置Cの動作のシーケンス図である。図4と同様の動作をする個所には、同一の符号を付して説明を省略する。なお、装置A、装置Bおよび装置Cは、図4の場合と同様、接続のためのパラメータを共有しており、それぞれの装置における通信パラメータ記憶部211には、同一の通信パラメータが記憶されているとする。
【0071】
本実施形態においては、装置AがF407で検出された通信装置の台数が所定数以上であったと判定した場合、予め定められたポリシに基づいて、インフラストラクチャネットワークに遷移した場合にアクセスポイントして動作する装置を決定する。例えば、装置固有識別子(例えばMACアドレスやUUIDなど)が最大のものをアクセスポイントとするとあらかじめ決定しておく。この場合、アドホックネットワークを構成している通信装置の中から、最大の装置固有識別子を有するものを検索する(F1101)。F1101による検索の結果、アクセスポイントとして動作するべき通信装置に向けて、アクセスポイント機能起動指示信号を送信する(F1102)。
【0072】
装置Bは、装置Aからのアクセスポイント機能起動指示信号を受信すると、動作モードをアクセスポイントモードに変更する(F1103)。装置Bは、自装置の動作モードをアクセスポイントモードに変更したことを示す遷移通知を、各通信装置にブロードキャストで通知する(F1104)。なお、ここで装置Bが送信する信号を遷移通知と述べたが、周囲の通信装置にインフラストラクチャネットワークが存在することを通知できる信号であればよく、例えばビーコン信号であってもよい。
【0073】
装置Aは、遷移通知を受信すると、自装置の動作モードをステーションモードに変更する(F1105)。一方、装置Cは、遷移通知F1104によりネットワークNがアドホックネットワークからインフラストラクチャネットワークに遷移することを把握している。このため、装置Bとの間でアソシエーションを行う(F1106)。装置Bと装置Cとの間では、アソシエーションが完了後、4ウェイハンドシェイクが実行される(F1107)。
【0074】
続いて、図12を用いて、3台の通信装置から構成されたネットワークに4台目の通信装置が参加する場合について説明する。
【0075】
図12は、本実施の形態における装置A、装置B、装置Cおよび装置Dの動作を示すシーケンス図である。図6と同様の動作をする個所には、同一の符号を付して説明を省略する。本シーケンスにおける全ての通信装置(装置Aから装置D)は、図6の場合と同様、接続のためのパラメータを共有しており、それぞれの装置における通信パラメータ記憶部211には、同一の通信パラメータが記憶されているとする。
【0076】
本実施形態においては、装置AがF609で検出された通信装置の台数が所定数以上であったと判定した場合、図11のF1101と同様に、ポリシに基づいてアクセスポイントとして動作すべき装置を検索する(F1201)。F1201による検索の結果、アクセスポイント機能を担当するべき通信装置に向けて、アクセスポイント機能起動指示信号を送信する(F1202)。ここで、本実施形態においては、装置Cがアクセスポイントとして動作すべきと決定されたとする。
【0077】
装置Cは、装置Aからのアクセスポイント機能起動指示信号を受信すると、自らの動作モードをアクセスポイントモードに変更する(F1203)。そして、装置Cは自装置の動作モードをアクセスポイントモードに変更したことを示す遷移通知を、ネットワークに参加する装置にブロードキャスト送信により通知する(F1204)。
【0078】
装置Aは、遷移通知を受信すると、自装置の動作モードをステーションモードに変更する(F1206)。装置Bも同様に、自装置の動作モードをステーションモードに変更する(F1205)。一方、装置Dは、遷移通知F1204によりネットワークNがアドホックネットワークからインフラストラクチャネットワークに遷移することを把握している。このため、装置Dは、装置Cとの間でアソシエーションを行う(F1207)。装置Cと装置Dとの間では、アソシエーションの完了後、4ウェイハンドシェイクが実行される(F1208)。
【0079】
以上、通信装置が4台存在した場合の処理について説明した、5台以上となった場合についても同様である。
【0080】
(通信装置の動作)
引き続き、通信装置の内部処理について説明する。図13は、通信装置における通信接続処理時の処理フローを示した図である。なお、図7と共通する個所については、同一の番号を付して説明を省略する。
【0081】
S703において検出した装置の台数が閾値を超えた場合は(S703でYes)、ネットワークNをアドホックネットワークからインフラストラクチャネットワークに切り替えるため、アクセスポイント機能を実行する装置を検索する(S1301)。
【0082】
続いて、S1301により自装置がアクセスポイント機能を実行すべき装置であるか否かを判定する(S1302)。アクセスポイント機能を実行するとなった場合は(S1302でYes)、図7のS707でYesの場合と同様である。すなわち、ビーコンの内容を変更し(S709)、ステーションの受け入れを開始する(S710)。
【0083】
一方、S1302において、自装置がアクセスポイント機能を実行すべき装置でなかった場合(S1302でNo)は、アクセスポイント機能を実施すべき装置へアクセスポイント機能起動指示信号を送信する(S1303)。アクセスポイント機能起動指示信号の送信後、ステーション機能を起動し(S1304)、ビーコン信号の報知を停止する(S1305)。上述の処理完了後、それまでにアドホックネットワークとして保有していた暗号鍵をインフラストラクチャネットワーク用に変更する。これは図7のS711と同様の処理である。
【0084】
本実施形態では、ネットワークを構成する通信装置が増加した場合に、あらかじめ定めた論理により、識別子が最大の通信装置をアクセスポイントとする。これにより、複雑な処理を伴わずに、暗号鍵の保有方式および交換方式を変更し処理負荷を軽減することが可能となる。また、予め定めたポリシに基づいてアクセスポイントを決定するため、迅速にネットワークをアドホックネットワークからインフラストラクチャモードへ変更できると共に、適切な通信装置をアクセスポイントとすることができる。
【0085】
<<実施形態4>>
本実施形態においては、各通信装置が通信パラメータをあらかじめ保有しておらず、通信の都度ごとに、通信に先立って通信パラメータ自動設定を行う場合について説明する。図14は、本実施形態における装置A、装置Bおよび装置Cの動作を示すシーケンス図である。本実施形態においては上述の実施形態1から3までとは異なり、あらかじめ通信パラメータは設定されていないものとする。
【0086】
まず、装置Aと装置BとでネットワークNを形成するために、装置Bにて設定ボタン106を押下する(F1401)。引き続き、装置Aにて設定ボタン106を押下する(F1402)。その後、装置Aと装置Bとの間で通信パラメータの自動設定における役割を決定する(F1403)。役割決定処理の結果、装置Aが通信パラメータ受信装置となり(F1405)、装置Bが通信パラメータ提供装置となったものとする(F1404)。
【0087】
続いて、装置Aと装置Bとの通信パラメータ設定の役割に基づいて、両者の間でWPSパラメータ交換処理が実行される(F1406)。WPSパラメータ交換処理はWi−Fiアライアンスにて規定されている標準技術(WPS:Wi−Fi Protected Setup)である(非特許文献2等参照)。本実施形態においては、通信パラメータ提供装置である装置Aがレジストラ(Registrar)機能を実行し、通信パラメータ受信装置である装置Bがエンローリ(Enrollee)機能を実行する。
【0088】
F1406により装置Aと装置Bとで通信パラメータが共有されると、実施形態1から3までと同様に、装置Aと装置Bとの間で鍵交換処理を行う。まず、装置Aをオーセンティケータ、装置Bをサプリカントとして、1回目の4ウェイハンドシェイク処理を実施する。1回目の4ウェイハンドシェイクの完了後、役割を反転(装置Aをサプリカント、装置Bをオーセンティケータ)として、2回目の4ウェイハンドシェイク処理を実施する(F1407)。これにより、装置Aと装置Bとの間にネットワークNが構築される。
【0089】
ここで、このネットワークNに3台目の端末(装置C)が参加することを考える。この場合、装置Aにおいて、設定ボタン106が押下され(F1408)、引き続き、装置Cにおいて設定ボタン106が押下される(F1409)。その後、装置Aと装置Cとの間で通信パラメータの自動設定における役割を決定する(F1410)。役割決定処理の結果、装置Aが通信パラメータ受信装置となり(F1411)、装置Cが通信パラメータ提供装置となったものとする(F1412)。
【0090】
続いて、装置Aと装置Cとの通信パラメータ設定の役割に基づいて、両者の間でWPSパラメータ交換処理を実施する(F1413)。WPSパラメータ交換処理は、前述したとおりである。F1413により装置Aと装置Cとで通信パラメータが共有される。
【0091】
本実施形態において、これ以降は、実施形態2における図8のF407以降の処理と同様とする。このため、以下の動作については、図8における同一の動作をするものと同一の符号を付して説明を省略する。
【0092】
なお、本実施形態においては、装置Aと装置Cのパラメータ交換後の処理は実施形態2の図8のシーケンスのS407以降に準じると述べたが、実施形態1又は3のシーケンスの後半と同様の処理にしてもよい。さらに、パラメータ交換後に、アドホックネットワークからインフラストラクチャネットワークに変更するかを判断しているが、パラメータ交換時に、通信台数を評価してネットワーク変更処理を実施してもよい。
【0093】
本実施形態のように、通信パラメータ設定処理も含めて、ネットワークをアドホックネットワークからインフラストラクチャネットワークに変更することで、暗号鍵の保有方式および交換方式を変更し処理負荷を軽減することが可能となる。
【0094】
<<その他の実施形態>>
上記説明はIEEE802.11準拠の無線LANを例に説明した。しかしながら、本発明は、ワイヤレスUSB、MBOA、Bluetooth(登録商標)、UWB、ZigBee等の他の無線媒体に適用してもよい。また、有線LAN等の有線通信媒体に適用してもよい。ここで、MBOAは、Multi Band OFDM Allianceの略である。また、UWBは、ワイヤレスUSB、ワイヤレス1394、WINETなどが含まれる。
【0095】
なお、上述の処理の説明においては、通信装置が自らが接続しているネットワークへ参加する、又は参加しようとする他の通信装置の数が所定数を超えた場合に自動的に接続形態を変更していた。この接続形態の切替は、ユーザからの指定によって行われてもよい。すなわち、ユーザにより、入力部109を介して、接続形態の切替の指定があった場合、ネットワークへの通信装置の接続台数によらず、強制的に接続形態を切り替えてもよい。
【0096】
また、通信パラメータとしてネットワーク識別子、暗号方式、暗号鍵、認証方式、認証鍵を例にしたが、他の情報であってもよいし、他の情報も通信パラメータには含まれるようにしてもよいことは言うまでも無い。
【0097】
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
【特許請求の範囲】
【請求項1】
基地局を含まないネットワークにおいて通信相手と直接通信を行う第1の接続形態と、通信相手もしくは他の通信装置または自らのいずれかを基地局として、当該基地局が形成するネットワークにおいて通信相手と通信を行う第2の接続形態との一方を使用してネットワークへ接続して通信を行う通信装置であって、
前記通信装置が接続しているネットワークへ接続する他の装置の台数を検出する検出手段と、
検出した他の装置の台数に基づいて、前記第1の接続形態と前記第2の接続形態とから、使用すべき接続形態を決定する決定手段と、
使用している接続形態と決定された接続形態とが異なる場合に、接続形態を当該決定された接続形態に切り替える切替手段と、
を備えることを特徴とする通信装置。
【請求項2】
前記決定手段は、検出した他の装置の台数が所定数以上である場合は、使用する接続形態を前記第2の接続形態として決定することを特徴とする請求項1に記載の通信装置。
【請求項3】
前記決定手段は、検出した他の装置の台数が所定数より少ない場合は、使用する接続形態を前記第1の接続形態として決定することを特徴とする請求項1又は2に記載の通信装置。
【請求項4】
前記決定手段は、前記通信装置が接続しているネットワークへ新たな他の通信装置からの接続要求があった場合に、使用する接続形態を決定することを特徴とする請求項1から3のいずれか1項に記載の通信装置。
【請求項5】
前記決定手段において、使用する接続形態を前記第2の接続形態として決定した場合に、前記他の装置との間におけるネゴシエーションに基づいて、当該他の装置と前記通信装置との間から、前記第2の接続形態における前記基地局を選択する選択手段をさらに備えることを特徴とする請求項1から4のいずれか1項に記載の通信装置。
【請求項6】
前記決定手段において、使用する接続形態を前記第2の接続形態として決定した場合に、前記通信装置を前記第2の接続形態における基地局に遷移させる遷移手段をさらに備えることを特徴とする請求項1から4のいずれか1項に記載の通信装置。
【請求項7】
前記決定手段において、使用する接続形態を前記第2の接続形態として決定した場合に、所定のポリシに基づいて、前記他の装置と前記通信装置との間から前記第2の接続形態における前記基地局を選択する選択手段をさらに備えることを特徴とする請求項1から4のいずれか1項に記載の通信装置。
【請求項8】
前記他の装置が前記基地局として選択された場合に、その旨を当該他の装置へ通知する通知手段をさらに備えることを特徴とする請求項7に記載の通信装置。
【請求項9】
通信の確立に先立って、通信に用いる通信パラメータを通信相手と交換する交換手段をさらに備え、
前記検出手段は、前記通信パラメータの交換の実行の際に、自らが接続するネットワークへ接続する他の装置の台数を検出することを特徴とする請求項1から8のいずれか1項に記載の通信装置。
【請求項10】
前記決定手段は、ユーザ操作による指定があった場合に、検出した他の装置の台数によらず、ユーザの操作に応じて前記第1の接続形態と前記第2の接続形態とから使用する接続形態を決定することを特徴とする請求項1から9のいずれか1項に記載の通信装置。
【請求項11】
基地局を含まないネットワークにおいて通信相手と直接通信を行う第1の接続形態と、通信相手もしくは他の通信装置または自らのいずれかを基地局として、当該基地局が形成するネットワークにおいて通信相手と通信を行う第2の接続形態との一方を使用してネットワークへ接続して通信を行う通信装置における制御方法であって、
検出手段が、前記通信装置が接続しているネットワークへ接続する他の装置の台数を検出するステップと、
決定手段が、検出した他の装置の台数に基づいて、前記第1の接続形態と前記第2の接続形態とから、使用すべき接続形態を決定するステップと、
切替手段が、使用している接続形態と決定された接続形態とが異なる場合に、接続形態を当該決定された接続形態に切り替えるステップと、
を備えることを特徴とする制御方法。
【請求項12】
請求項11に記載の制御方法の各ステップをコンピュータに実行させるためのプログラム。
【請求項1】
基地局を含まないネットワークにおいて通信相手と直接通信を行う第1の接続形態と、通信相手もしくは他の通信装置または自らのいずれかを基地局として、当該基地局が形成するネットワークにおいて通信相手と通信を行う第2の接続形態との一方を使用してネットワークへ接続して通信を行う通信装置であって、
前記通信装置が接続しているネットワークへ接続する他の装置の台数を検出する検出手段と、
検出した他の装置の台数に基づいて、前記第1の接続形態と前記第2の接続形態とから、使用すべき接続形態を決定する決定手段と、
使用している接続形態と決定された接続形態とが異なる場合に、接続形態を当該決定された接続形態に切り替える切替手段と、
を備えることを特徴とする通信装置。
【請求項2】
前記決定手段は、検出した他の装置の台数が所定数以上である場合は、使用する接続形態を前記第2の接続形態として決定することを特徴とする請求項1に記載の通信装置。
【請求項3】
前記決定手段は、検出した他の装置の台数が所定数より少ない場合は、使用する接続形態を前記第1の接続形態として決定することを特徴とする請求項1又は2に記載の通信装置。
【請求項4】
前記決定手段は、前記通信装置が接続しているネットワークへ新たな他の通信装置からの接続要求があった場合に、使用する接続形態を決定することを特徴とする請求項1から3のいずれか1項に記載の通信装置。
【請求項5】
前記決定手段において、使用する接続形態を前記第2の接続形態として決定した場合に、前記他の装置との間におけるネゴシエーションに基づいて、当該他の装置と前記通信装置との間から、前記第2の接続形態における前記基地局を選択する選択手段をさらに備えることを特徴とする請求項1から4のいずれか1項に記載の通信装置。
【請求項6】
前記決定手段において、使用する接続形態を前記第2の接続形態として決定した場合に、前記通信装置を前記第2の接続形態における基地局に遷移させる遷移手段をさらに備えることを特徴とする請求項1から4のいずれか1項に記載の通信装置。
【請求項7】
前記決定手段において、使用する接続形態を前記第2の接続形態として決定した場合に、所定のポリシに基づいて、前記他の装置と前記通信装置との間から前記第2の接続形態における前記基地局を選択する選択手段をさらに備えることを特徴とする請求項1から4のいずれか1項に記載の通信装置。
【請求項8】
前記他の装置が前記基地局として選択された場合に、その旨を当該他の装置へ通知する通知手段をさらに備えることを特徴とする請求項7に記載の通信装置。
【請求項9】
通信の確立に先立って、通信に用いる通信パラメータを通信相手と交換する交換手段をさらに備え、
前記検出手段は、前記通信パラメータの交換の実行の際に、自らが接続するネットワークへ接続する他の装置の台数を検出することを特徴とする請求項1から8のいずれか1項に記載の通信装置。
【請求項10】
前記決定手段は、ユーザ操作による指定があった場合に、検出した他の装置の台数によらず、ユーザの操作に応じて前記第1の接続形態と前記第2の接続形態とから使用する接続形態を決定することを特徴とする請求項1から9のいずれか1項に記載の通信装置。
【請求項11】
基地局を含まないネットワークにおいて通信相手と直接通信を行う第1の接続形態と、通信相手もしくは他の通信装置または自らのいずれかを基地局として、当該基地局が形成するネットワークにおいて通信相手と通信を行う第2の接続形態との一方を使用してネットワークへ接続して通信を行う通信装置における制御方法であって、
検出手段が、前記通信装置が接続しているネットワークへ接続する他の装置の台数を検出するステップと、
決定手段が、検出した他の装置の台数に基づいて、前記第1の接続形態と前記第2の接続形態とから、使用すべき接続形態を決定するステップと、
切替手段が、使用している接続形態と決定された接続形態とが異なる場合に、接続形態を当該決定された接続形態に切り替えるステップと、
を備えることを特徴とする制御方法。
【請求項12】
請求項11に記載の制御方法の各ステップをコンピュータに実行させるためのプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【公開番号】特開2013−26981(P2013−26981A)
【公開日】平成25年2月4日(2013.2.4)
【国際特許分類】
【出願番号】特願2011−162452(P2011−162452)
【出願日】平成23年7月25日(2011.7.25)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.ZIGBEE
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
【公開日】平成25年2月4日(2013.2.4)
【国際特許分類】
【出願日】平成23年7月25日(2011.7.25)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.ZIGBEE
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
[ Back to top ]