(57)【要約】【課題】  認証コードの有効期限を外部装置とデジタルカメラの両方で管理すると処理が煩雑になってしまう。【解決手段】  サーバから受信した認証コードを表示すると共に、サーバに対して一定間隔で認証コードが有効期限内かどうかの問い合わせを行い、認証コードが無効であることを示す情報を受信したら、認証コードの有効期限が過ぎたことをユーザに通知する。【選択図】  図７
2015032252.tif 000002
【特許請求の範囲】
【請求項１】
外部装置と協働して所定のサービスを利用可能な通信装置であって、
前記通信装置を前記外部装置に登録するための認証コードを前記外部装置から受信する受信手段と、
前記受信手段により受信された認証コードを表示部に表示するよう制御する表示制御手段と、
前記認証コードが表示部に表示されている間、前記認証コードの有効期限を、所定の間隔で前記外部装置に問い合わせる問い合わせ手段と、
前記問い合わせ手段による問い合わせに対する前記外部装置からの応答の内容を判断する判断手段とを有し、
前記判断手段により、前記応答の内容が、前記認証コードの有効期限が過ぎていることを示す情報を含むと判断された場合、前記表示制御手段は、前記認証コードの有効期限が過ぎていることをユーザに通知することを特徴とする通信装置。
【請求項２】
前記認証コードの有効期限が過ぎていることがユーザに通知された後、前記受信手段は、前記外部装置から認証コードを再受信することを特徴とする請求項１に記載の通信装置。
【請求項３】
前記認証コードの有効期限が過ぎていることがユーザに通知された後、前記表示制御手段は、前記認証コードを表示しないよう制御し、
前記認証コードの再受信の指示を受け付ける受け付け手段を更に有し、
前記受信手段は、前記受け付け手段により前記認証コードの再受信の指示を受け付けたことに応じて、前記外部装置から認証コードを再受信することを特徴とする請求項１に記載の通信装置。
【請求項４】
前記受信手段により再受信された認証コードを表示部に表示する場合、前記表示制御手段は、前記再受信された認証コードが、前記再受信の前に表示されていた認証コードとは異なる認証コードであることをユーザに通知することを特徴とする請求項２または３に記載の通信装置。
【請求項５】
前記判断手段により、前記応答の内容が、前記認証コードの有効期限が過ぎていることを示す情報を含むと判断された場合、前記表示制御手段は、前記表示部に表示していた認証コードを表示しないよう制御することを特徴とする請求項１乃至４のいずれか１項に記載の通信装置。
【請求項６】
前記外部装置に前記認証コードを要求する要求手段を更に有し、
前記受信手段により受信される認証コードは、前記要求手段による要求に応じて前記外部装置が生成した認証コードであることを特徴とする請求項１乃至５のいずれか１項に記載の通信装置。
【請求項７】
前記認証コードの有効期限は、前記認証コードが生成される前から予め設定されている値が用いられることを特徴とする請求項１乃至６のいずれか１項に記載の通信装置。
【請求項８】
画像データを記録媒体に記録する記録手段を更に有し、
前記要求手段は更に、前記所定のサービスに関する情報と共に、前記記録媒体に記録されている画像データを前記外部装置に送信することで、前記外部装置に前記所定のサービスの利用を要求することを特徴とする請求項６に記載の通信装置。
【請求項９】
撮像手段を更に有し、
前記記録手段は、前記撮像手段により生成される画像データを前記記録媒体に記録することを特徴とする請求項８に記載の通信装置。
【請求項１０】
前記外部装置と前記通信装置とは、インターネットを介して接続することを特徴とする請求項１乃至９のいずれか１項に記載の通信装置。
【請求項１１】
外部装置と協働して所定のサービスを利用可能な通信装置の制御方法であって、
前記通信装置を前記外部装置に登録するための認証コードを前記外部装置から受信する受信ステップと、
前記受信ステップで受信された認証コードを表示部に表示するよう制御する表示制御ステップと、
前記認証コードが表示部に表示されている間、前記認証コードの有効期限を、所定の間隔で前記外部装置に問い合わせる問い合わせステップと、
前記問い合わせ手段による問い合わせに対する前記外部装置からの応答の内容を判断する判断ステップとを有し、
前記判断ステップで、前記応答の内容が、前記認証コードの有効期限が過ぎていることを示す情報を含むと判断された場合、前記表示制御ステップでは、前記認証コードの有効期限が過ぎていることをユーザに通知し、
前記判断ステップで、前記応答の内容が、前記認証コードの有効期限が過ぎていないことを示す情報を含むと判断された場合、前記問い合わせステップでは、前記所定の間隔での問い合わせを継続することを特徴とする通信装置の制御方法。
【請求項１２】
コンピュータを、請求項１乃至１０のいずれか１項に記載の通信装置の各手段として機能させるための、コンピュータが読み取り可能なプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークを介して他の機器と通信可能な通信装置に関する。
【背景技術】
【０００２】
従来、デジタルカメラなどのデータ処理装置に無線通信機能を搭載し、データ処理装置の保持する画像データを、無線通信を介して外部装置に送信する技術が知られている（特許文献１）。
【０００３】
また、近年では上記の技術を応用し、中継装置を介してデジタルカメラから外部装置に画像を送信する機能が知られている。例えば特許文献２では、デジタルカメラが携帯電話を介して外部装置に画像データを送信するシステムを開示している。特許文献２が開示するシステムでは、携帯電話がデジタルカメラから画像の送信先として、予め連携している外部装置の情報を取得して、それぞれの外部装置に適したアクセスを行うシステムを提供している。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００７−１６６５７７号公報
【特許文献２】特開２０１２−０３４１４０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上述の特許文献２のように、二つの機器が協働する場合、予め両機器を操作して、互いに連携する状態に設定する必要がある。この連携のサービスでは、画像が外部装置やネットワーク上にアップロードされる、すなわち公開される可能性がある。このため、サーバは、デジタルカメラのユーザが、連携サービスを提供してもよいユーザであるかどうかを判断する、いわゆる本人確認の機能を設けている。この機能では認証コードを用いる。認証コードは、サーバで生成されたものをデジタルカメラが受け取って表示する。これを、携帯電話等、他の装置からサーバに入力する。サーバでは、デジタルカメラに送った認証コードと、他の装置から入力された認証コードとを比較することで、認証を行う。ここで注意しなければならないのは、この認証コードをいつまでもサーバに保持しておくのは現実的ではないため、一定時間の経過で削除するタイムアウト処理を行うことで、一定時間おきに認証コードが削除される点にある。このため、一定時間が経過した場合には、もう一度認証の処理をやり直さなければならない。しかし、ユーザがそのことを知らない場合、無駄な認証コードの入力が行われる恐れがあった。そこで、このタイムアウトの時間を管理するために、認証コードと共にタイムアウトの時間をサーバから受け取るようにすることが考えられる。しかし、この場合はサーバとカメラとで個別にタイムアウトを管理することになる。この場合、処理が煩雑になる恐れがあることや、正確なタイムアウト期間の管理が難しいことが問題となると考えられる。
【０００６】
上記の点に鑑み、本発明の目的は、簡潔な処理でタイムアウト期間の管理を実現することにある。
【課題を解決するための手段】
【０００７】
上記目的を達成するために、本発明に係る通信装置は、外部装置と協働して所定のサービスを利用可能な通信装置であって、前記通信装置を前記外部装置に登録するための認証コードを前記外部装置から受信する受信手段と、前記受信手段により受信された認証コードを表示部に表示するよう制御する表示制御手段と、前記認証コードが表示部に表示されている間、前記認証コードの有効期限を、所定の間隔で前記外部装置に問い合わせる問い合わせ手段と、前記問い合わせ手段による問い合わせに対する前記外部装置からの応答の内容を判断する判断手段とを有し、前記判断手段により、前記応答の内容が、前記認証コードの有効期限が過ぎていることを示す情報を含むと判断された場合、前記表示制御手段は、前記認証コードの有効期限が過ぎていることをユーザに通知し、前記判断手段により、前記応答の内容が、前記認証コードの有効期限が過ぎていないことを示す情報を含むと判断された場合、前記問い合わせ手段は、前記所定の間隔での問い合わせを継続することを特徴とする。
【発明の効果】
【０００８】
本発明によれば、簡潔な処理でタイムアウト期間の管理を実現することができる。
【図面の簡単な説明】
【０００９】
【図１】第１の実施形態におけるネットワーク構成を示す図である。
【図２】（ａ）第１の実施形態におけるデジタルカメラの構成を示すブロック図である。（ｂ）第１の実施形態における携帯電話の構成を示すブロック図である。（ｃ）第１の実施形態におけるサーバの構成を示すブロック図である。
【図３】（ａ）、（ｂ）第１の実施形態におけるサーバで管理される情報の概念図である。
【図４】第１の実施形態におけるデジタルカメラの表示画面の一例である。
【図５】第１の実施形態におけるデジタルカメラとサーバと携帯電話の通信シーケンスを示す図である。
【図６】第１の実施形態における携帯電話の表示画面の一例である。
【図７】第１の実施形態におけるデジタルカメラとサーバと携帯電話の通信シーケンスを示す図である。
【図８】第１の実施形態における連携設定処理を実行する際のデジタルカメラの動作を示すフローチャートである。
【図９】第１の実施形態における連携設定処理を実行する際の携帯電話の動作を示すフローチャートである。
【図１０】第１の実施形態における連携設定処理を実行する際のサーバの動作を示すフローチャートである。
【発明を実施するための形態】
【００１０】
以下に、本発明を実施するための形態について、添付の図面を用いて詳細に説明する。
【００１１】
なお、以下に説明する実施の形態は、本発明の実現手段としての一例であり、本発明が適用される装置の構成や各種条件によって適宜修正又は変更されてもよい。また、各実施の形態は適宜組み合わされることも可能である。
【００１２】
［第１の実施形態］
図１は、本実施形態に係るシステムの構成を示す模式図である。
【００１３】
システムは、デジタルカメラ１００、携帯電話２００、サーバ３００とからなる。各装置のハードウェア構成については、図２（ａ）、（ｂ）、（ｃ）を参照して後述することとし、ここでは、各装置の関係を中心に説明する。
【００１４】
デジタルカメラ１００とサーバ３００、および携帯電話２００とサーバ３００は、インターネットを介して接続される。インターネットを構成する機器として、ルーターやアクセスポイントなどの機器が存在するが、ここでの説明は省略する。
【００１５】
本実施形態における図１のシステムの目的は、デジタルカメラ１００とサーバ３００とが協働することで、デジタルカメラ１００のユーザがインターネット上のサービスを利用できる状態にすることにある。そのため、まずはデジタルカメラ１００とサーバ３００とが協働する関係にあることを、デジタルカメラ１００およびサーバ３００に認識させる必要がある。本実施形態では、この両者の関係を両機器に認識させる処理を、デジタルカメラ１００とサーバ３００とを連携させるための設定を行う処理という意味で、連携設定処理と呼ぶ。
【００１６】
さて、この連携設定処理では、単にデジタルカメラ１００とサーバ３００との間の通信のみで設定が完了するわけではない。ここでは、デジタルカメラ１００のユーザが、サーバ３００へのアクセスを許可し得るユーザであるか否かを判断するための処理、いわゆる本人確認の処理が必要である。この本人確認の処理では、デジタルカメラ１００のユーザが、他の装置からサーバ３００にアクセスする必要がある。
【００１７】
具体的には、予め、デジタルカメラ１００とは別の装置（ここでは携帯電話２００）のブラウザを用いてサーバ３００にアクセスし、ユーザ名やパスワード等のアカウント情報を登録する処理（いわゆるユーザ登録）を行っておく。このアカウント情報は、サーバ３００がサービスを提供するユーザを認証するための情報である。また、アカウント情報は、サーバ３００によって、連携により利用可能なサービスに関するサービス情報（例えばサービスの種類、名前、サービスを提供する装置のアドレス等）と共に管理される。ここで、図３（ａ）に、サーバ３００に保持される情報の概念図を示す。テーブル３１０には、アカウント情報とサービス情報とが関連付けて記録されている。なお、サービス情報は、携帯電話２００が所定のウェブページにログインすることで予め設定しておくことができる。
【００１８】
連携設定処理の際には、ユーザは、デジタルカメラ１００を操作してサーバ３００にアクセスすると共に、携帯電話２００を操作して、予め登録を済ませておいたアカウント情報を用いて所定のウェブページにログインする。そして、両機器をそれぞれ操作することで、デジタルカメラ１００とサーバ３００とが連携できる状態に設定することができる。この状態では、サーバ３００では、デジタルカメラ１００に関する情報が、アカウント情報およびサービス情報と関連付けて保持される。この結果、サーバ３００に保持される情報の概念図は、図３（ｂ）のテーブル３１１のようになる。なお、この連携設定処理については、後に詳述する。
【００１９】
一旦デジタルカメラ１００とサーバ３００とが連携できる状態に設定された後は、両者が協働してサービスを利用するタイミングでは、携帯電話２００を操作する必要はない。
【００２０】
ただし、利用するサービスの変更、削除、連携の解除等は、携帯電話２００を用いてログインした所定のウェブページで行う。このように携帯電話２００は、サーバ３００の端末として機能する。
【００２１】
＜デジタルカメラ１００の内部構成＞
次に、図１のシステムにおけるデジタルカメラ１００のハードウェア構成について説明する。
【００２２】
図２（ａ）は、本実施形態の通信装置の一例であるデジタルカメラ１００の構成例を示すブロック図である。なお、ここでは通信装置の一例としてデジタルカメラについて述べるが、通信装置はこれに限られない。例えば通信装置は、携帯電話や、タブレットデバイス、パーソナルコンピュータなどの情報処理装置であってもよいし、ビデオカメラやカメラ付き携帯電話等の撮像装置であってもよい。
【００２３】
制御部１０１は、入力された信号や、後述のプログラムに従ってデジタルカメラ１００の各部を制御する。なお、制御部１０１が装置全体を制御する代わりに、複数のハードウェアが処理を分担することで、装置全体を制御してもよい。
【００２４】
撮像部１０２は、撮像部１０２に含まれるレンズで結像された被写体光を電気信号に変換し、ノイズ低減処理などを行いデジタルデータを画像データとして出力する。撮像した画像データはバッファメモリに蓄えられた後、制御部１０１にて所定の演算を行い、記録媒体１１０に記録される。
【００２５】
不揮発性メモリ１０３は、電気的に消去・記録可能な不揮発性のメモリであり、制御部１０１で実行される後述のプログラム等が格納される。
【００２６】
作業用メモリ１０４は、撮像部１０２で撮像された画像データを一時的に保持するバッファメモリや、表示部１０６の画像表示用メモリ、制御部１０１の作業領域等として使用される。
【００２７】
操作部１０５は、ユーザがデジタルカメラ１００に対する指示をユーザから受け付けるために用いられる。操作部１０５は例えば、ユーザがデジタルカメラ１００の電源のＯＮ／ＯＦＦを指示するための電源ボタンや、撮像を指示するためのレリーズスイッチ、画像データの再生を指示するための再生ボタンなどの操作部材を含む。また、後述する表示部１０６に形成されるタッチパネルも操作部１０５に含まれる。なお、レリーズスイッチは、ＳＷ１およびＳＷ２を有する。レリーズスイッチが、いわゆる半押し状態となることにより、ＳＷ１がＯＮとなる。これにより、ＡＦ（オートフォーカス）処理、ＡＥ（自動露出）処理、ＡＷＢ（オートホワイトバランス）処理、ＥＦ（フラッシュプリ発光）処理等の撮像準備を行うための指示を受け付ける。また、レリーズスイッチが、いわゆる全押し状態となることにより、ＳＷ２がＯＮとなる。これにより、撮像を行うための指示を受け付ける。
【００２８】
表示部１０６は、撮像の際のビューファインダー画像の表示、撮像した画像データの表示、対話的な操作のための文字表示などを行う。なお、表示部１０６は必ずしもデジタルカメラ１００が備える必要はない。デジタルカメラ１００は表示部１０６と接続することができ、表示部１０６の表示を制御する表示制御機能を少なくとも有していればよい。
【００２９】
記録媒体１１０は、撮像部１０２から出力された画像を記録することができる。本実施形態では、画像をＥｘｉｆ−ｊｐｅｇの形式で扱う。記録媒体１１０は、デジタルカメラ１００に着脱可能なよう構成してもよいし、デジタルカメラ１００に内蔵されていてもよい。すなわち、デジタルカメラ１００は少なくとも記録媒体１１０にアクセスする手段を有していればよい。
【００３０】
接続部１１１は、外部装置と接続するためのインターフェースである。本実施形態のデジタルカメラ１００は、接続部１１１を介して、外部装置とデータのやりとりを行うことができる。なお、本実施形態では、接続部１１１はアンテナであり、制御部１０１は、アンテナを介して、外部装置と接続することができる。データを通信するためのプロトコルとしては、例えば無線ＬＡＮを通じたＰＴＰ／ＩＰ（Ｐｉｃｔｕｒｅ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ  ｏｖｅｒ  Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）を用いることができる。なお、外部装置との通信はこれに限られるものではない。例えば、接続部２１１は、赤外線通信モジュール、Ｂｌｕｅｔｏｏｔｈ（登録商標）通信モジュール、ＷｉｒｅｌｅｓｓＵＳＢ等の無線通信モジュールを含むことができる。さらには、ＵＳＢケーブルやＨＤＭＩ（登録商標）、ＩＥＥＥ１３９４など、有線接続を採用してもよい。また、データ通信に用いるプロトコルとしては、ＰＴＰやＨＴＴＰ等を採用してもよい。
【００３１】
＜携帯電話２００の内部構成＞
次に、図１のシステムにおける携帯電話２００のハードウェア構成について説明する。
【００３２】
図２（ｂ）は、本実施形態の外部装置の一例である携帯電話２００の構成例を示すブロック図である。なお、ここでは外部装置の一例として携帯電話について述べるが、外部装置はこれに限られない。例えば外部装置は、無線機能付きのデジタルカメラ、タブレットデバイス、あるいはパーソナルコンピュータなどであってもよい。
【００３３】
制御部２０１は、入力された信号や、後述のプログラムに従って携帯電話２００の各部を制御する。なお、制御部２０１が装置全体を制御する代わりに、複数のハードウェアが処理を分担することで、装置全体を制御してもよい。
【００３４】
撮像部２０２は、撮像部２０２に含まれるレンズで結像された被写体光を電気信号に変換し、ノイズ低減処理などを行いデジタルデータを画像データとして出力する。撮像した画像データはバッファメモリに蓄えられた後、制御部２０１にて所定の演算を行い、記録媒体２１０に記録される。
【００３５】
不揮発性メモリ２０３は、電気的に消去・記録可能な不揮発性のメモリであり、制御部２０１で実行される後述のプログラム等が格納される。
【００３６】
作業用メモリ２０４は、表示部２０６の画像表示用メモリや、制御部２０１の作業領域等として使用される。
【００３７】
操作部２０５は、携帯電話２００に対する指示をユーザから受け付けるために用いられる。操作部２０５は例えば、ユーザが携帯電話２００の電源のＯＮ／ＯＦＦを指示するための電源ボタンや、表示部２０６に形成されるタッチパネルなどの操作部材を含む。
【００３８】
表示部２０６は、画像データの表示、対話的な操作のための文字表示などを行う。なお、表示部２０６は必ずしも携帯電話２００が備える必要はない。携帯電話２００は表示部２０６と接続することができ、表示部２０６の表示を制御する表示制御機能を少なくとも有していればよい。
【００３９】
記録媒体２１０は、撮像部２０２から出力された画像データを記録することができる。記録媒体２１０は、携帯電話２００に着脱可能なよう構成してもよいし、携帯電話２００に内蔵されていてもよい。すなわち、携帯電話２００は少なくとも記録媒体２１０にアクセスする手段を有していればよい。
【００４０】
接続部２１１は、外部装置と接続するためのインターフェースである。本実施形態の携帯電話２００は、接続部２１１を介して、サーバ３００とデータのやりとりを行うことができる。本実施形態では、接続部２１１はアンテナであり、制御部１０１は、アンテナを介して、デジタルカメラ１００と接続することができる。なお、サーバ３００との接続では、直接接続してもよいしアクセスポイントを介して接続してもよい。データを通信するためのプロトコルとしては、例えば無線ＬＡＮを通じたＰＴＰ／ＩＰ（Ｐｉｃｔｕｒｅ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ  ｏｖｅｒ  Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）を用いることができる。なお、デジタルカメラ１００との通信はこれに限られるものではない。例えば、接続部２１１は、赤外線通信モジュール、Ｂｌｕｅｔｏｏｔｈ（登録商標）通信モジュール、ＷｉｒｅｌｅｓｓＵＳＢ等の無線通信モジュールを含むことができる。さらには、ＵＳＢケーブルやＨＤＭＩ（登録商標）、ＩＥＥＥ１３９４など、有線接続を採用してもよい。また、データ通信に用いるプロトコルとしては、ＰＴＰやＨＴＴＰ等を採用してもよい。
【００４１】
公衆網接続部２１２は、公衆無線通信を行う際に用いられるインターフェースである。携帯電話２００は、公衆網接続部２１２を介して、他の機器と通話することができる。この際、制御部２０１はマイク２１３およびスピーカ２１４を介して音声信号の入力と出力を行うことで、通話を実現する。本実施形態では、公衆網接続部２１２はアンテナであり、制御部１０１は、アンテナを介して、公衆網に接続することができる。なお、接続部２１１および公衆網接続部２１２は、一つのアンテナで兼用することも可能である。また、サーバ３００との接続には、公衆網接続部２１２を利用してもよい。
【００４２】
＜サーバ３００の内部構成＞
次に、図１のシステムにおけるサーバ３００のハードウェア構成について説明する。
図２（ｃ）は、本実施形態に係る情報処理装置の一例であるサーバ３００の構成を示すブロック図である。
【００４３】
サーバ３００は、表示部３０１と、操作部３０２と、制御部３０３と、一次記憶部３０４と、二次記憶部３０５と、通信部３０６とから構成されている。各構成の基本的な機能はデジタルカメラ１００と同様であるから、ここでは詳細な説明は省略する。なお、表示部３０１にはＬＣＤなどのディスプレイ装置が用いられる。また表示部３０１はサーバ３００が内蔵する必要はなく、サーバ３００に接続された外部の表示部３０１の表示を制御する表示制御機能を有していればよい。また、二次記憶部３０５はサーバ３００に内蔵されたハードディスクドライブである。これもまた、サーバ３００が内蔵する必要はない。例えば二次記憶部３０５としては、外部記憶媒体からの読み出しおよび外部記録媒体への書き込みを行う装置を採用することができる。なお外部記録媒体としては、例えば、ＤＶＤ−ＲＷ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＤＶＤ−ＲＡＭなどの光ディスクや、フレキシブルディスク、ＭＯなどの磁気ディスク、またフラッシュメモリなどの不揮発性メモリなどを採用することができる。さらに、操作部３０２としては、キーボードやマウス、またタッチパネルを用いることが可能である。
【００４４】
通信部３０６に用いられる通信インターフェースやプロトコルは、デジタルカメラ１００と同様であるため説明は割愛する。サーバ３００は、この通信部３０６を用いて、デジタルカメラや携帯電話など外部デバイスとデータを送受信することが可能となる。
【００４５】
＜連携設定の通信シーケンス＞
続いて、図１のシステムにおいて、デジタルカメラ１００とサーバ３００とを連携させるための連携設定処理について説明する。
【００４６】
まず、連携設定処理の手順の内容を説明する前に、連携設定処理を開始するためのトリガについて説明する。
【００４７】
図４（ａ）は、デジタルカメラ１００のユーザによる操作部１０５を介したメニュー操作に応じて表示される、通信機能に関するメニュー画面である。ユーザは、このメニュー画面に表示される各アイコンを選択することで、アイコンに対応づけられている機能を実行する指示を入力することができる。本実施形態における連携設定処理は、画面のアイコン４０１を選択することで開始される。
【００４８】
連携設定処理の手順について説明する。
【００４９】
図５は、連携設定処理の手順の概要を示すシーケンス図である。
【００５０】
説明のため、このシーケンスが開始される前に、予め携帯電話２００により、利用したいサービスのサービス情報がサーバ３００に設定されている（つまりサービス情報とアカウント情報とが共に関連付けて管理されている）ものとする。
【００５１】
まず、カメラ１００はＳ１００１においてサーバ３００に認証コードを取得するための認証コード取得要求を発行する。認証コードは、サーバ３００で生成される。また認証コードは例えば、個人認証用の英数字の列である。
【００５２】
サーバ３００はカメラ１００からの認証コード取得要求を受信すると、Ｓ１００２で認証コードの生成を行い、Ｓ１００３でカメラ１００に対して認証コードを送信する。なお、この認証コードは、後述の処理にて携帯電話２００から受信したコードと比較する必要があるため、それまで保持される。具体的には、後述のステップＳ１００７の開始まで保持される。
【００５３】
カメラ１００はサーバ３００から認証コードを受信するとＳ１００４において図４（ｂ）のテキスト表示４０２のような画面を表示部１０６に表示する。この画面では、受信した認証コードを表示する。これに併せて、デジタルカメラ１００ではなく、携帯電話２００を用い、デジタルカメラ１００の表示部１０６に表示される認証コードをサーバ３００に入力するようユーザに促すメッセージを表示する。
【００５４】
次に、図４（ｂ）の画面を確認したユーザは、一旦デジタルカメラ１００の操作を中断し、携帯電話２００を用いて、デジタルカメラ１００の画面に表示される認証コードを入力するための操作を行う。具体的には、携帯電話２００を用いてサーバ３００にアクセスし、連携設定処理を行うための所定のウェブページに、アカウント情報を用いてログインする。ここでは、既に予めアカウント情報がサーバ３００に登録されているものとする。さて、この結果、図６（ａ）のような画面が表示される。図６（ｂ）では、連携設定処理を行うためのボタン６０１が表示されている。ユーザにより操作部２０５を介してこのボタン６０１が選択されたことを検知すると、携帯電話２００はサーバ３００に再度アクセスし、図６（ｂ）のような認証コード入力用テキストボックス６０２に認証コードを入力する画面を表示部２０６に表示させる。なお、図６（ａ）の画面および図６（ｂ）の画面を表示する処理については、シーケンス図では省略している。
【００５５】
さて、Ｓ１００５にて携帯電話２００が、図６（ｂ）の画面においてテキストボックス６０２に認証コードが入力された状態で送信ボタン６０３の選択を検知すると、Ｓ１００６で携帯電話２００は入力された認証コードをサーバ３００に送信する。
【００５６】
サーバ３００は携帯電話２００から認証コードを受信すると、Ｓ１００２で生成した認証コード（すなわちデジタルカメラ１００で表示されている認証コード）と比較する。比較の結果、デジタルカメラ１００で表示されている認証コードと、携帯電話２００から受信した認証コードとが一致していると判断すると、処理はステップＳ１００７に進む。
【００５７】
なお、この認証コードの比較のために保持されていた認証コード（Ｓ１００２で生成された認証コード）は、このタイミングで削除される。また、携帯電話２００からの認証コードが受け付けられない場合、認証コードを保持し続けることは現実的ではない。そのため、認証コードを保持する期間（いわゆる有効期限）として所定の期間を設ける。所定の期間を示す情報は、サーバ３００に予め記録されているものとする。また、この所定の期間が経過したかどうかは、認証コードが生成されたタイミング（つまりステップＳ１００２が実行されたタイミング）を起点としてサーバ３００にてカウントされる。なお、カウントの起点は認証コードをデジタルカメラ１００に送信したタイミング（つまりステップＳ１００３が実行されたタイミング）としてもよい。また、この所定の期間は、結果的に、携帯電話２００からの認証コードを受け付けることができる期間としても機能することになる。
【００５８】
また、上述のように、認証コードには有効期限が設けられている。本実施形態のデジタルカメラ１００は、認証コードの有効期限が切れた場合、ユーザにその旨を通知するための表示を表示部１０６に表示する。デジタルカメラ１００は、サーバ３００に定期的に問い合わせることで、有効期限が切れているかどうかを知ることができる。図７に、所定の期間が経過するまで携帯電話２００で認証コードが入力されなかった場合のシーケンス図を示す。デジタルカメラ１００は、サーバ３００から認証コードを受信したことをトリガとして、ステップＳ１００４での認証コードの表示に併せて、一定の間隔でサーバ３００に、認証コードが生成されてから所定の期間が経過していないかどうかを問い合わせる。サーバ３００から、所定の時間が経過した旨を示す応答があれば、認証コードの表示画面（図４（ｂ））の表示を停止し、代わりに、認証コードの有効期限が切れたことをユーザに通知するための画面を表示部１０６に表示する（Ｓ１０２０）。例えば、図４（ｅ）のような画面を表示する。図４（ｅ）において、ＯＫボタンの選択が検知されると、処理はステップＳ１００１からやり直される。また、キャンセルボタンの選択が検知されると、本フローチャートの処理を終了し、デジタルカメラ１００の画面は、図４（ａ）に戻る。以上が、有効期限が切れた場合の説明である。本実施形態ではこのように、デジタルカメラ１００からサーバ３００に対して定期的に認証コードの有効期限を問い合わせる。これによって、有効期限が切れた場合、即座にそのことをユーザに把握させることができる。つまり、ユーザが無駄に認証コードを入力してしまう可能性を低減することができる。図５の説明に戻る。
【００５９】
図５では、認証コードの有効期限が切れていないうちに、携帯電話２００で認証コードが入力された例を示している。
【００６０】
続いて、Ｓ１００７においてサーバ３００は確認番号を生成する。生成された確認番号は、Ｓ１００８で携帯電話２００送信される。
【００６１】
携帯電話２００は確認番号を受信するとＳ１００９において図６（ｃ）のような画面を表示部２０６に表示する。この画面では、テキスト表示６０４に受信した確認番号を表示すると共に、カメラ側での表示を確認することをユーザに促すメッセージを表示する。
【００６２】
続いて、デジタルカメラ１００の操作に戻る。
【００６３】
携帯電話２００での認証コードの入力を終えたユーザは、カメラ１００の図４（ｂ）の画面に表示されるメッセージの通り、ＯＫボタン４０３を選択する。このＯＫボタン４０３の選択を検知したデジタルカメラ１００は、Ｓ１０１０でサーバ３００に対して確認番号取得要求を送信する。なお、ＯＫボタン４０３が、携帯電話２００での認証コードの入力よりも前に選択された場合は、サーバ３００では未だ確認番号の生成が完了していない。そのため、この場合は、確認番号取得要求に対する応答として、未だ確認番号の生成が完了していないことを示す情報がデジタルカメラ１００に送信される。結果として、デジタルカメラ１００は、サーバ３００で確認番号が生成されるまで繰り返し確認番号取得要求を送信する。
【００６４】
サーバ３００はカメラ１００から確認番号取得要求を受信するとＳ１０１１においてＳ１００７で生成した確認番号をカメラ１００に送信する。
【００６５】
カメラ１００はサーバ３００から確認番号を受信するとＳ１０１２において図４（ｃ）のテキスト表示４０４のように確認番号を表示する。
【００６６】
ここで、携帯電話２００に表示される確認番号と、デジタルカメラ１００で表示される確認番号とを、ユーザが確認する。そして、一致していることが確認できた場合は、ユーザはそれぞれの機器でＯＫボタン４０５、および確認ボタン６０５を選択する。
【００６７】
図４（ｃ）のＯＫボタン４０５が選択されたことが検知されるとＳ１０１３においてカメラ１００はサーバ３００に対して、自機の情報を、アカウント情報に対応づけさせるための、機器登録要求を発行する。この機器登録要求には、カメラ１００を識別可能な情報が含まれる。ここでいうカメラ１００を識別可能な情報とは、例えばデジタルカメラ１００の個体毎にユニークな番号であるＵＵＩＤである。なお、この要求がサーバ３００に受け取られただけでは、アカウント情報に対応づけられない。実際にアカウント情報に対応づけて記録されるには、携帯電話２００側でのボタン６０５の選択が必要となる。
【００６８】
同様に、図６（ｃ）の確認ボタン６０５が選択されたことが検知されると、Ｓ１０１４において携帯電話２００はサーバ３００に対して確認番号を確認したことを通知するための信号である、確認通知を発行する。
【００６９】
カメラ１００からの機器登録要求と、携帯電話２００からの確認通知との両方の信号を受信すると、サーバ３００はＳ１０１５で、デジタルカメラ１００を識別可能な情報を、アカウント情報およびサービス情報と共に関連付けて保持する。この状態では、サーバ３００側では、デジタルカメラ１００とサーバ３００とが連携した状態にあると認識する。つまり、サーバ３００としては、本ステップの処理により連携の設定が完了したと認識することになる。
【００７０】
さて、カメラ１００では、図４（ｃ）のＯＫボタン４０５の選択により機器登録要求が送信された後に、Ｓ１０１６でサーバ３００に対して連携設定情報を取得するための、連携設定情報取得要求を発行する。ここでいう連携設定情報は、サーバ３００にてアカウント情報と共に管理されているサービス情報の一部を含む。サービス情報の一部とは、例えば、連携サービスの種類を区別するための情報であるサービス識別情報、その連携サービスで扱うことのできるファイルタイプを示す情報等が含まれる。
【００７１】
連携設定情報取得要求を受信したサーバ３００は、先のステップＳ１０１５で既に連携設定が完了しているため、応答として、デジタルカメラ１００に対してＳ１０１７で連携設定情報を送信する。なお、連携設定情報として送信される情報には、アカウント情報と共に管理されるサービス情報の一部に加えて、連携サービスを実行するためのボタンとしてデジタルカメラ１００が表示するためのアイコンが含まれる。このアイコンは、アカウント情報と共に管理されるのではなく、デジタルカメラ１００に送信する際に、必要に応じて所定の記憶領域から読み出される。すなわち、複数のアカウントで共通して利用される。
【００７２】
デジタルカメラ１００では、連携設定情報を受信すると、該連携設定情報を記録媒体１１０に記録する。この連携設定情報の記録を以て、デジタルカメラ１００は、サーバ３００と連携する状態に設定済みとなったと認識する。また、これに併せて、通信機能のメニュー画面に戻る。戻った画面では、受信した連携設定情報に含まれるアイコンを、新たにサーバ３００との連携サービスを実行するためのボタンとして表示する。この結果、例えばデジタルカメラ１００の表示部１０６には、図４（ｄ）の画面のように、連携設定されたＷｅｂサービスと接続するためのアイコン４０６が追加して表示される。なお、図４（ｃ）のＯＫボタン４０５は、ステップＳ１０１３の時点で表示される。つまり、ユーザがＯＫボタン４０５を選択するタイミングが、携帯電話２００で確認ボタン６０５が選択される前である場合も考えられる。このような場合には、デジタルカメラ１００は、連携設定情報取得要求をサーバ３００に送信するものの、サーバ３００はこれに対して、未連携であることを示す情報を返信する。この要求と返信の往復は、携帯電話２００で確認ボタン６０５が選択されるまで（つまり、サーバ３００で連携の設定が完了するまで）継続される。なお、デジタルカメラ１００がサーバ３００からの連携設定情報の受信をいつまでも待ち続けることは現実的ではない。そこで、要求してから一定時間が経過しても連携設定情報を受信できない場合は、連携設定処理の継続を諦める。結果として、デジタルカメラ１００の画面は図４（ａ）の状態に戻る。
【００７３】
以上の手順により、デジタルカメラ１００が、サーバ３００に保持されているアカウント情報に紐付けされ、デジタルカメラ１００のユーザが、サーバ３００との連携機能を利用することが可能となる。
【００７４】
上記の一連の処理が完了した後、例えばデジタルカメラ１００で表示されるアイコン４０６が選択されると、対応するサービス識別情報と、何らかの手段で選択された画像データがサーバ３００へ送信される。なお、ここで送信される画像データの選択は、例えば予め再生モードで送信対象として選択しておけるようにしてもよい。あるいは、アイコン４０６の選択に応じて、サーバ３００への送信の前に、送信したい画像データを選択するステップを設け、選択画面に遷移することで画像データの選択を受け付けるようにしてもよい。サーバ３００は、デジタルカメラ１００から送信されたサービス識別情報をキーとして、ユーザがどのサービスを利用したいのかを判断し、対応するサービスとの連携を開始する。
【００７５】
例えば、所定のＳＮＳ（ｓｏｃｉａｌ  ｎｅｔｗｏｒｋｉｎｇ  ｓｅｒｖｉｃｅ）を利用して画像ファイルをアップロードしたい場合を例に挙げて説明する。まず、実際に連携サービスを利用する前に、携帯電話２００等からＳＮＳ連携機能を利用する旨を、サーバ３００に設定する。この結果、ＳＮＳ連携機能に関するサービス情報とアカウント情報とが共にサーバ３００により管理される。そして、デジタルカメラ１００では予め、ＳＮＳ連携機能を示すサービス識別情報を受信し、通信機能メニュー画面には対応するアイコンが表示されているものとする。この状況で、ユーザがＳＮＳ連携機能のアイコンを選択してＳＮＳ連携機能を利用しようとすると、ＳＮＳ連携機能を示すサービス識別情報と画像データが、サーバ３００に送信される。サーバはそのサービス識別情報を参照して、共に受信した画像データを、ＳＮＳのアドレスに宛ててアップロードする処理を実行する。このような手順で、連携サービスが利用される。
【００７６】
前述したように、この連携サービスについては、携帯電話２００等の外部装置からサーバ３００にログインして所定の操作を行うことで、追加・変更・削除することができる。追加したサービスのサービス情報は、デジタルカメラ１００のアイコン４０１の選択により、再度サーバ３００からデジタルカメラ１００に受信される。なお、この処理では既にサーバ３００との連携設定処理が完了しているため、携帯電話２００による認証コードの入力や確認番号の確認等を再び行う手間は必要ない。このように受信されたサービス識別情報によって、デジタルカメラ１００の通信機能のメニュー画面が更新され、新たに追加したサービスが利用可能となる。図４（ｄ）は、追加されるアイコンが一つ（つまりサーバ３００に設定されているサービスが一つ）の場合の例であるが、例えばサーバ３００に複数のサービスが設定されていれば、それぞれのサービスに対応するアイコンが表示されることになる。また、仮に連携したいサービス情報がアカウント情報に関連付けられていない（つまり連携サービスが設定されていない）場合であっても、カメラ１００とサーバ３００とが連携する状態となる。つまり、サーバ３００では、アカウント情報とカメラ１００を識別可能な情報とが関連付けて記録される。ただし、利用するサービスが未設定の状態である。この場合は、図４（ｄ）のようにアイコンが追加されることはない。
【００７７】
このように、一旦連携設定を済ませた後は、アイコン４０１は、サーバ３００で管理している情報と、デジタルカメラ１００の連携設定情報とを同期するためのボタンとして機能する。
【００７８】
また、前述したように、携帯電話２００等の外部装置からは、連携の状態を解除することもできる。例えば、携帯電話２００の表示部２０６に表示される図６（ａ）の画面には、連携の状態を解除するためのボタンである解除ボタン６０６が表示されている。ユーザは、操作部２０５を介してこのボタン６０６を選択することにより、サーバ３００でアカウント情報に関連付けて保持されているサービス情報を削除させ、これによりデジタルカメラ１００とサーバ３００とが連携している状態を解除することができる。
【００７９】
以下、上述の動作を実現するためのデジタルカメラ１００と携帯電話２００とサーバ３００の各機器の動作について説明する。
【００８０】
［連携設定を行う際のカメラの処理］
まず、カメラ１００の動作から説明する。
【００８１】
図８は、カメラ１００と携帯電話２００とサーバ３００で連携設定処理を実行する際の、カメラ１００の動作を示すフローチャートである。
このフローチャートの処理は、図４（ａ）のアイコン４０１をユーザが選択することに応じて開始される。
【００８２】
まず、ステップＳ２００１にて、制御部１０１は、不揮発性メモリ１０３に連携設定情報が記録済みか否かを判断する。制御部１０１が、連携設定情報が記録済みであると判断した場合、処理はステップＳ２００９に遷移する。ステップＳ２００９については後述する。一方、制御部１０１が、連携設定情報が記録済みでないと判断した場合、処理はステップＳ２００２に遷移する。
【００８３】
次いで、ステップＳ２００２にて、制御部１０１は、接続部１１１を介して、サーバ３００に認証コード取得要求を送信する。これを受信したサーバ３００は、認証コードをデジタルカメラ１００に送信する。本ステップの処理は図５のステップＳ１００１に相当する。
【００８４】
続いて、ステップＳ２００３にて、制御部１０１が、接続部１１１を介して、サーバ３００から認証コードを受信したか否かを判断する。制御部１０１が、サーバ３００から認証コードを受信したと判断した場合、処理はステップＳ２００４に遷移する。制御部１０１が受信していないと判断した場合、処理はステップＳ２００２に戻る。
【００８５】
ステップＳ２００４では、制御部１０１は、表示部１０６に、図４（ｂ）のテキスト表示４０２のように認証コードを表示し、ユーザに対して携帯電話２００で認証コードを入力するように促す。これに併せて、携帯電話２００での認証コードの入力した後の処理に進めるためのボタンであるＯＫボタンを表示する。本ステップの処理は、図５のステップＳ１００４に相当する。
【００８６】
ステップＳ２００５では制御部１０１は、ＯＫボタンが選択されたか否かを判断する。まず、制御部１０１が、ＯＫボタンが選択されていないと判断した場合について説明する。この場合、処理はステップＳ２０１６に進む。
【００８７】
ステップＳ２０１６では、制御部１０１は、認証コードの有効期限が切れていないかをサーバ３００に問い合わせる。サーバ３００はこの問い合わせに対して、認証コードの有効期限のカウントを参照し、有効期限が切れているか否かを判断し得る情報をデジタルカメラ１００に返す。ここでは、例えば有効期限が切れているか否かを０と１の二値で表し、サーバ３００はこの１か０を返すことで、応答する。なお、この情報はデジタルカメラ１００が認識できれば、他の方法でも構わない。
【００８８】
続くステップＳ２０１７では、制御部１０１は、サーバ３００からの応答を参照し、認証コードの有効期限が切れているか否かを判断する。制御部１０１が、認証コードの有効期限が切れていると判断した場合、処理はステップＳ２０１８に進む。一方、制御部１０１が、認証コードの有効期限が切れていないと判断した場合、処理はステップＳ２００５に戻る。すなわち、ＯＫボタンが選択されるか、認証コードの有効期限が切れるまで、ステップＳ２００５、ステップＳ２０１６、ステップＳ２０１７のループを繰り返す。これにより、認証コードの有効期限について、即座にユーザに把握させることが可能となる。
【００８９】
続いて、ステップＳ２０１８では、制御部１０１は、ユーザに認証コードの有効期限が切れていることを通知する。具体的には、表示部１０６に、図４（ｅ）のような画面を表示する。この際、エラーの通知と共に、連携設定処理を改めてやり直すか、連携設定処理を中止するかの選択をユーザに促すメッセージと共に、ＯＫボタンとキャンセルボタンを表示し、ユーザの指示を受け付ける。ユーザは、操作部１０５を介してＯＫボタンを選択することで、連携設定処理を改めてやり直す指示を入力することができる。また、ユーザは操作部１０５を介してキャンセルボタンを選択することで、連携設定処理を中止する指示を入力することができる。
【００９０】
ステップＳ２０１９では、制御部１０１は、ユーザから受け付けた指示を判断する。制御部１０１が、ユーザから受け付けた指示が、連携設定処理のやり直しであると判断した場合、処理はステップＳ２００１に戻り、認証コードを再受信する。一方、制御部１０１が、ユーザから受け付けた指示が、連携設定処理の中止であると判断した場合、本フローチャートの処理を終了し、画面は図４（ａ）に戻る。
【００９１】
以上が、ステップＳ２００５で、制御部１０１が、ＯＫボタンが選択されていないと判断した場合の処理の説明である。
【００９２】
一方、ステップＳ２００５で、制御部１０１が、ＯＫボタンが選択されたと判断した場合、処理はステップＳ２００６に進む。
【００９３】
ステップＳ２００６にて、制御部１０１は、接続部１１１を介して、サーバ３００に確認番号取得要求を送信する。本ステップの処理は図５のステップＳ１０１０に相当する。
【００９４】
ステップＳ２００７では、制御部１０１は、接続部１１１を介して、サーバ３００から確認番号を受信したか否かを判断する。制御部１０１が、確認番号を受信していないと判断した場合、本ステップの処理を繰り返し、確認番号の受信を待つ。一方、制御部１０１が、確認番号をサーバ３００から受信したと判断した場合、処理はステップＳ２００８に遷移する。
【００９５】
ステップＳ２００８では、制御部１０１は、表示部１０６に、図４（ｃ）のテキスト表示４０４のように確認番号を表示し、確認番号と同じか確認するようユーザに促す。ここでは、ユーザが確認したことを把握するため、確認番号の表示と共に、ＯＫボタンを表示する。本ステップの処理は図５のステップＳ１０１２の処理に相当する。
【００９６】
ステップＳ２００９では制御部１０１は、操作部１０５を介して、このＯＫボタンがユーザから選択されたか否かを判断する。ＯＫボタンが選択されていないと判断した場合、本ステップの処理を繰り返し、ＯＫボタンの選択を待つ。一方、ＯＫボタンが選択されたと判断した場合、制御部１０１は、ユーザの確認番号の確認が完了したと判断する。この場合は、処理はステップＳ２０１０に進む。
【００９７】
続くステップＳ２０１０にて、制御部１０１は、接続部１１１を介して、サーバ３００に機器登録要求を送信する。本ステップの処理は図５のステップＳ１０１３に相当する。この機器登録要求がサーバ３００に受信されると、サーバ３００は、機器登録要求を受信したことを示す信号（いわゆる肯定応答：ＡＣＫｎｏｗｌｅｄｇｅｍｅｎｔ）を返す。これを制御部１０１が受信したと判断すると、処理はステップＳ２０１１に進む。
【００９８】
更に、ステップＳ２０１１にて、制御部１０１は、接続部１１１を介して、サーバ３００に連携設定情報取得要求を送信する。本ステップの処理は図５のステップＳ１０１６に相当する。
【００９９】
次いで、ステップＳ２０１２にて、制御部１０１は、接続部１１１を介して、サーバ３００から連携設定情報を受信したか否かを判断する。具体的には、制御部１０１は、ステップＳ２０１１でのデジタルカメラ１００からの要求に対する、サーバ３００からの応答に、連携設定情報が含まれているか否かを参照することで、判断する。応答に連携設定情報が含まれている場合は、制御部１０１は、連携設定情報を受信したと判断する。応答に連携設定情報が含まれていない場合は、制御部１０１は、連携設定情報を受信していないと判断する。
【０１００】
まず、制御部１０１が、サーバ３００から連携設定情報を受信したと判断した場合について説明する。この場合、処理はステップＳ２０１３に遷移する。
【０１０１】
ステップＳ２０１３では、制御部１０１は、不揮発性メモリ１０３に、連携設定情報を記録し、表示部１０６に、図４（ｄ）の画面を表示する。図４（ｄ）の画面では、連携サービスを利用するためのアイコン４０６が追加される。なお、連携設定情報を取得した際に、設定された連携サービスが０だった場合は、アイコンの追加はないものの、連携設定情報は受信および記録する。これは、再度アイコン４０１を選択した場合に、これまでのステップで行った操作を再度行わせる無駄を省くためである。
【０１０２】
次に、ステップＳ２０１０にて制御部１０１が、サーバ３００から連携設定情報を受信していないと判断した場合について説明する。この場合、処理はステップＳ２０１４に進む。
【０１０３】
ステップＳ２０１４にて、制御部１０１は、連携設定情報が不揮発性メモリ１０３に記録済みか否かを判断する。制御部１０１が、連携設定情報が不揮発性メモリ１０３に記録済みでないと判断した場合は、未だ連携設定の処理が完了していないために連携設定情報が受信できていないと判断し、処理はステップＳ２００９に戻り、連携設定情報の受信を待つ。このような状況になる場合としては、例えば携帯電話２００での確認ボタンの操作が滞っている場合が考えられる。なお、この場合、カメラ１００からサーバ３００に対して、連携設定情報を取得すべく、再要求を繰り返すことになるが、これについては、無限に繰り返すことは現実的ではない。そこで、再要求の繰り返しが一定回数以上に達した場合、再要求の繰り返しを停止し、ユーザに対して連携設定処理を中止するよう促してもよい。例えば、デジタルカメラ１００の表示部１０６に連携設定処理を中止することを促すメッセージを表示する。また、取得要求を繰り返している最中に、カメラ１００に電源がシャットダウンした場合や、通信エラーにより、接続が切断されることも考えられる。この場合は、カメラ１００とサーバ３００との間の通信が切断した後に携帯電話２００側で確認ボタンが操作される可能性もあり得る。もしそのような状況が生じた場合、サーバ３００側では、結果として両機器から確認の信号が受け取れたことになり、既にデジタルカメラ１００から受信していたデジタルカメラ１００を識別可能な情報とアカウント情報とを関連付けて記録することができる。そこで、この場合は、サーバ３００では、既にデジタルカメラ１００から受信していたデジタルカメラ１００を識別可能な情報とアカウント情報とを関連付けて記録し、一方デジタルカメラ１００では、ダミーの連携設定情報を記録するようにしてもよい。このようにすることで、通信が回復した際に、ステップＳ２００１で、Ｙｅｓと判断されることになる。すなわち、ステップＳ２００２〜ステップＳ２０１０の処理を繰り返す手間を低減できる。
【０１０４】
一方、制御部１０１が、連携設定情報が不揮発性メモリ１０３に記録済みであると判断した場合、サーバ３００にて連携設定が解除されたものと認識する。この場合、サーバ３００から連携設定情報が送信されることはないため、ステップＳ２００１１〜ステップＳ２０１４のループを繰り返して連携設定情報を待つことは無駄である。そこで、この場合は、ステップＳ２０１５に進む。
【０１０５】
ステップＳ２０１５では、制御部１０１により、不揮発性メモリ１０３に記録した連携設定情報を削除する。その後、処理はステップＳ２００１に戻り、改めて連携設定処理を開始する。ステップＳ２０１５から戻ったステップＳ２００１では、既に連携設定情報が削除されているので、ステップＳ２００１でＹＥＳとなることなく、連携設定のシーケンスに入る。この結果再度ステップＳ２０１０が実行され、サーバに機器登録要求が再要求されることになる。
【０１０６】
以上が、本実施形態におけるデジタルカメラ１００の動作である。
【０１０７】
［連携設定を行う際の携帯電話の処理］
次に、携帯電話２００の動作について説明する。
【０１０８】
図９は、カメラ１００と携帯電話２００とサーバ３００で連携設定処理を実行する際の、携帯電話２００の動作を示すフローチャートである。
【０１０９】
本フローチャートの処理は、ユーザが携帯電話２００のブラウザを利用してサーバ３００にアクセスし、所定のウェブページのデータ（例えば図６（ａ）の画面を表示するためのＨＴＭＬデータ）を受信することに応じて開始される。
【０１１０】
まず、ステップＳ２１０１にて、制御部２０１は、表示部２０６に、図６（ａ）に示すような連携設定開始画面を表示する。
【０１１１】
次いで、ステップＳ２１０２にて、制御部２０１は、操作部２０５を介して、図６（ａ）のボタン６０１が選択されたか否かを検知する。まず、制御部２０１が、ボタン６０１の選択を検知した場合、すなわち連携設定処理の開始指示が受け付けられた場合について説明する。この場合、処理はステップＳ２１０３に遷移する。
【０１１２】
ステップＳ２１０３にて、制御部２０１は、サーバ３００にアクセスし、図６（ｂ）に示すような認証コード入力画面を表示するためのＨＴＭＬデータを受信すると共に、表示部２０６に認証コード入力画面を表示する。
【０１１３】
次いで、ステップＳ２１０４にて、制御部２０１は、操作部２０５を介して、認証コード入力用テキストボックス６０２に認証コードが入力された状態で、送信ボタン６０３が選択されたか否かを判断する。制御部２０１が、送信ボタン６０３が選択されていないと判断した場合、本ステップの処理を繰り返し、送信ボタン６０３の選択を待つ。一方、制御部２０１が、送信ボタン６０３が選択されたと判断した場合、処理はステップＳ２１０５に進む。
【０１１４】
ステップＳ２１０５では、制御部２０１は、入力された認証コードを、サーバ３００に送信する。本ステップの処理は図５のステップＳ１００６に相当する。
【０１１５】
この認証コードを受け取ったサーバ３００は、デジタルカメラ１００にサーバ３００から送信された認証コードと同一であるか否かを判断し、同一であるならば、確認信号を携帯電話２００に送信する。
【０１１６】
ステップＳ２１０６で、制御部２０１は、接続部２１１を介してサーバ３００から確認番号を受信したか否かを判断する。制御部２０１が、サーバ３００から確認番号を受信したと判断した場合、処理はステップＳ２１０７に遷移する。制御部２０１が、サーバ３００から確認番号を受信していないと判断した場合、本ステップの処理を繰り返し、確認番号の受信を待つ。なお、サーバ３００にて、認証コードが一致していないと判断された場合には、サーバ３００からは、認証コードが一致していない旨を示す情報が携帯電話２００に送信される。この場合は、ステップＳ２１０３に戻り、認証コードの入力をやり直すようユーザに促す。この際、入力のやり直しを促すメッセージを表示してもよい。
【０１１７】
ステップＳ２１０７にて、制御部２０１は、表示部２０６に図６（ｃ）に示すような確認番号表示画面を表示する。この場合も、ステップＳ２１０３と同様に、サーバ３００から受信したＨＴＭＬデータを解釈することで確認番号表示画面を表示する。この際、確認ボタン６０５は非表示となっている。確認ボタン６０５は、下記のステップＳ２１１０以降の処理にて表示される。本ステップの処理は図５のステップＳ１００９に相当する。
【０１１８】
次いで、ステップＳ２１０８にて、制御部２０１は、接続部２１１を介して、サーバ３００に問合せを送信する。この問合せは、図７のステップＳ２００８にて、カメラ１００がサーバ３００に対して機器登録要求を送信したか否かを判定するための問合せである。連携設定処理は、デジタルカメラ１００と携帯電話２００とサーバ３００とが協働して実行するものであるから、他の装置での操作を待つために、このような判定のステップを設けている。
【０１１９】
次いで、ステップＳ２１０９にて、制御部２０１により、接続部２１１を介して、サーバ３００がデジタルカメラ１００から機器登録要求を受け付けたことを示す信号を、サーバ３００から受信したか否かを判断する。制御部２０１が、該信号を受信したと判断した場合、処理はステップＳ２１０９に遷移する。一方、制御部２０１が、該信号を受信していないと判断した場合、ステップＳ２１０７に戻り、該信号を待つ。
【０１２０】
次いで、ステップＳ２１１０にて、制御部２０１により、表示部２０６に確認ボタン６０５を表示すると共に、操作部１０５を介してユーザから確認ボタン６０５の選択を受け付ける。制御部２０１が、操作部２０５を介して、確認ボタン６０５が選択されたことを検知すると、処理はステップＳ２１１１に遷移する。
【０１２１】
ステップＳ２１１１では、制御部２０１は、接続部２１１を介して、サーバ３００に対して確認番号を確認したことをサーバ３００に通知するための信号である確認通知を送信し、処理を終了する。本ステップの処理は、図５のステップＳ１０１４に相当する。
【０１２２】
次に、ステップＳ２１０２にて、制御部２０１が、連携設定開始ボタン６０１の選択を検知しなかった場合について説明する。この場合、処理はステップＳ２１１２に進む。
【０１２３】
ステップＳ２１１２では、制御部２０１は、操作部２０５を介して、図６（ａ）の連携設定解除ボタン６０６が選択されたか否かを検知する。連携設定解除ボタン６０６が選択されたことを検知した場合、処理はステップＳ２１１３に遷移し、検知しなかった場合、処理はステップＳ２１０１に戻る。
【０１２４】
ステップＳ２１１３にて、制御部２０１は、接続部２１１を介して、サーバ３００に連携の設定を解除するための要求を送信する。この要求を受け取ったサーバ３００では、要求に対応するアカウント情報に関連付けられているサービス情報を削除し、連携設定を解除する。その後、処理はステップＳ２１０１に戻る。なお、連携設定解除ボタン６０６は、連携する状態に設定されている機器が存在しない場合、表示しないようにしてもよい。
【０１２５】
［連携設定を行う際のサーバの処理］
最後に、サーバの動作について説明する。
【０１２６】
図１０は、カメラ１００と携帯電話２００とサーバ３００で連携設定処理を実行する際の、サーバ３００の処理手順を示すフローチャートである。
【０１２７】
本フローチャートの処理は、例えばサーバ３００にてサーバプログラムを実行することに応じて開始される。
【０１２８】
まず、ステップＳ２２００にて、制御部３０３は、通信部３０６を介して、カメラ１００から認証コード取得要求を受信したか否かを判断する。制御部３０３が、認証コード取得要求を受信したと判断した場合、処理はステップＳ２２０１に遷移する。一方、制御部３０３が、認証コード取得要求を受信していないと判断した場合、処理はステップＳ２２２２に遷移する。
【０１２９】
まず、ステップＳ２２０１に遷移した場合から説明する。
【０１３０】
ステップＳ２２０１では、制御部３０３は、認証コードを生成する。本ステップの処理は図５のステップＳ１００２に相当する。
【０１３１】
続いて、ステップＳ２２０２にて、制御部３０３は、ステップＳ２２０２でデジタルカメラ１００に送信した認証コードの有効期限のカウントを開始する。
【０１３２】
次いで、ステップＳ２２０３にて、制御部３０３は、通信部３０６を介して、カメラ１００に認証コードを送信する。本ステップの処理は図５のステップＳ１００３に相当する。
【０１３３】
続くステップＳ２２０４では、制御部３０３は、通信部３０６を介して、携帯電話２００から認証コードを受信したか否かを判断する。
【０１３４】
まず、認証コードを受信していないと判断した場合について説明する。この場合、処理はステップＳ２２２５に進む。
【０１３５】
ステップＳ２２２５では、制御部３０３は、デジタルカメラ１００から認証コードの有効期限の問い合わせを受信したか否かを判断する。問い合わせを受信していないと判断した場合、処理はステップＳ２２０４に戻る。一方、問い合わせを受信したと判断した場合、処理はステップＳ２２２６に進む。
【０１３６】
ステップＳ２２２６では、制御部３０３は、ステップＳ２２０２で開始した認証コードの有効期限のカウントの値を参照し、カウントの値が所定の値以上となっているか否かを判断する。なお、前述のように、所定の値は有効期限を示す情報であり、サーバ３００に記録されているものである。ここで、制御部３０３が、カウントの値が所定の値以上となっていると判断した場合は、有効期限が過ぎている場合である。故に、この場合、制御部３０３は、ステップＳ２２２８にて、認証コードが無効であることを示す情報を、問い合わせへの応答としてデジタルカメラ１００に送信する。一方、制御部３０３が、カウントの値が所定の値以上となっていないと判断した場合は、また有効期限が過ぎていない場合である。故に、この場合、制御部３０３は、ステップＳ２２０７にて、認証コードが有効であることを示す情報を、問い合わせへの応答としてデジタルカメラ１００に送信する。その後、処理はステップＳ２２０４に戻る。
【０１３７】
一方、ステップＳ２２０４にて、制御部３０３が、携帯電話２００から認証コードを受信したと判断した場合、処理はステップＳ２２０５に遷移する。
【０１３８】
ステップＳ２２０５では、制御部３０３は、確認番号を生成する。本ステップの処理は図５のステップＳ１００７に相当する。
【０１３９】
そしてステップＳ２２０６にて、制御部３０３は、通信部３０６を介して、携帯電話２００に確認番号を送信する。本ステップの処理は図５のステップＳ１００８に相当する。
【０１４０】
次いで、ステップＳ２２０７にて、制御部３０３は、通信部３０６を介して、カメラ１００から確認番号取得要求を受信したか否かを判断する。制御部３０３が、確認番号取得要求を受信したと判断した場合、処理はステップＳ２２０８に遷移する。受信していないと判断した場合、本ステップの処理を繰り返し、受信を待つ。
【０１４１】
次いで、ステップＳ２２０８にて、制御部３０３は、通信部３０６を介して、デジタルカメラ１００に確認番号を送信する。
【０１４２】
次いで、ステップＳ２２０９にて、制御部３０３は、通信部３０６を介して、デジタルカメラ１００から機器登録要求を受信したか否かを判断する。制御部３０３が、機器登録要求を受信したと判断した場合、処理はステップＳ２２１０に遷移する。一方、制御部３０３が、機器登録要求を受信していないと判断した場合、処理はステップＳ２２１２に遷移する。
【０１４３】
次いで、ステップＳ２２１０にて、制御部３０３は、受信した機器登録要求に含まれる、デジタルカメラ１００を識別可能な情報を、一旦二次記憶部３０５に保持する。この時点では、制御部３０３は、デジタルカメラ１００を識別可能な情報をアカウント情報に関連付けない。本ステップの処理は図５のステップＳ１０１５に相当する。
【０１４４】
次いで、ステップＳ２２１１にて、制御部３０３は、通信部３０６を介して、カメラ１００に機器登録要求を受信したことを示す信号（いわゆる肯定応答：ＡＣＫｎｏｗｌｅｄｇｅｍｅｎｔ）を送信する。なお、この処理はステップＳ２２１０と並行して実行されてもよい。
【０１４５】
次いで、ステップＳ２２１２にて、制御部３０３は、通信部３０６を介して、携帯電話２００から、サーバ３００がデジタルカメラ１００から機器登録要求を受け付けたかどうかの問合せを受信したか否かを判断する。制御部３０３が、問合せを受信したと判断した場合、処理はステップＳ２２１３に遷移する。一方、制御部３０３が、問い合わせを受信していないと判断した場合、処理はステップＳ２２０９に戻る。
【０１４６】
次いで、ステップＳ２２１３にて、制御部３０３は、二次記憶部３０５にカメラ１００を識別可能な情報が保持済みか否かを判断する。制御部３０３が、カメラ１００を識別可能な情報が保持済みであると判断した場合、処理はステップＳ２２１５に遷移する。一方、制御部３０３が、カメラ１００を識別可能な情報が保持済みでないと判断した場合、処理はステップＳ２２１４に遷移する。
【０１４７】
ステップＳ２２１４では、制御部３０３は、通信部３０６を介して、携帯電話２００に機器登録要求を受け付けていないことを示す信号を送信し、ステップＳ２２１２に戻る。
【０１４８】
一方、ステップＳ２２１５では、制御部３０３は、通信部３０６を介して、携帯電話２００に携帯電話２００に機器登録要求を受け付けたことを示す信号を送信する。これにより、携帯電話２００では、確認番号を確認したことを示す信号をサーバ３００に送信する指示を入力するためのＯＫボタンが選択できるようになる。その後、処理はステップＳ２２１６に進む。
【０１４９】
ステップＳ２２１６では、制御部３０３は、通信部３０６を介して、携帯電話２００から確認完了通知を受信したか否かを判断する。制御部３０３が、確認完了通知を受信したと判断した場合、処理はステップＳ２２１７に遷移する。一方、制御部３０３が、確認完了通知を受信していないと判断した場合、処理はステップＳ２２１８に進む。
【０１５０】
次いで、ステップＳ２２１７にて、制御部３０３は、二次記憶部３０５に、カメラに関する情報と、アカウントに関する情報と、サービス情報とを関連付けて記録する。本ステップにおいて、カメラ連携設定が完了する。
【０１５１】
次いで、ステップＳ２２１８にて、制御部３０３は、通信部３０６を介して、カメラ１００から連携設定情報取得要求を受信したか否かを判断する。制御部３０３が、連携設定情報取得要求を受信したと判断した場合、処理はステップＳ２２１９に遷移する。一方、制御部３０３が、連携設定情報取得要求を受信していないと判断した場合、処理はステップＳ２２０１に戻る。なぜなら、この場合はデジタルカメラ１００が通信できなくなった可能性が高いからである。
【０１５２】
次いで、ステップＳ２２１９にて、制御部３０３は、二次記憶部３０５に連携設定情報が記録されているか否かを判断する。制御部３０３が、連携設定情報が記録されていると判断した場合、処理はステップＳ２２２０に遷移する。一方、制御部３０３が、連携設定情報が記録されていないと判断した場合、処理はステップＳ２２２１に遷移する。
【０１５３】
次いで、ステップＳ２２２０にて、制御部３０３は、通信部３０６を介して、カメラ１００にサービス識別情報を送信してステップＳ２２０１に戻る。一方、ステップＳ２２２１では、制御部３０３により、通信部３０６を介して、カメラ１００に未連携通知を送信してステップＳ２２０１に戻る。
【０１５４】
以上が、ステップＳ２２０１からステップＳ２２０２に進んだ場合の説明である。
【０１５５】
続いて、ステップＳ２２０１からステップＳ２２２２に進んだ場合について説明する。
【０１５６】
ステップＳ２２２２にて、制御部３０３は、二次記憶部３０５に連携設定情報が記録されているか否かを判断する。制御部３０３が、連携設定情報が記録されていると判断した場合、処理はステップＳ２２２３に遷移する。一方、制御部３０３が、連携設定情報が記録されていないと判断した場合、処理はステップＳ２２１６に遷移する。
【０１５７】
次いで、ステップＳ２２２３にて、制御部３０３は、通信部３０６を介して、携帯電話２００から連携設定解除要求を受信したか否かを判断する。制御部３０３が、連携設定解除要求を受信したと判断した場合、ステップＳ２２２４に遷移する。一方、制御部３０３が、連携設定解除要求を受信していないと判断した場合、処理はステップＳ２２１６に遷移する。
【０１５８】
ステップＳ２２２５では、制御部３０３は、二次記憶部３０５に記録されている連携設定情報を消去し、ステップＳ２２１６に遷移する。
【０１５９】
ステップＳ２２１６以降の処理は、上述したとおりである。
【０１６０】
なお、本フローチャートの処理は、例えばサーバ３００のサーバプログラムを終了する指示を受け付けたことや、サーバ３００の電源をＯＦＦにすることなどに応じて、実行中のステップの処理を中断して終了する。
【０１６１】
以上、連携設定を行う際のデジタルカメラ１００、携帯電話２００、サーバ３００の各装置の動作について説明した。
【０１６２】
以上に説明したように、本実施形態のデジタルカメラ１００は、認証コードの表示に併せて定期的にサーバに対して認証コードの有効期限を問い合わせる。これにより、リアルタイムに認証コードの有効期限をユーザに把握させることができ、結果としてユーザが無駄に認証コードを入力してしまうという可能性を低減することができる。同時に、デジタルカメラ１００では、認証コードの有効期限を管理せず、サーバ３００に問い合わせるだけで済む。つまり、認証コードの有効期限を簡潔に管理することができる。
【０１６３】
［その他の実施形態］
上述の実施形態に加えて、サーバ３００は、図５のＳ１００６で携帯電話２００から認証コードを受け付けた後は、デジタルカメラ１００からの認証コードの有効期限の問い合わせに対して、カウントの値に関わらず有効であることを示す情報を返してもよい。これは、携帯電話２００からの認証コードが入力された時点で、実質的に認証コードの役割が完遂されているためである。あるいは、サーバ３００は、携帯電話２００から認証コードを受け付けた後のデジタルカメラ１００からの認証コードの有効期限の問い合わせに対して返す情報として、既に携帯電話２００から認証コードを受信済みであることを示す受信済み情報を含めてもよい。このようにした場合、デジタルカメラ１００では、受信済み情報の受信以降は、認証コードの表示を継続しつつ、認証コードの有効期限の問い合わせを行わないようにする。これにより、無駄な問い合わせを防ぎ、電力消費を抑えることができる。
【０１６４】
また、上述の実施形態では、デジタルカメラ１００がサーバ３００から認証コードの有効期限が切れていることを示す情報を受信した場合、図４（ｅ）の画面を表示するように構成した例について述べた。これについては、有効期限が切れたことをユーザに把握させることができれば、どのような形で通知してもよい。例えば、サーバ３００から認証コードの有効期限が切れていることを示す情報を受信した場合、デジタルカメラ１００は、図４（ｅ）のようなエラー通知の画面を表示することなく、ステップＳ１００１の処理にて新たに認証コードを取得しなおす。そして、新たに取得した認証コードを表示すると共に、前に表示していた認証コードの有効期限が切れたことを示すメッセージを表示する。例えば、図４（ｆ）のような画面を表示する。これにより、よりスムーズに連携設定処理をやり直すことができる。
【０１６５】
また本発明は、以下の処理を実行することによっても実現される。即ち上述した実施形態の機能を実現するソフトウェア（プログラム）をネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（又はＣＰＵやＭＰＵ等）がプログラムコードを読み出して実行する処理である。この場合、そのプログラム、及び該プログラムを記憶した記憶媒体は本発明を構成することになる。
【図１】
2015032252.tif 000003
【図２】
2015032252.tif 000004
【図３】
2015032252.tif 000005
【図４】
2015032252.tif 000006
【図５】
2015032252.tif 000007
【図６】
2015032252.tif 000008
【図７】
2015032252.tif 000009
【図８】
2015032252.tif 000010
【図９】
2015032252.tif 000011
【図１０】
2015032252.tif 000012