以下に、本発明を実施するための形態について、添付の図面を用いて詳細に説明する。
なお、以下に説明する実施の形態は、本発明の実現手段としての一例であり、本発明が適用される装置の構成や各種条件によって適宜修正又は変更されてもよい。また、各実施の形態を適宜組み合せることも可能である。
[第1の実施形態]
<デジタルカメラの構成>
図1(a)は、本実施形態の通信装置の一例であるデジタルカメラ100の構成例を示すブロック図である。なお、ここでは通信装置の一例としてデジタルカメラについて述べるが、通信装置はこれに限られない。例えば通信装置は携帯型のメディアプレーヤや、いわゆるタブレットデバイス、パーソナルコンピュータなどの情報処理装置であってもよい。
制御部101は、入力された信号や、後述のプログラムに従ってデジタルカメラ100の各部を制御する。なお、制御部101が装置全体を制御する代わりに、複数のハードウェアが処理を分担することで、装置全体を制御してもよい。
撮像部102は、例えば、光学レンズユニットと絞り・ズーム・フォーカスなど制御する光学系と、光学レンズユニットを経て導入された光(映像)を電気的な映像信号に変換するための撮像素子などで構成される。撮像素子としては、一般的には、CMOS(Complementary Metal Oxide Semiconductor)や、CCD(Charge Coupled Device)が利用される。撮像部102は、制御部101に制御されることにより、撮像部102に含まれるレンズで結像された被写体光を、撮像素子により電気信号に変換し、ノイズ低減処理などを行いデジタルデータを画像データとして出力する。本実施形態のデジタルカメラ100では、画像データは、DCF(Design Rule for Camera File system)の規格に従って、記録媒体110に記録される。
不揮発性メモリ103は、電気的に消去・記録可能な不揮発性のメモリであり、制御部101で実行される後述のプログラム等が格納される。
作業用メモリ104は、撮像部102で撮像された画像データを一時的に保持するバッファメモリや、表示部106の画像表示用メモリ、制御部101の作業領域等として使用される。
操作部105は、ユーザがデジタルカメラ100に対する指示をユーザから受け付けるために用いられる。操作部105は例えば、ユーザがデジタルカメラ100の電源のON/OFFを指示するための電源ボタンや、撮影を指示するためのレリーズスイッチ、画像データの再生を指示するための再生ボタンを含む。さらに、後述の接続部111を介して外部機器との通信を開始するための専用の接続ボタンなどの操作部材を含む。また、後述する表示部106に形成されるタッチパネルも操作部105に含まれる。なお、レリーズスイッチは、SW1およびSW2を有する。レリーズスイッチが、いわゆる半押し状態となることにより、SW1がONとなる。これにより、AF(オートフォーカス)処理、AE(自動露出)処理、AWB(オートホワイトバランス)処理、EF(フラッシュプリ発光)処理等の撮影準備を行うための指示を受け付ける。また、レリーズスイッチが、いわゆる全押し状態となることにより、SW2がONとなる。これにより、撮影を行うための指示を受け付ける。
表示部106は、撮影の際のビューファインダー画像の表示、撮影した画像データの表示、対話的な操作のための文字表示などを行う。なお、表示部106は必ずしもデジタルカメラ100が内蔵する必要はない。デジタルカメラ100は内部又は外部の表示部106と接続することができ、表示部106の表示を制御する表示制御機能を少なくとも有していればよい。
記録媒体110は、撮像部102から出力された画像データを記録することができる。記録媒体110は、デジタルカメラ100に着脱可能なよう構成してもよいし、デジタルカメラ100に内蔵されていてもよい。すなわち、デジタルカメラ100は少なくとも記録媒体110にアクセスする手段を有していればよい。
接続部111は、外部装置と接続するためのインターフェースである。本実施形態のデジタルカメラ100は、接続部111を介して、外部装置とデータのやりとりを行うことができる。例えば、撮像部102で生成した画像データを、接続部111を介して外部装置に送信することができる。なお、本実施形態では、接続部111は外部装置とIEEE802.11の規格に従った、いわゆる無線LANで通信するためのインターフェースを含む。制御部101は、接続部111を制御することで外部装置との無線通信を実現する。なお、通信方式は無線LANに限定されるものではなく、例えば赤外通信方式も含む。接続部111は第1の無線通信手段の一例である。
近接無線通信部112は、例えば無線通信のためのアンテナと無線信号を処理するため変復調回路や通信コントローラから構成される。近接無線通信部112は、変調した無線信号をアンテナから出力し、またアンテナで受信した無線信号を復調することでISO/IEC 18092の規格(いわゆるNFC:Near Field Communication)に従った非接触近接通信を実現する。本実施形態の近接無線通信部112は、デジタルカメラ100の側部に配される。
デジタルカメラ100同士においては、互いの近接無線通信部112を近接させることにより通信を開始して接続される。なお、近接無線通信部112を用いてデジタルカメラ100同士を接続させる場合、必ずしも近接無線通信部112同士を接触させる必要はない。近接無線通信部112は一定の距離だけ離れていても通信することができるため、互いの機器を接続するためには、近接無線通信可能な範囲まで近づければよい。以下の説明では、この近接無線通信可能な範囲まで近づけることを、近接させる、とも記載する。
また、互いの近接無線通信部112が近接無線通信不可能な範囲にあれば、通信は開始されない。また、互いの近接無線通信部112が近接無線通信可能な範囲にあって、デジタルカメラ100同士が通信接続されている際に、互いの近接無線通信部112が近接無線通信不可能な範囲に離れてしまった場合は、通信接続が解除される。なお、近接無線通信部112が実現する非接触近接通信はNFCに限られるものではなく、他の無線通信を採用してもよい。例えば、近接無線通信部112が実現する非接触近接通信として、ISO/IEC 14443の規格に従った非接触近接通信を採用してもよい。近接無線通信部112は第2の無線通信手段の一例である。
本実施形態では、接続部111により実現される通信の通信速度は、後述の近接無線通信部112により実現される通信の通信速度よりも速い。また、接続部111により実現される通信は、近接無線通信部112による通信よりも、通信可能な範囲が広い。その代わり、近接無線通信部112による通信では、通信可能な範囲の狭さにより通信相手を限定することができるため、接続部111により実現される通信で必要な暗号鍵の交換等の処理を必要としない。すなわち、接続部111を用いるよりも手軽に通信することができる。
なお、本実施形態におけるデジタルカメラ100の接続部111は、インフラストラクチャモードにおけるアクセスポイントとして動作するAPモードと、インフラストラクチャモードにおけるクライアントとして動作するCLモードとを有している。そして、接続部111をCLモードで動作させることにより、本実施形態におけるデジタルカメラ100は、インフラストラクチャモードにおけるCL機器として動作することが可能である。デジタルカメラ100がCL機器として動作する場合、周辺のAP機器に接続することで、AP機器が形成するネットワークに参加することが可能である。また、接続部111をAPモードで動作させることにより、本実施形態におけるデジタルカメラ100は、APの一種ではあるが、より機能が限定された簡易的なAP(以下、簡易AP)として動作することも可能である。デジタルカメラ100が簡易APとして動作すると、デジタルカメラ100は自身でネットワークを形成する。デジタルカメラ100の周辺の装置は、デジタルカメラ100をAP機器と認識し、デジタルカメラ100が形成したネットワークに参加することが可能となる。上記のようにデジタルカメラ100を動作させるためのプログラムは不揮発性メモリ103に保持されているものとする。
なお、本実施形態におけるデジタルカメラ100はAPの一種であるものの、CL機器から受信したデータをインターネットプロバイダなどに転送するゲートウェイ機能は有していない簡易APである。したがって、自機が形成したネットワークに参加している他の装置からデータを受信しても、それをインターネットなどのネットワークに転送することはできない。
次に、デジタルカメラ100の外観について説明する。図1(b)、図1(c)はデジタルカメラ100の外観の一例を示す図である。レリーズスイッチ105aや再生ボタン105b、方向キー105c、タッチパネル105dは、前述の操作部105に含まれる操作部材である。また、表示部106には、撮像部102による撮像の結果得られた画像が表示される。また、本実施形態のデジタルカメラ100は、カメラ筺体の側面に近接無線通信部112のアンテナ部分を有する。この近接無線通信部112同士を一定の距離に近づけることにより、他の機器と近接無線通信を確立することができる。これにより、ケーブル等を介さずに非接触で通信可能であると共に、ユーザの意図に沿って通信相手を限定することができる。
以上がデジタルカメラ100の説明である。
<ネットワーク参加処理の概要>
図2は、本実施形態に係る通信システムの概略構成を示す図である。本実施形態の通信システムでは、複数のデジタルカメラが互いに接続する。なお、システムにおけるデジタルカメラはいずれも、図1で説明したデジタルカメラ100と同様の構成を有する。図2(a)の通信システムにおいて、デジタルカメラ210は簡易APとして動作し、ネットワーク200を生成する。ここで生成される無線ネットワークは、いわゆる無線LANである。ここで、WPSを用いないネットワークへの参加の手順の概要について説明する。デジタルカメラ220やデジタルカメラ230は、このデジタルカメラ210が定期的に送信するビーコン信号を検知する。ビーコン信号には、デジタルカメラ210が生成するネットワークのSSIDが含まれる。このビーコン信号を検知したデジタルカメラ220やデジタルカメラ230は、デジタルカメラ210へのプローブリクエストの送信、およびデジタルカメラ210からの応答であるプローブレスポンスの受信を経て、デジタルカメラ210と互いに存在を認識し合う。これにより、例えばデジタルカメラ220や230の画面に、デジタルカメラ210がアクセスポイントとして表示される。その後、デジタルカメラ220および230は、SSIDやパスワード、通信に利用する暗号化方式の選択等の、ネットワークへ参加するための通信パラメータの入力を、ユーザ操作を介して、受け付ける。続いて、デジタルカメラ220やデジタルカメラ230は、その通信パラメータを利用して、デジタルカメラ210が形成する無線ネットワークに参加する。具体的には、デジタルカメラ220や230は、デジタルカメラ210とのオーセンティケーションフレームのやり取りにより、正規の利用者であることを確認され、ネットワークへ参加することを認証される。さらに、アソシエーションリクエストをデジタルカメラ210へ送信することで、接続を要求し、これに応答してデジタルカメラ210から返されるアソシエーションレスポンスを受信することで、ネットワークへの参加を許可される。このような手順を経て、デジタルカメラ220や230は、デジタルカメラ210が形成する無線ネットワークに参加する。なお、この時点では、デジタルカメラ220や230は、デジタルカメラ210の生成しているネットワークに参加しただけの状態であり、例えばデジタルカメラ220が、デジタルカメラ230の存在を認識しているわけではない。簡易AP機器として動作するデジタルカメラ210を含む各デジタルカメラ同士は、同じ無線ネットワークに参加した後、互いの機器発見、機器の能力取得などを経て無線LANによるデータの送受信が可能な状態となる。すなわち、機器間のアプリケーションレベルの通信を確立する。
また、デジタルカメラ240は、ネットワーク200に参加していないデジタルカメラである。ここでデジタルカメラ240がネットワーク200に参加することを考える。本実施形態では、ネットワークに参加するための所定の操作が行われたデジタルカメラ240の近接無線通信部112を、例えば図2(b)のように、既に接続済みのデジタルカメラ230の近接無線通信部112に近接させる。ネットワークに参加するための所定の操作については後述する。これに対して、デジタルカメラ230は、デジタルカメラ210が生成しているネットワークに関する情報を、近接無線通信部112を介してデジタルカメラ240に送信しない。その代わり、デジタルカメラ230は、AP機器として動作しているデジタルカメラ210に対して、これからWPS(Wi−Fi Protected Setup)に従ったネットワークの参加を受け付ける処理を開始するよう指示する。また、これに併せて、デジタルカメラ230は、ネットワークに参加しようとしているデジタルカメラ240に対して、これからWPSによるネットワークの参加を要求する処理を開始するよう、近接無線通信部112を介して指示する。ここでは識別番号であるPIN(Personal Identification Number)を用いた方式であるPINコード方式のWPSを利用する場合を例に挙げて説明する。
本実施形態特有の処理を説明する前に、通常のPINコード方式のWPSの手順について説明する。方式に関わらずWPSにおいては、一般的に、他機のネットワークへの参加を管理し通信パラメータを提供する機能を持つ機器をレジストラと呼ぶ。また、レジストラの機能を持つ機器(レジストラ機器)から通信パラメータの提供をうけて設定する機能をもつ機器(いわゆるネットワークへ参加する機器)をエンローリと呼ぶ。レジストラの機能は、ネットワークを生成する機能とは独立している。つまり、AP機器として動作している機器がレジストラの機能を担ってもよいし、AP機器が生成しているネットワーク内の他の機器がレジストラの機能を担ってもよい。あるいはその両方がレジストラの機能を有してもよい。本実施形態では、説明のため、AP機器がレジストラの機能を有しているものとする。なお、レジストラの機能を有効にするかどうかは、ユーザ操作等の手動で決定する方法を採用してもよいし、自動で決定する方法を採用してもよい。
PINコード方式のWPSを利用する場合、エンローリ機器ではPINコードを生成し、例えばディスプレイ等にそのPINコードを表示させる。これに併せて、PINコード方式のWPSを利用する旨を示す情報(PIN方式情報)が含まれているプローブリクエストの発信を開始する。このPIN方式情報は、WPSの仕様に従って、プローブリクエストのDevice Password IDフィールドに含まれる。
PINコードは、通信を確立する機器同士の暗証番号として用いられる。つまり、レジストラ側でこのPINコードを入手できなければ、PINコードを生成したエンローリ機器に適切な応答を返すことはできない。そこで、表示されたPINコードを確認したユーザは、レジストラ機器(AP機器)にそのPINコードを入力する。なお、レジストラ機器が入力デバイスを有してない場合であっても、ネットワーク内のいずれかの機器からPINコードを受信させることで、PINコードを入力することができる。例えば、PINコードの入力を受け付けるためのHTMLファイルを予めレジストラ機器が用意しておく。そして、Webブラウザの機能を持つ他の機器(CL機器)が、レジストラ機器からPINコード入力のためのHTMLファイルを受信し、Webページを表示する。そして、ページ内の入力フォームに他の機器(CL機器)の入力デバイスを用いてPINコードを入力・送信する。このような手順により、CL機器を介してレジストラ機器にPINコードを入力することができる。
PINコードの入力を受け付けたレジストラ機器は、一定時間の間、受け付けたPINコードを生成したエンローリ機器からのネットワークへの参加要求を受け付ける状態になる。具体的には、エンローリ機器からの、PIN方式情報が含まれるプローブリクエストに対してPIN方式情報が含まれるプローブレスポンスを返す状態になる。このPIN方式情報が含まれるプローブレスポンスをエンローリ機器が受信することで、エンローリ機器はPINコード方式のWPSに対応したレジストラ機器が存在することを認識する。なお、PINコードの入力を受け付けるまでは、レジストラ機器は、PIN方式情報が含まれるプローブリクエストに対してPIN方式情報が含まれないプローブレスポンスを返す。つまり、エンローリ機器はPINコード方式のWPSに対応したレジストラ機器の存在を確認することができず、PIN方式のWPSによるネットワークの参加処理を開始しない。
以上の手順で互いの機器を認識すると、オーセンティケーション、アソシエーションの処理の後、互いのPINコードに基づく認証を行う。具体的には、レジストラ機器では入力されたPINコードに基づきハッシュデータを生成する。一方、エンローリ機器では生成したPINコードに基づきハッシュデータを生成する。これらのハッシュデータを互いに交換し合い、それぞれ自機で生成したハッシュデータと比較することで一致するか否かを判断する。これにより認証を行う。一致する場合、公開鍵通信を用いてレジストラ機器からエンローリ機器に対して通信パラメータが渡される。そして、最終的にエンローリ機器がネットワークへ参加する。以上が、一般的なPINコード方式のWPSによる通信パラメータの設定の手順の概要である。このPINコードに基づく認証により、ユーザが意図しない機器がネットワークに潜り込む可能性を低減させることができる。その一方で、PINコードを入力するという手間が存在する。
そこで本実施形態のデジタルカメラ230は、AP機器のデジタルカメラ210とネットワークに参加しようとしているデジタルカメラ240とに対してそれぞれWPSに従ったネットワークへの参加処理の開始を指示するだけでなく、PINコードの仲介も行う。すなわち、予め近接無線通信を介してデジタルカメラ240からPINコードを受信し、無線LANを介してデジタルカメラ210にそのPINコードを転送する。この処理は、いわば、デジタルカメラ230を介して、デジタルカメラ210にPINコードを入力するという処理に相当する。なお、デジタルカメラ210からみれば、デジタルカメラ230から転送されるPINコードは、近接無線通信を介して得られたものであっても、デジタルカメラ230の操作部105を介してユーザから入力されたものであっても、区別されない。つまり、デジタルカメラ210は通常のPINコード方式のWPSに従ったネットワークの参加処理を行うだけでよい。PINコードを受け取ったデジタルカメラ210は、図2(c)のようにデジタルカメラ240とPINコード方式のWPSに従ったネットワークの参加のための処理を行い、デジタルカメラ240をネットワークに参加させることができる。結果、デジタルカメラのネットワークは図2(d)に示すような構成となる。
このように、本実施形態のデジタルカメラは、近接無線通信を確立した相手機器と自機とで認証処理を行うのではなく、近接無線通信を確立した相手機器と、現在参加しているネットワークを生成している機器とで認証処理を行わせる。これにより、CL機器により意図せず通信パラメータが公開されてしまう恐れがなくなるため、セキュリティ性を保つことができる。しかも、デジタルカメラ240がネットワークに参加するために近接無線通信を確立する機器は、ネットワーク内の機器であれば、AP機器かCL機器かを問わない。そのため、デジタルカメラ240のユーザは、ネットワークに参加しているデジタルカメラがAP機器であるかCL機器であるかを意識することなく、手軽にデジタルカメラ240をネットワークに参加することができる。さらに、デジタルカメラ230が近接無線通信と無線LANを介してPINコードを仲介するため、ユーザは単にデジタルカメラ240をデジタルカメラ230に近づけるだけで、デジタルカメラ240をネットワーク200に参加させることができる。つまり、他にPINコードを入力するための操作を行う手間を省くことができる。
上述の動作を実現するための各デジタルカメラの処理の概要を、図3を用いて説明する。図3は、本実施例のデジタルカメラのネットワーク参加処理の概要を示すシーケンス図である。図3においてデジタルカメラが簡易AP機器として動作する期間を、期間301のように斜線領域で表す。また、デジタルカメラがCL機器として動作する期間を、期間302のように無地領域で表す。また、近接無線通信が確立している期間を期間303のように網掛領域で表す。
図3の例では、シーケンス開始時において、デジタルカメラ210は簡易AP機器として動作している。また、デジタルカメラ230は、新たにネットワークに参加してCL機器として動作するカメラである。また、デジタルカメラ240はネットワークに参加しておらず、これからネットワークに参加しようとしている。
まず、ネットワークに参加しようとしているデジタルカメラ240は、ステップS311にて、ネットワークに参加するための所定の操作をユーザから受け付け、ネットワークに参加するための準備動作を行う。ここで、ネットワークに参加するための所定の操作について説明する。図4(a)は、本実施形態のデジタルカメラ100の表示部に表示される、ネットワークの利用のためのメニュー画面の一例である。この画面においてアイコン402が選択されると、画面は、図4(b)の表示に移行し、ネットワークに参加するための処理を開始する。なお、本実施形態では、ネットワーク200に参加しようとしているデジタルカメラ240が既に別のネットワークに参加している場合、図4(b)の画面への遷移と共に参加中のネットワークからの離脱も並行して実行される。つまり、このアイコンを選択するという行為は、現在参加しているネットワークから離脱して、他のネットワークへの参加を決定する行為として受け付けられることになる。なお、自機が既にネットワークに参加していることに、ユーザが気付かないままアイコン402を選択してしまう場合も考えられる。例えば通信の処理などがバックグラウンドで動作する場合には、自機がネットワークに参加済みかどうか気づきにくい。そこで、図4(b)の画面に遷移する前に本当に参加中のネットワークから離脱してもよいかどうかユーザに確認してもよい。この場合、例えば図4(c)のような画面を表示部106に表示することにより、ユーザに注意を促す。なお、自機がネットワークに参加していない場合は当然、離脱の処理も実行されない。故に、上記の確認も行われない。図4(c)の画面のボタン404を選択することで、ユーザは、現在参加しているネットワークを離脱して、新たなネットワークに参加することを許可する指示を入力することができる。また、ボタン405を選択することで、新たなネットワークへの参加を中止し、現在のネットワークへの参加を継続する指示を入力することができる。
また、近接無線通信を用いずに、手動で情報を入力してネットワークに参加する場合は、図4(a)の画面で、アイコン401を選択すればよい。この場合は、参加したいネットワークの情報を入力する画面(図示しない)に遷移し、既存のシーケンスに従ってネットワークへの参加が行われる。
図3の説明に戻る。
続いて、図4(b)の画面が表示されている状態で、ユーザはデジタルカメラ240とデジタルカメラ230とを、近接無線通信が可能なように近づける。具体的には、それぞれのデジタルカメラの近接無線通信部112同士が通信可能な距離になるまで近づける。なお、各近接無線通信部112同士が接触してもよい。その結果、ステップS312にて、デジタルカメラ230とデジタルカメラ240との近接無線通信が確立する。なお、デジタルカメラ230では、上記のネットワークに参加するための所定の操作を行う必要はない。また、図4(b)の戻るボタン403を選択することで、ユーザは、新たなネットワークへの参加の処理を中止することができる。
近接無線通信が確立すると、デジタルカメラ240はステップS313で、近接無線通信を介して、デジタルカメラ230に、ネットワークへの参加要求を送信する。
これを受け取ったデジタルカメラ230はステップS314で、近接無線通信を介してデジタルカメラ240に、レジストラ情報を送信する。このレジストラ情報は、デジタルカメラ230が有効なレジストラの機能を有するか否かを示す情報であり、デジタルカメラ230の作業用メモリ104に保持されている。前述のように、ここではAP機器であるデジタルカメラ210が有効なレジストラの機能を有しており、デジタルカメラ230は有効なレジストラの機能を有していないものとする。仮に、デジタルカメラ230が有効なレジストラの機能を有している場合は、ネットワーク情報を自由に管理できる。そのため、デジタルカメラ230とデジタルカメラ240とが直接、近接無線通信を利用したハンドオーバー方式のWPSを用いればよい。一方、デジタルカメラ230がレジストラ機能を有していない場合は、ネットワーク情報を管理する機器(本実施形態ではデジタルカメラ210)は他に存在しており、デジタルカメラ230自身はネットワーク情報を管理することが許可されていない。そのため、この状態でネットワークへの参加要求を受信した場合は、デジタルカメラ230は、デジタルカメラ240にネットワークに関する情報を出力することができない。そこで、本実施形態のデジタルカメラ230は、管理権限を持たない自機とデジタルカメラ240との間でネットワーク参加処理を行うのではなく、管理権限を持つデジタルカメラ210とデジタルカメラ240との間でネットワークへの参加処理を行わせる。ここでは、デジタルカメラ210と240との間のネットワークへの参加処理には、PINコード方式のWPSを利用させる。このように、いずれの方式のWPSを利用するかを選択する基準として利用するために、レジストラ情報がデジタルカメラ240に送信される。
また、レジストラ情報に加えて、自機の動作状態(WLANに関する情報)をデジタルカメラ240に送信する。すなわち、自機がCL機器として動作している旨をデジタルカメラ240に伝える。この情報は、既に自機がネットワークに参加していることを示す。
デジタルカメラ240は、このデジタルカメラ230がレジストラとして機能していないことを示す情報およびCL機器として動作している情報を受信すると、ステップS315にてPINコードを生成する。なお、PINコードの生成は、ステップS312での近接無線通信の確立に応じて開始されてもよい。この場合、PINコードの生成の処理は、ステップS313と並行して実行される。
続くステップS316にてデジタルカメラ240は、生成したPINコードを、近接無線通信を介してデジタルカメラ230に送信する。ここではデジタルカメラ240は、チェックサム値を含むランダムな8桁の数字をPINコードとして生成する。なお、このステップの処理に代えて、予め機器毎に定められたPINコードをロードしてもよい。
このPINコードを受信したデジタルカメラ230は、ステップS317にてデジタルカメラ210に対してPINコード方式のWPSによるネットワークへの参加を受け付ける処理を開始するよう指示する。また、この指示にはステップS316で送信されたPINコードが含まれる。デジタルカメラ210は、このPINコードを受信することにより、デジタルカメラ240が生成したPINコードと同じ値のPINコードを入力されたことになる。このステップの処理により、デジタルカメラ210は、他機からのプローブリクエストに対する応答として、PIN方式情報を含むプローブレスポンスを発信可能な状態になる。
更に、ステップS317の処理に併せて、デジタルカメラ230はステップS318にて、デジタルカメラ240に対して、PINコード方式のWPSに従ったネットワークへの参加を要求する処理を開始するよう指示する。これにより、デジタルカメラ240は、ステップS319で、PIN方式情報を含むプローブリクエストの送信を開始する。
また、このPIN方式情報を含むプローブリクエストを受信したデジタルカメラ210は、ステップS320にて、応答としてPIN方式情報を含むプローブレスポンスをデジタルカメラ240に対して送信する。この結果、デジタルカメラ210およびデジタルカメラ240は、互いにPINコード方式のWPSに対応する機器として認識しあう。
続いてデジタルカメラ210とデジタルカメラ240は、ステップS321にて、公開鍵暗号通信によりオーセンティケーション、アソシエーションの処理を行う。
その後、ステップS322で、デジタルカメラ210とデジタルカメラ240は、PINコード方式のWPSに従ってレジストレーション処理を実行する。具体的には、デジタルカメラ240はPINコードに基づきハッシュデータを生成し、デジタルカメラ210に送信する。これを受信したデジタルカメラ210は、ステップS317の処理によって得られたPINコードからハッシュデータを生成し、デジタルカメラ240から送信されたハッシュデータと比較する。ハッシュデータが一致した場合、デジタルカメラ240のネットワークへの参加を許可することになる。すなわち、デジタルカメラ210は、ステップS323で、ネットワーク200に参加するための通信パラメータをデジタルカメラ240に送信する。
同様に、デジタルカメラ210は、ステップS317の処理によって得られたPINコードから生成したハッシュデータをデジタルカメラ240に送信する。これを受信したデジタルカメラ240は、自機で生成したハッシュデータと比較し、一致した場合はデジタルカメラ240の生成するネットワークへの参加を継続する。
通信パラメータを受信したデジタルカメラ240は、CL機器としての動作を開始し、ステップS324にて、デジタルカメラ210の生成しているネットワークに参加する。具体的には、デジタルカメラ210から受信した通信パラメータを利用して、デジタルカメラ210に対してネットワークへの参加要求を送信する。そして、この参加要求を受信したデジタルカメラ210が、応答をデジタルカメラ210に送信することでネットワークへの参加が完了する。
以上のように、ネットワークに参加したい機器の近接を検知した機器が、自機ではなく、AP機器とネットワークに参加したい機器との間でWPSに従った認証処理を行わせる。結果として、CL機器はAP機器の情報を外部に出力する必要がなくなる。つまり、CL機器が、AP機器の情報を外部に出力することなく、新たな機器をネットワークに参加させることができる。しかも、ユーザはネットワーク内のどのカメラがAP機器かを意識する必要が無い。つまり、デジタルカメラを手軽にネットワークに参加させることと、セキュリティ性を保つこととを両立することができる。
<各デジタルカメラの動作>
続いて、上記の動作を実現するためのデジタルカメラのそれぞれの動作について詳述する。
図5は、本実施形態のデジタルカメラ100が簡易AP機器として動作する場合の処理を示すフローチャートである。なお、本フローチャートに示す処理は、デジタルカメラ100の制御部101が入力信号やプログラムに従い、デジタルカメラ100の各部を制御することにより実現される。また、同じネットワークに参加する他のカメラと例えば画像交換等のデータの送受信を行う処理は、このフローチャートに示す処理とは別に並行して実行される。特に断らない限り、デジタルカメラ100の処理を示す他のフローチャートでも同様である。
また、本フローチャートは、デジタルカメラ100が簡易AP機器としての動作を開始することに応じて開始される。デジタルカメラ100がAP機器としての動作を開始する場合は、例えばユーザのメニュー操作により指示を受け付けたことに応じて開始する場合が考えられる。
まず、ステップS501において、制御部101は、近接無線通信部112を介して、他の機器から、ネットワークに参加するための情報の要求を受信したか否かを判断する。
まず、ネットワークの情報の要求を受信したと判断した場合について述べる。この場合は、図3の例で言えば、デジタルカメラ240がデジタルカメラ210と近接無線通信を確立した場合である。この場合、処理はステップS502に進む。以下、ステップS501でネットワークの情報を要求した要求元の機器を相手機器と呼ぶ。
ステップS502では、制御部101は、デジタルカメラ100がAP機器として動作しているか、CL機器として動作しているかを示すWLAN情報を相手機器に送信する。ここでは、デジタルカメラ100はAP機器として動作しているので、WLAN情報はAP機器として動作していることを示す情報となる。
更に、ステップS503にて、制御部101は、デジタルカメラ100がレジストラとして動作していることを示す情報を相手機器に送信する。相手機器はこの情報に基づき、ハンドオーバー方式のWPSによるネットワークの参加処理を開始するか、PINコード方式のWPSによるネットワークの参加処理を開始するかを決定する。なお、ここでは、自機はAP機器として動作しており、レジストラの機能を有している。すなわち、自機はネットワークの情報を管理している機器であるため、直接自機と相手機器との間でネットワークの参加処理を行えばよい。すなわち、ここではハンドオーバー方式のWPSを利用することになる。ハンドオーバー方式のWPSを利用する場合は、デジタルカメラ100は、近接無線通信を介して、ネットワークに参加するための通信パラメータを相手機器に送信し、相手機器はその通信パラメータを用いてネットワークに参加する。なお、ステップS502およびステップS503の処理は、どちらを先に実行しても構わない。WLAN情報とレジストラ情報の両方が相手機器に渡っていればよい。
続くステップS504では、制御部101は、近接無線通信を介して、相手機器から通信パラメータの要求を受信する。
ステップS505では、制御部101は、ステップS504で受信した要求への応答として、自機で生成しているネットワークに参加するための通信パラメータを、近接無線通信を介して相手機器に送信する。この通信パラメータを受け取った相手機器は、近接無線通信ではなくWLANを利用して、ネットワークへの参加要求を送信してくる。
そこで、制御部101は、ステップS506にて、このネットワークへの参加要求を受信し、これに応答することにより、相手機器のネットワークへの参加を完了させる。
以上が、ステップS501で、制御部101が他の機器からネットワークに参加するための情報の要求を受信したと判断した場合の説明である。
次に、ステップS501で、制御部101がネットワークの情報の要求を受信していないと判断した場合について述べる。この場合、処理はステップS508に進む。
ステップS508で制御部101は、PINコード方式のWPSによるネットワークへの参加要求の受け付けを開始する指示を、ネットワーク内の機器から受信したか否かを判断する。受信していないと判断された場合、ステップS501に戻り、本フローチャートの処理を繰り返す。一方、受信したと判断された場合、処理はステップS509に進む。ここでネットワーク内の機器から受信する指示は、図3のステップS317でデジタルカメラ230からデジタルカメラ210に送信される指示に相当する。すなわち、この指示はPINコードを含む。
ステップS510では、制御部101は、ネットワークに参加しようとしている機器(参加機器)から、PIN方式情報を含むプローブリクエストを、接続部111を介して受信する。すなわち、参加機器(図3の例ではデジタルカメラ240に相当する機器)からの、ネットワーク参加要求を受信する。この処理で受信する要求は、図3のステップS319でデジタルカメラ240からデジタルカメラ210に送信される要求に相当する。
続いて、ステップS511では、制御部101は、参加要求に対する応答として、PIN方式情報を含むプローブレスポンスを参加機器に返す。このステップの処理は図3のステップS320の処理に相当する。
次に、ステップS512では、制御部101は、参加機器との間でオーセンティケーション、アソシエーションの処理を実行する。このステップの処理は図3のステップS321の処理に相当する。
続くステップS513で、制御部101は、ステップS509で受信したPINコードに基づきハッシュデータを生成する。
更に、ステップS514で、制御部101は、PINコードに基づき生成したハッシュデータを、参加機器と交換し合う。すなわち、制御部101は、参加機器に対してハッシュデータを送信すると共に、参加機器からハッシュデータを受信する。
そして、ステップS515で、制御部101は、ステップS513で生成したハッシュデータと、ステップS514で受信したハッシュデータとを比較し、一致するかどうかを判断する。制御部101が一致しないと判断した場合、本フローチャートの処理を終了する。制御部101が一致すると判断した場合、処理はステップS516に進む。ステップ513〜ステップS515の処理は図3のステップS322の処理に相当する。
ステップS516では、制御部101は、ネットワークに参加するために必要な通信パラメータを、参加機器に送信する。これにより、参加機器は通信パラメータを用いてデジタルカメラ100が生成しているネットワークへ参加することができるようになる。このステップの処理は図3のステップS323に相当する。
その後、処理はステップS506に進み、参加機器のネットワークへの参加を受け付ける。
以上が、デジタルカメラ100が簡易AP機器として動作する際の処理の説明である。
続いて、本実施形態のデジタルカメラ100がCL機器として動作する際の処理について説明する。図6は、本実施形態のデジタルカメラ100がCL機器として動作する場合の処理を示すフローチャートである。本フローチャートは、デジタルカメラ100がCL機器としての動作を開始することに応じて開始される。デジタルカメラ100がCL機器としての動作を開始する場合は、例えばユーザのメニュー操作により指示を受け付けたことに応じて開始する場合が考えられる。
まず、ステップS601において、制御部101は、近接無線通信部112を介して、他の機器から、ネットワークへの参加の要求を受信したか否かを判断する。制御部101が、受信していないと判断した場合、本ステップの処理を繰り返す。一方、受信したと判断した場合、処理はステップS602に進む。以下、ステップS601でネットワークへの参加を要求した要求元の機器を相手機器と呼ぶ。
ステップS602では、制御部101は、図5のステップS503と同様に、自機のWLAN情報を相手機器に送信する。ここでは自機がCL機器として動作している旨を示すWLAN情報を送信する。
更に、ステップS603にて制御部101は、レジストラ情報を相手機器に送信する。レジストラ情報が、デジタルカメラ100がレジストラとして動作している旨を示す場合、相手機器は、以降のネットワークへの参加処理として、ハンドオーバー方式のWPSを採用することになる。一方、レジストラ情報が、デジタルカメラ100がレジストラとして動作していない旨を示す場合、相手機器は、以降のネットワークへの参加処理として、PINコード方式のWPSを採用することになる。ステップS602およびステップS603の処理は、図3のステップS313の処理に相当する。
また、ステップS602およびステップS603に並行して、制御部101は、ステップS604にて自機がレジストラとして機能しているか否かを、レジストラ情報を参照することにより判断する。
まず、ステップS604で、制御部101が、自機がレジストラとして機能していないと判断した場合について説明する。この場合、処理はステップS605に進む。この場合、ステップS603では、自機がレジストラとして機能していない旨を示すレジストラ情報が相手機器に送信されている。相手機器ではそのレジストラ情報の受信に応じてPINコードが生成され、そのPINコードがデジタルカメラ100へ近接無線通信を介して送信される。
ステップS605では、制御部101は、相手機器から近接無線通信を介してPINコードを受信する。このステップの処理は、図3のステップS316の処理に相当する。
続くステップS606では、制御部101は、WPSに従ったネットワークへの参加要求の受け付けを開始する指示を、WLANを介して、自機が参加しているネットワークを生成しているAP機器に送信する。このステップの処理は、図3のステップS317の処理に相当する。すなわち、この指示にはステップS605で受信したPINコードが含まれる。結果として、PINコードはAP機器に受け取られる。このように、CL機器が相手機器とAP機器との間でPINコードを仲介することで、例えばキーボード等を介してPINコードを入力する手間を省くことができる。
また、ステップS606の処理に併せて、ステップS608では、制御部101は、WPSに従ったネットワークへの参加要求の送信を開始する指示を、近接無線通信を介して相手機器に送信する。このステップの処理は、図3のステップS318の処理に相当する。
CL機器であるデジタルカメラ100は、ここで処理を終了する。この後、AP機器と相手機器との間でPINコード方式のWPSを利用した認証処理を経て、相手機器はAP機器が生成するネットワークに参加する。
一方、ステップS604で、制御部101が、自機がレジストラとして機能していると判断した場合について説明する。この場合、処理はステップS609に進む。
ステップS609およびステップS610では、図5のステップS504およびステップS505と同様の処理が実行される。この結果、近接無線通信を介した通信のみでネットワーク情報が、相手機器に受け渡される。CL機器であるデジタルカメラ100は、ここで処理を終了する。この後、受け渡したネットワーク情報を利用してAP機器と相手機器との間で認証処理が行われ、最終的に相手機器はAP機器が生成するネットワークに参加する。
以上が、デジタルカメラ100がCL機器として動作する際の処理の説明である。
続いて、本実施形態においてデジタルカメラ100が近接無線通信を利用してネットワークに参加する際の動作について説明する。図7は、本実施形態のデジタルカメラ100の動作を示すフローチャートである。本フローチャートは、例えばユーザが操作部105を介して図4(a)に示すアイコン402を選択することに応じて表示される図4(b)の画面の表示に併せて開始される。
まず、ステップS701において、制御部101は、近接無線通信部112を介して、他の機器との近接無線通信が確立したか否かを判断する。制御部101が、他の機器との近接無線通信が確立していないと判断した場合、本ステップの処理を繰り返す。一方、他の機器との近接無線通信が確立したと判断した場合、処理はステップS702に進む。以下、ステップS701で近接無線通信を確立した機器を相手機器と呼ぶ。
ステップS702では、制御部101は、ネットワークへの参加要求を近接無線通信を介して、相手機器に送信する。このステップの処理は、図3のステップS313の処理に相当する。
続くステップS703では、制御部101は、相手機器のWLAN情報を受信する。ここで送信されるレジストラ情報は、図3のステップS314や、図5のステップS502、図6のステップS602で送信される情報に相当する。そして、ステップS704にて制御部101は、相手機器がAP機器またはCL機器として動作しているか否かを判断する。制御部101が、相手機器がAP機器としてもCLとしても動作していないと判断した場合、相手機器はネットワークを生成することも、ネットワークに参加することもしていない。そのため、この場合は本フローチャートの処理を終了する。一方、制御部101が、相手機器がAP機器またはCL機器として動作していると判断した場合、処理はステップS705に進む。
ステップS705では、制御部101は、レジストラ情報を受信する。ここで送信されるレジストラ情報は、図3のステップS314や、図5のステップS503、図6のステップS603で送信される情報に相当する。
そして、ステップS706にて、制御部101は、相手機器がレジストラとして機能しているか否かを判断する。
まず、ステップS706で制御部101が、レジストラとして機能していると判断した場合について説明する。この場合、相手機器と自機とのネットワーク参加処理には、いわゆるハンドオーバー方式のWPSが利用されることになる。すなわち、処理はステップS707に進む。
ステップS707では、制御部101は、近接無線通信を介して、相手機器に通信パラメータの要求を送信する。相手機器は、この要求に応答して、通信パラメータを返信する。
ステップS708では、制御部101は近接無線通信を介して、ネットワークに参加するために必要な通信パラメータを受信する。
そして、ステップS719にて、制御部101は、相手機器が生成しているネットワークにデジタルカメラ100を参加させる。すなわち、ステップS708で受信した通信パラメータを用いてネットワークへの参加要求を送信し、これに対して相手機器が許可の応答を返すことでネットワークへの参加が完了する。
以上が、ステップS706で制御部101が、相手機器がレジストラとして機能していると判断した場合の説明である。
次に、ステップS706で制御部101が、相手機器がレジストラとして機能していないと判断した場合について説明する。この場合、ネットワークの参加処理にはPINコード方式のWPSを採用する。すなわち、処理はステップS709に進む。
ステップS709では、制御部101は、PINコードを生成する。ここでは制御部101は、チェックサム値を含むランダムな8桁の数列を生成する。なお、このステップの処理に代えて、予め機器毎に定められたPINコードをロードしてもよい。
次に、ステップS710では、制御部101は、ステップS709で生成したPINコードを、近接無線通信を介して相手機器に送信する。このPINコードは、例えば図6のステップS605〜S608の説明で述べたように、相手機器に受信された後、参加しようとしているネットワークを生成しているAP機器に受け渡される。
その後、制御部101は、ステップS711で、相手機器からWPSに従ったネットワークへの参加要求の発信を開始する指示を、近接無線通信を介して受け付けたか否かを判断する。WPSに従ったネットワークへの参加要求の発信を開始する指示とは、例えば図6のステップS606で送信される指示である。制御部101が、まだ指示を受け付けていないと判断した場合、本ステップの処理を繰り返して指示を待つ。一方、制御部101が指示を受け付けたと判断した場合、処理はステップS712に進む。なお、ステップS702で相手機器に要求を送信してからステップS711で指示を受け付けるまでに、近接無線通信が切断された場合、本フローチャートの処理を終了する。また、ステップS711で指示を受け付けた後は、以降の処理で近接無線通信で相手機器と情報のやり取りをする必要が無いため、デジタルカメラ100を相手機器から離しても、ネットワークの参加処理は継続される。
ステップS712では、制御部101は、PINコード方式のWPSに従ったネットワークへの参加要求の発信を開始する。つまり、PIN方式情報を含むプローブリクエストの送信を開始する。この要求は相手機器ではなくAP機器により、例えば図5のステップS504の処理で受信される。このステップの処理は図3のステップS319の処理に相当する。
続くステップS713で、制御部101は、AP機器から送信される応答、すなわちPIN方式情報を含むプローブレスポンスを受信する。このステップの処理で受信する応答は、図3のステップS320でデジタルカメラ210からデジタルカメラ240に送信される応答に相当する。もしPIN方式情報が含まれていないプローブレスポンスを受信した場合は、まだAP機器がPINコード方式のWPSによるネットワークの参加処理を開始していないことを示す。ステップS712でPIN方式情報を含むプローブリクエストの送信を開始してから、PIN方式情報を含むプローブレスポンスを受信しないまま一定時間が経過した場合は、本フローチャートの処理を終了する。
PIN方式情報を含むプローブレスポンスを受信すると、ステップS714で、制御部101は、AP機器との間でオーセンティケーション、アソシエーションの処理を実行する。このステップの処理は図3のステップS321の処理に相当する。
続くステップS715で、制御部101は、ステップS709で生成したPINコードに基づきハッシュデータを生成する。
更にステップS716で制御部101は、生成したハッシュデータを、AP機器と交換し合う。すなわち、制御部101は、AP機器に対してハッシュデータを送信すると共に、AP機器からハッシュデータを受信する。この情報は、AP機器により、例えば図5のステップS514で受信され、AP機器側で生成されたハッシュデータと比較することにより、PINコード方式の認証処理が行われる。この結果、AP機器側で、デジタルカメラ100がネットワークに参加することを許可する判定がなされると、通信パラメータがデジタルカメラ100に送信される。
ステップS717では、AP機器でのハッシュデータの比較と同様に、デジタルカメラ100でもハッシュデータの比較を行う。つまり、制御部101は、ステップS715で生成したハッシュデータと、AP機器から受信したハッシュデータとを比較する。比較の結果、ハッシュデータが一致しないと判断した場合、本フローチャートを終了する。一方、比較の結果、ハッシュデータが一致すると判断した場合、処理はステップS718に進む。
ステップS718では、制御部101は、この通信パラメータを受信する。
最後に、ステップS719で制御部101は、通信パラメータを利用して、相手機器が生成しているネットワークにデジタルカメラ100を参加させる。
以上が、本実施形態においてデジタルカメラ100が近接無線通信を利用してネットワークに参加する際の動作の説明である。なお、本フローチャートの処理の開始と共に表示される図4(b)の画面は、近接させる必要のないステップS712以降も、ステップS719でネットワークへの参加が完了するまで表示するようにしてもよい。なぜなら、ユーザはAP機器やCL機器といった区別や、ステップS711までの近接無線通信でのCL機器との通信から、ステップS712以降のAP機器との通信に切り替わること等は、まったく意識していないからである。すなわち、まだネットワークへの参加が完了していないにもかかわらず、近接させる操作が必要である旨を示す表示を終了してしまうと、ユーザを混乱させる原因となったり、ユーザに違和感を与える原因となったりする恐れがあるからである。
以上、本実施形態では、近接無線通信を利用していながら、ハンドオーバー方式ではなくPINコード方式のWPSを採用する場合を例に挙げて説明した。このように本実施形態のデジタルカメラは、近接無線通信を確立した相手機器と自機とで認証処理を行うのではなく、現在参加しているネットワークを生成しているAP機器と相手機器とを仲介して、PINコード方式のWPSによるネットワーク参加処理を行わせる。これにより、セキュリティ性の維持と、ユーザの利便性とを両立することができる。
[第2の実施形態]
第1の実施形態では、ネットワークに参加する側の機器が、例えば図4のアイコン402を選択したことにより、ネットワークの消滅・離脱を経て、未接続の状態になってから、ネットワークに参加する処理を行う場合について述べた。これに対し、本実施形態では、アイコン402の選択の時点ではネットワークを離脱せず、近接無線通信が確立した両機器の状態を考慮して、どちらのネットワークを優先するかを適切に制御する場合について述べる。なお、本実施形態は第1の実施形態と共通する部分が多いため、本実施形態特有の部分を中心に説明する。
上述のように、本実施形態では、近接無線通信が確立した両機器の状態を考慮してネットワークへの参加処理を制御する。特に、本実施形態ではAP機器の生成しているネットワークを最優先にする。すなわち、AP機器のネットワークを消滅させないよう制御する。例えば、あるネットワークを生成しているAP機器と、別のネットワークに参加しているCL機器との近接無線通信が確立した場合には、CL機器がネットワークを離脱して、AP機器のネットワークに参加する。
また、AP機器同士の近接無線通信が確立した場合には、本実施形態では、両機器のネットワークは維持される。すなわち、ネットワークの参加処理は行われない。これは、各機器がそれぞれ生成しているネットワークに参加している他の機器の通信を妨げる恐れがあるためである。
このように、本実施形態のデジタルカメラ100では、近接無線通信が確立した両機器の状態に応じて、どちらのネットワークの維持を優先するかを適切に制御する。なお、CL機器同士の近接無線通信が確立した場合には、アイコン502が選択された方の機器がネットワークを離脱し、もう一方の機器がAP機器となり生成したネットワークに参加する。すなわち、アイコン502の選択に応じてどちらのネットワークの維持を優先するかを制御する。
以下、自機がAP機器として動作している状態の場合、CL機器として動作している状態の場合、どちらの状態でもない場合の三つの場合についてそれぞれデジタルカメラ100の動作を説明する。
図8は、本実施形態のデジタルカメラ100がAP機器として動作する場合の処理を示すフローチャートである。本フローチャートは、デジタルカメラ100が簡易AP機器としての動作を開始することに応じて開始される。デジタルカメラ100がAP機器としての動作を開始する場合は、例えばユーザのメニュー操作により指示を受け付けたことに応じて開始する場合や、後述の図10のステップS1007の処理により開始する場合が考えられる。
ステップS801、およびステップS811〜ステップS819では、図5のステップS501、およびステップS508〜S516と同様の処理が実行される。
ステップS802では、制御部101と相手機器とは、互いのレジストラ情報およびWLAN情報を、交換し合う。すなわち、制御部101は、自機のレジストラ情報およびWLAN情報を、近接無線通信を介して相手機器に送信する。また、制御部101は、相手機器のレジストラ情報およびWLAN情報を、近接無線通信を介して相手機器から受信する。
続くステップS805では、制御部101は、相手機器のWLAN情報を参照し、相手機器がAP機器として動作しているかCL機器として動作しているか、あるいはAP機器としてもCL機器としても動作していない(すなわち未接続の状態である)かを判断する。
ステップS805にて制御部101が、相手機器が未接続の状態であると判断した場合、処理はステップS808に進む。ステップS808〜ステップS810の処理は、図5のステップS504〜ステップS506の処理と同様である。
また、制御部101が、相手機器がAP機器として動作していると判断した場合、両機器がAP機器として動作していることになる。この場合は、両機器が生成しているネットワークの維持を優先するため、両機器間の接続は確立されない。すなわち、この場合はステップS806にてユーザにエラーが通知され、処理は終了する。この場合、制御部101は、例えば図4(d)に示すような画面を表示することにより、ネットワークの接続が完了せずに終了することを通知する。
また、ステップS805にて制御部101が、相手機器がCL機器として動作していると判断した場合、処理はステップS807に進む。
ステップS807では、相手機器が同一ネットワーク内の機器であるか否かを判断する。具体的には、相手機器に対してMACアドレスを要求し、相手機器のMACアドレスを受信する。そして、このMACアドレスを持つ機器がネットワーク内の機器にいないかを判断する。なお、レジストラの機能を持つ機器はネットワーク内の機器のIPアドレスやMACアドレスを管理する情報を保持している。この情報を参照することにより、相手機器が既に同一ネットワーク内の機器であるかを判断することができる。
ステップS807にて制御部101が、相手機器が同一ネットワーク内の機器であると判断した場合、処理はステップS806に進み、制御部101は、二重にネットワーク参加処理することはできない旨をユーザに通知して処理を終了する。
一方、ステップS807にて制御部101が、相手機器が同一ネットワーク内の機器出ないと判断した場合、処理はステップS808に進み、図5の処理と同様にPINコード方式のWPSを利用したネットワークへの参加処理を継続する。
以上が、本実施形態におけるデジタルカメラ100がAP機器として動作している場合の処理である。このように自機がAP機器として動作している場合は、自機のネットワークの維持を優先する。
続いて、本実施形態におけるデジタルカメラ100がCL機器として動作する場合の処理について説明する。
図9は、本実施形態のデジタルカメラ100がCL機器として動作する場合の処理を示すフローチャートである。本フローチャートは、デジタルカメラ100がCL機器としての動作を開始することに応じて開始される。デジタルカメラ100がCL機器としての動作を開始する場合は、例えばユーザのメニュー操作により指示を受け付けたことに応じて開始する場合や、後述の図10のステップS1018の処理により開始する場合が考えられる。
ステップS901では、図6のステップS601と同様の処理が実行される。また、ステップS902では、図8のステップS802と同様の処理が実行される。
ステップS905では、制御部101は、相手機器のWLAN情報を参照し、相手機器がAP機器として動作しているかCL機器として動作しているか、あるいはAP機器としてもCL機器としても動作していないか(すなわち未接続の状態であるか)を判断する。この処理は、図8のS805と同様の処理である。
まず、ステップS905で、相手機器が未接続であると判断した場合について説明する。この場合、処理はステップS925に進む。ステップS925〜ステップS930では、図6のステップS604〜ステップS610と同様の処理が実行され、相手機器を自機が参加しているネットワークに参加させるよう動作する。すなわち、この場合は自機が参加しているネットワークを優先する。
次に、ステップS905で、相手機器がAP機器であると判断した場合について説明する。この場合、相手機器が生成しているネットワークを優先する。すなわち、処理はステップS906に進み、制御部101は、現在参加しているネットワークから離脱する。
そして、ステップS907、ステップS908、ステップS924で、制御部101は、図7のステップS707、ステップS708、ステップS719と同様の処理を実行し、相手機器が生成しているネットワークへ参加する。このように、自機がCL機器で相手機器がAP機器である場合は、相手機器のネットワークを優先する。すなわち、自機がネットワークを離脱して、相手機器のネットワークに参加しなおす。
次に、ステップS905で、相手機器がCL機器であると判断した場合について説明する。この場合、どちらか一方がAP機器として動作することで、互いの通信を確立する。
処理はステップS909に進み、制御部101は、相手機器が同一ネットワーク内の機器がどうかを判断する。この処理は図8のステップS807と同様の処理である。
ステップS909で、制御部101が相手機器が同一ネットワーク内の機器であると判断した場合、処理はステップS910に進み、制御部101はエラーを通知して処理を終了する。
一方、ステップS909で、制御部101が、相手機器が同一ネットワーク内の機器でないと判断した場合、処理はステップS911に進む。
ステップS911では、制御部101は、自機がネットワークの参加側であるか否かを判断する。具体的には、制御部101は、近接無線通信が確立する前に、図5のアイコン502の選択を受け付けているかどうかを判断する。アイコン502を受け付けていないと判断した場合、制御部101は、自機がネットワークへの被参加側の機器であると判断し、自機が参加しているネットワークを優先する。すなわち、処理はステップS922へ進み、相手機器を自機が参加しているネットワークへ参加させるよう動作する。
一方、アイコン502の選択を受け付けていると判断した場合、デジタルカメラ100は相手機器のネットワークへの参加側の機器であると判断し、相手機器のネットワークを優先する。すなわち、処理はステップS912に進み、制御部101は、現在参加しているネットワークから離脱する。
続くステップS913以降の処理は、図7のステップS706以降の処理と同様の処理が実行され、相手機器が生成しているネットワークへ参加する。
以上が、本実施形態におけるデジタルカメラ100がCL機器として動作している場合の処理である。
続いて、本実施形態におけるデジタルカメラ100が未接続の場合の処理について説明する。
図10は、本実施形態のデジタルカメラ100の動作を示すフローチャートである。本フローチャートは、ユーザが操作部105を介して図4(a)に示すアイコン402を選択することに応じて開始される。
ステップS1001およびステップS1002は、図7のステップS701およびステップS702と同様の処理が実行される。また、ステップS1003では、図8のステップS802や図9のステップS902と同様の処理が実行される。
ステップS1005では、制御部101は、相手機器のWLAN情報を参照し、相手機器がAP機器として動作しているかCL機器として動作しているか、あるいはAP機器としてもCL機器としても動作していないか(すなわち未接続の状態であるか)を判断する。この処理は、図8のS805や図9のS905と同様の処理である。
まず、ステップS1005で、相手機器がAP機器またはCL機器として動作していると判断した場合について説明する。この場合、処理はステップS1009に進む。ステップS1009〜ステップS1022では、図7のステップS706〜ステップS719と同様の処理が実行され、相手機器を自機が参加しているネットワークに参加させるよう動作する。すなわち、自機が参加しているネットワークを優先する。
次に、ステップS1005で、相手機器が未接続であると判断した場合について説明する。この場合、この場合、どちらか一方がAP機器として動作し、他方がCL機器として動作することで、互いの通信を確立する。処理はステップS1006に進み、制御部101は、自機がネットワークの参加側であるか否かを判断する。この処理は図9のステップS911と同様の処理である。
自機がネットワークの参加側であると判断した場合、処理はステップS1010に進み、デジタルカメラ100は相手機器が生成するネットワークに参加するよう動作する。
一方、自機がネットワークの参加側でないと判断した場合、処理はステップS1007に進み、制御部101は、デジタルカメラ100のAP機器としての動作を開始させる。具体的には、自機のネットワークのSSIDや暗号化方式を決定し、ビーコンの発信を開始する。すなわち、ネットワークを生成する。
そして、ステップS1008にて、相手機器のネットワークへの参加を受け付ける。
以上が、本実施形態におけるデジタルカメラ100が未接続の場合の処理の説明である。
本実施形態では、近接無線通信を確立した両機器の動作状態に応じて、ネットワークへの参加のための処理を適切に制御するよう構成した。すなわち、近接無線通信を確立した相手機器がネットワークを生成している場合はそのネットワークを最優先とし、近接無線通信を確立した相手機器がネットワークを生成していない場合はネットワークへの被参加側の機器のネットワークを優先する。これにより、ユーザは各機器の動作状態を意識することなくネットワークへ参加することができると共に、ユーザが意図しないネットワークの消滅・離脱の可能性を低減することができる。
[第3の実施形態]
第1の実施形態では、PINコード方式のWPSを利用する場合を例に挙げて説明した。これに対して、本実施形態では、PINコード方式のWPSのかわりにプッシュボタン方式を利用する場合を例に挙げて説明する。なお、本実施形態は第1の実施形態と共通する部分が多いため、本実施形態特有の部分を中心に説明する。
<ネットワーク参加処理の概要>
本実施形態特有の処理を説明する前に、通常のプッシュボタン方式のWPSの手順について説明する。プッシュボタン方式のWPS(PBC:Push Button Configuration)に対応する機器では、プローブリクエストやプローブレスポンスを、PBCを利用する旨を示す情報(PBC方式情報)を含むものに切り替えることができる。一般的に、切り替えはハードウェアキーまたはソフトウェアキーの操作によって行われる。PBCを利用する場合、AP機器とAP機器のネットワークに参加しようとしている機器(参加機器)の両方を操作する(例えば機能が割り当てられているボタンの押下等)。参加機器を操作すると、参加機器からは、PBC方式情報を含むプローブリクエストが一定時間の間だけ発信される。さらに、AP機器を操作すると、プローブリクエストへの応答としてAP機器から発信されるプローブレスポンスに、一定時間の間だけPBC方式情報を含めるようになる。お互いの機器が、PBC情報を含む信号を授受し合うと、そこで初めてプッシュボタン方式のWPSに対応する機器であるとお互い認識し合い、以降の処理が開始される。このように、PBC方式情報を含める時間を限定することで、意図しない機器とのWPSの処理が行われてしまうことを防ぐ。以降、オーセンティケーションフレームやアソシエーションフレームの処理を経て、プッシュボタン方式のWPSレジストレーションプロトコルが開始され、通信パラメータ(例えば暗号化方式や暗号キー等)の授受が行われる。なお、プッシュボタン方式のWPSレジストレーションプロトコルでも、PINコードから生成されるハッシュデータの比較により認証処理が行われる。しかし、PINコードの入力等がないため、PINコード方式のように個別にあるいは動的に生成されるPINコードは用いられない。プッシュボタン方式の場合は、予めプッシュボタン方式で用いることが定められているPINコード(例えば00000000というPINコード)が用いられる。つまり、プッシュボタン方式のWPSを利用することを互いに認識してさえいれば、お互いに同一のPINコードを利用することになる。この認証処理を経て最終的に、参加機器がAP機器のネットワークに参加する。以上が、一般的なプッシュボタン方式のWPSによる通信パラメータの設定の手順の概要である。この手順は、セキュアな認証が可能な一方、認証処理を行う両機器のボタンを押す手間があった。特に、ユーザは、参加したいネットワークを生成しているAP機器が、どの機器であるかを意識する必要があった。
そこで、本実施形態では、デジタルカメラ100は、自機が参加しているネットワークを生成しているAP機器と、近接無線通信を確立した相手機器の両方に対して、それぞれプッシュボタン方式のWPSに従ったネットワークへの参加処理の開始を指示する。これに応じて、AP機器と相手機器は、プッシュボタン方式のWPSを利用するためのキーを操作された状態に遷移する。この結果、AP機器と相手機器の間でプッシュボタン方式のWPSを利用したネットワークへの参加処理が実行されることになる。
上述の動作を実現するための各デジタルカメラの処理の概要を、図11を用いて説明する。図11は、本実施形態のデジタルカメラのネットワーク参加処理の概要を示すシーケンス図である。なお、各デジタルカメラの付番は、図3に準じた値を用いる。図11においてデジタルカメラが簡易AP機器として動作する期間を、期間1101のように斜線領域で表す。また、デジタルカメラがCL機器として動作する期間を、期間1102のように無地領域で表す。また、近接無線通信が確立している期間を、期間1103のように網掛領域で表す。
図11の例では、シーケンス開始時において、デジタルカメラ210は簡易AP機器として動作している。また、デジタルカメラ230は、新たにネットワークに参加してCL機器として動作するカメラである。また、デジタルカメラ240はネットワークに参加しておらず、これからネットワークに参加しようとしている。
まず、ネットワークに参加しようとしているデジタルカメラ240は、ステップS1111にて、ネットワークに参加するための所定の操作をユーザから受け付け、ネットワークに参加するための準備動作を行う。この準備動作については、実施形態1で図4の例を用いて説明したものと同様であるため、説明は省略する。
続いて、図4(b)の画面が表示されている状態で、ユーザはデジタルカメラ240とデジタルカメラ230とを、近接無線通信が可能なように近づける。具体的には、それぞれのデジタルカメラの近接無線通信部112同士が通信可能な距離になるまで近づける。その結果、ステップS1112にて、デジタルカメラ230とデジタルカメラ240との近接無線通信が確立する。なお、デジタルカメラ230では、上記のネットワークに参加するための所定の操作を行う必要はない。
近接無線通信が確立すると、デジタルカメラ240はステップS1113で、近接無線通信を介して、デジタルカメラ230に、ネットワークへの参加要求を送信する。
これを受け取ったデジタルカメラ230はステップS1114で、近接無線通信を介してデジタルカメラ240に、レジストラ情報と自機の動作状態とをデジタルカメラ240に送信する。ここでは、デジタルカメラ230は有効なレジストラ機能を有していない旨を示すレジストラ情報と、自機がCL機器として動作していることを示す動作状態とを送信する。
続くステップS1115では、デジタルカメラ230は、デジタルカメラ210に対してプッシュボタン方式のWPSによるネットワークへの参加を受け付ける処理を開始するよう指示する。これに応じて、デジタルカメラ210はプッシュボタン方式のWPSによるネットワークへの参加の受け付けを開始する。具体的には、デジタルカメラ210の発するビーコンを検知した他の機器からのプローブリクエストへの応答として、所定の時間だけPBC方式情報を含むプローブレスポンスを返すようデジタルカメラ210の設定を変更する。これに併せて、デジタルカメラ210は、ステップS1116にて、接続部から発信される信号の電波強度を弱めるように設定する。これは、ユーザの意図しない機器とWPSの処理が行われてしまうことを防ぐためである。
また、ステップS1115の処理に併せてデジタルカメラ230は、ステップS1117にて、デジタルカメラ240に対して、プッシュボタン方式のWPSによるネットワークへの参加を要求する処理を開始するよう指示する。これに応じて、デジタルカメラ240は、ステップS1118でプッシュボタン方式のWPSによるネットワークへの参加要求信号の送信を開始する。具体的には、PBC方式情報を含むプローブリクエストの発信を所定の時間だけ行う。これに応答して、ステップS1119にてデジタルカメラ210は、PBC方式情報を含むプローブレスポンスをデジタルカメラ240に送信する。
ステップS1116およびステップS1117の処理がそれぞれのデジタルカメラで実行された結果、デジタルカメラ210とデジタルカメラ240とは、互いにPBC方式情報を含む信号を授受し合い、互いの存在を認識し合う。
続くステップS1120にて、デジタルカメラ210とデジタルカメラ240とは、オーセンティケーションフレームのやりとりやアソシエーションリクエストおよびアソシエーションレスポンスの授受を行う。
その後、ステップS1121にて、デジタルカメラ210とデジタルカメラ240との間でWPSレジストレーションプロトコルが開始され、認証された後にステップS1122で通信パラメータ(例えば暗号化方式や暗号鍵等)がデジタルカメラ240に渡される。
ステップS1122の処理により通信パラメータを受信したデジタルカメラ240は、CL機器としての動作を開始し、ステップS1123にて、デジタルカメラ210の生成しているネットワークに参加する。
デジタルカメラ240のネットワークへの参加が完了すると、ステップS1124にてデジタルカメラ210は、ステップS1116で弱めた電波強度を元に戻す。
以上が本実施形態のデジタルカメラのネットワーク参加処理の概要である。
<各デジタルカメラの動作>
続いて、上記の動作を実現するためのデジタルカメラのそれぞれの動作について詳述する。
図12は、AP機器として動作するデジタルカメラの処理を示すフローチャートである。本フローチャートの処理は、図5と同様の部分が多いため、共通の部分については説明を省略する。
ステップS1201〜ステップS1206は、図5のステップS501〜ステップS506と同様の処理が実行される。
ステップS1208では、制御部101は、接続部111を介して、ネットワーク内の機器からプッシュボタン方式のWPSを利用したネットワークへの参加処理を開始する指示を受け付けたか否かを判断する。制御部101が指示を受け付けていないと判断した場合、処理はステップS1201に戻る。制御部101が指示を受け付けたと判断した場合、処理はステップS1209に進む。
ステップS1209では、制御部101は、接続部111から発信される信号の電波強度を弱めると共に、プローブレスポンスにPBC方式情報を含めるよう設定を変更する。これにより、いわゆるプッシュボタン方式のWPSを用いるためのハードウェアキーを押下された場合と同様の処理が実行される。
続いて、ステップS1210にて、制御部101は、他機から、PBC方式情報を含むプローブリクエストを受信する。
これに対し、ステップS1211で制御部101は、PBC方式情報を含むプローブレスポンスを応答として他機に送信する。
ステップS1212〜ステップS1216では、図5のステップS512〜ステップS516と同様の処理が実行される。なお、ハッシュデータ生成のためのPINコードは、前述したように予め共通に定められているものが用いられる。また、ステップS1217では、ステップS1206と同様の処理が実行される。これにより自機の生成するネットワークに参加機器が参加する。
参加機器のネットワークへの参加が完了すると、ステップS1218にて、制御部101は、ステップS1209で弱めていた電波強度を元に戻す。
以上が、デジタルカメラ100がAP機器として動作する際の処理の説明である。
続いて、本実施形態のデジタルカメラ100がCL機器として動作する際の処理について説明する。図13は、本実施形態のデジタルカメラ100がCL機器として動作する場合の処理を示すフローチャートである。本フローチャートの処理は、図6と同様の部分が多いため、共通の部分については説明を省略する。
ステップS1301〜ステップS1304は、図6のステップS601〜ステップS604と同様の処理が実行される。また、ステップS1309およびステップS1310も、図6のステップS609およびステップS610と同様の処理が実行される。
ステップS1306では、制御部101は、自機が参加しているネットワークを生成するAP機器に対して、プッシュボタン方式のWPSを利用したネットワークへの参加処理を開始するよう指示する。すなわち、プローブレスポンスにPBC方式情報を含めるよう指示する。
これに併せて、ステップS1308では、制御部101は、近接無線通信を介して、相手機器に対して、プッシュボタン方式のWPSを利用したネットワークへの参加処理を開始するよう指示する。すなわち、プローブリクエストにPBC方式情報を含めるよう指示する。
レジストラの機能を有していないCL機器であるデジタルカメラ100は、ここで処理を終了する。この後、AP機器と相手機器との間でプッシュボタン方式のWPSを利用した認証処理を経て、相手機器はAP機器が生成するネットワークに参加する。
以上が、デジタルカメラ100がCL機器として動作する際の処理の説明である。
続いて、本実施形態においてデジタルカメラ100が近接無線通信を利用してネットワークに参加する際の動作について説明する。
図14は、本実施形態のデジタルカメラ100の動作を示すフローチャートである。本フローチャートは、本フローチャートの処理は、図7と同様の部分が多いため、共通の部分については説明を省略する。
ステップS1401〜ステップS1408は図7のステップS701〜ステップS708と同様の処理が実行される。
ステップS1411では、制御部101は、相手機器からプッシュボタン方式のWPSに従ったネットワークへの参加要求の発信を開始する指示を、近接無線通信を介して受け付けたか否かを判断する。プッシュボタン方式のWPSに従ったネットワークへの参加要求の発信を開始する指示とは、例えば図13のステップS1308で送信される指示である。制御部101が、まだ指示を受け付けていないと判断した場合、本ステップの処理を繰り返して指示を待つ。一方、制御部101が指示を受け付けたと判断した場合、処理はステップS1412に進む。なお、ステップS1402で相手機器に要求を送信してからステップS1411で指示を受け付けるまでに、近接無線通信が切断された場合、本フローチャートの処理を終了する。また、ステップS1411で指示を受け付けた後は、以降の処理で近接無線通信で相手機器と情報のやり取りをする必要が無いため、デジタルカメラ100を相手機器から離しても、ネットワークの参加処理は継続される。
ステップS1412では、制御部101は、プッシュボタン方式のWPSに従ったネットワークへの参加要求の発信を開始する。すなわち、PBC方式情報を含むプローブリクエストをAP機器に対して送信する。この結果、AP機器では、プローブレスポンスが返戻される。このレスポンスは、例えば図12のステップS1211の処理により送信されるものに相当する。
続くステップS1413で、制御部101は、AP機器から送信されるPBC方式情報を含むプローブレスポンスを受信する。もしPBC方式情報が含まれていないプローブレスポンスを受信した場合は、まだAP機器がプッシュボタン方式のWPSによるネットワークの参加処理を開始していないことを示す。ステップS1412でPBC方式情報を含むプローブリクエストの送信を開始してから、PBC方式情報を含むプローブレスポンスを受信しないまま一定時間が経過した場合は、本フローチャートの処理を終了する。
ステップS1214〜ステップS1219では、図7のステップS714〜ステップS718と同様の処理が実行される。なお、ハッシュデータ生成のためのPINコードは、前述したように予め用意されたものが用いられる。
以上が、本実施形態においてデジタルカメラ100が近接無線通信を利用してネットワークに参加する際の動作の説明である。
以上、本実施形態では、PINコード方式のWPSではなくプッシュボタン方式のWPSを利用する場合を例に挙げて説明した。このように、PINコード方式のみならず、プッシュボタン方式のWPSを利用することによっても、デジタルカメラを手軽にネットワークに参加させることと、セキュリティ性を保つこととを両立することができる。
[その他の実施形態]
上述の実施形態に加えて、AP機器の電波強度に応じて、WPSの方式を切り替えるようにしてもよい。
また、上述の実施形態では、ハッシュデータを交換する直前のステップS513や、S715でハッシュデータを生成していた。これについては、ハッシュデータを算出するためのPINコードが用意できていれば、いつ行ってもよい。つまり、図5では、ステップS508でPINコードを受信してから、ステップS514でハッシュデータを交換するまでの間に、ハッシュデータを生成すればよい。また、図7では、ステップS709でPINコードを生成してから、ステップS716でハッシュデータを交換するまでの間に、ハッシュデータを生成すればよい。
また、AP機器がWPSに対応していない場合も考えられる。そこで、上述の実施形態に加えて、WPSに対応しているか否かを示す情報をAP機器から取得し、もしWPSに対応していない場合には、近接無線通信を確立した相手機器(新たにネットワークに参加しようとしている機器)にその旨を通知するようにしてもよい。なお、WPSに対応しているか否かを示す情報を取得するトリガは、デジタルカメラ100がネットワークに参加したことをトリガとしてもよいし、相手機器との近接無線通信の確立をトリガとしてもよい。更に、AP機器がPINコード方式、プッシュボタン方式のいずれか一方のWPSにしか対応していない場合も考えられる。そこで、上述の実施形態に加えて、デジタルカメラ100は、AP機器がWPSに対応しているか否かのみならず、どの方式のWPSに対応しているか否かを示す情報をAP機器から取得してもよい。この場合、AP機器の対応状況に応じて、対応している方のWPSによりネットワークの参加処理を行うように指示の内容を切り替えるようにしてもよい。
また、上述の実施形態では、AP機器(例えばデジタルカメラ210)に対する指示と、参加機器(例えばデジタルカメラ230)に対する指示のタイミングについて特に言及しなかった。しかしながら、AP機器が既に何らかの指示を受け付けたことにより、他の機器とWPSによるネットワークの参加処理を実行中である場合も考えられる。その場合は、参加機器に指示したとしても、AP機器から適切な応答を受信することができず、参加機器はネットワークに参加できない。そこで、AP機器が現在既に他の機器とWPSによるネットワークの参加処理を実行中である場合には、参加機器に対して指示を行わないようにしてもよい。具体的には、参加機器への指示よりも前にAP機器への指示を行い、この指示に対して既に他の機器とWPSによるネットワークの参加処理を実行中であるとの応答を受けた場合には、参加機器に対してその旨を通知する。例えば、図3のステップS317の指示に応じてデジタルカメラ210は、他の機器とWPSによるネットワークの参加処理を実行中であるか否かを通知する。そして、デジタルカメラ230は、その通知内容に応じて、ステップS318でデジタルカメラ240に指示を送信するか、現在は他の機器の参加処理中であることを示す情報を送信するか切り替える。あるいは、両機器への指示の前にAP機器に、現在WPSによるネットワークの参加処理を実行中であるかを問い合わせ、既に他の機器とWPSによるネットワークの参加処理を実行中であるとの応答を受けた場合は、参加機器に対してその旨を通知する。例えば、図3のステップS313でデジタルカメラ240から参加要求を受け付けたことに応じて、デジタルカメラ230は、デジタルカメラ210に対して、現在他の機器とWPSによるネットワークの参加処理を実行中であるか否かを問い合わせる。そして、その問い合わせに対してのデジタルカメラ210からの応答の内容に応じて、ステップS314でデジタルカメラ240にレジストラ情報やWLAN情報を送信するか、現在は他の機器の参加処理中であることを示す情報を送信するか切り替える。これにより、参加機器のユーザは他の機器のネットワークへの参加処理が終わるまでまてばよいことを認識することができる。
また、上述の実施形態では、デジタルカメラ240が、デジタルカメラ230からの指示に応じて、WPSを利用する旨を示す情報含むプローブリクエストの発信を開始する場合について説明した。これについては、デジタルカメラ240は、ユーザによるアイコン402の選択に応じて、あるいはPINコードの生成完了に応じて、WPSを利用する旨を示す含むプローブリクエストの発信を開始するようにしてもよい。結果として、レジストラ機器とエンローリ機器の両方が、WPSを利用する旨を示す情報を含む信号を授受し得る環境になればよい。
また、上述の実施形態では、デジタルカメラ240が、デジタルカメラ230からWLAN情報やレジストラ情報を受信することに応じてPINコードを生成する場合について説明した。これについては、デジタルカメラ240は、デジタルカメラ230との近接無線通信が確立したことに応じてPINコードを生成するようにしてもよい。あるいは、ネットワークに参加するための所定の操作(例えばアイコン402の選択等)が受け付けられたことに応じてPINコードを生成するようにしてもよい。
また、近接無線通信で授受される信号には、第三者に渡すことを許可する旨を示す情報(許可情報)を含めることができる。そこで、上述の実施形態に加えて、許可情報を利用してネットワークの参加処理を切り替えてもよい。例えば、デジタルカメラ230が、AP機器として動作するデジタルカメラ210と近接無線通信を確立することで、デジタルカメラ210の生成しているネットワーク200に参加する際に、デジタルカメラ210は、許可情報と共に通信パラメータを送信する。これにより、デジタルカメラ230は、レジストラ機能を有していなくとも、受信したデータを他機に渡してもよいと認識できる。これにより、例えばデジタルカメラ240がデジタルカメラ230と近接無線通信を確立してネットワーク200に参加しようとした場合、デジタルカメラ230は近接無線通信で直接通信パラメータを渡せばよい。すなわち、わざわざデジタルカメラ210とのWPSによるネットワーク参加処理を実行させる必要はない。この場合、図6のステップS604の判断の前に、自機が参加しているネットワークの情報が許可情報と共に得られたかどうかを判断し、許可情報と共に得られたと判断された場合には、ステップS604を経ることなく、ステップS609に遷移する。これにより、自機がレジストラとして動作していなくても、簡単に通信パラメータを共有することができる。
また本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)をネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(又はCPUやMPU等)がプログラムコードを読み出して実行する処理である。この場合、そのプログラム、及び該プログラムを記憶した記憶媒体は本発明を構成することになる。