(57)【要約】【課題】  クライアントからの所定のポーリングリクエストに対する応答処理を受け、それに対して未応答の場合であっても、新たな要求を受け付けることで、クライアントが他の処理移行可能にできるようにする。【解決手段】  クライアントからの要求に応じた処理を行う通信装置であって、リクエスト／レスポンス型の通信プロトコルを用いて通信を行う通信部と、通信部によりクライアントから受信した要求に対する処理を行い、受信した要求に対する応答をクライアントに通信部により送信する処理部と、通信部により所定のポーリングリクエストを受信した場合であって、処理部が所定のポーリングリクエストに対する応答を前記クライアントに送信する前に、クライアントから他の要求を受信した場合、所定のポーリングリクエストに対するキャンセルレスポンスを送信すると共に、他の要求に対する処理を処理部により実行させる制御部とを有する。【選択図】  図６
2018190173.tif 000002
【特許請求の範囲】
【請求項１】
クライアントからの要求に応じた処理を行う通信装置であって、
リクエスト／レスポンス型の通信プロトコルを用いて通信を行う通信手段と、
前記通信手段によりクライアントから受信した要求に対する処理を行い、受信した要求に対する応答を前記クライアントに前記通信手段により送信する処理手段と、
前記通信手段により所定のポーリングリクエストを受信した場合であって、前記処理手段が前記所定のポーリングリクエストに対する応答を前記クライアントに送信する前に、前記クライアントから他の要求を受信した場合、前記所定のポーリングリクエストに対するキャンセルレスポンスを送信すると共に、前記他の要求に対する処理を前記処理手段により実行させる制御手段と
を有することを特徴とする通信装置。
【請求項２】
表示手段、及び、複数の画像を記憶可能な記憶手段、ユーザからの指示を入力するための操作手段を更に有し、
前記処理手段は、
クライアントから前記所定のポーリングリクエストを受信した場合に、前記記憶手段に記憶されている画像の中から、前記クライアントに送信する対象の画像をユーザが選択可能に前記表示手段に表示し、
前記操作手段を介した画像の選択に応じて送信対象の画像を表すリストを生成し、
前記操作手段を介して送信指示が入力された場合に、前記リストを前記所定のポーリングリクエストに対する応答として送信する
ことを特徴とする請求項１に記載の通信装置。
【請求項３】
前記記憶手段に記憶することになる画像を取得するための撮像手段を更に有することを特徴とする請求項２に記載の通信装置。
【請求項４】
前記他の要求には、前記撮像手段を使ったリモート撮影の要求、前記記憶手段に記憶されている画像の一覧の取得要求、画像に対する位置情報の付加する要求、動作環境の設定要求が含まれることを特徴とする請求項３に記載の通信装置。
【請求項５】
前記制御手段は、前記所定のポーリングリクエストに対するキャンセルレスポンスを送信して、前記他の要求に対する処理を前記処理手段により実行する場合に、前記操作手段が操作不可であることを前記表示手段に表示することを特徴とする請求項２に記載の通信装置。
【請求項６】
前記制御手段は、前記処理手段による前記所定のポーリングリクエストの処理中に、前記他の要求を受信した場合、当該他の要求に対してビジー状態であることを示す応答を前記通信手段を介して送信することを特徴とする請求項１に記載の通信装置。
【請求項７】
通信手段を有し、当該通信手段を介してリクエスト／レスポンス型の通信プロトコルを用いることで、クライアントからの要求に応じた処理を行う通信装置の制御方法であって、
前記通信手段によりクライアントから受信した要求に対する処理を行い、受信した要求に対する応答を前記クライアントに前記通信手段により送信する処理工程と、
前記通信手段により所定のポーリングリクエストを受信した場合であって、前記処理工程により前記所定のポーリングリクエストに対する応答を前記クライアントに送信する前に前記クライアントから他の要求を受信した場合、前記所定のポーリングリクエストに対するキャンセルレスポンスを送信すると共に、前記他の要求に対する処理を前記処理工程により実行させる制御工程と
を有することを特徴とする通信装置の制御方法。
【請求項８】
通信手段を有するコンピュータが読み込み実行することで、前記コンピュータに、請求項７に記載の方法の各工程を実行させるためのプログラム。
【請求項９】
第１の通信手段を有する撮像装置、第２の通信手段を有する端末装置で構成される通信システムであって、
前記撮像装置は、前記第１の通信手段によりリクエスト／レスポンス型の通信プロトコルを用いることで、サーバとして機能し、
前記端末装置は、前記第２の通信手段によりリクエスト／レスポンス型の通信プロトコルを用いることでクライアントとして機能し、
前記端末装置は、
前記撮像装置と通信中に所定のポーリングリクエストを前記撮像装置に送信すると共に、前記撮像装置に対する複数の処理項目のメニューを表示する第１の処理手段と、
前記所定のポーリングリクエストに対する応答を前記撮像装置から受信する前に、前記メニューの１つの処理項目がユーザにより選択された場合、前記撮像装置に対して選択した処理項目の要求を送信し、前記所定のポーリングリクエストに対するキャンセル応答を受信してから、選択した処理項目の要求に対する処理に移行する第２の処理手段と、
前記メニューのいずれかの処理項目をユーザにより選択しないまま、前記撮像装置から前記所定のポーリングリクエストに対する応答を受信した場合、当該応答に記述された画像を取得する処理に移行する第３の処理手段とを有し、
前記撮像装置は、
前記端末装置と通信中に、前記所定のポーリングリクエストを前記端末装置から受信した場合、前記撮像装置が記憶している撮像画像の一覧を、ユーザが選択可能に表示すると共に、ユーザによる画像の選択を受け付け、ユーザにより送信指示が入力された場合に選択した画像を特定する情報を、前記所定のポーリングリクエストに対する応答として前記端末装置に送信する第４の処理手段と、
前記第４の処理手段による前記所定のポーリングリクエストに対する応答を前記端末装置に送信する前に前記端末装置から他の要求を受信した場合、前記所定のポーリングリクエストに対するキャンセルレスポンスを送信すると共に、前記他の要求に対する処理を行う第５の処理手段とを有する
ことを特徴とする通信システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信装置及びその制御方法及びプログラム及び通信システムに関するものである。
【背景技術】
【０００２】
近年の無線通信用デバイスの集積化により、携帯用パーソナルコンピュータ（いわゆるノートＰＣ）のみならず、プリンタ、携帯情報端末、デジタルカメラ、スマートデバイス、スマートフォン等に無線ＬＡＮ機能が搭載されるようになってきた。これにより従来、ＵＳＢ接続などの特定の機器との間で有線接続による通信手段しか持たなかった機器が、無線通信手段を有することにより様々な機器との間でデータ通信を行うことが可能となっている。例えば、スマートデバイスとデジタルカメラを接続して、デジタルカメラで撮影した画像をスマートデバイスに保存することができる。そして現在では、ＨＴＴＰのようなサーバ・クライアントのシステムを用いて、デジタルカメラがサーバ側となってリモート撮影を実現することも可能である。
【０００３】
サーバ・クライアントシステムのようなシステムにおいては、サーバから自発的にクライアントに何らかの通知を行うことについては一定の制限があることが多い。この点については、まずクライアントからリクエストを送信し、サーバがその応答の保留状態を維持することにより、必要なタイミングでサーバが自発的にクライアントに通知を行う（ロングポーリング）ことが考えられる。その手法として、予め状態通知用のリクエストを送信して、サーバのステータスが変化したタイミングでレスポンスを返すといった方法がある（例えば特許文献１）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１３−０２１５２６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、クライアントがサーバに対してロングポーリングリクエストを送信してからレスポンスが返ってくるまでの間に、ユーザはスマートデバイスを操作して他の機能を実行したい場合がある。この場合に他の機能を実行するにあたって、ロングポーリングのための通信を維持するのは無駄になる可能性が高い。
【課題を解決するための手段】
【０００６】
この課題を解決するため、例えば本発明の通信装置は以下の構成を備える。すなわち、
クライアントからの要求に応じた処理を行う通信装置であって、
リクエスト／レスポンス型の通信プロトコルを用いて通信を行う通信手段と、
前記通信手段によりクライアントから受信した要求に対する処理を行い、受信した要求に対する応答を前記クライアントに前記通信手段により送信する処理手段と、
前記通信手段により所定のポーリングリクエストを受信した場合であって、前記処理手段が前記所定のポーリングリクエストに対する応答を前記クライアントに送信する前に、前記クライアントから他の要求を受信した場合、前記所定のポーリングリクエストに対するキャンセルレスポンスを送信すると共に、前記他の要求に対する処理を前記処理手段により実行させる制御手段とを有する。
【発明の効果】
【０００７】
本発明によれば、無駄にロングポーリングのための通信を維持する事態を防止することができる。
【図面の簡単な説明】
【０００８】
【図１】第１の実施形態におけるデジタルカメラのブロック構成図、及び、外観図。
【図２】第１の実施形態におけるスマートデバイスのブロック構成図。
【図３】デジタルカメラとスマートデバイスのユースケースを示す図。
【図４】第１の実施形態におけるデジタルカメラからスマートデバイスへの画像のプッシュ送信のシーケンスを示す図。
【図５】第１乃至３の実施形態におけるスマートデバイスとデジタルカメラの画面の表示例を示す図。
【図６】第１の実施形態におけるスマートデバイスからリモート撮影要求を行う際のシーケンスを示す図。
【図７Ａ】、
【図７Ｂ】第１の実施形態におけるデジタルカメラの処理を示すフローチャート。
【図８Ａ】、
【図８Ｂ】第１の実施形態におけるスマートデバイスの処理を示すフローチャート。
【図９】第１の実施形態におけるスマートデバイスからリモート撮影終了要求を行う際のシーケンスを示す図。
【図１０】第２の実施形態におけるデジタルカメラとスマートデバイスのシーケンスを示す図。
【図１１】第２の実施形態におけるデジタルカメラの処理を示すフローチャート。
【発明を実施するための形態】
【０００９】
以下図面に従って本発明に係る実施形態を詳細に説明する。なお、以下に説明する実施の形態は、本発明の実現手段としての一例であり、本発明が適用される装置の構成や各種条件によって適宜修正又は変更されてもよい。また、各実施の形態を適宜組み合せることも可能である。
【００１０】
［第１の実施形態］
＜デジタルカメラ１００の内部構成＞
図１（ａ）は、本実施形態の通信システムを構成する通信装置（サーバ）として機能するデジタルカメラ１００の構成例を示すブロック図である。なお、ここでは通信装置の一例として画像データを記録媒体に記録可能なデジタルカメラについて述べるが、通信装置はこれに限られない。例えば通信装置は携帯型のメディアプレーヤや、いわゆるタブレットデバイス、パーソナルコンピュータ、種々の設備に接続または組み込まれた情報処理装置などであってもよい。また、取り扱うデータも画像データに限定されず、音声データ、文書データなどであってもよい。
【００１１】
制御部１０１は、入力された信号や、後述のプログラムに従ってデジタルカメラ１００の各部を制御する。なお、制御部１０１が装置全体を制御する代わりに、複数のハードウェアが処理を分担することで、装置全体を制御してもよい。
【００１２】
撮像部１０２は、例えば、光学レンズユニットと絞り・ズーム・フォーカスなど制御する光学系と、光学レンズユニットを経て導入された光（映像）を電気的な映像信号に変換するための撮像素子などで構成される。撮像素子としては、一般的には、ＣＭＯＳ（Ｃｏｍｐｌｅｍｅｎｔａｒｙ  Ｍｅｔａｌ  Ｏｘｉｄｅ  Ｓｅｍｉｃｏｎｄｕｃｔｏｒ）や、ＣＣＤ（Ｃｈａｒｇｅ  Ｃｏｕｐｌｅｄ  Ｄｅｖｉｃｅ）が利用される。撮像部１０２は、制御部１０１に制御されることにより、撮像部１０２に含まれるレンズで結像された被写体光を、撮像素子により電気信号に変換し、ノイズ低減処理などを行いデジタルデータを画像データとして出力する。本実施形態のデジタルカメラ１００では、画像データは、ＤＣＦ（Ｄｅｓｉｇｎ  Ｒｕｌｅ  ｆｏｒ  Ｃａｍｅｒａ  Ｆｉｌｅ  ｓｙｓｔｅｍ）の規格に従って、記録媒体１１０に記録される。
【００１３】
不揮発性メモリ１０３は、電気的に消去・記録可能な不揮発性のメモリであり、制御部１０１で実行される後述のプログラム等が格納される。
【００１４】
作業用メモリ１０４は、撮像部１０２で撮像された画像データを一時的に保持するバッファメモリや、表示部１０６の画像表示用メモリ、制御部１０１の作業領域等として使用される。
【００１５】
操作部１０５は、ユーザがデジタルカメラ１００に対する指示をユーザから受け付けるために用いられる。操作部１０５は例えば、ユーザがデジタルカメラ１００の電源のＯＮ／ＯＦＦを指示するための電源ボタンや、撮影を指示するためのレリーズスイッチ、画像データの再生を指示するための再生ボタンを含む。さらに、後述の通信部１１１を介して外部機器との通信を開始するための専用の接続ボタンなどの操作部材を含む。また、後述する表示部１０６に形成されるタッチパネルも操作部１０５に含まれる。なお、レリーズスイッチは、ＳＷ１およびＳＷ２を有する。レリーズスイッチが、いわゆる半押し状態となることにより、ＳＷ１がＯＮとなる。これにより、ＡＦ（オートフォーカス）処理、ＡＥ（自動露出）処理、ＡＷＢ（オートホワイトバランス）処理、ＥＦ（フラッシュプリ発光）処理等の撮影準備を行うための指示を受け付ける。また、レリーズスイッチが、いわゆる全押し状態となることにより、ＳＷ２がＯＮとなる。これにより、撮影を行うための指示を受け付ける。
【００１６】
表示部１０６は、撮影の際のビューファインダー画像の表示、撮影した画像データの表示、対話的な操作のための文字表示などを行う。なお、表示部１０６は必ずしもデジタルカメラ１００が内蔵する必要はない。デジタルカメラ１００は内部又は外部の表示部１０６と接続することができ、表示部１０６の表示を制御する表示制御機能を少なくとも有していればよい。
【００１７】
記録媒体１１０は、撮像部１０２で撮像して得られた複数の撮像画像を記憶可能である。記録媒体１１０は、デジタルカメラ１００に着脱可能なよう構成してもよいし、デジタルカメラ１００に内蔵されていてもよい。すなわち、デジタルカメラ１００は少なくとも記録媒体１１０にアクセスする手段を有していればよい。
【００１８】
通信部１１１は、外部装置と通信するためのインターフェースである。本実施形態のデジタルカメラ１００は、通信部１１１を介して、外部装置とデータのやりとりを行うことができる。例えば、撮像部１０２で生成した画像データを、通信部１１１を介して外部装置に送信することができる。なお、本実施形態では、通信部１１１は外部装置とＩＥＥＥ８０２．１１の規格に従った、いわゆる無線ＬＡＮで通信するためのインターフェースを含む。制御部１０１は、通信部１１１を制御することで外部装置との無線通信を実現する。なお、通信方式は無線ＬＡＮに限定されるものではなく、例えば赤外通信方式も含む。通信部１１１は第１の無線通信手段の一例である。
【００１９】
近距離無線通信部１１２は、例えば無線通信のためのアンテナと無線信号を処理するため変復調回路や通信コントローラから構成される。近距離無線通信部１１２は、変調した無線信号をアンテナから出力し、またアンテナで受信した無線信号を復調することによりＩＥＥＥ８０２．１５の規格（いわゆるＢｌｕｅｔｏｏｔｈ（登録商標））に従った近距離無線通信を実現する。本実施形態においてＢｌｕｅｔｏｏｔｈ（登録商標）通信は、低消費電力であるＢｌｕｅｔｏｏｔｈ（登録商標）  Ｌｏｗ  Ｅｎｅｒｇｙのバージョン４．０を採用する。このＢｌｕｅｔｏｏｔｈ（登録商標）通信は、無線ＬＡＮ通信と比べて通信可能な範囲が狭い（つまり、通信可能な距離が短い）。また、Ｂｌｕｅｔｏｏｔｈ（登録商標）通信は、無線ＬＡＮ通信と比べて通信速度が遅い。その一方で、Ｂｌｕｅｔｏｏｔｈ（登録商標）通信は、無線ＬＡＮ通信と比べて消費電力が少ない。本実施形態のデジタルカメラ１００は、近距離無線通信部１１２を介して、外部装置とデータのやりとりを行うことができる。例えば外部装置から撮影の命令を受信した場合は撮像部１０２を制御し、撮影動作を行い、無線ＬＡＮ通信によるデータの授受を行うための命令を受信した場合は通信部１１１を制御し、無線ＬＡＮ通信を開始する。
【００２０】
近接無線通信部１１３は、例えば無線通信のためのアンテナと無線信号を処理するため変復調回路や通信コントローラから構成される。近接無線通信部１１３は、変調した無線信号をアンテナから出力し、またアンテナで受信した無線信号を復調することでＩＳＯ／ＩＥＣ  １８０９２の規格（いわゆるＮＦＣ：Ｎｅａｒ  Ｆｉｅｌｄ  Ｃｏｍｍｕｎｉｃａｔｉｏｎ）に従った非接触近接通信を実現する。本実施形態の近接無線通信部１１３は、デジタルカメラ１００の側部に配される。
【００２１】
スマートデバイス２００とは、互いの近接無線通信部を近接させることにより通信を開始して接続される。なお、近接無線通信部を用いて接続させる場合、必ずしも近接無線通信部同士を接触させる必要はない。近接無線通信部は一定の距離だけ離れていても通信することができるため、互いの機器を接続するためには、近接無線通信可能な範囲まで近づければよい。以下の説明では、この近接無線通信可能な範囲まで近づけることを、近接させる、とも記載する。
【００２２】
また、互いの近接無線通信部が近接無線通信不可能な範囲にあれば、通信は開始されない。また、互いの近接無線通信部が近接無線通信可能な範囲にあって、デジタルカメラ１００同士が通信接続されている際に、互いの近接無線通信部１１３が近接無線通信不可能な範囲に離れてしまった場合は、通信接続が解除される。なお、近接無線通信部１１３が実現する非接触近接通信はＮＦＣに限られるものではなく、他の無線通信を採用してもよい。例えば、近接無線通信部１１３が実現する非接触近接通信として、ＩＳＯ／ＩＥＣ  １４４４３の規格に従った非接触近接通信を採用してもよい。
【００２３】
本実施形態では、通信部１１１により実現される通信の通信速度は、後述の近接無線通信部１１３により実現される通信の通信速度よりも速い。また、通信部１１１により実現される通信は、近接無線通信部１１３による通信よりも、通信可能な範囲が広い。その代わり、近接無線通信部１１３による通信では、通信可能な範囲の狭さにより通信相手を限定することができるため、通信部１１１により実現される通信で必要な暗号鍵の交換等の処理を必要としない。すなわち、通信部１１１を用いるよりも手軽に通信することができる。
【００２４】
なお、本実施形態におけるデジタルカメラ１００の通信部１１１は、インフラストラクチャモードにおけるアクセスポイントとして動作するＡＰモードと、インフラストラクチャモードにおけるクライアントとして動作するＣＬモードとを有している。そして、通信部１１１をＣＬモードで動作させることにより、本実施形態におけるデジタルカメラ１００は、インフラストラクチャモードにおけるＣＬ機器として動作することが可能である。デジタルカメラ１００がＣＬ機器として動作する場合、周辺のＡＰ機器に接続することで、ＡＰ機器が形成するネットワークに参加することが可能である。また、通信部１１１をＡＰモードで動作させることにより、本実施形態におけるデジタルカメラ１００は、ＡＰの一種ではあるが、より機能が限定された簡易的なＡＰ（以下、簡易ＡＰ）として動作することも可能である。デジタルカメラ１００が簡易ＡＰとして動作すると、デジタルカメラ１００は自身でネットワークを形成する。デジタルカメラ１００の周辺の装置は、デジタルカメラ１００をＡＰ機器と認識し、デジタルカメラ１００が形成したネットワークに参加することが可能となる。上記のようにデジタルカメラ１００を動作させるためのプログラムは不揮発性メモリ１０３に保持されているものとする。
【００２５】
なお、本実施形態におけるデジタルカメラ１００はＡＰの一種であるものの、ＣＬ機器から受信したデータをインターネットプロバイダなどに転送するゲートウェイ機能は有していない簡易ＡＰである。したがって、自機が形成したネットワークに参加している他の装置からデータを受信しても、それをインターネットなどのネットワークに転送することはできない。
【００２６】
次に、デジタルカメラ１００の外観について説明する。図１（ｂ）、図１（ｃ）はデジタルカメラ１００の外観の一例を示す図である。レリーズスイッチ１０５ａや再生ボタン１０５ｂ、方向キー１０５ｃ、タッチパネル１０５ｄは、前述の操作部１０５に含まれる操作部材である。また、表示部１０６には、撮像部１０２による撮像の結果得られた画像が表示される。また、本実施形態のデジタルカメラ１００は、カメラ筺体の側面に近接無線通信部１１３のアンテナ部分を有する。この近接無線通信部１１３同士を一定の距離に近づけることにより、他の機器と近接無線通信を確立することができる。これにより、ケーブル等を介さずに非接触で通信可能であると共に、ユーザの意図に沿って通信相手を限定することができる。以上、実施形態におけるデジタルカメラ１００の構成を説明した。
【００２７】
＜スマートデバイス２００の内部構成＞
図２は、本実施形態の通信システムを構成する端末装置（情報処理装置）の一例であるスマートデバイス２００の構成例を示すブロック図である。なお、ここでは情報処理装置の一例としてスマートデバイスについて述べるが、情報処理装置はこれに限られない。例えば情報処理装置は、無線機能付きのデジタルカメラ、タブレットデバイス、あるいはパーソナルコンピュータなどであってもよい。
【００２８】
制御部２０１は、入力された信号や、後述のプログラムに従ってスマートデバイス２００の各部を制御する。なお、制御部２０１が装置全体を制御する代わりに、複数のハードウェアが処理を分担することで、装置全体を制御してもよい。
【００２９】
撮像部２０２は、撮像部２０２に含まれるレンズで結像された被写体光を電気信号に変換し、ノイズ低減処理などを行いデジタルデータを画像データとして出力する。撮像した画像データはバッファメモリに蓄えられた後、制御部２０１にて所定の演算を行い、記録媒体２１０に記録される。
【００３０】
不揮発性メモリ２０３は、電気的に消去・記録可能な不揮発性のメモリである。不揮発性メモリ２０３には、制御部２０１が実行する基本的なソフトウェアであるＯＳ（オペレーティングシステム）や、このＯＳと協働して応用的な機能を実現するアプリケーションが記録されている。また、本実施形態では、不揮発性メモリ２０３には、デジタルカメラ１００と通信するためのアプリケーション（以下アプリ）が格納されている。
【００３１】
作業用メモリ２０４は、表示部２０６の画像表示用メモリや、制御部２０１の作業領域等として使用される。
【００３２】
操作部２０５は、スマートデバイス２００に対する指示をユーザから受け付けるために用いられる。操作部２０５は例えば、ユーザがスマートデバイス２００の電源のＯＮ／ＯＦＦを指示するための電源ボタンや、表示部２０６に形成されるタッチパネルなどの操作部材を含む。
【００３３】
表示部２０６は、画像データの表示、対話的な操作のための文字表示などを行う。なお、表示部２０６は必ずしもスマートデバイス２００が備える必要はない。スマートデバイス２００は表示部２０６と接続することができ、表示部２０６の表示を制御する表示制御機能を少なくとも有していればよい。
【００３４】
記録媒体２１０は、撮像部２０２から出力された画像データを記録することができる。記録媒体２１０は、スマートデバイス２００に着脱可能なよう構成してもよいし、スマートデバイス２００に内蔵されていてもよい。すなわち、スマートデバイス２００は少なくとも記録媒体２１０にアクセスする手段を有していればよい。
【００３５】
通信部２１１は、外部装置と接続するためのインターフェースである。本実施形態のスマートデバイス２００は、通信部２１１を介して、デジタルカメラ１００とデータのやりとりを行うことができる。本実施形態では、通信部２１１はアンテナであり、制御部２０１は、アンテナを介して、デジタルカメラ１００と接続することができる。なお、デジタルカメラ１００との接続では、直接接続してもよいしアクセスポイントを介して接続してもよい。データを通信するためのプロトコルとしては、例えば無線ＬＡＮを通じたＰＴＰ／ＩＰ（Ｐｉｃｔｕｒｅ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ  ｏｖｅｒ  Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）を用いることができる。なお、デジタルカメラ１００との通信はこれに限られるものではない。例えば、通信部２１１は、赤外線通信モジュール、ＷｉｒｅｌｅｓｓＵＳＢ等の無線通信モジュールを含むことができる。さらには、ＵＳＢケーブルやＨＤＭＩ、ＩＥＥＥ１３９４など、有線接続を採用してもよい。
【００３６】
公衆網接続部２１３は、公衆無線通信を行う際に用いられるインターフェースである。スマートデバイス２００は、公衆網接続部２１３を介して、他の機器と通話することができる。この際、制御部２０１はマイク２１４およびスピーカ２１５を介して音声信号の入力と出力を行うことで、通話を実現する。本実施形態では、公衆網接続部２１３はアンテナであり、制御部２０１は、アンテナを介して、公衆網に接続することができる。なお、通信部２１１および公衆網接続部２１３は、一つのアンテナで兼用することも可能である。
【００３７】
近距離無線通信部２１６は、例えば無線通信のためのアンテナと無線信号を処理するため変復調回路や通信コントローラから構成される。近距離無線通信部２１６は、変調した無線信号をアンテナから出力し、またアンテナで受信した無線信号を復調することによりＩＥＥＥ８０２．１５の規格（いわゆるＢｌｕｅｔｏｏｔｈ（登録商標））に従った近距離無線通信を実現する。本実施形態においてＢｌｕｅｔｏｏｔｈ（登録商標）通信は、低消費電力であるＢｌｕｅｔｏｏｔｈ（登録商標）  Ｌｏｗ  Ｅｎｅｒｇｙのバージョン４．０（ＢＬＥ）を採用する。このＢｌｕｅｔｏｏｔｈ（登録商標）通信は、無線ＬＡＮ通信と比べて通信可能な範囲が狭い（つまり、通信可能な距離が短い）。また、Ｂｌｕｅｔｏｏｔｈ（登録商標）通信は、無線ＬＡＮ通信と比べて通信速度が遅い。その一方で、Ｂｌｕｅｔｏｏｔｈ（登録商標）通信は、無線ＬＡＮ通信と比べて消費電力が少ない。
【００３８】
近接無線通信部２１７は、他機との非接触近接通信を実現するための通信ユニットである。近接無線通信部２１７は、無線通信のためのアンテナと無線信号を処理するための変復調回路や通信コントローラから構成される。近接無線通信部２１７は、変調した無線信号をアンテナから出力し、またアンテナで受信した無線信号を復調することにより非接触近接通信を実現する。ここでは、ＩＳＯ／ＩＥＣ  １８０９２の規格（いわゆるＮＦＣ）に従った非接触通信を実現する。近接無線通信部２１６は、他のデバイスからデータ読み出し要求を受けると、不揮発性メモリ２０３に格納されているデータに基づき、応答データを出力する。本実施形態では、携帯電話２００は、近接無線通信部２１６を通じて、ＮＦＣの規格で定義されているカードリーダモード、カードライタモードおよびＰ２Ｐモードで動作し、主にＩｎｉｔｉａｔｏｒとしてふるまう。対して、デジタルカメラ１００は近接無線通信部１１３を介して、主にＴａｒｇｅｔとしてふるまう。以上、実施形態におけるスマートデバイス２００の構成を説明した。
【００３９】
＜プル送信、プッシュ送信、リモート撮影の概念説明＞
図３（ａ）乃至（ｃ）は、それぞれ異なる送信モードを説明するためのイメージ図である。各送信モードにおいて、サーバ機器に保存されているファイルをクライアント機器に送信する際の送信方法の違いを説明する。
【００４０】
図３（ａ）は、送信モードがプル送信の場合のイメージ図である。プル送信では、ユーザは、クライアント機器にて送信するファイルを選択する。クライアント機器は、サーバ機器に対して、ユーザが選択したファイルを要求し、サーバ機器は要求されたファイルをクライアント機器に送信する。
【００４１】
図３（ｂ）は送信モードがプッシュ送信の場合のイメージ図である。プッシュ送信では、ユーザは、サーバ機器にて送信するファイルを選択する。クライアント機器はサーバ機器に対して、サーバ機器で選択したファイルを取得するために、送信ファイル取得要求を行う。サーバ機器は送信するファイルを選択し、選択が完了すると、選択ファイル取得要求に対して、送信対象のファイルの情報を送信する。クライアント機器はサーバ機器にて選択されたファイルを要求し、サーバ機器は要求されたファイルの送信を行う。
【００４２】
図３（ｃ）はリモート撮影を示したイメージ図である。リモート撮影では、クライアント機器を操作して、サーバ機器を動作させるモードである。クライアント機器においてサーバ機器のライブビュー画像を表示するために、クライアント機器はサーバ機器に対して定期的にライブビュー取得要求を行い、サーバ機器がライブビューをクライアント機器に送信する。また、クライアント機器から設定の変更要求や画像の撮影要求を行うことにより、サーバ機器で設定の変更、画像の撮影を行うことができる。
【００４３】
本実施の形態では、デジタルカメラ１００をサーバ機器、スマートデバイス２００をクライアント機器として説明する。
【００４４】
＜デジタルカメラ１００からスマートデバイス２００へプッシュ送信する際の課題と解決方法＞
図３（ｂ）に示すような、デジタルカメラ１００からスマートデバイス２００への画像のプッシュ送信を行うためには、デジタルカメラ１００で選択した画像リストをスマートデバイス２００へ送信する必要がある。画像リストを受信したスマートデバイス２００は、デジタルカメラ１００へ画像を要求して取得することにより、画像のプッシュ送信を実現する。しかしながら、ＨＴＴＰのようなリクエスト／レスポンス型の通信プロトコルの場合、サーバとして動作しているデジタルカメラ１００からクライアントとして動作しているスマートデバイス２００へ、選択した画像のリストを自発的に送信することができない。この問題を解消するためには、何らかの方法でサーバ側からの自発的な送信（サーバプッシュ）を実現する必要がある。
【００４５】
そこで本実施形態では、ロングポーリングという技術を用いて、擬似的なサーバプッシュを実現する。ロングポーリングでは、まずクライアントからリクエストを送信し、サーバはあえてそのリクエストに対するレスポンスを保留しておく。そしてサーバは何らか通知を行うための任意のタイミングで、保留していたリクエストに対するレスポンスを送信する。このようにすることで、任意のタイミングでサーバからクライアントにデータを送信する、いわゆるサーバプッシュを擬似的に実現できる。
【００４６】
本実施形態では上記のロングポーリングを、図３のシステムに適用する。デジタルカメラ１００において選択した画像リストをスマートデバイス２００に任意のタイミングで送信するために、スマートデバイス２００からデジタルカメラ１００に対してロングポーリングリクエストを送信する。ロングポーリングリクエストを受信したデジタルカメラ１００は、一旦このリクエストを保留状態にしておき、その間にユーザによる画像選択を受け付ける。そしてユーザが画像を選択した後にプッシュ送信を開始する際に、ロングポーリングリクエストのレスポンスとして、選択された画像リストをスマートデバイス２００へ送信する。レスポンスを受信したスマートデバイス２００は、受信した画像リストの画像をデジタルカメラ１００に要求して取得することによりプッシュ送信を実現する。上述の例では、ユーザによる画像選択がいつ完了するかは、スマートデバイス２００には予想できない。したがって、画像選択後にデジタルカメラ１００が自発的にスマートデバイス２００に対して画像リストを送信する形が適している。
【００４７】
以下、図４、図５を参照して、デジタルカメラ１００を操作してスマートデバイス２００へ画像をプッシュ送信する際の処理の流れについて説明する。図４は、デジタルカメラ１００からスマートデバイス２００へ画像をプッシュ送信する際のシーケンス図である。図５は、デジタルカメラ１００とスマートデバイスにおける画面の例を示した図である。
【００４８】
まず、ステップＳ４０１において、デジタルカメラ１００とスマートデバイス２００は、Ｗｉ−Ｆｉ接続を行い、機器発見プロトコルによりお互いのデバイスを発見し、データ通信を行うためのプロトコル接続をすることにより機器同士の接続が完了する。データ通信を行うためのプロトコルとして、例えば、ＨＴＴＰがあげられる。本実施形態では、デジタルカメラ１００がＨＴＴＰサーバ、スマートデバイス２００がＨＴＴＰクライアントとして動作するものとする。
【００４９】
次に、ステップＳ４０２において、クライアントであるスマートデバイス２００は、デジタルカメラ１００に対して、ロングポーリングリクエストを送信する。ロングポーリングリクエストを通常のリクエストを区別するためには、例えばリクエストコマンドに特定の引数やフラグを付与したり、別のリクエストコマンドを用意したりすることが考えられる。
【００５０】
ステップＳ４０３において、ロングポーリングリクエストを受信したデジタルカメラ１００は、ユーザがスマートデバイス２００へプッシュ送信したい画像を選択できるように画像選択画面を表示する。図５（ａ）の参照符号５０１に示すように、デジタルカメラ１００では、記録媒体１１０に保存されている画像のリスト表示を行う。スマートデバイス２００には、図５（ｂ）に示すように操作メニューが表示され、参照符号５０４から５０７に示すように「カメラ内の画像一覧」「リモート撮影」「位置情報」「カメラ設定」といったメニュー項目の操作を行うことができる。参照符号５０４から５０７のいずれかの操作ボタンを押下すると、押下したボタンに応じた処理が実行される。ここでは、スマートデバイス２００は操作しないものとする。
【００５１】
なお、「カメラ内の画像一覧」が操作された場合、スマートデバイス２００は、デジタルカメラ１００の記憶媒体１１０に記憶されている画像の一覧を示す情報を取得する。一覧の形態はサムネイル付の画像ファイル名（もしくは画像ファイルを特定するＩＤ）とする。「リモート撮影」が操作された場合、スマートデバイス２００は、デジタルカメラ１００の撮像部１０２を遠隔操作を行う。「位置情報」は、スマートデバイス２００が、デジタルカメラ１００に記憶されているユーザ選択画像に、スマートデバイス２００が有するＧＰＳ（不図示）の位置情報を付加（書き込み）を行う。「カメラ設定」が操作された場合、ユーザはスマートデバイス２００を操作して、デジタルカメラ１００内の各種動作環境の設定を行う。設定内容としては、デジタルカメラ１００におけるタイマの日時設定、ＩＳＯ感度等である。
【００５２】
次に、ステップＳ４０４において、デジタルカメラ１００の制御部１０１は、ユーザによる操作部１０５を介した、スマートデバイス２００にプッシュ送信したい画像の選択を受け付ける。ユーザが送信したい画像を選択すると、制御部１０１は、図５（ａ）の参照５０２に示すように、選択されたことを示すチェックマークを表示する。
【００５３】
そして、ユーザによる送信指示を検出すると（送信ボタン５０３の押下を検出する）と、制御部１０１は、ステップＳ４０５において、デジタルカメラ１００からスマートデバイス２００への送信処理へと移行する。そのため、制御部１０１は、ステップＳ４０６において、スマートデバイス２００に対して、ロングポーリングリクエストに対するレスポンスとして、ステップＳ４０４においてユーザが選択した画像リストを送信する。画像リストは、選択した画像を特定するＩＤリスト、或いは、画像ファイルを含むパス名のリストが記述されている。
【００５４】
次に、ステップＳ４０７において、スマートデバイス２００は、ステップＳ４０６において受信した画像リストを参照し、画像リストに記載されている１つの画像のＩＤやパス名を用いて、画像取得要求をデジタルカメラ１００に対して送信する。
【００５５】
デジタルカメラ１００は、ステップＳ４０８において、デジタルカメラ１００から受信した画像取得要求で特定された画像を、記録媒体１１０から取得し、スマートデバイス２００に対して送信する。
【００５６】
以降、スマートデバイス２００は、ステップＳ４０６において受信した画像リストに含まれる画像の数だけ、デジタルカメラ１００に対して画像取得要求（Ｓ４０９）を行い、デジタルカメラ１００はその要求に応える処理（Ｓ４１０）を行うことになる。
【００５７】
画像を送信中のデジタルカメラ１００およびスマートデバイス２００における画面例をそれぞれ、図５（ｃ）、図５（ｄ）に示す。デジタルカメラ１００の制御部１０１は、選択した画像の総数を把握し、画像リストを送信してから、現在送信している画像が何枚目かも把握できる。故に、図示のような進捗状態を表示できる。また、スマートデバイス２００の制御部２０１も、受信した画像リストから取得すべき画像の総数を把握でき、リストに記述された画像を順に要求するので、図５（ｄ）に示すように、画像の受信状況を示すプログレスバーを表示できる。
【００５８】
スマートデバイス２００はＳ４０６において受信した画像リストに含まれる画像を全てデジタルカメラ１００から受信すると、ステップＳ４１１にて、再度ロングポーリングリクエストをデジタルカメラ１００に対して送信する。ロングポーリングリクエストを受信したデジタルカメラ１００は、ステップＳ４０３と同様にユーザが画像を選択できるように、画像選択画面を表示する。画像送信完了後のデジタルカメラ１００、スマートデバイス２００は、それぞれ、図５（ａ）、図５（ｂ）のように画像送信前の画面に戻る。
【００５９】
以上のように、デジタルカメラ１００は、スマートデバイス２００からのロングポーリングリクエストのレスポンスに、ユーザにより選択された画像リストを含める。これにより、デジタルカメラ１００からスマートデバイス２００へ画像をプッシュ送信することが可能になる。
【００６０】
ここで、スマートデバイス２００がデジタルカメラ１００に対してロングポーリングリクエストを送信してから、そのレスポンス（画像リスト）が返ってくる間に、ユーザがスマートデバイス２００を操作することが考えられる。
【００６１】
例えば、デジタルカメラ１００とスマートデバイス２００の接続が完了し、スマートデバイス２００がデジタルカメラ１００に対してロングポーリングリクエストを送信したことにより、デジタルカメラ１００において画像の選択が可能な状態になる。その後、ユーザがスマートデバイス２００に表示されているメニューから図５（ｂ）のリモート撮影ボタン５０５を操作（押下）したとする。この場合、スマートデバイス２００はデジタルカメラ１００に対して、リモート撮影への遷移要求を送信して、デジタルカメラ１００はリモート撮影状態へ遷移する。
【００６２】
しかし、デジタルカメラ１００がスマートデバイス２００からのロングポーリングリクエストを受信したままレスポンスを返していない状態で、リモート撮影遷移要求を受信しリモート撮影状態へ遷移すると、ロングポーリングを維持するためのリソースを使い続けてしまうという問題がある。
【００６３】
そこで、実施形態におけるデジタルカメラ１００は、スマートデバイス２００からのロングポーリングリクエストに対するレスポンスを返していない状態で、スマートデバイス２００から「他の要求」を受信した場合、ロングポーリングリクエストに対するキャンセルレスポンスを返してから、「他の要求」に対する処理を行うようにした。以下、具体例で説明する。
【００６４】
＜プッシュ送信からリモート撮影への遷移＞
図５、図６、図７、図８を用いて、デジタルカメラ１００とスマートデバイス２００を接続後、スマートデバイス２００を操作して、リモート撮影へ遷移する際の処理について説明する。
【００６５】
図６は、デジタルカメラ１００とスマートデバイス２００を接続後、スマートデバイス２００を操作して、リモート撮影へ遷移する際のシーケンス図である。以下、同図に従って説明する。
【００６６】
まず、ステップＳ６０１において、デジタルカメラ１００とスマートデバイス２００は、Ｗｉ−Ｆｉ接続を行い、機器発見プロトコルによりお互いのデバイスを発見し、データ通信を行うためのプロトコル接続をすることにより機器同士の接続が完了する。前述のように、データ通信を行うためのプロトコルとして、例えば、ＨＴＴＰがあげられる。デジタルカメラ１００がサーバ、スマートデバイス２００がクライアントとして動作する。
【００６７】
次に、ステップＳ６０２において、スマートデバイス２００はデジタルカメラ１００に対して、ロングポーリングリクエストを送信する。
【００６８】
このロングポーリングリクエストを受けたデジタルカメラ１００は、ステップＳ６０３において、ユーザが送信したい画像を選択できるように、画像選択画面を表示する。図５（ａ）の５０１に示すように、デジタルカメラ１００では、保存されている画像の選択画面の表示を行う。ユーザが送信したい画像を選択すると図５（ａ）の参照符号５０２に示すように、チェックマークが表示され、図５（ａ）の送信ボタン５０３を選択すると画像の送信を開始することができる。ここでは、ユーザは図５（ａ）の送信ボタン５０３を押していない、つまり画像の送信を開始していない状態とする。
【００６９】
この場合、スマートデバイス２００は、デジタルカメラ２００と接続完了後、図５（ｂ）に示す操作メニューを表示する。このメニューには、図示の参照符号５０４から５０７に示すように「カメラ内の画像一覧」「リモート撮影」「位置情報」「カメラ設定」といったメニュー項目（処理項目）がある。ユーザは、操作ボタン５０４〜５０７のいずれか押下すると、押下したボタンに応じた処理を実行させることができる。ここで、Ｓ６０４にて、ユーザによるリモート撮影ボタン５０５を押下を検出したとする。この場合、スマートデバイス２００は、ステップＳ６０５にて、デジタルカメラ１００に対して、リモート撮影開始要求を送信する。
【００７０】
次に、ステップＳ６０６において、デジタルカメラ１００はスマートデバイス２００に対して、ステップＳ６０２において受信したロングポーリングリクエストに対するキャンセルレスポンスを送信する。この処理は、リモート撮影時にロングポーリングリクエストに応答する必要はないため、ロングポーリングを維持するリソースを無駄にしないことを目的としている。
【００７１】
デジタルカメラ１００は、ステップＳ６０７にて、リモート撮影動作に遷移する処理を行う。リモート撮影動作に遷移する処理とは、例えば、鏡筒を繰り出してデジタルカメラで画像を撮影できる状態にする処理のことである。デジタルカメラ１００はリモート撮影動作に遷移する処理が完了すると、図５（ｅ）に示すように、「接続先の機器を操作してください」等の、デジタルカメラ１００が操作不可であることを示すメッセージを表示する。
【００７２】
次に、ステップＳ６０８において、デジタルカメラ１００はスマートデバイス２００に対して、リモート撮影動作へ遷移する処理が完了し、リモート撮影動作へ遷移したことを通知する。
【００７３】
次に、ステップＳ６０９において、スマートデバイス２００はデジタルカメラ１００に対して、デジタルカメラ１００において、設定可能な撮影パラメータなどのパラメータ取得要求を送信する。撮影パラメータとは、例えば、絞り値（Ａｖ）やシャッター速度（Ｔｖ）、ＩＳＯ感度などである。この要求に対し、デジタルカメラ１００は、ステップＳ６１０において、スマートデバイス２００に対して、デジタルカメラ１００において設定可能なＡｖ値やＴｖ値、ＩＳＯ感度などの撮影パラメータの情報を送信する。
【００７４】
次に、ステップＳ６１１において、スマートデバイス２００はデジタルカメラ１００に対して、ライブイメージの取得要求を送信する。デジタルカメラ１００は、ステップＳ６１２において、スマートデバイス２００に対して、デジタルカメラで撮影したライブイメージを送信する。
【００７５】
ステップＳ６１３、ステップＳ６１４に示すように、ステップＳ６１１、ステップＳ６１２と同様の繰り返すことにより、スマートデバイス２００はデジタルカメラ１００において撮影した画像を定期的に取得することによりライブ画像を表示することができる。図５（ｆ）は、この間の、スマートデバイス２００の表示部２０６のライブ画像の表示例を示している。なお、ライブ画像の転送中は、撮像部１０２で撮像した画像を予め設定された解像度まで間引きした画像が送信対象とする。また、リモート撮影でスマートデバイス２００において可能な操作として、図５（ｆ）の撮影ボタン５０８を押下することにより、デジタルカメラ１００による高解像度の画像を撮影することができる。また、図５（ｆ）の戻るボタン５０９を押下することにより、リモート撮影を終了することができる。また、図５（ｆ）の情報ボタン５１０を押下することにより、デジタルカメラ１００の撮影パラメータなどの情報を画面上に表示することができる。また、図５（ｆ）のズームボタン５１１を操作することにより、デジタルカメラ１００の画角を調整することができる。また、図５（ｆ）の設定ボタン５１２を押下することにより、デジタルカメラ１００の撮影パラメータなどの設定を行うことができる。
【００７６】
次に、ステップＳ６１５において、スマートデバイス２００の制御部２０１が、操作部２０５を介して、図５（ｆ）の撮影ボタン５０８の押下を検出したとする。この場合、ステップＳ６１６において、スマートデバイス２００はデジタルカメラ１００に対して、撮影要求を送信する。
【００７７】
次に、ステップＳ６１７において、デジタルカメラ１００は撮像部２０２による高い解像度の画像の撮像処理を行い、撮影した画像を記録媒体２１０に保存する。次に、ステップＳ６１８において、デジタルカメラ１００は、撮影完了通知を、Ｓ６１６の要求に対する応答として、スマートデバイス２００に送信する。
【００７８】
次に、ステップＳ６１９において、スマートデバイス２００はデジタルカメラ１００に対して、撮影した画像のサムネイル取得要求を行う。次に、ステップＳ６２０において、デジタルカメラ１００はスマートデバイス２００に対して、撮影した画像のサムネイルを送信する。
【００７９】
次に、ステップＳ６２１において、スマートデバイス２００は画面上に、ステップＳ６２０において受信したサムネイルのプレビュー表示を行うことにより、ユーザは撮影した画像を確認することができる。
【００８０】
以上のように、デジタルカメラ１００とスマートデバイス２００はリモート撮影状態に遷移し、リモート撮影の処理を行う。
【００８１】
次に、実施形態におけるデジタルカメラ１００の処理を、図７Ａ，７Ｂを参照して説明する。なお、同図に係るプログラムは、不揮発メモリ１０３に格納されているものである。そして、電源投入した際、デジタルカメラ１００の制御部１０１が、不揮発メモリ１０３に格納されているプログラムを作業用メモリ１０４に展開して実行する。
【００８２】
まず、ステップＳ７０１において、制御部１０１は、通信部１１１を介してスマートデバイス２００との接続処理を行い、接続が完了した場合に処理をステップＳ７０２に進める。
【００８３】
ステップＳ７０２にて、制御部１０１は、スマートデバイスから何らかのリクエストを受信したか否かを判定する。否の場合には、制御部１０１はステップＳ７０２にてユーザが選択可能な画像の一覧画面（図５（ａ）参照）を表示中か否かを判定する。画像の一覧画面の表示は、後述するステップＳ７０４で行われるものであるので、ここでは非表示であるものとする。従って、処理はＳ７０２に戻り、制御部１０１はスマートデバイス２００からのリクエストを待つことになる。
【００８４】
さて、制御部１０１が、スマートデバイス２００から何らかのリクエストが受信した判定した場合、処理をステップＳ７０２からステップＳ７０３に進める。このＳ７０３にて制御部１０１は、受信したリクエストがロングポーリングリクエストか否かを判定する。ロングポーリングリクエストである場合、制御部１０１はステップＳ７０４に処理を進め、画像の選択画面５０１（図５（ａ））を表示し、処理をステップＳ７０２に戻す。
【００８５】
ステップＳ７０４にて、画像の選択画面が表示されるわけであるから、ステップＳ７０５の判断はＹｅｓとなり、ステップＳ７０６、Ｓ７０７にてユーザからの操作入力の有無と、その種類の判定を行うことになる。すなわち、制御部１０１は、ステップＳ７０６、Ｓ７０７にて、画像選択画面５０１に対して、画像の選択操作、或いは、送信ボタン５０３のいずれが操作されたかを判定する。いずれの操作もなかった場合、制御部１０１は処理をステップＳ７０２に戻す。また、画像選択画面５０１にて、ユーザによる画像の選択であった場合には、制御部１０１は、ステップＳ７０６からステップＳ７０８に処理を進める。このステップＳ７０８にて、制御部１０１は、予め作業用メモリ１０４に確保されたリストに、選択した画像を特定する情報（記録媒体１１０の格納先パス名付きのファイル名等）を追記し、処理をＳ７０２に戻す。これを繰り返すことで、ユーザは、望む画像を望む数だけ選択できることになる。また、ユーザの操作が、送信ボタン５０３の押下であった場合、制御部１０１は処理をステップＳ７０７からステップＳ７０９に進める。このステップＳ７０９にて、制御部１０１は、作業用メモリ１０４に構築されたリストを適当なフォーマットに変換し、ロングポーリングリクエストの応答としてスマートデバイス２００に送信する。リストを受け取ったスマートデバイス２００は、リスト中に記述されている個々の画像の送信要求してくることになる。それ故、制御部１０１は、ステップＳ７１０にて、画像の選択画面に代えて、送信の進捗を示す送信プログレス画面（図５（ｃ））を表示し、処理をステップＳ７０２に戻す。なお、送信プログレス画面が表示された場合、ステップＳ７０３の判定はＮｏとなり、ユーザによる操作入力の判定が行わなくなる。
【００８６】
さて、ステップＳ７０３にて、制御部１０１は、ステップＳ７０２で受信有りと判定されたリクエストがロングポーリング以外のリクエストであると判定した場合、処理をステップＳ７１１に進める。
【００８７】
このステップＳ７１１にて、制御部１０１は画像選択画面５０１を表示中か否か、つまり、ユーザによる画像選択中であるか否かを判定する。画像選択画面を表示している状況は、デジタルカメラ１００が、スマートデバイス２００からのロングポーリングリクエストに対する応答を未だ行っていないことを意味する。それ故、制御部１０１は、ステップＳ７１２にて、ロングポーリングリクエストに対する応答として、キャンセルレスポンスを通信部１１１を介して、スマートデバイス２００に送信し、処理をステップＳ７１３に進める。
【００８８】
ステップＳ７１３にて、制御部１０１は、Ｓ７０２で受信有りと判定されたリクエストが、リモート撮影リクエストであるか否かを判定する。これは、ユーザがスマートデバイス２００に表示された図５（ｂ）の操作ボタン５０５を操作したか否かを判定することに対応する。
【００８９】
受信したリクエストがリモート撮影リクエストであった場合、制御部１０１は処理をステップＳ７１４に進め、リモート撮影処理に移行する。一方、リモート撮影リクエスト以外のリクエストを受信した場合、制御部１０１はステップＳ７１５にて、対応する処理を行い、その結果を応答として送信する処理を行う。なお、デジタルカメラ１００が画像リストをスマートデバイス２００に送信した後の、スマートデバイス２００からの画像送信要求受信と画像送信処理（図４のＳ４０７，Ｓ４０８）も、このステップＳ７１５にて行われる。
【００９０】
図７Ｂは、ステップＳ７１４の詳細を示すフローチャートである。以下、同図に従い実施形態におけるリモート撮影処理を説明する。
【００９１】
まずステップＳ７２１にて、制御部１０１は、図５（ｅ）に示すように、スマートデバイス２００によるリモート撮影に移行したことを示すメッセージを表示する。そして、ステップＳ７２２にて、制御部１０１はリモート撮影の準備処理（撮像部１０１の駆動開始）を行う。そして制御部１０１は、ステップＳ７２３にて、撮影準備が整ったことを示す通知を、リモート撮影リクエストに対する応答としてスマートデバイス２００に送信する。
【００９２】
この後、制御部１０１は、以下に説明するように、ステップＳ７２４乃至Ｓ７２９にてスマートデバイスからの更なる要求を待ち、その要求に応じた処理をステップＳＳ７３０乃至Ｓ７３５で行う。
【００９３】
受信した要求が撮影パラメータ要求であった場合、制御部１０１はステップＳ７２４からステップＳ７３０に処理を進める。このステップＳ７３０にて、制御部１０１は、撮像部１０２から現在設定可能な撮影パラメータを取得して、通信部１１１を介して、スマートデバイス２００にその撮影パラメータを、要求の応答として送信し、処理をステップＳ７２４に戻す。
【００９４】
受信した要求がズーム倍率等の撮影パラメータの設定要求であった場合、制御部１０１はステップＳ７２５からステップＳ７３１に処理を進める。このステップＳ７３１にて、制御部１０１は、撮像部１０２に対して設定されたパラメータを設定し、スマートデバイス２００に設定完了を示す通知を、要求の応答として送信し、処理をステップＳ７２４に戻す。
【００９５】
受信した要求がライブイメージの要求であった場合、制御部１０１はステップＳ７２６からステップＳ７３２に処理を進める。このステップＳ７３２にて、制御部１０１は、撮像部１０２による撮像処理を行い、予め設定された解像度まで間引きした画像を生成する。そして、制御部１０１は、生成した画像を、ライブイメージ要求に対する応答として、スマートデバイス２００に送信し、処理をステップＳ７２４に戻す。
【００９６】
受信した要求が、撮影要求（図５の撮影ボタン５０８の押下に対応する）であった場合、制御部１０１はステップＳ７２７からステップＳ７３３に処理を進める。このステップＳ７３３にて、制御部１０１は、撮像部１０２による撮像処理を行い、高解像度の画像データとして記録媒体１１０に格納する。そして、制御部１０１は、ステップＳ７３４にて、撮影完了の通知を、撮影要求の応答としてスマートデバイス２００に送信し、処理をステップＳ７２４に戻す。
【００９７】
受信したサムネイルの要求であった場合、制御部１０１はステップＳ７２８からステップＳ７３５に処理を進める。このステップＳ７３５にて、制御部１０１は、記録媒体１１０に記憶されている、直近に撮影した画像のサムネイルを生成し、サムネイル要求に対する応答として、スマートデバイス２００に送信し、処理をステップＳ７２４に戻す。
【００９８】
受信した要求がリモート撮影の終了要求であった場合（図５（ｆ）の「戻る」ボタン５０９の操作に対応）、制御部１０１はステップＳ７２９からＳ７２６に処理を進める。このステップＳ７２６にて、制御部１０１は終了要求を受け付けた旨を示す応答をスマートデバイス２００に送信する。そして、制御部１０１は、ステップＳ７０２に処理を戻す。
【００９９】
次に、図８Ａを参照して、実施形態におけるスマートデバイス２００の通信処理を説明する。同図に係るプログラムは、不揮発性メモリ２０３に格納されるものである。そして、制御部２０１が、不揮発性メモリに格納されたプログラムを作業用メモリ２０４に展開して実行することにより実現される。
【０１００】
まず、ステップＳ８０１において、制御部２０１は、接続部２１１を介してデジタルカメラ１００と接続処理を行い、その接続処理を完了すると、処理をステップＳ８０２に進む。ステップＳ８０１は、図６のステップＳ６０１に相当する。
【０１０１】
次に、ステップＳ８０２において、制御部２０１は、接続部２１１を介してデジタルカメラ１００に対してロングポーリングリクエストを送信し、ステップＳ８０３に進む。ステップＳ８０２は、図６のステップＳ６０２に相当する。
【０１０２】
次に、ステップＳ８０３において、制御部２０１は、デジタルカメラ１００との通信におけるメニュー画面を表示部２０６に表示する（図５（ｂ）参照）。
【０１０３】
この後、制御部２０１は、ステップＳ８０４、Ｓ８０５のループにて、先に送信したロングポーリングに対するデジタルカメラ１００からの応答、或いは、操作部２０５を介した、ユーザからの表示メニューに対する指示入力を待つ。
【０１０４】
デジタルカメラ１００からロングポーリングに対する応答を受信した場合、制御部２０１は処理をステップＳ８０６に進める。このステップＳ８０６では、制御部２０１は、ロングポーリングに対する応答である選択画像リストに記述された全画像に対する要求と、画像受信＆格納処理を繰り返す。かかる処理は、図４のステップＳＳ４０７〜Ｓ４１０に相当するものである。
【０１０５】
デジタルカメラ１００から、ロングポーリングに対する応答を受信した場合、制御部２０１は処理をステップＳ８０４からステップＳ８０６に処理を進める。このステップＳ８０６にて、制御部２０１は、ロングポーリングに対する応答に含まれる選択画像リストに記述された各画像の要求と、受信及び不揮発性メモリ２０３、或いは、記録媒体２１０への格納処理を行う。全画像の受信、格納処理を終えると、制御部２０１は処理をステップＳ８０２に戻す。
【０１０６】
一方、表示部２０６に表示されたメニューの対する指示入力があると、制御部２０１はステップＳ８０５からステップＳ８０７に処理を進める。ステップＳ８０７にて、制御部２０１は、操作されたのがメニュー中のリモート撮影ボタン５０５であるか否かを判定する。リモート撮影ボタン５０５が操作された場合、制御部２０１は処理をステップＳ８０８に進め、リモート撮影処理に移行する。一方、リモート撮影ボタン５０５以外が操作された場合、制御部２０１は処理をステップＳ８０９に進め、対応する処理に移行する。
【０１０７】
図８Ｂは、ステップＳ８０８の処理の詳細である。以下、同図に従い、リモート撮影処理を説明する。
【０１０８】
まず、ステップＳ８２１にて、制御部２０１は、デジタルカメラ１００からロングポーリングに対するキャンセル応答の受信を待つ。これは図６のＳ６０６に対応する。
【０１０９】
次に、制御部２０１は、ステップＳ８２２にて、リモート撮影要求に対する応答の受信を待つ。これは図６のＳ６０８に対応する。
【０１１０】
ステップＳ８２３にて、制御部２０１は、通信中のデジタルカメラ１００に対する撮影パラメータの要求を行い、その応答を受信する。この結果、制御部２０１は、デジタルカメラ１００の特性情報（ズーム倍率の範囲など）を得ることができる。そして制御部２０１は、ステップＳ８２４にて、ライブ画像の表示、並びに、撮影パラメータを設定するためのライブビューワを表示部２０６に表示する（図５（ｆ）参照）。
【０１１１】
この後、ステップＳ８２５にて、制御部２０１はデジタルカメラ１００に対してライブ画像の取得要求を送信すると共に、要求した画像の受信及びライブビューワへの表示処理を行う。そして、ステップＳ８２６にて、制御部２０１がライブビューワにおける操作指示入力があったか否かを判定し、否の場合に処理をステップＳ８２５に戻す。従って、ユーザが何も操作しない限り、ステップＳ８２５が繰り返し実行されるので、デジタルカメラ１００が撮像したライブ画像をスマートデバイス２００の表示画面に表示することが可能になる。
【０１１２】
ここで、ユーザが例えばズーム倍率を変更する等、撮影パラメータ変更の操作を行ったとする。この場合、制御部２０１はステップＳ８２７からステップＳ８２８に進み、設定されたパラメータ（ここでは倍率）の撮影要求をデジタルカメラ１００に送信すると共に、デジタルカメラ１００からの応答受信処理を行う。そして、制御部２０１は、処理をステップＳ８２５に戻す。従って、以降、スマートデバイス２００は、設定したパラメータに従って撮影したライブ画像の受信と表示を行うことが可能になる。
【０１１３】
また、ユーザからの指示が撮影パラメータの変更ではなく、撮影ボタン５０８の押下であった場合、制御部２０１はステップＳ８２９からＳ８３０に処理を進める。このステップＳ８３０にて、制御部２０１は撮影要求をデジタルカメラ１００に送信する。デジタルカメラはこの要求を受けて、撮像部１０２を用いた高解像度の画像の撮像処理を行うことになる。撮像が完了すると、デジタルカメラ１００は撮像が完了したことを示す応答を送信してくるので、スマートデバイス２００の制御部２０１はその応答を受信する。
【０１１４】
次いで、制御部２０１は、ステップＳ８３１の要求に従ってデジタルカメラ１００が撮影した画像のサムネイルを要求し、サムネイルを取得する。そして、制御部２０１は、取得したサムネイルを、予め設定された時間（例えば５秒）だけ表示部２０６に表示した後、処理をステップＳ８２５に戻す。
【０１１５】
また、ユーザからの指示が撮影指示でもないと判定した場合、制御部２０１はステップＳ８２９からステップＳ８３３に進める。このステップＳ８３３にて、制御部２０１はボタン５０９が押下されたか否か、すなわち、リモート撮影の終了指示があったか否かを判定する。否の場合、制御部２０１は処理をステップＳ８２５に戻す。また、リモート撮影の指示であった場合、制御部２０１はリモート撮影処理を終えるため、処理をステップＳ８３４に進める。このステップＳ８３４にて、制御部２０１は、デジタルカメラに対してリモート撮影の終了要求を送信し、その要求を受け付けたことを示す応答を受信する。この後、制御部２０１は、処理を図８ＡのステップＳ８０２に戻す。ステップＳ８０２に戻ると、制御部２０１はロングポーリング要求を送信する処理を行うことになり、デジタルカメラ２００は再び画像選択画面（図５（ａ））を表示し、スマートデバイス２００はデジタルカメラとの通信に係るメニュー画面（図５（ｂ））の表示を行うことになる。
【０１１６】
以上説明した処理により、デジタルカメラ１００とスマートデバイス２００はプッシュ送信状態からリモート撮影状態へ遷移することができる。
【０１１７】
＜リモート撮影からプッシュ送信への遷移＞
次に、図５、図９を参照して、デジタルカメラ１００とスマートデバイス２００がリモート撮影状態から抜けてプッシュ送信状態へ戻る際の処理について説明する。
【０１１８】
図５は、デジタルカメラ１００とスマートデバイス２００における画面の例を示した図である。図９は、デジタルカメラ１００とスマートデバイス２００がリモート撮影状態から抜けてプッシュ送信状態へ戻る際のシーケンス図である。
【０１１９】
まず、ステップＳ９０１において、スマートデバイス２００がデジタルカメラ１００に対して、ライブイメージ取得要求を送信する。
【０１２０】
次に、ステップＳ９０２において、デジタルカメラ１００がスマートデバイス２００に対してライブイメージを送信し、スマートデバイス２００でライブイメージの表示を行う。
【０１２１】
ステップＳ９０１とステップＳ９０２を繰り返し行うことにより、スマートデバイス２００でデジタルカメラ２００のライブビューを表示することができる。スマートデバイス２００では、図５（ｆ）に示すようにライブイメージを表示しており、撮影や設定など、デジタルカメラ１００を操作することができる。
【０１２２】
次に、ステップＳ９０３において、ユーザがスマートデバイス２００の画面に表示されているリモート撮影終了ボタン（図５（ｆ）の「戻る」ボタン６０９）を押下することにリモート撮影処理を終了する。
【０１２３】
次に、ステップＳ９０４において、スマートデバイス２００はデジタルカメラ１００に対して、リモート撮影終了要求を送信する。
【０１２４】
次に、ステップＳ９０５において、デジタルカメラ１００はステップＳ９０４におけるリモート撮影終了要求を受信して、リモート撮影終了処理を実行する。デジタルカメラ１００は、鏡筒の沈胴など、撮影に関する処理を終了する。
【０１２５】
次に、ステップＳ９０６において、デジタルカメラ１００はステップＳ９０５におけるリモート撮影終了処理が完了すると、スマートデバイス２００に対して、リモート撮影処理完了通知を送信する。スマートデバイス２００は、リモート撮影処理完了通知を受信すると、図５（ｂ）に示すように、操作メニュー画面に戻り、ユーザは操作メニューに表示された操作を選択することができる。
【０１２６】
上記は図８Ｂにて、リモート撮影の終了指示を行った場合、図８ＡのステップＳ８０２に戻る場合に対応する。
【０１２７】
次に、ステップＳ９０７において、スマートデバイス２００は、デジタルカメラ１００に対して、ロングポーリングリクエストを送信する。
【０１２８】
次に、ステップＳ９０８において、ロングポーリングリクエストを受信したデジタルカメラ１００は、図５（ａ）に示す画像選択画面に遷移し、ユーザは画像を選択してプッシュ送信を開始することができる。
【０１２９】
このように、デジタルカメラ１００とスマートデバイス２００はリモート撮影状態からプッシュ送信状態へ遷移することもできる。
【０１３０】
以上説明したように第１の実施形態によれば、デジタルカメラにおいてプッシュ送信を開始する前に、スマートデバイスからリモート撮影要求を受信した場合、ロングポーリングリクエストに対するキャンセルレスポンスを送信する。そして、その後で、デジタルカメラは、リモート撮影要求の処理に遷移することにより、リソースを使い続けることなくリモート撮影を行うことができる。
【０１３１】
［第２の実施形態］
＜カメラのロングポーリングリクエストのレスポンスとスマホの要求がバッティングした場合＞
デジタルカメラ１００とスマートデバイス２００が接続完了後、ユーザがデジタルカメラ１００を操作して画像を選択してスマートデバイス２００に対してプッシュ送信することが可能であるのと同時に、ユーザがスマートデバイス２００を操作して、リモート撮影などの処理に遷移することも可能である。つまり、ユーザは、デジタルカメラ１００のプッシュ送信開始ボタンとスマートデバイス２００のリモート撮影開始ボタンを同時に押下することが可能である。そこで、デジタルカメラからのプッシュ送信開始処理とスマートデバイスからのリモート撮影開始処理がバッティングした場合の処理について説明する。
【０１３２】
まず、図５、図１０、図１１を参照して、デジタルカメラ１００が、ユーザからの画像選択後、スマートデバイス２００に対してロングポーリングリクエストのレスポンスを返す前に、スマートデバイス２００からリモート撮影開始要求を受信した場合について説明する。
【０１３３】
図１０は、デジタルカメラ１００において画像選択後、スマートデバイス２００に対してロングポーリングリクエストのレスポンスを返す前に、スマートデバイス２００からリモート撮影開始要求を受信した場合のデジタルカメラ１００とスマートデバイス２００のシーケンス図である。
【０１３４】
ステップＳ１２０１からステップＳ１２０４については、図４のステップＳ４０１からステップＳ４０４と同様であるため、説明を省略する。
【０１３５】
ステップＳ１２０５において、ユーザはデジタルカメラ１００を操作して、ステップＳ１２０４において選択した画像のスマートデバイス２００へのプッシュ送信開始を指示する。図５（ａ）の送信ボタン５０３を選択するとスマートデバイス２００への画像送信を開始することができる。
【０１３６】
また、ステップＳ１２０６において、ユーザはスマートデバイス２００を操作して、リモート撮影開始を指示する。図５（ｂ）のリモート撮影ボタン５０５を押下することによりリモート撮影を開始することができる。
【０１３７】
次に、ステップＳ１２０７において、スマートデバイス２００はデジタルカメラ１００に対して、リモート撮影開始要求を送信する。本第２の実施形態においては、ステップＳ１２０５のデジタルカメラ１００におけるプッシュ送信開始指示と、ステップＳ１２０６のスマートデバイス２００におけるリモート撮影開始指示がほぼ同時であるものとする。さらに、ステップＳ１２０７のデジタルカメラ１００におけるリモート撮影開始要求の受信は、ステップＳ１２０５のデジタルカメラ１００におけるプッシュ送信開始ボタン押下後、スマートデバイス２００に対するロングポーリングリクエストのレスポンスの送信より早いものとする。ステップＳ１２０５の後に、ステップＳ１２０７のリモート撮影開始要求の受信より、ロングポーリングリクエストに対するレスポンスが早い場合、リモート撮影開始要求を無視し、図４に示すプッシュ送信を行う。
【０１３８】
次に、ステップＳ１２０８において、デジタルカメラ１００は、ステップＳ１２０５において開始したプッシュ送信処理のキャンセルを行う。つまり、デジタルカメラ１００の制御部１０１は、ロングポーリングリクエストに対して準備していたレスポンスを破棄する。
【０１３９】
ステップＳ１２０９からステップＳ１２２３は、図６のステップＳ６０６からステップＳ６２１と同様であるため、説明を省略する。
【０１４０】
図１１は、デジタルカメラ１００において、画像選択後スマートデバイス２００に対してロングポーリングリクエストのレスポンスを返す前に、スマートデバイス２００からリモート撮影開始要求を受信した場合のデジタルカメラ１００における処理を示したフローチャートである。このフローチャートにおける各処理は、制御部１０１が、不揮発メモリ１０３に格納されたプログラムを作業用メモリ１０４に展開して実行することにより実現される。
【０１４１】
図１１と、第１の実施形態における図７Ａとの違いは、ステップＳ７０６にて、図５（ａ）の送信ボタン５０３の押下があったと判定を行った直後に、スマートデバイスかららリモート撮影要求を受信しているか否かの判定ステップＳ１１０１を追加した点である。このステップＳ１１０１にて、制御部１０１がリモート撮影要求を受信していたと判定した場合には、ステップＳ７０８に処理が進まず、ステップＳ７１１に処理が進み、ロングポーリングに対するキャンセルを示す応答を返し（図１０のステップＳ２０９に対応）、その後、リモート撮影の判定であるステップＳ７１２は必ずＹｅｓとなり、リモート撮影へ移行することになり、図１０のシーケンスが実現できる。
【０１４２】
以上のように、スマートデバイス２００からのリモート撮影要求が、ロングポーリングリクエストに対するレスポンスの送信より早い場合は、リモート撮影を優先させることが可能になる。
【０１４３】
また、デジタルカメラからのプッシュ送信開始処理とスマートデバイスからのリモート撮影開始処理がバッティングした場合、デジタルカメラの操作を優先して、スマートデバイスに対してビジー状態通知を送信するようにしても良い。
【０１４４】
図５（ｇ）にスマートデバイス２００において、デジタルカメラ１００からビジー状態通知を受信した場合の画面表示例を示す。デジタルカメラ１００を操作中に、スマートデバイス２００を操作してリモート撮影などに遷移しようとしてボタンを押下した場合、デジタルカメラ１００からビジー状態通知をスマートデバイス２００に通知する。ビジー状態通知を受信したスマートデバイス２００上では、図５（ｇ）の５１３に示すように、「カメラ操作中のため操作できません」などの文言を表示して、ユーザが操作できないようにする。デジタルカメラ１００が操作中とは、例えば、デジタルカメラ１００においてユーザ操作により画像が１枚でも選択されている場合には、リモート撮影開始要求が来ても、ビジー状態通知をスマートデバイス２００に対して送信する。
【０１４５】
以上のように、第２の実施形態によれば、デジタルカメラでプッシュ送信しようとしているときに、スマートデバイスからリモート撮影開始要求が来た場合、ロングポーリングリクエストのレスポンスを送信する前であれば、スマートデバイスからのリモート撮影開始要求を優先することにより、リモート撮影に遷移することができる。
【０１４６】
また、ユーザがデジタルカメラでプッシュ送信しようと画像を選択している場合は、スマートデバイスからのリモート撮影開始要求に対して、ビジー状態通知を送信することにより、画像選択中にリモート撮影に遷移することができないようにすることができる。
【０１４７】
［第３の実施形態］
＜スマホからの要求がリモート撮影以外の場合＞
第１、第２の実施形態においては、デジタルカメラとスマートデバイスが接続完了後のスマートデバイスでの操作をリモート撮影として説明したが、本第３の実施形態においては、スマートデバイスでの操作がリモート撮影以外の場合について説明する。
【０１４８】
デジタルカメラとスマートデバイスが接続完了後、スマートデバイスにおいて操作可能な機能として、図５（ｂ）の５０４から５０７に示すように、「カメラ内の画像一覧」「リモート撮影」「位置情報」「カメラ設定」があげられる。
【０１４９】
リモート撮影以外の操作を行った場合の処理についても、リモート撮影の操作を行った場合の処理と同様である。例えば、スマートデバイスで「カメラ内の画像一覧」の操作を行った場合、デジタルカメラはカメラ内の画像一覧表示開始要求を受信すると、ロングポーリングリクエストに対するキャンセルレスポンスをスマートデバイスに送信してからカメラ内の画像一覧表示要求に対する処理を行う。デジタルカメラでは、スマートデバイスから何らかの要求を受信した場合、まず、ロングポーリングリクエストに対するキャンセルレスポンスを送信してから、受信した要求に対する処理を行う。
【０１５０】
図５（ｂ）の５０４から５０７に示すように、「カメラ内の画像一覧」「リモート撮影」「位置情報」「カメラ設定」のいずれを操作した場合、図７Ａによれば、画像選択画面の場合には、操作された種類を問わずロングポーリングのキャンセル応答が送信され（Ｓ７１１）、その後、ステップＳ７１４に進んで対応する処理を行うことになっているので、上記第３の実施形態を実現できる。
【０１５１】
また、デジタルカメラとスマートデバイスが接続完了後、デジタルカメラからのプッシュ送信開始とスマートデバイスからの他の処理開始要求がバッティングした場合についても同様である。デジタルカメラにおいてロングポーリングリクエストに対するキャンセルレスポンスを送信する前に他の要求が来た場合は、他の要求を優先してもよい。もしくは、デジタルカメラにおいてユーザがプッシュ送信したい画像を選択中に、他の要求が来た場合はビジー状態通知を送信し、スマートデバイス側で警告表示を出してもよい。
【０１５２】
以上のように、第３の実施形態によれば、デジタルカメラにおいて、リモート撮影以外の要求を受信した場合も、まず、ロングポーリングリクエストに対するキャンセルレスポンスを送信してから、受信した要求に対する処理を行うことにより、リソースを使い続けることなく、他の処理に遷移することができる。
【０１５３】
また、デジタルカメラでプッシュ送信しようとしているときに、スマートデバイスから要求が来た場合、ロングポーリングリクエストのレスポンスを送信する前であれば、スマートデバイスからの要求を優先することにより、スマートデバイスから指定した操作に遷移することができる。
【０１５４】
また、デジタルカメラでプッシュ送信しようと画像を選択している場合は、スマートデバイスからの要求に対して、ビジー状態通知を送信することにより、画像選択中に他の操作に遷移することができないようにすることができる。
【０１５５】
以上説明したように、本発明によれば、デジタルカメラにおいて、スマートデバイスから何らかの要求を受信した場合は、ロングポーリングリクエストに対するキャンセルレスポンスを送信してから、受信した要求に対する処理を行うことにより、リソースを使い続けることなく、他の処理に遷移することが可能となる。
【０１５６】
また、デジタルカメラでプッシュ送信しようとしているときに、スマートデバイスから何らかの要求が来た場合、ロングポーリングリクエストのレスポンスを送信する前であれば、スマートデバイスからの要求を優先することにより、スマートデバイスから指定した操作に遷移することが可能となる。
【０１５７】
さらに、デジタルカメラでプッシュ送信しようと画像を選択している場合は、スマートデバイスからの要求に対して、ビジー状態通知を送信することにより、画像選択中に他の操作に遷移することができないようにすることも可能となる。
【０１５８】
なお、本発明では、接続完了後すぐにスマートデバイスからデジタルカメラに対してロングポーリングリクエストを送信し、デジタルカメラはロングポーリングリクエストを受信して画像選択画面に遷移しプッシュ送信が開始できるという構成とした。しかし、接続完了時にはスマートデバイスからデジタルカメラに対してロングポーリングリクエストを送信せず、例えば、スマートデバイス側でプッシュ送信の開始を指示するボタンがある場合には、そのボタンが押された場合にロングポーリングリクエストをデジタルカメラに対して送信することにより、デジタルカメラからプッシュ送信を開始できるという構成としてもよい。このような構成にすることにより、ユーザが好きなタイミングでプッシュ送信へ遷移することができる。
【０１５９】
また、本発明では、デジタルカメラにおいて画像選択中にスマートデバイスから他の要求を受信した場合、スマートデバイスに対して、デジタルカメラが処理中でビジー状態である示す通知を送信し、スマートデバイス側で警告表示を行うという構成とした。しかし、デジタルカメラにおいて画像選択中にスマートデバイスから他の要求を受信した場合、デジタルカメラ側に警告表示を行うという構成でもよい。このような構成にすることで、画像を選択しようとデジタルカメラを操作している際に、スマートデバイスから何らかの要求が来たことを操作しているデジタルカメラ側で知ることができる。
【０１６０】
また、本発明では、デジタルカメラとスマートデバイスが接続完了後、デジタルカメラにおいて、スマートデバイスから何らかの要求を受信した場合は、ロングポーリングリクエストに対するキャンセルレスポンスを送信するという構成とした。しかし、デジタルカメラにおいてプッシュ送信できないと判断した場合、例えば、送信できる画像がない場合もスマートデバイスに対してキャンセルレスポンスを送信するという構成としてもよい。このような構成にすることで、スマートデバイスにデジタルカメラにおいてプッシュ送信ができないことを伝えることが可能であり、スマートデバイスで警告表示などを表示することができる。
【０１６１】
（その他の実施例）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【０１６２】
１００…デジタルカメラ、１０１、２０１…制御部、１０２、２０２…撮像部、１０３、２０３…不揮発性メモリ、１０４、２０４…作業用メモリ、１０５、２０５…操作部、１０６、２０６…表示部、１１０、２１０…記録媒体、１１１、２１１…通信部、１１２、２１２…近距離通信部、２００…スマートデバイス
【図１】
2018190173.tif 000003
【図２】
2018190173.tif 000004
【図３】
2018190173.tif 000005
【図４】
2018190173.tif 000006
【図５】
2018190173.tif 000007
【図６】
2018190173.tif 000008
【図７Ａ】
2018190173.tif 000009
【図７Ｂ】
2018190173.tif 000010
【図８Ａ】
2018190173.tif 000011
【図８Ｂ】
2018190173.tif 000012
【図９】
2018190173.tif 000013
【図１０】
2018190173.tif 000014
【図１１】
2018190173.tif 000015