(57)【特許請求の範囲】
【請求項１】
第一の通信を介して外部装置と接続するための、複数の通信パラメータを、前記第一の通信とは異なる第二の通信を介して、前記外部装置と共有する共有手段と、
前記共有手段によって共有された前記複数の通信パラメータを用いて前記第一の通信を介して前記外部装置と接続する接続手段と、
前記接続手段を介した前記外部装置との通信を制御する制御手段とを有し、
前記共有手段は記録領域を有し、
前記記録領域は前記制御手段および前記外部装置の両方からアクセス可能であり、かつデータを複数のレコードに分けた構成で記録可能であり、
前記共有手段は、前記複数の通信パラメータのうち、第一の通信パラメータを、第二の通信パラメータより優先して共有し、
前記共有手段は、前記レコードのうち、第一のレコードを第二のレコードよりも先に送信し、
前記制御手段は、前記第一の通信パラメータを第一のレコードに記録し、前記第二の通信パラメータを第二のレコードに記録するよう制御し、
前記第一の通信パラメータは前記第一の通信を介して前記外部装置と共に同一のネットワークに参加するための情報であり、
前記第二の通信パラメータは、前記第一の通信を介して、前記ネットワーク内の前記外部装置と通信するための情報であることを特徴とする通信装置。
【請求項２】
前記共有手段は、前記外部装置からの要求に応じて、前記レコードのうち、第一のレコードを第二のレコードよりも先に送信することを特徴とする請求項１に記載の通信装置。
【請求項３】
第一の通信を介して外部装置と接続するための、複数の通信パラメータを、前記第一の通信とは異なる第二の通信を介して、前記外部装置と共有する共有手段と、
前記共有手段によって共有された前記複数の通信パラメータを用いて前記第一の通信を介して前記外部装置と接続する接続手段とを有し、
前記共有手段は、前記複数の通信パラメータのうち、第一の通信パラメータを、第二の通信パラメータより優先して共有し、
前記共有手段は、前記複数の通信パラメータを、前記外部装置の共有手段の記録領域に、該記録領域の記録フォーマットに対応するデータ構造で記録し、
前記記録領域は複数のレコードに分けた構造でデータを記録し、
前記共有手段は、前記レコードのうち、第一のレコードを第二のレコードよりも先に前記外部装置の共有手段の記録領域に記録し、
前記第一のレコードは前記第一の通信パラメータを含み、前記第二のレコードは前記第二の通信パラメータを含むことを特徴とする請求項１に記載の通信装置。
【請求項４】
前記共有手段は、前記第一の通信パラメータおよび前記第二の通信パラメータを、前記外部装置の共有手段の記録領域から読み出し、
前記共有手段は、前記読み出した第一の通信パラメータを含む前記第一のレコードを、前記読み出した第二の通信パラメータを含む前記第二のレコードよりも先に前記外部装置の共有手段の記録領域に記録することを特徴とする請求項３に記載の通信装置。
【請求項５】
前記接続手段は、前記外部装置および前記通信装置とは別体の中継装置が生成するネットワークに参加し、
前記共有手段は、前記中継装置が生成するネットワークの通信パラメータを、前記第二の通信パラメータとして前記外部装置と共有することを特徴とする請求項１乃至４のいずれか１項に記載の通信装置。
【請求項６】
前記共有手段は、前記外部装置から供給された電力を用いて前記外部装置と前記複数の通信パラメータを共有することを特徴とする請求項１乃至５のいずれか１項に記載の通信装置。
【請求項７】
撮像手段と、
前記第一の通信を介して、前記撮像手段により得られる画像データを前記外部装置と共有する手段を更に有する請求項１乃至６のいずれか１項に記載の通信装置。
【請求項８】
前記第一の通信は、無線ＬＡＮ、Ｂｌｕｅｔｏｏｔｈ（登録商標）、のうちいずれか一つを含み、
前記第二の通信はＲＦＩＤ、ＮＦＣのうちいずれか一つを含むことを特徴とする請求項１乃至７のいずれか１項に記載の通信装置。
【請求項９】
外部装置と通信することができる通信装置であって、
前記通信装置を制御する制御手段と、
前記制御手段および前記外部装置からアクセス可能な記録領域を有し、かつ前記記録領域に記録されている複数の通信パラメータを近距離無線通信を介して前記外部装置と共有する、近距離無線通信手段と、
前記近距離無線通信手段によって共有された前記複数の通信パラメータを用いて所定の通信を介して前記外部装置との接続を確立する無線通信手段とを有し、
前記近距離無線通信手段は、前記外部装置からリードリクエストを受けたことに応じて、前記記録領域に記録されている前記複数の通信パラメータのうち第一の通信パラメータを第二の通信パラメータよりも優先して前記外部装置に送信するよう制御し、
前記第一の通信パラメータは前記無線通信手段を介して前記外部装置と同じネットワークに参加するための情報であり、前記第二の通信パラメータは、前記無線通信手段を介して、前記ネットワーク内の前記外部装置と通信するための情報であることを特徴とする通信装置。
【請求項１０】
外部装置と通信することができる通信装置であって、
前記通信装置を制御する制御手段と、
前記制御手段および前記外部装置からアクセス可能であり、複数の通信パラメータをＮＤＥＦに従った構造で記録する記録領域を有する近距離無線通信タグと、
所定の通信を介して前記外部装置との接続を確立する無線通信手段と、を有し、
前記制御手段は、前記複数の通信パラメータのうち第一の通信パラメータを、第二の通信パラメータよりも上位のレコードになるよう前記近距離無線通信タグの前記記録領域に記録するよう制御し、
前記第一の通信パラメータは前記無線通信手段を介して前記外部装置と共に同一のネットワークに参加するための情報であり、前記第二の通信パラメータは、前記無線通信手段を介して、前記ネットワーク内の前記外部装置と通信するための情報であることを特徴とする通信装置。
【請求項１１】
複数の通信パラメータを外部装置の近距離無線通信タグに書き込む書き込み手段と、
前記複数の通信パラメータのうち少なくとも一部を用いて、所定の通信を介して前記外部装置との接続を確立する無線通信手段とを有し、
前記書き込み手段は、前記複数の通信パラメータのうち第一の通信パラメータを、第二の通信パラメータよりも先に前記近距離無線通信タグに記録するよう制御し、
前記第一の通信パラメータは前記無線通信手段を介して前記外部装置と共に同一のネットワークに参加するための情報であり、前記第二の通信パラメータは、前記無線通信手段を介して、前記ネットワーク内の前記外部装置と通信するための情報であることを特徴とする通信装置。
【請求項１２】
前記外部装置の近距離無線通信タグは、前記外部装置の制御手段からもアクセス可能であり、
前記近距離無線通信タグへの前記書き込み手段からの前記複数の通信パラメータの書き込みの開始に伴い、前記外部装置の制御手段からの前記近距離無線通信タグへのアクセスの排他が開始されることを特徴とする請求項１１に記載の通信装置。
【請求項１３】
制御手段と記録領域とを有する通信装置の制御方法であって、
第一の通信を介して外部装置と接続するための、複数の通信パラメータを、前記第一の通信とは異なる第二の通信を介して、前記外部装置と共有し、
前記共有された前記複数の通信パラメータを用いて前記第一の通信を介して前記外部装置と接続し、
前記記録領域は前記制御手段および前記外部装置の両方からアクセス可能であり、かつデータを複数のレコードに分けた構成で記録可能であり、
前記複数の通信パラメータのうち、第一の通信パラメータは第二の通信パラメータよりも優先して共有され、
前記レコードのうち、第一のレコードは第二のレコードよりも先に送信され、
前記第一の通信パラメータは第一のレコードに記録され、前記第二の通信パラメータは第二のレコードに記録され、
前記第一の通信パラメータは前記第一の通信を介して前記外部装置と共に同一のネットワークに参加するための情報であり、
前記第二の通信パラメータは、前記第一の通信を介して、前記ネットワーク内の前記外部装置と通信するための情報であることを特徴とする通信装置の制御方法。
【請求項１４】
コンピュータを、請求項１乃至１２のいずれか１項に記載の通信装置の各手段として機能させるための、コンピュータが読み取り可能なプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、外部装置と無線通信によって接続することができる通信装置に関する。
【背景技術】
【０００２】
近年、携帯電話と無線通信を介して接続し、画像データの授受が可能なデジタルカメラが知られてきている。また、この無線通信を介した接続のためにユーザが操作しなければならない手順の一部を省くために、無線通信を介して接続するための通信パラメータを、他の無線通信を用いて共有する技術（いわゆるハンドオーバー）が知られている。例えば特許文献１には、無線ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）を介して機器同士が接続するための通信パラメータを、ＮＦＣ（Ｎｅａｒ  Ｆｉｅｌｄ  Ｃｏｍｍｕｎｉｃａｔｉｏｎ）を用いて機器間で共有することが開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１３−１５７７３６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上述の特許文献１で開示されているＮＦＣのような近接無線通信は、無線ＬＡＮやＢｌｕｅｔｏｏｔｈ（登録商標）とは異なり、通信するためにデバイス同士を近接させるだけで通信できるというメリットがある。その一方で、近接無線通信は、ユーザがデバイス同士を近接した位置関係にすることで通信経路が維持される。そのため、ユーザのデバイスの持ち方や近接のための所作によっては、適切な位置関係が保たれない可能性がある。もし、データの授受の際中に適切な位置関係でなくなってしまい通信が切断された場合には、記録されるデータが破損することもある。この場合、データ破損により、ハンドオーバーに必要なデータを正しく読み出すことができなくなり、少なくとも近接させるという所作のみではハンドオーバーできなくなってしまう。
【０００５】
上述の特許文献では、上記のようなデータの授受に失敗する可能性について何ら考慮していない。
【０００６】
そこで、本発明は、近接無線通信におけるデータの授受に失敗してハンドオーバーできない可能性を低減することを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するため、本発明の通信装置は、第一の通信を介して外部装置と接続するための、複数の通信パラメータを、前記第一の通信とは異なる第二の通信を介して、前記外部装置と共有する共有手段と、前記共有手段によって共有された前記複数の通信パラメータを用いて前記第一の通信を介して前記外部装置と接続する接続手段と、前記接続手段を介した前記外部装置との通信を制御する制御手段とを有し、前記共有手段は記録領域を有し、前記記録領域は前記制御手段および前記外部装置の両方からアクセス可能であり、かつデータを複数のレコードに分けた構成で記録可能であり、前記共有手段は、前記複数の通信パラメータのうち、第一の通信パラメータよりも第二の通信パラメータを優先して共有し、前記共有手段は、前記レコードのうち、第一のレコードを第二のレコードよりも先に送信し、前記制御手段は、前記第一の通信パラメータを第一のレコードに記録し、前記第二の通信パラメータを第二のレコードに記録するよう制御し、前記第一の通信パラメータは前記第一の通信を介して前記外部装置と同じネットワークに参加するための情報であり、前記第二の通信パラメータは、前記第一の通信を介して、前記ネットワーク内の前記外部装置と通信するための情報であることを特徴とする。
【発明の効果】
【０００８】
本発明によれば、近接無線通信におけるデータの授受に失敗してハンドオーバーできない可能性を低減することができる。
【図面の簡単な説明】
【０００９】
【図１】第１の実施形態におけるデジタルカメラ１００の構成を示すブロック図。
【図２】第１の実施形態における携帯電話２００の構成を示すブロック図。
【図３】第１の実施形態における携帯電話２００のソフトウェア構成図。
【図４】第１の実施形態におけるユースケースを説明するための図。
【図５】第１の実施形態における携帯電話２００のフローチャート。
【図６】第１の実施形態におけるＮＤＥＦデータ構造の概念図。
【図７】第１の実施形態におけるデジタルカメラ１００のフローチャート。
【図８】第１の実施形態における再タッチした場合の携帯電話２００のフローチャート。
【発明を実施するための形態】
【００１０】
以下に、本発明を実施するための形態について、添付の図面を用いて詳細に説明する。
【００１１】
なお、以下に説明する実施の形態は、本発明の実現手段としての一例であり、本発明が適用される装置の構成や各種条件によって適宜修正又は変更されてもよい。また、各実施の形態を適宜組み合せることも可能である。
【００１２】
［第１の実施形態］
＜デジタルカメラの構成＞
図１（ａ）は、本実施形態の通信装置の一例であるデジタルカメラ１００の構成例を示すブロック図である。なお、ここでは通信装置の一例としてデジタルカメラについて述べるが、通信装置はこれに限られない。例えば通信装置は携帯型のメディアプレーヤや、いわゆるタブレットデバイス、パーソナルコンピュータなどの情報処理装置であってもよい。
【００１３】
制御部１０１は、入力された信号や、後述のプログラムに従ってデジタルカメラ１００の各部を制御する。なお、制御部１０１が装置全体を制御する代わりに、複数のハードウェアが処理を分担することで、装置全体を制御してもよい。
【００１４】
撮像部１０２は、例えば、光学レンズユニットと絞り・ズーム・フォーカスなど制御する光学系と、光学レンズユニットを経て導入された光（映像）を電気的な映像信号に変換するための撮像素子などで構成される。撮像素子としては、一般的には、ＣＭＯＳ（Ｃｏｍｐｌｅｍｅｎｔａｒｙ  Ｍｅｔａｌ  Ｏｘｉｄｅ  Ｓｅｍｉｃｏｎｄｕｃｔｏｒ）や、ＣＣＤ（Ｃｈａｒｇｅ  Ｃｏｕｐｌｅｄ  Ｄｅｖｉｃｅ）が利用される。撮像部１０２は、制御部１０１に制御されることにより、撮像部１０２に含まれるレンズで結像された被写体光を、撮像素子により電気信号に変換し、ノイズ低減処理などを行いデジタルデータを画像データとして出力する。本実施形態のデジタルカメラ１００では、画像データは、ＤＣＦ（Ｄｅｓｉｇｎ  Ｒｕｌｅ  ｆｏｒ  Ｃａｍｅｒａ  Ｆｉｌｅ  Ｓｙｓｔｅｍ）の規格に従って、記録媒体１１０に記録される。
【００１５】
不揮発性メモリ１０３は、電気的に消去・記録可能な不揮発性のメモリであり、制御部１０１で実行される後述のプログラム等が格納される。
【００１６】
作業用メモリ１０４は、撮像部１０２で撮像された画像データを一時的に保持するバッファメモリや、表示部１０６の画像表示用メモリ、制御部１０１の作業領域等として使用される。
【００１７】
操作部１０５は、ユーザがデジタルカメラ１００に対する指示をユーザから受け付けるために用いられる。操作部１０５は例えば、ユーザがデジタルカメラ１００の電源のＯＮ／ＯＦＦを指示するための電源ボタンや、撮影を指示するためのレリーズスイッチ、画像データの再生を指示するための再生ボタンを含む。さらに、後述の接続部１１１を介して外部機器との通信を開始するための専用の接続ボタンなどの操作部材を含む。また、後述する表示部１０６に形成されるタッチパネルも操作部１０５に含まれる。なお、レリーズスイッチは、ＳＷ１およびＳＷ２を有する。レリーズスイッチが、いわゆる半押し状態となることにより、ＳＷ１がＯＮとなる。これにより、ＡＦ（オートフォーカス）処理、ＡＥ（自動露出）処理、ＡＷＢ（オートホワイトバランス）処理、ＥＦ（フラッシュプリ発光）処理等の撮影準備を行うための指示を受け付ける。また、レリーズスイッチが、いわゆる全押し状態となることにより、ＳＷ２がＯＮとなる。これにより、撮影を行うための指示を受け付ける。
【００１８】
表示部１０６は、撮影の際のビューファインダー画像の表示、撮影した画像データの表示、対話的な操作のための文字表示などを行う。なお、表示部１０６は必ずしもデジタルカメラ１００が内蔵する必要はない。デジタルカメラ１００は内部又は外部の表示部１０６と接続することができ、表示部１０６の表示を制御する表示制御機能を少なくとも有していればよい。
【００１９】
記録媒体１１０は、撮像部１０２から出力された画像データを記録することができる。記録媒体１１０は、デジタルカメラ１００に着脱可能なよう構成してもよいし、デジタルカメラ１００に内蔵されていてもよい。すなわち、デジタルカメラ１００は少なくとも記録媒体１１０にアクセスする手段を有していればよい。
【００２０】
接続部１１１は、外部装置と接続するためのインターフェースである。本実施形態のデジタルカメラ１００は、接続部１１１を介して、外部装置とデータのやりとりを行うことができる。例えば、撮像部１０２で生成した画像データを、接続部１１１を介して外部装置に送信することができる。なお、本実施形態では、接続部１１１は外部装置とＩＥＥＥ８０２．１１の規格に従った、いわゆる無線ＬＡＮで通信するためのインターフェースを含む。制御部１０１は、接続部１１１を制御することで外部装置との無線通信を実現する。なお、通信方式は無線ＬＡＮに限定されるものではなく、例えば赤外通信方式も含む。接続部１１１は第１の無線通信手段の一例である。
【００２１】
なお、本実施形態におけるデジタルカメラ１００の接続部１１１は、インフラストラクチャモードにおけるアクセスポイントとして動作するＡＰモードと、インフラストラクチャモードにおけるクライアントとして動作するＣＬモードとを有している。そして、接続部１１１をＣＬモードで動作させることにより、本実施形態におけるデジタルカメラ１００は、インフラストラクチャモードにおけるＣＬ機器として動作することが可能である。デジタルカメラ１００がＣＬ機器として動作する場合、周辺のＡＰ機器に接続することで、ＡＰ機器が形成するネットワークに参加することが可能である。
【００２２】
また、接続部１１１をＡＰモードで動作させることにより、本実施形態におけるデジタルカメラ１００は、ＡＰの一種ではあるが、より機能が限定された簡易的なＡＰ（以下、簡易ＡＰ）として動作することも可能である。デジタルカメラ１００が簡易ＡＰとして動作すると、デジタルカメラ１００は自身でビーコンの定期的な発信を開始し、ネットワークを形成する。デジタルカメラ１００の周辺の装置は、デジタルカメラ１００をＡＰ機器と認識し、デジタルカメラ１００が形成したネットワークに参加することが可能となる。
【００２３】
また、ＡＰモードとＣＬモードは、近接通信無線部１１２を介した近接無線通信を用いて携帯電話２００によって書き込まれた情報を基に判断することで、切り替えることが可能である。
【００２４】
近接無線通信部１１２は、例えば、無線通信のためのアンテナ部と無線信号を処理するための変復調回路から構成される。近接無線通信部１１２は、変調した無線信号をアンテナから出力し、またアンテナで受信した無線信号を復調することで非接触近接無線通信を実現する。例えば、ＩＳＯ／ＩＥＣ  １８０９２の規格（いわゆるＮＦＣ：Ｎｅａｒ  Ｆｉｅｌｄ  Ｃｏｍｍｕｎｉｃａｔｉｏｎ）に従った非接触近接無線通信を実現する。近接無線通信部１１２は通信を確立した上で、他のデバイスからデータ読み出し要求を受けると、近接無線通信部１１２内の不図示の不揮発性メモリに格納されているデータを出力する。また、近接無線通信部１１２内の不図示の不揮発性メモリには、他のデバイスとの通信のみならず、制御部１０１からもアクセス可能である。
【００２５】
以下の説明では、近接無線通信部１１２のことを、ＮＦＣタグとも記載する。なお、この不揮発性メモリに格納されているデータはＮＤＥＦ（ＮＦＣ  Ｄａｔａ  Ｅｘｃｈａｎｇｅ  Ｆｏｒｍａｔ）に準拠するものとして説明する。不揮発性メモリは、デジタルカメラ１００が簡易ＡＰモードで生成するネットワークの通信パラメータ（ＳＳＩＤやパスワード）や、デジタルカメラ１００のＩＰアドレスなどのデータを格納している。本実施形態におけるＮＤＥＦの構成については後述する。なお、不揮発性メモリに格納されているデータはＮＤＥＦに限られるものではない。例えば、ＮＦＣフォーラムにて定義されているタグフォーマットに準拠した上でバイナリデータを用いて独自に定義し、格納してもよい。これらの情報は、デフォルト値またはランダムに生成された値が用いられ、少なくともデジタルカメラ１００の電源がＯＮとなった場合に、リセットされる。すなわち、制御部１０１は、電源がＯＮとなった後に、現在のＮＤＥＦの状態に関わらず、デフォルト値またはランダムに生成された値をＮＤＥＦの構成に従ってメモリ内容を上書きする。
【００２６】
また、本実施形態のデジタルカメラ１００においては、他のデバイスから近接無線通信部１１２の不揮発性メモリに書き込みが行われたタイミングで、ＡＰモードとＣＬモードのどちらで動作するかを判断し他デバイスとの無線ＬＡＮ通信を確立させる。他デバイスとの無線ＬＡＮ通信が確立すると、制御部１０１は、不揮発性メモリの近接無線通信に関するデータを書き込み前の状態に戻す。なお、セキュリティ性を考慮し、通信パラメータのパスワードを状態を戻す度に変更してもよい。なお、近接無線通信部１１２の不揮発性メモリの状態を戻すタイミングは、これに限定するものではない。例えば、無線ＬＡＮのネットワークを生成する前に書き換えてもよい。このときパスワードを変更しておけば、少なくともその後に生成する無線ＬＡＮのネットワークのパスワードがＮＦＣを介して外部に漏れる可能性がなくなるため、よりセキュリティ性の高いシステムとなる。
【００２７】
後述する携帯電話２００とは、近接無線通信部１１２と近接無線通信部２１２を近接させることにより通信を開始して接続される。なお、近接無線通信部１１２を用いて携帯電話２００と接続させる場合、必ずしも近接無線通信部１１２と近接無線通信部２１２を接触させる必要はない。互いの近接無線通信部１１２と近接無線通信部２１２は、一定の距離だけ離れていても通信することができるため、互いの機器を接続するためには、近接無線通信可能な範囲まで近づければよい。以下の説明では、この近接無線通信可能な範囲まで近づけることを、近接させる、と記載する。
【００２８】
また、互いの近接無線通信部１１２と近接無線通信部２１２が近接無線通信不可能な範囲にあれば、通信は開始されない。また、デジタルカメラ１００と携帯電話２００が近接無線通信で接続されている状態から、互いの近接無線通信部１１２と近接無線通信部２１２が近接無線通信不可能な範囲に離れた状態になった場合は、通信は切断される。なお、近接無線通信部１１２が実現する非接触近接通信はＮＦＣに限られるものではなく、他の無線通信を採用してもよい。例えば、近接無線通信部１１２が実現する非接触近接通信として、ＩＳＯ／ＩＥＣ  １４４４３の規格に従った非接触近接通信を採用してもよい。
【００２９】
本実施形態では、接続部１１１により実現される通信の通信速度は、後述の近接無線通信部１１２により実現される通信の通信速度よりも速い。また、接続部１１１により実現される通信は、近接無線通信部１１２による通信よりも、通信可能な範囲が広い。その代わり、近接無線通信部１１２による通信では、通信可能な範囲の狭さにより通信相手を限定することができるため、接続部１１１により実現される通信で必要な暗号鍵の交換等の処理を必要としない。すなわち、接続部１１１を用いるよりも手軽に通信することができる。上記のようにデジタルカメラ１００を動作させるためのプログラムは不揮発性メモリ１０３に保持されているものとする。
【００３０】
なお、本実施形態におけるデジタルカメラ１００はＡＰの一種であるものの、ＣＬ機器から受信したデータをインターネットプロバイダなどに転送するゲートウェイ機能は有していない簡易ＡＰである。したがって、自機が形成したネットワークに参加している他の装置からデータを受信しても、それをインターネットなどのネットワークに転送することはできない。
【００３１】
次に、デジタルカメラ１００の外観について説明する。図１（ｂ）、図１（ｃ）はデジタルカメラ１００の外観の一例を示す図である。レリーズスイッチ１０５ａや再生ボタン１０５ｂ、方向キー１０５ｃ、タッチパネル１０５ｄは、前述の操作部１０５に含まれる操作部材である。また、表示部１０６には、撮像部１０２による撮像の結果得られた画像が表示される。また、本実施形態のデジタルカメラ１００は、カメラ筺体の側面に近接無線通信部１１２のアンテナ部分を有する。この近接無線通信部１１２同士を一定の距離に近づけることにより、他の機器と近接無線通信を確立することができる。これにより、ケーブル等を介さずに非接触で通信可能であると共に、ユーザの意図に沿って通信相手を限定することができる。
【００３２】
以上がデジタルカメラ１００の説明である。
【００３３】
＜携帯電話の構成＞
図２は、本実施形態の情報処理装置の一例である携帯電話２００の構成例を示すブロック図である。なお、ここでは情報処理装置の一例として携帯電話について述べるが、情報処理装置はこれに限られない。例えば情報処理装置は、無線機能付きのデジタルカメラ、タブレットデバイス、あるいはパーソナルコンピュータなどであってもよい。
【００３４】
制御部２０１は、入力された信号や、後述のプログラムに従って携帯電話２００の各部を制御する。なお、制御部２０１が装置全体を制御する代わりに、複数のハードウェアが処理を分担することで、装置全体を制御してもよい。
【００３５】
撮像部２０２は、撮像部２０２に含まれるレンズで結像された被写体光を電気信号に変換し、ノイズ低減処理などを行いデジタルデータを画像データとして出力する。撮像した画像データはバッファメモリに蓄えられた後、制御部２０１にて所定の演算を行い、記録媒体２１０に記録される。
【００３６】
不揮発性メモリ２０３は、電気的に消去・記録可能な不揮発性のメモリである。不揮発性メモリ２０３には、制御部２０１が実行する基本的なソフトウェアであるＯＳ（オペレーティングシステム）や、このＯＳと協働して応用的な機能を実現するアプリケーションが記録されている。また、本実施形態では、不揮発性メモリ２０３には、デジタルカメラ１００と通信するためのアプリケーション（以下アプリ）が格納されている。
【００３７】
作業用メモリ２０４は、表示部２０６の画像表示用メモリや、制御部２０１の作業領域等として使用される。
【００３８】
操作部２０５は、携帯電話２００に対する指示をユーザから受け付けるために用いられる。操作部２０５は例えば、ユーザが携帯電話２００の電源のＯＮ／ＯＦＦを指示するための電源ボタンや、表示部２０６に形成されるタッチパネルなどの操作部材を含む。
【００３９】
表示部２０６は、画像データの表示、対話的な操作のための文字表示などを行う。なお、表示部２０６は必ずしも携帯電話２００が備える必要はない。携帯電話２００は表示部２０６と接続することができ、表示部２０６の表示を制御する表示制御機能を少なくとも有していればよい。
【００４０】
記録媒体２１０は、撮像部２０２から出力された画像データを記録することができる。記録媒体２１０は、携帯電話２００に着脱可能なよう構成してもよいし、携帯電話２００に内蔵されていてもよい。すなわち、携帯電話２００は少なくとも記録媒体２１０にアクセスする手段を有していればよい。
【００４１】
接続部２１１は、外部装置と接続するためのインターフェースである。本実施形態の携帯電話２００は、接続部２１１を介して、デジタルカメラ１００とデータのやりとりを行うことができる。本実施形態では、接続部２１１はアンテナであり、制御部１０１は、アンテナを介して、デジタルカメラ１００と接続することができる。なお、デジタルカメラ１００との接続では、直接接続してもよいしアクセスポイントを介して接続してもよい。データを通信するためのプロトコルとしては、例えば無線ＬＡＮを通じたＰＴＰ／ＩＰ（Ｐｉｃｔｕｒｅ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ  ｏｖｅｒ  Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）を用いることができる。なお、デジタルカメラ１００との通信はこれに限られるものではない。例えば、接続部２１１は、赤外線通信モジュール、Ｂｌｕｅｗｔｏｏｔｈ（登録商標）通信モジュール、ＷｉｒｅｌｅｓｓＵＳＢ等の無線通信モジュールを含むことができる。
【００４２】
近接無線通信部２１２は、他デバイスとの非接触近接無通信を実現するための通信ユニットである。近接無線通信部２１２は、無線通信のためのアンテナと無線信号を処理するための変復調回路や通信コントローラから構成される。近接無線通信部２１２は、変調した無線信号をアンテナから出力し、またアンテナで受信した無線信号を復調することで非接触近接通信を実現する。例えば、ＩＳＯ／ＩＥＣ  １８０９２の規格（いわゆるＮＦＣ：Ｎｅａｒ  Ｆｉｅｌｄ  Ｃｏｍｍｕｎｉｃａｔｉｏｎ）に従った非接触近接通信を実現する。本実施形態では、近接無線通信部２１２は、ＮＦＣの規格で定義されているカードリーダモード、カードライタモードおよびＰ２Ｐモードで動作することが可能であり、主にＩｎｉｔｉａｔｏｒとしてふるまう。
【００４３】
公衆網接続部２１３は、公衆無線通信を行う際に用いられるインターフェースである。携帯電話２００は、公衆網接続部２１３を介して、他の機器と通話することができる。この際、制御部２０１はマイク２１４およびスピーカ２１５を介して音声信号の入力と出力を行うことで、通話を実現する。本実施形態では、公衆網接続部２１３はアンテナであり、制御部１０１は、アンテナを介して、公衆網に接続することができる。なお、接続部２１１および公衆網接続部２１３は、一つのアンテナで兼用することも可能である。
【００４４】
以上が携帯電話２００の説明である。
【００４５】
なお、本実施形態では、デジタルカメラ１００の近接無線通信部１１２はＴａｒｇｅｔとしてふるまい、一方、携帯電話２００の近接無線通信部２１２はＩｎｉｔｉａｔｏｒとしてふるまうものとして説明する。すなわち、携帯電話２００の近接無線通信部２１２がキャリアを発信し、デジタルカメラ１００の近接無線通信部１１２はこれによって生じる電力によって駆動する。デジタルカメラ１００の近接無線通信部１１２はデジタルカメラ１００本体からの電力供給が無くとも、携帯電話２００の近接無線通信部２１２からのキャリアによって駆動することができる。なお、近接無線通信部１１２は、デジタルカメラ１００の電源がＯＮの状態ならば、デジタルカメラ１００の電源からの電力供給を受けて動作することも可能である。また、各機器のＴａｒｇｅｔとＩｎｉｔｉａｔｏｒの関係は、逆でもよい。更に、デジタルカメラ１００ではなく携帯電話２００がアクセスポイントの機能を担ってもよい。あるいは、デジタルカメラ１００とも携帯電話２００とも別体のアクセスポイントが生成しているネットワークに、どちらかの機器が参加している状態で、他方が近接するような場合には、参加しているネットワークの通信パラメータを共有してもよい。
【００４６】
＜携帯電話のソフトウェア構成＞
続いて、第１の実施形態における携帯電話２００のソフトウェア構成図について説明する。
【００４７】
図３は、携帯電話２００のソフトウェア構成図である。携帯電話２００の不揮発性メモリ２０３には、種々の固定データ及びファームウエアが記録されている。
【００４８】
記録媒体２１０には、制御部２０１が実行する基本ソフトウェアであるＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）３０４と、制御部２０１が実行する応用ソフトウェアであるアプリが記録されている。また、応用ソフトウェアとして、デジタルカメラ１００に接続して画像を取込む画像取込アプリ３０１が記録されている。（以下、アプリ３０１とも記述する）
【００４９】
ユーザが携帯電話２００の操作部２０５に含まれる電源スイッチをオンにすると、携帯電話２００の各部に電力が供給され、制御部２０１は、記録媒体２１０からＯＳ３０４を読み出して作業用メモリ２０４に展開し、実行する。また、制御部２０１は、ＯＳ３０４とＯＳ上にインストールされるアプリケーションとに従って、携帯電話２００の各部を制御する。図３の以下の説明では、制御部２０１がアプリ（またはアプリの機能、あるいはＯＳやＯＳのサービス等）に従って所定の処理を実行することを、「アプリ（またはアプリの機能、あるいはＯＳやＯＳのサービス等）は所定の処理を行う」のように表現する。
【００５０】
ＯＳ３０４は、携帯電話２００の各部を制御する機能を有するだけでなく、アプリに対して種々のサービスを提供する。本実施形態に特徴的な機能として、ＯＳ３０４は、ＮＦＣサービス３０５と無線ＬＡＮサービス３０８を有する。
【００５１】
ＮＦＣサービス３０５は、ＮＦＣ通信管理モジュール３０７によって、近接無線通信部２１２を用いたＮＦＣ通信を制御する。具体的には、近接無線通信部２１２を用いたＮＦＣ通信を介してデータを受信したり、画像取り込みアプリ３０１等からの要求に応じて、データを送信したりする。ここで受信されたデータは画像取込アプリ３０１等に提供される。
【００５２】
ＮＦＣタグ解析モジュール３０６は、受信されたデータの構造を判別、解析し、アプリに適切なデータ構造に変更する。これによりアプリが解釈できる形にデータを作り替えた上でアプリにデータを提供することができる。逆もまた同様である。
【００５３】
また、一般には、ＮＦＣの通信においてやり取りされるデータは、ＮＤＥＦ（ＮＦＣ  Ｄａｔａ  Ｅｘｃｈａｎｇｅ  Ｆｏｒｍａｔ）のフォーマットに従う。故に、ＮＦＣタグ解析モジュール３０６は、受信したデータがＮＤＥＦに従ったフォーマットであるか否かを判別する機能を持つ。
【００５４】
無線ＬＡＮサービス３０８は、無線ＬＡＮ通信管理モジュール３１０により、以下の機能を担う。すなわち、無線ＬＡＮ機能のオンオフ制御、周囲のネットワークの検索（スキャン）、ネットワークへの参加と、無線ＬＡＮのデータ通信を制御する。また、無線ＬＡＮを用いた通信で得られたデータのアプリへの提供、およびアプリからの要求に応じた無線ＬＡＮを介したデータの送受信を制御する。更に、無線ＬＡＮ情報記録３０９により、無線ＬＡＮ通信のための通信パラメータの保存、破棄などを管理する処理を行う。なお、通信パラメータの保存、破棄については、アプリからの要求によってもコントロールされる。
【００５５】
画像取込アプリ３０１は、以下の二つの機能を持つ。一つは、近接無線通信によって受信した無線ＬＡＮの通信パラメータを利用してデジタルカメラ１００と無線ＬＡＮを介して接続する機能である。もう一つは、デジタルカメラ１００の記録媒体１１０の画像データを受信し、記録媒体２１０に保存する機能である。また、以下の各モジュールによってＯＳ３０４と協働してサービスを実現する。
【００５６】
無線ＬＡＮサービスの制御モジュール３０２は、無線ＬＡＮ通信のための通信パラメータの保存処理、無線ＬＡＮのオンオフ制御をＯＳ３０４に命令する処理を行う。
【００５７】
ＮＦＣサービスの制御モジュール３０３は、ＮＦＣ通信データを受信、前記受信したデータを解析し、無線ＬＡＮ通信のための通信パラメータを抽出する処理を行う。また、デジタルカメラ１００に対して、接続処理を進行するためのＮＦＣ通信データをＯＳ３０４に送信命令する処理を行う。
【００５８】
＜ユースケースの説明＞
続いて、第１の実施形態におけるユースケースについて説明する。図４は、デジタルカメラ１００と携帯電話２００において、近接無線通信を利用して無線ＬＡＮ通信を確立する手順を説明するための図である。以下、近接無線通信を利用して無線ＬＡＮ通信を確立するための一連の処理を、無線ＬＡＮハンドオーバー、と呼ぶ。
【００５９】
図４に示すように、ユーザは、無線ＬＡＮハンドオーバーを開始させるために、デジタルカメラ１００の近接無線通信部１１２と携帯電話２００の近接無線通信部２１２とを近接させ、近接無線通信を開始する。
【００６０】
続いて、矢印４００に示すように、携帯電話２００は、近接無線通信部２１２を介して、デジタルカメラ１００の近接無線通信部２１２から、無線ＬＡＮの接続に必要な通信パラメータを含むＮＤＥＦデータを受信する。
【００６１】
続いて、矢印４００の受信に対する応答として、矢印４０１に示すように、携帯電話２００は近接無線通信部２１２を介して、ＮＤＥＦデータの読み出しが完了したことを示す情報を含むＮＤＥＦデータをデジタルカメラ１００へ送信する。ここでは、デジタルカメラ１００と携帯電話２００とでそれぞれ一意に識別するための識別値（ＵＵＩＤ：Ｕｎｉｖｅｒｓａｌｌｙ  Ｕｎｉｑｕｅ  Ｉｄｅｎｔｉｆｉｅｒ）も交換される。これにより無線ＬＡＮ通信を確立する前に、接続すべきデバイスであるかを相互に判断することが可能となっている。
【００６２】
最後に、デジタルカメラ１００は、携帯電話２００から送信された応答データをもとに、ＡＰモードになるか、もしくはＣＬモードとなるかを判断する。デジタルカメラ１００がＡＰモードになる場合、４０２、４０３に示すように、デジタルカメラ１００はＡＰを立ち上げ、矢印４００で携帯電話２００に送信した通信パラメータの一部を含むビーコンの発信を開始する。そして、このビーコンを受信した携帯電話２００からの要求を受け、携帯電話２００との無線ＬＡＮ通信を完了する。
【００６３】
なお、ＮＦＣタグへのＮＤＥＦデータの書き込みは、例えばＯＳがＡｎｄｒｏｉｄならば、Ａｎｄｒｏｉｄによって提供されるＡＰＩを用いることで、簡単に実装することができる。例えば、ＮＦＣタグへの書き込みには、どのようなサイズのデータをどのような領域に書き込むのかを指定したり、書き込んだ後にその領域の属性情報を更新したりしなければならない。しかし、ＡＰＩを利用すれば、アプリは書き込みたいデータを指定するだけで済む。つまり、データのペイロード部分の取り扱いだけを意識すればよくなる。しかしながら、このＡＰＩを利用する場合、所定の項目以外の項目をそのままにしておきつつ、所定の項目のみを書き変える、ということが難しい。読み出しを完了したという情報を書きむようアプリがＯＳに指示した場合、それ以外の情報が記録されていた領域（ＳＳＩＤやパスワードが書き込まれていた領域）には何も記録されていないという情報がＮＤＥＦのヘッダに書き込まれることになる。つまり、削除されたことと同じ扱いになる。この場合、以下の点で不都合が生じる。すなわち、デジタルカメラ１００がネットワークを生成する際には、ＮＦＣタグに記録されている通信パラメータを利用する。これにより、携帯電話２００と通信パラメータを共有する。しかし、携帯電話２００がＮＦＣタグの情報を読み終えたことを書きこむことに伴って通信パラメータが削除されてしまった場合は、デジタルカメラ１００は、ネットワークを生成する際に利用する通信パラメータを取得できない。このため、携帯電話２００は、ＮＦＣタグの情報を読み終えたことに加えて、読みだしたばかりのＮＦＣタグの情報を書き戻す。これにより、少なくとも通信パラメータが記録されている項目については、ＮＦＣタグの読み出し前と同じ状態にして、デジタルカメラ１００が生成するネットワークの通信パラメータを得ることができるようにする。
【００６４】
以上が近接無線通信を用いた無線ＬＡＮハンドオーバーの一連の流れである。これにより、無線ＬＡＮのパラメータを入力する操作をユーザが行う必要なく、単に機器同士を近接させるだけで、簡単に無線ＬＡＮの接続を確立することができる。
【００６５】
その一方で、近接無線通信は、無線ＬＡＮ、およびＢｌｕｅｔｏｏｔｈ（登録商標）などの無線通信に比べ、通信を行うためにデバイス同士を近接させる位置関係や、近接した状態にする長さにある程度の精度が求められる。そのため、ユーザの所作によって通信過程で切断してしまう可能性がある。
【００６６】
前述したような無線ＬＡＮハンドオーバーを行うユースケースでは、ＮＤＥＦデータを受信する処理（４００）の途中で切断してしまう場合、もしくはＮＤＥＦデータを送信する処理（４０１）の途中で切断してしまう場合が考えられる。
【００６７】
前者の場合は、再度近接するだけでハンドオーバーをやり直すことができるが、後者の場合は、送信処理（４０１）の途中で切断してしまうため、ＮＤＥＦデータが中途半端に送信された状態となってしまう可能性がある。この場合、以下のような不都合が生じ得る。例えば、ＮＦＣ  Ｔｙｐｅ３  Ｔａｇの通信仕様においてＩｎｉｔｉａｔｏｒからＴａｒｇｅｔへＮＤＥＦデータを送信する際には、アクセスを排他するためにＴａｒｇｅｔの不揮発性メモリにおけるＮＤＥＦヘッダの特定領域へ「書き込みフラグ」を立てる。このフラグは、ＮＤＥＦデータの書き込みが完了する際に更新され、この更新を以てアクセスの排他が終了するように制御される。そして、書き込みが完了できなかった場合、すなわち送信途中でデータの書き込みが途切れた場合、この書き込みフラグが立ったままになってしまう場合が生じる。このフラグが立ったままの場合はアクセスが排他されているため、携帯電話２００のＯＳはデータを取得することができない。また、デジタルカメラ１００の制御部１０１がアクセスしようとしても、排他されていると認識して、情報を取り出すことはできない。このようになってしまった場合、ユーザが何度再近接させても、無線ＬＡＮハンドオーバーを開始することができないという問題が生じる。この状態を脱するためには、一度、デジタルカメラ１００の電源をＯＦＦにし、再度ＯＮにすることによって、近接無線通信部１１２のメモリの内容をリフレッシュする必要がある。
【００６８】
なお、近接無線通信における読み込み、書き込みは、対象となるデータを定められたデータサイズに区切り、複数回に分割することで通信を行っている。この区切るデータサイズは、ＮＦＣフォーラムで定義されているタグフォーマットによって、設定可能な値が決まっている。区切るデータサイズが大きいほど、１回の通信に時間がかかるため、上記の問題が生じやすくなる。
【００６９】
上記のように、ＮＦＣの通信経路の安定性はユーザの所作に影響を受ける。このため、ＮＦＣの通信におけるデータの授受に失敗し、無線ＬＡＮ通信へのハンドオーバーがスムーズに進まない可能性があった。そこで、本実施形態では、ＮＦＣタグの内容を、接続に必須の情報（優先順位の高い情報）が先に授受されるような順番で記録する。これにより、読み出しや書き込みに失敗した場合の無線ＬＡＮ通信へとハンドオーバーするまでのユーザの手間を低減する。以下、これを実現するための、各機器の動作について説明する。
【００７０】
＜携帯電話の動作＞
図５に、本実施形態における、携帯電話２００のデジタルカメラ１００に対する無線ＬＡＮハンドオーバーのフローチャートを示す。本フローチャートの処理は、携帯電話２００の制御部２０１が、ＯＳ３０４および画像取り込みアプリ３０１を、不揮発性メモリ２０３から読み出し、作業用メモリ２０４に展開、実行することで実現される。以下のフローチャートの説明では、説明を簡単にするため、ＯＳ３０４と画像取り込みアプリ３０１との制御の区別をせずに説明する。また、本フローチャートの処理は、携帯電話２００の電源がＯＮとなり、ＯＳ３０４の起動が完了したことに応じて開始される。
【００７１】
ステップＳ５００では、制御部２０１が、近接無線通信部２１２でデジタルカメラ１００と近接したかどうかを判断する。近接したと判断した場合は、ステップＳ５０１に進む。
【００７２】
ステップＳ５０１では、制御部２０１は近接無線通信部２１２で、近接したデジタルカメラ１００の近接無線通信部１１２から、カメラに関するデータを受信する。受信するデータには、カメラの簡易ＡＰ機能が構築する無線ＬＡＮネットワークの情報、デジタルカメラ１００のＩＰアドレス、デジタルカメラ１００の識別情報などが含まれている。
【００７３】
なお、本実施形態では、識別情報として、カメラのＵＵＩＤを使用するが、他に接続するためのネットワーク情報、カメラを特定するユーザ入力情報、カメラに搭載されているＮＦＣチップの固有情報などを使用してもよい。
【００７４】
ステップＳ５０２では、制御部２０１が実行するＯＳ３０４は、ステップＳ５０１で受信した、受信データに対してＮＦＣタグ解析を行う。この解析では、ＮＤＥＦのデータのヘッダ領域を参照し、ＮＤＥＦに従った形式のデータであるか否かが判断される。この判断の結果、ＮＤＥＦであると判断された場合、ＯＳ３０４は、「ＮＤＥＦ＿ＤＩＳＣＯＶＥＲＥＤ」という文字列、およびそれに関するデータをインテントに含んで、アプリケーションに渡す。アプリはこれを以てＯＳの判断結果を把握する。ＯＳ３０４が、受信したデータはＮＤＥＦであると判断した場合、処理はステップＳ５０３に進む。一方、ＯＳ３０４がＮＤＥＦではないと判断した場合は、制御部２０１は近接無線通信に失敗したと判断し、Ｓ５０７へ処理を進める。
【００７５】
まず、ステップＳ５０３に進む場合について説明する。
【００７６】
ステップＳ５０３では、制御部２０１は近接無線通信部１１２を介して、デジタルカメラ１００へ送信するためのＮＤＥＦデータを作成する。ここで作成されるＮＤＥＦデータの概念図を図６に示す。図６におけるＮＤＥＦデータ６００は３つのレコードから構成されている。第一レコード６０１は、デジタルカメラ１００との通信に最低限必要なデータであり、ステップＳ５０１で受信したカメラの簡易ＡＰ機能が構築する無線ＬＡＮネットワークの情報を格納する。第二レコードにはデジタルカメラ１００のＩＰアドレス、携帯電話２００のＵＵＩＤ、フレンドリネームなどを格納する。第三レコードにはその他情報を格納する。ＮＤＥＦの仕様上、上位のレコードから順に書き込まれるため、データの優先順位としては、上位のレコード程高いことになる。
【００７７】
図５の説明に戻る。
【００７８】
次に、ステップＳ５０４では、制御部２０１がステップＳ５０３で作成したＮＤＥＦデータを、近接無線通信部２１２を介して、デジタルカメラ１００の近接無線通信部１１２へ送信する。
【００７９】
ステップ５０５では、制御部２０１は、ステップＳ５０４のＮＤＥＦデータの送信が成功したか否かを判断する。具体的には、ＮＤＥＦデータの書き込みが完了すると、この書き込みに対する応答がデジタルカメラ１００の近接無線通信部２１２から返される。これを受けたことによって、携帯電話２００からのＮＤＥＦデータの書き込みが正常に完了した（つまり書き込みが成功した）と判断する。本ステップでＮＤＥＦデータの書き込みが成功したと判断された場合、処理はステップＳ５０６に進む。本ステップでＮＤＥＦデータの書き込みが失敗したと判断された場合、処理はステップＳ５０８に進む。
【００８０】
ステップＳ５０６では、制御部２０１は接続部２１１を用いて、ステップＳ５０１で受信したネットワーク情報をもとに、デジタルカメラ１００の無線ＬＡＮネットワークへ接続する処理を開始する。本実施形態では、ステップＳ５０１で読み込んだデジタルカメラ１００のＩＰアドレスを用いて接続を試みる。これにより、ネットワーク内にどのようなデバイスがいるかを把握するための手順（いわゆるディスカバリ）を省き、デジタルカメラ１００に対してより高速な接続を実現する。
【００８１】
ステップＳ５０７では、携帯電話２００は、デジタルカメラ１００との通信を確立する。
【００８２】
一方、ステップＳ５０８に進んだ場合は、ステップＳ５０８で、制御部２０１は近接無線通信に失敗した旨をユーザに通知する。例えば「ＮＦＣ通信に失敗しました。再度タッチして下さい」といったメッセージを表示部２０６に表示させ、ユーザに、ＮＦＣの通信が失敗したことを把握させると共に、ハンドオーバーのやり直しを促す。
【００８３】
以上が、本実施形態における、携帯電話２００のデジタルカメラ１００に対する無線ＬＡＮハンドオーバーのフローチャートである。
【００８４】
＜デジタルカメラの動作＞
図７に、本実施形態における、デジタルカメラ１００の携帯電話２００に対する無線ＬＡＮハンドオーバーのフローチャートを示す。
【００８５】
ステップＳ７００で、近接無線通信部１１２は、携帯電話２００の近接無線通信部２１２はと近接したかどうかを判断する。具体的には、携帯電話２００の近接無線通信部２１２による磁界の変化によって生じる誘導起電力の変化を検知することで、近接を判断する。近接したと判断した場合はステップＳ７０１へ進む。
【００８６】
ステップＳ７０１で、近接無線通信部１１２は、カメラの識別情報、カメラの簡易ＡＰ機能が構築する無線ＬＡＮネットワーク情報を携帯電話２００へ送信する。なお、この際、データはＮＤＥＦの上位のレコードから順に送信される。そのため、デジタルカメラ１００の制御部１０１は、予め優先順位の高いデータを上位のレコードに記録するよう制御する。すなわち上位のレコードには、デジタルカメラ１００の簡易ＡＰ機能が構築する無線ＬＡＮネットワークの情報を格納する。下位のレコードにはデジタルカメラ１００のＩＰアドレスなどを格納する。すなわちＳＳＩＤやＩＰアドレスに注目すれば、携帯電話２００から書き込まれるデータ（例えば図６のような）と同様のレコードが上位から順に読みだされることになる。これにより、例えば本ステップの途中でユーザが機器同士を離してしまい、通信が切断することでデータの読み出しが途切れてしまった場合でも、少なくとも無線ＬＡＮネットワークの情報を読み出せる可能性を高めることができる。
【００８７】
ステップＳ７０２で、近接無線通信部１１２は、携帯電話２００が作成したデータ（ステップＳ５０３で作成した優先度の高い順に記録されるＮＤＥＦデータ）を受信する。これに併せて、デジタルカメラ１００は各部への電力供給を開始する。
【００８８】
ステップＳ７０３で、制御部１０１は、自機の簡易ＡＰ機能で無線ＬＡＮネットワークを生成する。ここでは、ステップＳ７０２で受信したＮＤＥＦデータに含まれる通信パラメータを利用してネットワークを生成する。
【００８９】
ステップＳ７０４で、制御部１０１は、携帯電話２００から接続要求を接続部１１１で受信したか否かを判断する。受信していない場合は、所定時間が経過するまで、接続要求を待つ。また、受信したと判断した場合は、制御部１０１は、接続要求の送信元の機器が、ステップＳ７０２で受信した情報が示す携帯電話であるか否かを確認する。接続要求の送信元の機器が、ステップＳ７０２で受信した情報が示す携帯電話であると確認できたならば、ステップＳ７０５へ進む。
【００９０】
ステップＳ７０５において、制御部１０１は、接続部１１１を介して携帯電話２００と通信を確立する。
【００９１】
なお、本実施形態では、図６に示すように、３つのレコードに分割した例を用いて説明したが、これに限られるものではないことに留意する。例えば、１つのレコードに優先度順にデータを並べて格納してもよい。
【００９２】
以上が、本実施形態における、デジタルカメラ１００の携帯電話２００に対する無線ＬＡＮハンドオーバーのフローチャートである。
【００９３】
＜再タッチする場合の携帯電話の動作＞
図５に示したように、デジタルカメラ１００と携帯電話２００において、無線ＬＡＮハンドオーバーを試みた際に失敗し、再び無線ＬＡＮハンドオーバーを試みる場合のフローチャートを図８に示す。
【００９４】
ステップＳ８００〜ステップＳ８０２では、図５のステップＳ５００〜ステップＳ５０２と同様の処理が実行される。
【００９５】
ステップＳ８０２にて、ＯＳ３０４が、受信データがＮＤＥＦに従った形式のデータであると判断した場合、処理はステップＳ８０３に進む。受信データがＮＤＥＦに従った形式のデータでないと判断した場合、処理はステップＳ８０７に進む。
【００９６】
ステップＳ８０３〜ステップＳ８０７では、図５のステップＳ５０３〜ステップＳ５０７と同様の処理が実行される。
【００９７】
一方、ステップＳ８０８では、ＯＳ３０４は、ＮＤＥＦではないと判断したデータが、ＮＦＣフォーラムにて定義される既知のフォーマットに従った形式のデータであるか否かを判断する。ＮＤＥＦではないが、ＮＦＣフォーラムにて定義される既知のフォーマットであると判断した場合、ＯＳ３０４は、「ＴＥＣＨ＿ＤＩＳＣＯＶＥＲＥＤ」という文字列、およびそれに関するデータをインテントに含んで、アプリケーションに渡す。アプリはこれを以てＯＳの判断結果を把握する。
【００９８】
ＯＳ３０４が、受信したデータはＮＦＣフォーラムにて定義される既知のフォーマットに従った形式のデータであると判断した場合、処理はステップＳ８０９に進む。一方、ＯＳ３０４がＮＦＣフォーラムにて定義される既知のフォーマットに従った形式のデータでないと判断した場合は、処理はステップＳ８１８に進む。
【００９９】
まず、ステップＳ８０９に進んだ場合から説明する。
【０１００】
ステップＳ８０９では、制御部２０１は、デジタルカメラ１００の近接無線通信部１１２のデータをバイナリデータで受信する。つまり、ＮＤＥＦのヘッダ領域の情報がどのような情報かということを把握せずに、データ全体をそのまま取得する。ここで、例えばＯＳ３０４がＡｎｄｒｏｉｄである場合には、Ａｎｄｒｏｉｄの標準ＡＰＩの１つであるｔｒａｎｓｃｅｉｖｅという関数を利用すればよい。なお、このバイナリデータから必要なデータを取り込むためには、通常ヘッダを参照するだけで済む処理を、アプリ自らが行わなければならない。すなわち、必要なデータが記録されている領域がデータ内のどの領域であるのかを計算しなければならない。そのかわり、ＡＰＩが自動的に読みださないようにしてしまう情報も取り込むことができる。
【０１０１】
ステップＳ８１０では、制御部２０１は、ステップＳ８０９で読み込んだバイナリデータをもとに、ＮＤＥＦデータが崩れているかどうかを判定する。具体的には、前述したように、制御部２０１がＮＤＥＦヘッダの特定の領域に書き込みフラグが立っていないかどうかを調べることで、判定する。制御部２０１が、ＮＤＥＦデータは崩れていないと判定した場合は、ステップＳ８１２へ処理を進める。一方、制御部２０１が、ＮＤＥＦデータは崩れていると判断した場合は、ステップＳ８１１へ処理を進める。
【０１０２】
ステップＳ８１１では、制御部２０１は、接続に最低限必要なデータが存在するかを判断する。具体的には、制御部２０１は、ステップＳ８０９にて読み込んだバイナリデータの中に、デジタルカメラ１００の簡易ＡＰ機能が構築する無線ＬＡＮの通信パラメータ（ＳＳＩＤ、パスワード）が存在するかを判断する。前述のように、図５のステップＳ５０３〜ステップＳ５０４にて、優先度の高い順にデータを書き戻している。それゆえ、本ステップで読みこんだバイナリデータには、優先度の高いデータが含まれている可能性が高い。制御部２０１が、無線ＬＡＮの通信パラメータが存在すると判断した場合は、ステップＳ８１２へ処理を進める。
【０１０３】
ステップＳ８１２ではステップＳ８０３、および図５のＳ５０３と同様の処理が実行される。
【０１０４】
続くステップＳ８１３では、制御部２０１は、近接無線通信部２１２を介して、ＮＤＥＦデータをデジタルカメラ１００の近接無線通信部１１２に送信する。このとき、ステップＳ８０２でデジタルカメラ１００から読み出したデータのＮＤＥＦヘッダにはアクセス排他のフラグが立てられている。すなわち、デジタルカメラ１００の近接無線通信部１１２のメモリに記録されているデータは、アクセス排他のフラグが立っている状態である。そのため、図５のステップＳ５０４や図８のステップＳ８０４と同様にデータをＮＤＥＦデータとして扱おうとすると、アクセスが排他されている状態のため書き込めない、という結果になる。そこでステップＳ８１３では、ステップＳ８０８と同様にデータをＮＤＥＦデータではなくバイナリデータとして扱う。アプリは、ＯＳにｔｒａｎｓｃｅｉｖｅという関数を利用してバイナリデータを適切な領域に書き込むよう指示する。なお、このバイナリデータの内容は、図６で説明したＮＤＥＦデータの形式になっているものとする。この結果、デジタルカメラ１００の近接無線通信部１１２のメモリには、アクセス排他のフラグが下りた状態のＮＤＥＦデータが書き込まれることになる。つまり、アクセスが可能な状態に戻すことができる。
【０１０５】
続くステップＳ８１４では、制御部２０１は、データの送信が成功したか否かを判断する。具体的には、図５のステップＳ５０５や図８のステップＳ８０５と同様に、データの送信に対するデジタルカメラ１００からの応答を受信したことに基づいて、送信が成功したと判断する。ここで制御部２０１が、データの送信が成功したと判断した場合、処理はステップＳ８１５に進む。制御部２０１が、データの送信が失敗したと判断した場合、処理はステップＳ８１８に進む。ステップＳ８１８の処理については後述する。
【０１０６】
次に、ステップＳ８１５では、制御部２０１は、ステップＳ８０８で読みだしたバイナリデータの中にＩＰアドレスが存在するかを判断する。制御部２０１が存在すると判断した場合は、前述したように、ＩＰアドレスを用いて接続を試みることで、デジタルカメラ１００に対してより高速な接続が可能であるため、ステップＳ８０６へ処理を進める。一方、制御部２０１が、バイナリデータの中にＩＰアドレスが存在しないと判断した場合は、ステップＳ８１６に処理を進める。
【０１０７】
ステップＳ８１６では、制御部２０１は、ステップＳ８０１で読み込んだ、カメラの簡易ＡＰ機能が構築する無線ＬＡＮネットワークの情報を用いて、ディスカバリを省略せずに、デジタルカメラ１００へ接続を試みる。その後、処理はステップＳ８０７に進む。
【０１０８】
一方、ステップＳ８１１にて制御部２０１が、バイナリデータの中に、デジタルカメラ１００の簡易ＡＰ機能が構築する無線ＬＡＮネットワーク情報が存在しないと判断した場合は、ステップＳ８１７へ処理を進める。この場合は、デジタルカメラ１００が生成するネットワークに参加するための情報を書きこむタイミングでＮＦＣの通信が失敗したことになる。それゆえ、ステップＳ８１７で制御部２０１は、デジタルカメラ１００の電源を入れなおして再度近接させることを促すようユーザに通知する。例えば、「接続に失敗しました。デジタルカメラの電源を入れ直して再タッチして下さい」といったメッセージを表示部２０６に表示する。
【０１０９】
また、ステップＳ８０８にてＯＳ３０４がＮＦＣフォーラムにて定義される既知のフォーマットに従った形式のデータでないと判断した場合としては、以下の場合が考えられる。すなわち、データの受信途中で機器同士が離れてしまったり、近接させる位置がずれてしまったりすることで通信経路が途絶えて、データが途中までしか読みだせなかった場合である。この場合、処理はステップＳ８１８に進む。
【０１１０】
ステップＳ８１８では、制御部２０１は、近接無線通信に失敗した旨をユーザに通知すると共に、ハンドオーバーのやり直しを促す。この時の通知は、ステップＳ８１７での通知とは異なり、例えば「接続に失敗しました。デジタルカメラに再タッチして下さい」といったメッセージを表示部２０６に表示する。ここではデジタルカメラ１００の電源のＯＮ／ＯＦＦは求められない。なぜなら、この場合は、単に読み取りミスの可能性が高いためである。なお、ＮＦＣタグの内容は、第三者のアプリからでも書き換えることは可能である。それゆえ、デジタルカメラ１００のＮＦＣタグに認識できない形式のデータが書き込まれる可能性もゼロではない。これをケアするために、ステップＳ８１８でも、ステップＳ８１７と同様に、デジタルカメラ１００の電源のＯＮ／ＯＦＦを促し、ＮＦＣタグのリフレッシュを促してもよい。
【０１１１】
以上が、本実施形態における、再タッチした場合の携帯電話２００のデジタルカメラ１００に対する無線ＬＡＮハンドオーバーのフローチャートである。なお、本実施形態では、説明のために１回目のハンドオーバーを図５で説明し、それに失敗した場合に再度ハンドオーバーをやり直すことを図８で説明した。これについては、１回目か、２回目かで処理を区別する必要はなく、常に図８の処理が実行されるようにすれば十分である。
【０１１２】
以上のように、本実施形態では、携帯電話２００にてデジタルカメラ１００から読み出したデータを書き戻す際に、優先順位に従った順番でデータを書き戻すようにした。これにより、仮に書き戻しの際に失敗した場合に、再度のタッチでハンドオーバーする可能性を高めることができる。また、書き戻しで失敗した場合にアクセスが排他されたままの状態になったとしても、ＮＤＥＦデータをバイナリデータとして扱うことにより、再度のタッチでハンドオーバーすることができる。
【０１１３】
＜その他の実施形態＞
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【図１】
0006576082.tif 000002
【図２】
0006576082.tif 000003
【図３】
0006576082.tif 000004
【図４】
0006576082.tif 000005
【図５】
0006576082.tif 000006
【図６】
0006576082.tif 000007
【図７】
0006576082.tif 000008
【図８】
0006576082.tif 000009