説明

通信装置、中継装置、無線通信システム、通信装置の制御方法、中継装置の制御方法およびプログラム

【課題】 カメラの画像を、携帯電話を介してWebサービスにアップロードするシステムにおいて、Webサービスに対するアクセスをサポートする機器をユーザが意識することなく、画像のアップロードが可能な技術を提供する。
【解決手段】中継装置と接続し、前記中継装置を介して接続するサーバ装置にデータを送信する通信装置は、サーバ装置とのアクセス処理を実行するためのアクセス機能を通信装置が保持しているか、中継装置が保持しているかを判定する判定部と、判定結果に応じて、アクセス機能を保持している装置のアクセス処理部にアクセス処理を実行させて、データを送信するための送信方法を決定する決定部と、決定された送信方法によりデータを送信する送信部と、を有する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、通信装置、中継装置、無線通信システム、通信装置の制御方法、中継装置の制御方法およびプログラムに関する。
【背景技術】
【0002】
画像ファイルをインターネット上のWebサービス(画像共有サービス)にアップロードできる携帯電話がある。また、撮影した画像を同様のサービスにアップロードできるカメラも存在する。また近年、無線LAN等の近距離無線インタフェースを持つカメラや携帯電話が存在する。このようなカメラと携帯電話を無線通信で接続すれば、携帯電話がカメラとWebサービス間の中継装置として動作することで、カメラの画像をWebサービスにアップロードするシステムを構築することが可能である。
【0003】
一方、前述のようなWebサービスを利用するためには、Webサービスが公開するプロファイルに定義された操作を記述したメッセージでWebサービスと通信しなければならない。このため、複数のWebサービスが存在する場合、Webサービスを利用する機器は複数のWebサーバそれぞれに対応したメッセージ通信をサポートしなければならない。前述したような携帯電話やカメラも、それぞれが複数のWebサービスに対応するメッセージ通信を実装しているのが一般的である。
【0004】
また、特許文献1によれば、Webサービスへのアクセスする手段を一括して管理し、端末からの要求に応じてWebサービスへのアクセスを行う中継サーバが提案されている。これによれば、中継サーバのみがWebサーバそれぞれに対応したメッセージ通信をサポートすればよく、中継サーバに接続する通信端末はWebサービスとのメッセージ通信を実装する必要がない。前述のカメラと携帯電話を接続するシステムに置き換えれば、携帯電話がWebサービスに対応するメッセージ通信を実装していれば、カメラはWebサービスに対応するメッセージ通信を実装していなくても、Webサービスに画像がアップロードできる。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2010−026562号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、特許文献1では、通信端末がサポートするWebサービスについて考慮されていなかった。前述のカメラと携帯電話を接続するシステムにおいては、カメラと携帯電話はそれぞれ単独でもWebサービスに接続し、画像をアップロードすることが可能である。また、カメラと携帯電話は別々のソフトウェアで動作するため、それぞれがサポートするWebサービスの種別が異なることがある。このような場合、ユーザはどちらの機器がどのWebサービスに対応しているかを意識して、画像をアップロードしたいWebサービスに対応している機器を操作してアップロード処理を行わなければならないという課題があった。
【0007】
たとえば、カメラはAとBという2つのWebサービスに対応しており、携帯電話はAとCという2つのWebサービスに対応しているというような状況が考えられる。この場合、ユーザはWebサービスBに画像をアップロードしたければカメラを、WebサービスCにアップロードしたければ携帯電話を操作する必要があった。
【課題を解決するための手段】
【0008】
本発明は通信装置の画像を、中継装置を介してWebサービスに送信するシステムにおいて、Webサービスに対するアクセス機能をサポートする装置をユーザが意識することなく、画像の送信が可能な技術の提供を目的とする。すなわち、本発明は、通信装置または中継装置のいずれかを操作して画像のアップロードが可能な装置、無線通信システムを提供する。
【0009】
上記の目的を達成する本発明の一つの側面にかかる通信装置は、中継装置と接続し、前記中継装置を介して接続するサーバ装置にデータを送信する通信装置であって、
前記サーバ装置とのアクセス処理を実行するためのアクセス機能を前記通信装置が保持しているか、前記中継装置が保持しているかを判定する判定手段と、
前記判定手段による判定結果に応じて、前記アクセス機能を保持している装置のアクセス処理手段に前記アクセス処理を実行させて、前記データを送信するための送信方法を決定する決定手段と、
前記決定手段で決定された前記送信方法により前記データを送信する送信手段と、を有することを特徴とする。
【0010】
あるいは、上記の目的を達成する本発明の他の側面にかかる中継装置は、通信装置とサーバ装置とに接続し、前記通信装置から前記サーバ装置へのデータの送信を中継する中継装置であって、
前記サーバ装置とのアクセス処理を実行するためのアクセス機能を前記通信装置が保持しているか、前記中継装置が保持しているかを判定する判定手段と、
前記判定手段による判定結果に応じて、前記アクセス機能を保持している装置のアクセス処理手段に前記アクセス処理を実行させて、前記データを送信するための送信方法を決定する決定手段と、
前記決定手段で決定された前記送信方法により前記データを送信する送信手段と、を有することを特徴とする。
【発明の効果】
【0011】
本発明によれば、通信装置の画像を中継装置を介してWebサービスに送信するシステムにおいて、Webサービスに対するアクセス機能をサポートする装置をユーザが意識することなく、画像の送信が可能になる。
【図面の簡単な説明】
【0012】
【図1】実施形態1、2に係る通信機器のハードウェア構成の一例を示す図。
【図2】実施形態1、2に係る通信機器の機能ブロック構成の一例を示す図。
【図3】実施形態1、2に係る中継機器のハードウェア構成の一例を示す図。
【図4】実施形態1、2に係る中継機器の機能ブロック構成の一例を示す図。
【図5】実施形態1における通信機器の動作フローを説明する図。
【図6】Webサービスにアクセスする機器を判定する処理を説明する図。
【図7】実施形態1における中継機器の動作フローを説明する図。
【図8】実施形態1における中継機器の動作フローを説明する図。
【図9】実施形態2における中継機器の動作フローを説明する図。
【図10】実施形態2における通信機器の動作フローを説明する図。
【図11】実施形態1の通信機器、中継機器、およびサーバ装置における機器間の通信シーケンスを例示的に説明する図。
【図12】実施形態2の通信機器、中継機器、およびサーバ装置における機器間の通信シーケンスを例示的に説明する図。
【図13】(a)本発明の実施形態1、2にかかるシステム構成を例示する図、(b)通信機器が保持するWebサービスの情報の一例を示す図、(c)中継機器が保持するWebサービスの情報の一例を示す図。
【図14】(a)IPルータモードによる通信手順の一例を示す図、(b)IPルータモードによる通信手順の一例を示す図、(c)Proxyモードによる通信手順の一例を示す図、(d)Proxyモードによる通信手順の一例を示す図。
【発明を実施するための形態】
【0013】
(実施形態1)
(通信機器のハードウェア構成)
以下、本実施形態に係る通信装置(通信機器)について、図面を参照しながら詳細に説明する。図1の参照により、本発明の実施形態に係る通信機器としてカメラ100のハードウェア構成を説明する。表示部101および操作部102は、アプリケーションの表示や実行など、ユーザインタフェースとして機能する。操作部102からの操作入力の有無により通信機器が操作されているか否かが判定される。撮像部103は被写体の光学像を撮像する。画像処理部104は撮像部103から出力された撮像画像を所定フォーマットの画像データに変換し、画像データに透かしデータを付与する。符号化/復号化部105は画像処理部104から出力された画像データに対して、所定の高能率符号化(例えば、DCT変換、量子化後に可変長符号化)を行う。符号化/復号化部105はまた、記録再生部106から再生された圧縮画像データを伸長復号化し、その画像データを画像処理部104に供給する。記録再生部106は圧縮符号化された画像データを不図示の記録媒体に記録再生する。本実施形態の通信機器は、画像データを符号化する技術として、例えば、JPEG(Joint Photographic Experts Group)方式を用いて圧縮符号化している。記憶部107は無線通信ネットワーク情報、データ送受信情報、通信機器情報、利用可能なサービス情報など各種データを記憶、管理する。時計部108は時間を計測する。制御部109はカメラ100を制御する。ROM110には制御命令つまりプログラムが格納されている。111はRAMである。アンテナ115は無線LAN通信を行う。無線LANアンテナ制御部112はアンテナ115を制御する。通信インタフェース部(以下、通信IF113)はネットワークの検索、構築、接続、管理など通信処理を行う。電源部114は通信機器(通信装置)に電力を供給する。
【0014】
(通信機器の機能構成)
次に、図2を参照して通信機器の機能構成について説明する。本実施形態において、通信機器の機能ブロックは、ROM110にプログラムとして記憶され、制御部109によって実行される。なお、通信機器の機能ブロックに含まれる一部乃至全部がハードウェア化されていてもよい。
【0015】
サービスアクセス処理部210は、Webサービスにアクセスするための通信手順を実装する処理部である。サービスアクセス処理部210は、Webサービス装置がWSDL(Web Services Description Language)で公開するプロファイルに定義された操作を記述したメッセージを、Webサービス装置との間で送受信する。またサービスアクセス処理部210は、認証処理部211、およびアップロード処理部212を含む。
【0016】
認証処理部211は管理する認証情報を使用して、Webサービスに対する認証処理(ログインおよびログアウト)を行う。アップロード処理部212は、Webサービスに対してデータをアップロードする。サービスアクセス処理部210は対応するWebサービスとWebサービスのバージョンごとに用意される機能ブロックである。
【0017】
なお、本実施形態においてWebサービスとは、画像ファイルを保存・管理する画像ストレージサービスを想定しており、したがってアップロードするデータとは画像データである。しかしながら、本発明の趣旨は、これに制限するものではない。
【0018】
携帯連携処理部220は、携帯電話とのメッセージ交換を行い、データの送受信や制御要求を行う処理部である。携帯連携処理部220は、アップロード処理部221、中継方式管理部222を含む。
【0019】
アップロード処理部221は、携帯電話に対して画像データをWebサービスにアップロードするよう要求する。またアップロード処理部221は、携帯電話からの要求に応じて、Webサービスに画像をアップロードするようサービスアクセス処理部210に要求する。中継方式管理部222は、携帯電話が行うデータ中継処理がIPルータモードであるかProxyモードであるかを監視し、またいずれかのモードで動作するように携帯電話に通知する。
【0020】
(IPルータモードとProxyモード)
ここで、IPルータモードとProxyモードについて詳細に説明を行う。図14(a)は、IPルータモードによる通信手順の一例を示す図である。まず、通信機器であるカメラ100(図13(a))とWebサーバ1300(図13(a))における通信手順について説明する。インターネット手順1401および1407はIPパケットなどを取扱う。トランスポート手順1402および1408は、TCPやUDPパケットなどを取扱う。アプリケーション手順1403および1409は、HTTPなどを取扱う。アプリケーションインタフェース手順1404および1410はWebサーバ1300が提供するWebサービスにアクセスするためのAPIを表す。
【0021】
つぎに中継機器である携帯電話300(図13(a))における通信手順について説明する。携帯電話300では、処理手順1405および1406においてIPパケットのIPアドレスフィルタリングやアドレス変換などを行なう。そして、カメラ100のインターネット手順1401をWebサーバ1300のインターネット手順1407にあうアドレスに置き換える。それ以外のトランスポート手順、アプリケーション手順、アプリケーションインタフェース手順は変換あるいは中身のデータを解析することなくカメラ100とWebサーバ1300間で直接通信手順を実行している。
【0022】
また、図14(b)も、本実施形態にかかるIPルータモードによる通信手順の一例を示す図である。図14(a)と同様に通信機器であるカメラ100とWebサーバ1300がもつ各手順は同様のため説明を省略する。携帯電話300では、一般的にサーキットレベルゲートウェイと呼ばれるモードが動作している。この場合、インターネット手順1415aおよびトランスポート手順1415bでは、クライアントであるカメラ100のIPアドレスがソースIPアドレスとなり、Webサーバ1300のIPアドレスがデスティネーションIPアドレスとなる。また、インターネット手順1416aおよびトランスポート手順1416bでは、携帯電話300のサーキットレベルゲートウェイIPアドレスがソースIPアドレスとなり、Webサーバ1300のIPアドレスがデスティネーションIPアドレスとなる。このように、アプリケーション手順、アプリケーションインタフェース手順は変換あるいは中身のデータを解析することなくカメラ100とWebサーバ1300間で直接通信手順を実行している。
【0023】
図14(c)は、本実施形態にかかるProxyモードによる通信手順の一例を示す図である。図14(a)、図14(b)と同様の手順であるインターネット手順1421、1425、1428、1430およびトランスポート手順1422、1426、1429、1431については説明を省略する。カメラ100およびWebサーバ1300において、アプリケーション手順1423および1432はHTTPパケットなどを取扱う。ここで、アプリケーション手順1423および1432は、携帯電話300のHTTPゲートウェイ1427と通信を行う。
【0024】
HTTPゲートウェイ1427は、カメラ100のアプリケーションインタフェース手順であるサービス−1 API1424で指定されアプリケーション手順1423を介して搬送されるパケットを受信し、中身のデータを解析する。つぎにHTTPゲートウェイ1427は、Webサーバ1300のアプリケーションインタフェース手順であるサービス−2 API1433で制御可能なパケットにデータを変換する。続けて、Webサーバ1300との間でアプリケーション手順1432を介してパケットの搬送を行う。この場合、カメラ100からの要求をHTTPゲートウェイ1427が変換処理してWebサーバ1300に要求を行う。続けてWebサーバ1300のサービス−2 API1433から返信された応答をHTTPゲートウェイ1427が受信し、変換処理後、カメラ100に応答する。このように、携帯電話300のアプリケーション部であるHTTPゲートウェイ1427においてデータ解析および変換を行うことでカメラ100とWebサーバ1300が通信データの送受信が可能になる。
【0025】
また、図14(d)も、本実施形態におけるProxyモードによる通信手順の一例を示す図である。ここでは図14(a)、(b)、(c)と異なる点について説明を行う。カメラ100の携帯API1444と携帯電話300の携帯API1448との間で相互に要求と応答が実行される。一方、Webサーバ1300のサービスAPI1457と携帯電話300のサービスAPI1453との間で相互に要求と応答が実行される。この場合、携帯APIとサービスAPIは独立して動作してもよい。つまり、カメラ−Web連携アプリケーション1449において、カメラ100からの撮像データの送信要求が発生したとしても、携帯電話300は自身がWebサーバ1300に送信できる状態にあるときにカメラからの要求を処理すればよい。例えば、カメラ100と携帯電話300は無線接続状態で携帯API1444によってデータ通信できるが、携帯電話300はWebサーバ1300との間で無線通信が圏外のため通信ができない場合が考えられる。このような場合、携帯電話300は、Webサーバ1300へのアクセスを中断し、圏内に復帰した時点でWebサーバ1300との間でサービスAPIによってデータ通信を実行することができる。
【0026】
ここでは、IPルータモードとProxyモードの一例をあげた。この他の手段を用いて、カメラ100がクライアントとしてWebサービスを提供するWebサーバ1300にアクセスする場合に、クライアントがサーバ装置に直接接続するような接続形態をIPルータモードと分類してよい。一方、クライアントに代わって、中継機器である携帯電話300がWebサーバ1300にアクセスする場合はProxyモードと分類してもよい。
【0027】
説明を図2に戻し、サポートサービス管理部230は、カメラ100に実装されるWebサービスの種別とそれぞれ対応するバージョンを管理する。表示・操作処理部240はアップロードする画像やアップロード先のWebサービスのユーザ名などをユーザに表示し、選択させる機能を実装する。判定処理部250は、表示・操作処理部240で選択されたWebサービスに対するアクセス手順をサポートする機器が、カメラなのか携帯電話なのか判定する。設定管理部260はカメラ100の動作に関する様々な設定を管理する機能ブロックである。
【0028】
アップロード手段決定処理部270は、判定処理部250による判定結果、および設定管理部260で管理される設定情報に基づいてWebサービスに画像をアップロードする手順を決定する。そして、アップロード手段決定処理部270は、決定の結果をサービスアクセス処理部210および携帯連携処理部220に通知を行う。アップロード手段決定処理部270は、Webサービスに直接アクセスする機器をカメラにするか携帯電話にするかを判定する。そして、アップロード手段決定処理部270は、カメラがアクセスするならIPルータモードで、携帯電話がアクセスするならProxyモードで携帯電話が動作するように携帯連携処理部220に通知を行う。またアップロード手段決定処理部270は、カメラがWebサービスにアクセスするならばサービスアクセス処理部210がアップロード処理を行うように通知を行う。また、アップロード手段決定処理部270は、携帯電話がWebサービスにアクセスするならば携帯連携処理部220がアップロード処理を行うように通知を行う。
(中継器のハードウェア構成)
次に、本実施形態に係る中継機器について、図面を参照しながら詳細に説明する。図3は、本発明の実施形態に係る中継機器のハードウェア構成図である。図3は、中継機器として携帯電話300のハードウェア構成を例示するものである。表示部301および操作部302は、アプリケーションの表示や実行などを行う。操作部302からの操作入力の有無により中継機器が操作されているか否かが判定される。記憶部305は無線通信ネットワーク情報、データ送受信情報、通信機器情報、利用可能なサービス情報など各種データを記憶、管理する。
【0029】
時計部303は時間を計測する。アンテナ312は公衆網通信を行う。公衆網通信アンテナ制御部304はアンテナ312を制御する。電源部306は中継機器に電力を供給する。
【0030】
制御部307は携帯電話300を制御する。ROM308には制御命令つまりプログラムが格納されている。309はRAMである。アンテナ313は無線LAN通信を行う。無線LANアンテナ制御部310はアンテナ313を制御する。通信インタフェース部(以下、通信IF311)はネットワークの検索、構築、接続、管理など通信処理を行う。また通信IF311はアンテナ312による公衆網通信、およびアンテナ313による無線LAN通信双方の通信に係る処理を実行する。
【0031】
(中継機器の機能構成)
次に、図4を参照して中継機器の機能構成について説明する。本実施形態において、中継機器の機能ブロックは、ROM308にプログラムとして記憶され、制御部307によって実行される。なお、中継機器の機能ブロックに含まれる一部乃至全部がハードウェア化されていてもよい。
【0032】
サービスアクセス処理部410は、Webサービスにアクセスするための通信手順を実装する処理部である。またサービスアクセス処理部410は、認証処理部411およびアップロード処理部412を含む。サービスアクセス処理部410は、カメラ100におけるサービスアクセス処理部210と同等の機能を持つ処理部であり、カメラ100と同様に対応するWebサービスとWebサービスのバージョンごとに用意されている。
【0033】
カメラ連携処理部420は、カメラとのメッセージ交換を行い、データの送受信や制御要求を行う処理部である。カメラ連携処理部420は、アップロード処理部421、データ取得処理部422を含む。アップロード処理部421は、カメラからの要求に応じて、カメラから要求されたWebサービスに画像をアップロードするよう、サービスアクセス処理部410に対して要求を行う。またアップロード処理部421は、カメラに対して画像データをWebサービスにアップロードするよう要求する。データ取得処理部422は、カメラから画像データを取得する。
【0034】
サポートサービス管理部430は、携帯電話300に実装されるWebサービスの種別とそれぞれ対応するバージョンを管理する。
【0035】
表示・操作処理部440はアップロードする画像やアップロード先のWebサービス名などをユーザに表示し、選択させる機能を実装する。判定処理部450は、表示・操作処理部440で選択されたWebサービスに対するアクセス手順をサポートする機器が、カメラなのか携帯電話なのか判定する。設定管理部460は携帯電話300の動作に関する様々な設定を管理する機能ブロックである。
【0036】
アップロード手段決定処理部470は、判定処理部450による判定結果、および設定管理部460で管理される設定情報に基づいてWebサービスに画像をアップロードする手順を決定する。そして、アップロード手段決定処理部470はサービスアクセス処理部410およびカメラ連携処理部420に決定結果の通知を行う。アップロード手段決定処理部470は、Webサービスに直接アクセスする機器をカメラにするか携帯電話にするかを判定する。そして、アップロード手段決定処理部470は、カメラがアクセスするならIPルータモードで動作するように中継方式管理部480に通知を行ない、携帯電話がアクセスするならProxyモードで動作するように中継方式管理部480に通知を行う。またアップロード手段決定処理部470は、カメラがWebサービスにアクセスするならばカメラ連携処理部420がアップロード処理を行うようにカメラ連携処理部420に通知を行なう。また、アップロード手段決定処理部470は、携帯電話がWebサービスにアクセスするならばサービスアクセス処理部410がアップロード処理を行うように、サービスアクセス処理部410に通知を行う。
【0037】
中継方式管理部480は中継動作のモードとしてIPルータモードで動作するかProxyモードで動作するかを管理する。中継方式管理部480はモードに応じたデータフレームの転送処理(例えば、TCPレイヤ以上におけるデータフレームをブリッジするブリッジ機能による転送処理)を行うように、通信IF311を制御する。
【0038】
以上が本発明の実施形態にかかる通信機器および中継機器のハードウェア構成および機能構成である。なお、ハードウェア構成および機能構成は、本発明における実施形態の一つの事例であって、必ずしも図示したハードウェア構成や機能構成に限定されるものではなく、本発明を実施可能なハードウェア構成および機能構成であればよい。
【0039】
次に本発明における特徴的な実施の形態について説明を行う。図13(a)は実施形態1における無線通信システムの機器構成を示す図である。カメラ100は携帯電話300と接続し、携帯電話300はWebサーバ1300と接続する。携帯電話300は、前述のIPルータモードおよびProxyモードで、カメラ100とWebサーバ1300との間のデータ通信を中継する機能を持つ。また、Webサーバ1300はカメラ100および携帯電話300から利用可能なWebサービス機能(画像ストレージ機能)を有している。
【0040】
図13(b)は、カメラ100のサポートサービス管理部230にて管理している、カメラ100がサポートするWebサービスの情報(アクセス情報)である。このアクセス情報によりカメラ100が保持するアクセス機能を特定することができる。図13(c)は、携帯電話300のサポートサービス管理部430にて管理している、携帯電話300がサポートするWebサービスの情報(アクセス情報)である。このアクセス情報により携帯電話300が保持するアクセス機能を特定することができる。
【0041】
(カメラ100の動作フロー)
図5および図6を用いて、カメラ100の動作フローの一例を説明する。図5は、カメラ100における画像のアップロード処理実行時の動作フローである。この処理は、ユーザが操作部102を用いてアップロード処理を開始するための操作を実行した際に開始される。アップロード処理を開始するための操作は、ボタン押しのような操作でも良いし、たとえば撮像操作などの他の操作と連動して開始するようにしてもかまわない。また、本処理が実行される前に、カメラ100と携帯電話300との間で無線LANの接続処理は完了しているものとする。
【0042】
アップロード処理を開始するための操作が行われると、アップロード処理部221はアップロード処理開始通知を携帯電話300に送信する(S501)。
【0043】
次に、サポートサービス管理部230は、携帯電話300から応答メッセージで返される携帯電話300がサポートするWebサービスのリストを取得する(S502)。ここでいうWebサービスのリストとは、図13(c)に示すリストであり、Webサービス名と対応するサービスのバージョン情報から構成される。サポートサービス管理部230は、Webサービスのリストを取得した結果、カメラ自身あるいは携帯電話が何らかのWebサービスに対応しているか否かを判定する(S503)。カメラ100および携帯電話300に対応するWebサービスが有る場合、処理はステップS505に進められる(S503のNo)。もし、カメラ100および携帯電話300に対応するWebサービスがない場合には(S503のYes)、Webサービスのプログラムに対応するようにソフトウェアの更新を促すか、Webサービス機能の有効化をユーザに促す(S504)。これは、利用できるWebサービスがない旨をユーザに告知してもよいし、Webサービスプログラムの設定モードに自動的に移行してもよい。また、本実施形態ではステップS502のWebサービスリストの取得をステップS501のアップロード処理開始通知の後に実行している。しかし、先にWebサービスのリストの取得を実行し、取得結果Webサービス情報がない場合には、アップロード処理開始そのものを選択できない、あるいは表示色を変化させてアップロード処理が無効である旨をユーザに告知してもよい。
【0044】
Webサービスのリストを取得すると、表示・操作処理部240はアップロード処理のアップロード先候補となるWebサービスの一覧を表示部101に表示する(S505)。ここで、表示・操作処理部240はアップロード先候補として、S502で取得したWebサービス名と、サポートサービス管理部230で管理されるカメラ100がサポートするWebサービス名(図13(b))を並べて表示する。すなわちここでは「AAAフォトサービス」「BBBフォトサービス」「CCCフォトサービス」が表示される。ユーザが操作部102を操作してアップロードする画像とアップロード先のWebサービスを選択すると、カメラ100は選択されたWebサービスに基づいてWebサービスにアクセスする機器を決定する(S506)。ステップS506の処理は判定処理部250およびアップロード手段決定処理部270において実行される。ステップS506の処理は、図6を用いて後に詳細を解説する。
【0045】
ステップS506bでは、先のステップS506における決定結果の判別が行われる。ステップS506の判別の結果、カメラ100がWebサービスにアクセスすると決定した場合(S506bで「カメラがアクセス」)、処理はステップS507に進められる。中継方式管理部222は携帯電話300にIPルータモードで中継処理を動作させるよう通知メッセージを送信する(S507)。中継方式管理部222は携帯電話300から応答メッセージを受信すると、認証処理部211はWebサービスに対してログイン処理を行う(S508)。携帯電話300から応答メッセージを受信すると、認証処理部211はWebサーバ1300とHTTPS(Hypertext Transfer Protocol Security)を用いて接続する(S508)。HTTPSによる接続はカメラ100とWebサーバ1300との間の通信に対する秘匿性を確保するために行う暗号化通信で、カメラ100からWebサービスに対するログイン処理(S508)で使用する。Webサービスにログインするため、認証処理部211は管理するユーザ名とパスワードを、HTTPSを用いてWebサービスに対して送信する。この際、通信の秘匿性は暗号化通信によりカメラ100とWebサーバ1300間で担保されているため、携帯電話300でユーザ名やパスワードを検知することはできない。Webサービスのログインに成功すると(S508bでYes)、アップロード処理部212はWebサービスに画像データを送信する(S509)。画像のアップロード処理(S509)が完了すると、認証処理部211がWebサービスに対してログアウト処理を実行し(S510)、アップロード処理部221が携帯電話300にアップロード処理終了通知を送信する(S511)。
【0046】
ステップS506bの判別の結果、携帯電話300がWebサービスにアクセスすると決定した場合(S506bで「携帯電話がアクセス」)、処理はステップS513に進められる。中継方式管理部222は携帯電話300にProxyモードで中継処理を動作させるよう通知メッセージを送信する(S512)。中継方式管理部222は携帯電話300から応答メッセージを受信すると、アップロード処理部221は携帯電話300に対して、Webサービスに対するログイン要求メッセージを送信する(S513)。このログイン要求メッセージには、S505でユーザが選択したWebサービス名を付加して送信する。カメラ100は、ログイン要求メッセージに対する応答メッセージで、携帯電話300におけるログイン処理が成功したか失敗したかを判断する。ログイン処理が成功した場合(S513bでYes)、アップロード処理部221は携帯電話300にアップロード要求メッセージを送信する(S514)。アップロード処理部221はWebサービスにアップロードする画像データをアップロード要求メッセージに付加して送信する。アップロード処理(S514)が完了すると(S514のYes)、アップロード処理部221が携帯電話300に対してログアウト要求メッセージを送信し(S515)、その後アップロード処理終了通知を携帯電話300に送信する(S511)。
【0047】
ログイン処理やアップロード処理に失敗した場合(S508bでNo、S513bでNo、S509bでNo、S514bでNo)、処理はステップS506に戻される。カメラ100の判定処理部250およびアップロード手段決定処理部270は判定処理(S506)を再度実行する。S505で選択されたWebサービスに対するアクセス機能をカメラ100も携帯電話300も保持している場合としては、例えば、図13(b)、(c)の「CCCフォトサービス」)が該当する。この場合、カメラ100はWebサービスにアクセスする機器を変えてアップロード処理を試みる。
【0048】
ステップS506bの判定処理の結果、Webサービスにアクセスできる機器が存在しないと判定された場合(S506bで「アクセスできる機器なし」)、表示・操作処理部240はエラーメッセージを表示する(S516)。その後、アップロード処理部221が携帯電話300にアップロード処理終了通知を送信する(S511)。
【0049】
(ステップS506の詳細動作)
次に、図6を用いて、ステップS506の詳細な動作を説明する。Webサービスにアクセスする機器を決定する際、まず判定処理部250がアップロード先のWebサービスに対するアクセス機能をサポートしている機器がカメラ100なのか携帯電話300なのかを判定する(S601)。
【0050】
ステップS601bの判別の結果、Webサービスに対するアクセス機能をサポートしている機器がカメラ100のみの場合(S601bで「カメラのみ」)、処理はステップS607に進められる。Webサービスにアクセスする機器としてカメラ100が選択される(S607でNo、S610)。カメラ100によるログイン処理に失敗した後に本処理が呼ばれた場合は、Webサービスにアクセスできる機器が存在しないと判断される(S607でYes、S611)。
【0051】
Webサービスに対するアクセス機能をサポートしている機器が携帯電話300のみの場合(S601bで「携帯電話のみ」)、処理はステップS608に進められる。Webサービスにアクセスする機器として携帯電話300が選択される(S608でNo、S612)。携帯電話300によるログイン処理に失敗した後に本処理が呼ばれた場合は、Webサービスにアクセスできる機器が存在しないと判断する(S608でYes、S613)。
【0052】
Webサービスに対するアクセス機能をカメラ100および携帯電話300双方がサポートしている場合(S601bで「カメラと携帯電話」)、さらに幾つかの条件によってWebサービスにアクセスする機器を決定する(S602〜S606)。
【0053】
携帯電話300によるログイン処理に失敗した後に本処理が呼ばれた場合は、Webサービスにアクセスする機器としてカメラ100を選択する(S602でYes、S607でNo、S610)。カメラ100によるログイン処理に失敗した後に本処理が呼ばれた場合は、Webサービスにアクセスする機器として携帯電話300を選択する(S603でYes、S614)。カメラ100によるログイン処理も携帯電話300によるログイン処理も失敗した後に本処理が呼ばれた場合は、Webサービスにアクセスできる機器が存在しないと判断する(S602でYes、S607でYes、S611)。
【0054】
アップロード処理を初めて行う場合(S603でNo)、処理はステップS604に進められる。ステップS604では、サポートしているWebサービスのバージョンが新しい機器をWebサービスにアクセスする機器として選択される(S604)。Webサービスのバージョンの比較結果に応じて、カメラ100または携帯電話300がWebサービスにアクセスする機器として選択される(S615、S616)。比較結果により両者がサポートするWebサービスのバージョンも同じ場合(S604で「同じ」)、設定管理部260にて優先する機器が設定されている場合、設定されている機器をWebサービスにアクセスする機器として選択する(S605)。ここで参照される設定は、ユーザが操作部102を操作して設定することを想定しているが、たとえばROM110にあらかじめ優先順位が設定されているとしても良い。優先する機器(優先機器)の設定に応じて、カメラ100または携帯電話300がWebサービスにアクセスする機器として選択される(S617、S618)。
【0055】
設定管理部260に優先機器の設定が無い場合(S605で「設定なし」)、処理はステップS606に進められ、本処理が動作している機器がWebサービスにアクセスする機器として選択される(S606)。実施形態1においてはWebサービスにアクセスする機器としてカメラ100が選択される。後述の実施形態2においては、Webサービスにアクセスする機器として携帯電話300が選択される。
【0056】
(携帯電話300の動作フロー)
次に図7および図8を用いて、携帯電話300の動作フローの一例を説明する。図7は、ユーザがカメラ100でアップロード処理を実行した際の携帯電話300の動作フローである。この処理は、アップロード処理部421がカメラ100からアップロード処理開始通知を受信した際に開始される。また、本処理が実行される前に、カメラ100と携帯電話300との間で無線LANの接続処理は完了しているものとする。
【0057】
アップロード処理部421がカメラ100からアップロード処理開始通知を受信すると、サポートサービス管理部430は携帯電話300がサポートするWebサービスの情報をカメラ100に送信する(S701)。ここで送信するWebサービスの情報とは、すなわち図13(c)に示すリストである。
【0058】
アカウント情報の送信が完了すると、アップロード処理部421はカメラ100から送信される中継モードを指定する通知メッセージを待ち受ける(S702)。ステップS702bにおいて、通知されたメッセージで指定されている中継モードを判定する。
【0059】
カメラ100からIPルータモードでの中継動作が指示されると(S702bで「IPルータモード」)、処理はステップS703に進められ、中継方式管理部480はIPルータモードでの中継動作を開始する(S703)。ここで、本実施形態ではIPルータモードとして図14(a)のように動作しているとする。
【0060】
携帯電話300は、IPルータモードで動作する間、カメラ100からインターネット(Webサーバ1300が接続するネットワーク)に対するゲートウェイのように動作する。携帯電話300はカメラ100からインターネットに向かうパケットのIPレイヤ以下の部分を終端し、TCPレイヤ以上の部分は透過させる。IPルータモードで動作する間、アップロード処理部421はカメラ100からのアップロード処理終了通知を待ち受ける(S704)。アップロード処理終了通知を受信すると(S704bでYes)、中継方式管理部480はIPルータモードでの中継動作を停止する(S705)。なお、IPルータモードとして図14(b)のように動作しても同様の効果が得られる。
【0061】
一方、カメラ100からProxyモードでの中継動作を指示されると(S702bで「Proxyモード」)、処理はステップS706に進められる。中継方式管理部480はProxyモードでの中継動作を開始する(S706)。ここで、本実施形態ではProxyモードとして図14(d)のように動作しているとする。
【0062】
(ステップS706の詳細動作)
次に、図8を用いて、ステップS706の詳細な処理を説明する。Proxyモードでの中継動作中、アップロード処理部421はカメラ100からのメッセージを待ち受ける(S801)。
【0063】
カメラ100からログイン要求メッセージを受信すると(S801bで「ログイン要求」)、処理はステップS802に進められる。認証処理部411はログイン要求で受信したアップロード先のWebサービスに対するログイン処理を実行する(S802)。ログイン処理が完了すると、アップロード処理部421はカメラ100にログイン処理の結果(成功/失敗)を通知する(S803)。
【0064】
カメラ100からアップロード要求メッセージを受信すると(S801bで「アップロード要求」)、処理はステップS804に進められる。アップロード処理部412はアップロード要求メッセージで受信した画像データをWebサービスにアップロードする(S804)。Webサービスに対するアップロード処理が完了すると、アップロード処理部421はカメラ100にアップロード処理の結果(成功/失敗)を通知する(S805)。
【0065】
カメラ100からログアウト要求メッセージを受信すると(S801bで「ログアウト要求」)、処理はステップS806に進められる。認証処理部411はWebサービスに対するログアウト処理を実行する(S806)。Webサービスに対するログアウト処理が完了すると、アップロード処理部421はカメラ100にログアウト処理の結果(成功/失敗)を通知する(S807)。
【0066】
カメラ100からアップロード終了通知メッセージを受信すると(S801bで「アップロード終了通知」)、アップロード処理部421はカメラ100からのメッセージ待ち受けを終了し、Proxyモードとしての動作を終了する。なお、Proxyモードとして図14(c)のように動作しても同様の効果が得られる。
【0067】
(機器間の通信シーケンス)
次に、カメラ100、携帯電話300、およびWebサーバ1300(サーバ装置)における機器間の通信シーケンスの一例について、図11を用いて解説する。図11は、ユーザがカメラ100を操作し、カメラ100が有する画像データを、携帯電話300を介して、Webサーバ1300が提供するWebサービスにアップロードする場合の通信シーケンスを例示する図である。
【0068】
初期状態として、カメラ100と携帯電話300は無線LANで接続済みであるものとする。まず、カメラ100において、ユーザがアップロード処理を開始するための操作を行う(S1101)。アップロード処理を開始するための操作が行われると、カメラ100は携帯電話300に対してアップロード処理開始通知メッセージを送信する(S1102)。これを受けて、携帯電話300は自身がサポートするWebサービスの情報のリストを含めた応答メッセージをカメラ100に送信する(S1103)。カメラ100はWebサービス情報リストを取得すると、アップロード処理のアップロード先候補となるWebサービスの一覧を表示し、ユーザに選択を促す(S1104)。ここで表示されるアップロード先候補は、ステップS1103で取得したWebサービスと、カメラ100がサポートするWebサービスを合わせたものである。ユーザがカメラ100を操作してアップロード先のWebサービスを選択すると(S1105)、カメラ100はWebサービスにアクセスする機器を決定する(S1106)。ステップS1106の処理は図6にて示される処理である。
【0069】
(カメラ100がWebサービスにアクセスする場合)
ステップS1106による処理の結果、カメラ100がWebサービスにアクセスする場合、カメラ100は携帯電話300にIPルータモードで中継処理を動作させるよう通知メッセージを送信する(S1107)。これを受けて、携帯電話300はIPルータモードによる中継処理を開始し(S1108)、応答メッセージをカメラ100に送信する(S1109)。
【0070】
応答メッセージを受信すると、カメラ100は、Webサービスに対してログインする(S1110)。続いて、カメラ100は、画像アップロード(S1111)、ログアウト(S1112)を行う。Webサービスからのログアウト(S1112)が完了すると、カメラ100は携帯電話300にアップロード処理終了通知メッセージを送信する(S1113)。これを受けて、携帯電話300はIPルータモードによる中継処理を停止し(S1114)、応答メッセージをカメラ100に送信する(S1115)。
【0071】
(携帯電話300がWebサービスにアクセスする場合)
ステップS1106による処理の結果、携帯電話300がWebサービスにアクセスする場合、カメラ100は携帯電話300にProxyモードで中継処理を動作させるよう通知メッセージを送信する(S1116)。これを受けて、携帯電話300はProxyモードによる中継処理を開始し(S1117、図8)、応答メッセージをカメラ100に送信する(S1118)。応答メッセージを受信すると、カメラ100は携帯電話300に対して、ログイン要求メッセージを送信する(S1119)。このログイン要求メッセージには、ステップS1105でユーザが選択したアップロード先のWebサービスに関する情報を付加して送信する。ログイン要求メッセージを受信した携帯電話300は、Webサービスに対してログイン処理を実行し(S1120)、処理の結果をカメラ100に送信する(S1121)。カメラ100は次に、アップロードする画像のデータを添付したアップロード要求メッセージを携帯電話300に送信する(S1122)。アップロード要求メッセージを受信した携帯電話300は、メッセージに添付された画像データを取得し、Webサービスに対してこれをアップロードし(S1123)、アップロード処理の結果をカメラ100に送信する(S1124)。アップロード処理の応答メッセージを受信したカメラ100は、ログアウト要求メッセージを携帯電話300に送信する(S1125)。ログアウト要求メッセージを受信した携帯電話300は、Webサービスに対するログアウト処理を実行し(S1126)、処理の結果をカメラ100に送信する(S1127)。ログアウト処理が完了すると、カメラ100は携帯電話300にアップロード処理終了通知を送信する(S1128)。アップロード処理終了通知を受信した携帯電話300は、Proxyモードによる中継処理を停止し(S1129)、応答メッセージをカメラ100に送信する(S1130)。
【0072】
カメラ100は、アップロード処理終了通知の応答メッセージを受けて(S1115、S1130)、一連の画像アップロード処理を終了する。
【0073】
(実施形態2)
実施形態1では、ユーザがカメラを操作して画像データをWebサービスにアップロードする場合の実施形態を示した。以下に示す実施形態2では、実施形態1と同様の機器構成で、ユーザが携帯電話を操作してカメラの画像データをWebサービスにアップロードする場合の実施形態を説明する。また、実施形態1と同様に実施形態2においても、IPルータモードは図14(a)あるいは図14(b)の形態であり、Proxyモードについては図14(c)あるいは図14(d)の形態である。
【0074】
実施形態2において、ハードウェア構成および機能構成は、実施形態1のハードウェア構成(図1、図3)、機能構成(図2、図4)と同様であるため、説明は省略する。また、実施形態2において、無線通信システムの構成、アカウント情報についても、実施形態1の無線通信システムの構成(図13(a))、アクセス情報(図13(b)、(c))と同様であるため、説明は省略する。
【0075】
(携帯電話300の動作フロー)
図9を用いて、携帯電話300における画像のアップロード処理実行時の動作フローを説明する。この処理は、ユーザが操作部302を用いてアップロード処理を開始するための操作を実行した際に開始される。また、本処理が実行される前に、カメラ100と携帯電話300との間で無線LANの接続処理は完了しているものとする。
【0076】
アップロード処理を開始するための操作が行われると、アップロード処理部421はアップロード処理開始通知をカメラ100に送信する(S901)。次に、サポートサービス管理部430は、カメラ100から応答メッセージで返されるカメラ100がサポートするWebサービスのリストを取得する(S902)。ここでいうWebサービスのリストとは、図13(b)に示すリストでありWebサービス名と対応するサービスのバージョン情報から構成される。Webサービスのリストを取得した結果、カメラあるいは携帯電話がWebサービスプログラムを有し、何らかのWebサービスに対応しているか否かを判定する(S903)。カメラあるいは携帯電話がWebサービスプログラムを有している場合、処理はステップS905に進められる。一方、ステップS903の判定で、カメラあるいは携帯電話がWebサービスプログラムを有していない場合、処理はステップS904に進められる。そして、Webサービスのプログラムに対応するようにソフトウェアの更新を促すか、Webサービス機能の有効化をユーザに促す(S904)。これは、利用できるWebサービスがない旨をユーザに告知してもよいし、Webサービスプログラムの設定モードに自動的に移行してもよい。また、本実施形態ではステップS902のWebサービスリストの取得をステップS901のアップロード処理開始通知の後に実行している。しかし、先にWebサービスのリストの取得を実行し、取得の結果、Webサービス情報がない場合には、アップロード処理開始そのものを選択できない、あるいは表示色を変化させてアップロード処理が無効である旨をユーザに告知してもよい。
【0077】
Webサービスのリスト情報リストを取得すると、データ取得処理部422はアップロード対象となる画像のサムネイルのリストをカメラ100から取得する(S905)。
【0078】
表示・操作処理部440はアップロード処理のアップロード先候補となるWebサービスの一覧と、ステップS905で取得したサムネイル画像の一覧とを表示部301に表示する(S906)。ここで表示・操作処理部440はアップロード先候補として、S902で取得したWebサービス名と、サポートサービス管理部430で管理される携帯電話300がサポートするWebサービス名(図13(c))とを並べて表示する。すなわち、ここでは「AAAフォトサービス」「BBBフォトサービス」「CCCフォトサービス」が表示される。
【0079】
ユーザが操作部302を操作してアップロードする画像とWebサービス名(Webサービス情報)を選択すると、携帯電話300は選択されたWebサービス情報に基づいてWebサービスにアクセスする機器を決定する(S907)。ステップS907の処理は、実施形態1にて説明した図6の処理と同様であるため、説明は省略する。
【0080】
ステップS907bでは、先のステップS907における決定結果の判別が行われる。ステップS907の決定の結果、カメラ100がWebサービスにアクセスすると決定した場合(S907bで「カメラがアクセス」)、処理はステップS908に進められる。中継方式管理部480はIPルータモードでの中継動作を開始する(S908)。ここで、本実施形態ではIPルータモードとして図14(a)のように動作しているとする。
【0081】
携帯電話300は、IPルータモードで動作する間、カメラ100からインターネット(Webサーバ1300が接続するネットワーク)に対するゲートウェイのように動作する。携帯電話300はカメラ100からインターネットに向かうパケットのIPレイヤ以下の部分を終端し、TCPレイヤ以上の部分は透過させる。
【0082】
IPルータモードによる通信が開始されると、アップロード処理部421がカメラ100に対して、Webサービスに対するログイン要求メッセージを送信する(S909)。このログイン要求メッセージには、ステップS906でユーザが選択したWebサービス名を付加して送信する。このログイン要求を受信したカメラ100は、Webサービスに対してログイン処理を行う(後述)。しかし、携帯電話300は、カメラ100とWebサーバ1300との間で送受信するデータフレームのTCPレイヤ以上の部分についてはただデータを転送(透過)するだけで、データの中身については検知しない。携帯電話300は、ログイン要求メッセージに対する応答メッセージで、カメラ100におけるログイン処理が成功したか失敗したかを判断する。
【0083】
ログイン処理が成功した場合(S909bでYes)、アップロード処理部421はカメラ100にアップロード要求メッセージを送信する(S910)。アップロード要求メッセージには、ステップS906でユーザが選択した、Webサービスにアップロードする画像の識別子を付加して送信する。アップロード処理(S910)が完了すると、アップロード処理部421がカメラ100に対してログアウト要求メッセージを送信する(S911)。その後、中継方式管理部480がIPルータ機能を停止し(S912)、アップロード処理部421がアップロード処理終了通知をカメラ100に送信する(S913)。
【0084】
一方、ログイン処理に失敗した場合(S909bでNo)、またはアップロード処理に失敗した場合(S910bでNo)、中継方式管理部480がIPルータ機能を停止する(S914)。そして、判定処理部450およびアップロード手段決定処理部470がステップS907に示す判定処理を再度実行する。ステップS906で選択されたWebサービスに対するアクセス機能を携帯電話300も保持している場合としては、例えば、図13(b)、(c)の「CCCフォトサービス」が該当する。この場合、携帯電話300は、Webサービスにアクセスする機器を変えてアップロード処理を試みる。
【0085】
ステップS907における判別の結果、携帯電話300がWebサービスにアクセスすると決定した場合(S907bで「携帯電話がアクセス」)、処理はステップS915に進められる。認証処理部411はWebサービスに対するログイン処理を実行する(S915)。Webサービスのログインに成功すると(S915でYes)、データ取得処理部(422)はカメラ100にアップロード画像要求メッセージを送信し、Webサービスにアップロードする画像の実画像データをカメラ100から取得する(S916)。実画像データの取得が完了すると、アップロード処理部412はWebサービスに画像データを送信する(S917)。画像のアップロード処理(S917)が完了すると、認証処理部411がWebサービスに対してログアウト処理を実行し(S918)、アップロード処理部421がカメラ100にアップロード処理終了通知を送信する(S913)。
【0086】
ログイン処理に失敗した場合(S915bでNo)、またはアップロード処理に失敗した場合(S917bでNo)、判定処理部450およびアップロード手段決定処理部470がS907に示す判定処理を再度実行する。ステップS906で選択されたWebサービスに対するアクセス手順をカメラ100もサポートしている場合、携帯電話300は、Webサービスにアクセスする機器をカメラ100に変えてログイン処理を試みる。
【0087】
一方、ステップS907の判定処理の結果、Webサービスにアクセスできる機器が存在しないと判定された場合(S907bで「アクセスできる機器なし」)、処理はステップS919に進められる。表示・操作処理部440はエラーメッセージを表示する(S919)。その後、アップロード処理部421がカメラ100にアップロード処理終了通知を送信する(S913)。
【0088】
(カメラ100の動作フロー)
次に図10を用いて、ユーザが携帯電話300でアップロード処理を実行した際のカメラ100の動作フローを説明する。この処理は、アップロード処理部221が携帯電話300からアップロード処理開始通知を受信した際に開始される。また、本処理が実行される前に、カメラ100と携帯電話300との間で無線LANの接続処理は完了しているものとする。
【0089】
アップロード処理部221が携帯電話300からアップロード処理開始通知を受信すると、サポートサービス管理部230はカメラ100がサポートするWebサービスの情報を携帯電話300に送信する(S1001)。ここで送信するWebサービスの情報とは、すなわち、図13(b)に示すリストである。Webサービスの情報の送信が完了すると、アップロード処理部221は携帯電話300から送信される通知メッセージを待ち受ける(S1002)。
【0090】
携帯電話300からログイン要求メッセージを受信すると(S1002で「ログイン要求」)、処理はステップS1003に進められる。認証処理部211はWebサーバ1300とHTTPSを用いて接続する(S1003)。次に、認証処理部211は、ログイン要求で受信したアップロード先のWebサービスに対するログイン処理を実行する(S1003)。ログイン処理が完了すると、アップロード処理部221は携帯電話300にログイン処理の結果(成功/失敗)を通知する(S1004)。
【0091】
携帯電話300からアップロード要求メッセージを受信すると(S1002bで「アップロード要求」)、処理はステップS1005に進められる。アップロード処理部212は、アップロード要求メッセージで受信した画像の識別子が示す画像のデータをWebサービスにアップロードする(S1005)。Webサービスに対するアップロード処理が完了すると、アップロード処理部221は携帯電話300にアップロード処理の結果(成功/失敗)を通知する(S1006)。
【0092】
携帯電話300からログアウト要求メッセージを受信すると(S1002bで「ログアウト要求」)、処理はステップS1007に進められ、認証処理部211はWebサービスに対するログアウト処理を実行する(S1007)。Webサービスに対するログアウト処理が完了すると、アップロード処理部221は携帯電話300にログアウト処理の結果(成功/失敗)を通知する(S1008)。
【0093】
携帯電話300からアップロード画像要求メッセージを受信すると(S1002bで「アップロード画像要求」)、処理はステップS1009に進められる。アップロード処理部221はアップロード画像要求メッセージで指定される画像データを携帯電話300に送信する(S1009)。アップロード画像要求メッセージでは、画像データの種別(実画像かサムネイル)と、取得したい画像の識別子(ファイル名、全画像、など)が指定され、アップロード処理部221はこれに対応するデータを携帯電話300に送信する。
【0094】
携帯電話300からアップロード終了通知メッセージを受信すると(S1002bで「アップロード終了通知」)、アップロード処理部221は携帯電話300からのメッセージ待ち受けを終了する。
【0095】
(機器間の通信シーケンス)
次に、カメラ100、携帯電話300、およびWebサーバ1300における機器間の通信シーケンスの一例について、図12を用いて説明する。図12は、ユーザが携帯電話300を操作し、カメラ100が持つ画像データを、携帯電話300を介して、Webサーバ1300が提供するWebサービスにアップロードする場合の通信シーケンスを例示する図である。
【0096】
初期状態として、カメラ100と携帯電話300は無線LANで接続済みであるものとする。まず、携帯電話300において、ユーザがアップロード処理を開始するための操作を行う(S1201)。アップロード処理を開始するための操作が行われると、携帯電話300はカメラ100に対してアップロード処理開始通知メッセージを送信する(S1202)。これを受けて、カメラ100は自身がサポートするWebサービスの情報のリストを含めた応答メッセージを携帯電話300に送信する(S1203)。続いて、携帯電話300はカメラ100に対してアップロード画像要求メッセージを送信し、カメラ100が保持する画像のサムネイルデータをカメラ100に対して要求する(S1204)。カメラ100は、自身が保持する画像のサムネイルデータのリストと、各画像の識別子を携帯電話300に送信する(S1205)。携帯電話300はWebサービス情報リストとサムネイルデータのリストを取得すると、取得したサムネイル画像とアップロード処理のアップロード先候補となるWebサービスの一覧を表示し、ユーザに選択を促す(S1206)。ここで表示されるアップロード先候補は、ステップS1203で取得したWebサービスと、携帯電話300がアクセス機能をサポートするWebサービスとを合わせたものである。ユーザが携帯電話300を操作してアップロードする画像とアップロード先のWebサービスを選択すると(S1207)、携帯電話300はWebサービスにアクセスする機器を決定する(S1208)。ステップS1208の処理は図6にて示される処理である。
【0097】
(カメラ100がWebサービスにアクセスする場合)
ステップS1208による処理の結果、カメラ100がWebサービスにアクセスする場合、携帯電話300はIPルータモードによる中継処理を開始する(S1209)。続いて、携帯電話300はカメラ100に対してログイン要求メッセージを送信する(S1210)。このログイン要求メッセージには、ステップS1207でユーザが選択したWebサービスに関する情報を付加して送信する。ログイン要求メッセージを受信したカメラ100は、Webサービスに対してログイン処理を実行し(S1211)、処理の結果を携帯電話300に送信する(S1212)。次に、携帯電話300は、アップロードする画像の識別子を指定したアップロード要求メッセージをカメラ100に送信する(S1213)。アップロード要求メッセージを受信したカメラ100は、メッセージで指定された画像の実画像データをWebサービスに対してこれをアップロードし(S1214)、アップロード処理の結果を携帯電話300に送信する(S1215)。アップロード処理の応答メッセージを受信した携帯電話300は、ログアウト要求メッセージをカメラ100に送信する(S1216)。ログアウト要求メッセージを受信したカメラ100は、Webサービスに対するログアウト処理を実行し(S1217)、処理の結果を携帯電話300に送信する(S1218)。ログアウト要求に対する応答メッセージを受信すると、携帯電話300はIPルータモードによる中継処理を停止し(S1219)、アップロード処理終了通知をカメラ100に送信する(S1220)。カメラ100はアップロード処理終了通知に対する応答メッセージを携帯電話300に返す(S1221)。なお、IPルータモードとして図14(b)のように動作しても同様の効果が得られる。
【0098】
(携帯電話300がWebサービスにアクセスする場合)
ステップS1208による処理の結果、携帯電話300がWebサービスにアクセスする場合、携帯電話300はWebサービスに対してログイン処理を行う(S1222)。ログイン処理に成功すると、携帯電話300はカメラ100に対してアップロード画像要求メッセージを送信し、ステップS1207で選択された画像の実画像データをカメラ100に対して要求する(S1223)。カメラ100は、アップロード画像要求メッセージで指定された画像の実画像データを携帯電話300に送信する(S1224)。これを受けて、携帯電話300は受信した画像データをWebサービスにアップロードし(S1225)、アップロード処理が完了するとログアウト処理を実行する(S1226)。ログアウト処理が完了すると、携帯電話300はアップロード処理終了通知をカメラ100に送信し(S1227)、カメラ100はこれに対する応答メッセージを携帯電話300に送信する(S1228)。
【0099】
(変形例)
上記の実施形態1、2に記載されている構成要素はあくまで例示であり、本発明の技術的範囲は、特許請求の範囲によって確定されるのであって、個別の実施形態によって限定されるわけではない。例えば、実施形態1、2では、携帯電話がフレームデータを透過させる手段として、IPレイヤを終端するIPルータの動作を例示したが、本発明の趣旨はこれに限定するものではない。カメラとWebサービス間で送受信するアップロード処理に関するフレームデータを透過させるように動作すればよい。より具体的には認証処理に係るフレームデータに含まれる機密情報を、携帯電話で解析できない形でフレームが透過されれば良い。よって、たとえばSOCKSプロキシのような技術を用いてこれを実現してもかまわない。また、カメラと携帯電話間の通信に利用するローカルIPアドレスを、携帯電話とWebサーバ間の通信に利用するグローバルIPアドレスに置き換えるNAT(Network Address Translation)を用いてこれを実現してもかまわない。さらには、IPレイヤ以上のフレームを透過する(MACレイヤ以下を終端する)ように動作してもかまわない。
【0100】
また、実施形態1、2では、Webサービスに対するログイン、アップロード、ログアウト処理が、すべてカメラか携帯電話のどちらか片方で行われる実施形態を示したが、本発明の趣旨はこれに限定されるものではない。たとえば、ログイン処理とログアウト処理はカメラで行い、アップロード処理は携帯電話が行うというような実施形態も、本発明の範囲内である。
【0101】
また、実施形態1、2では、カメラと携帯電話は無線LANで接続するとしたが、本発明の趣旨はこれに限定されるものではない。たとえばブルートゥース(登録商標)や赤外線通信のような無線通信や、有線LANやUSBのような有線通信を用いて接続してもかまわない。
【0102】
また、実施形態1、2では、携帯電話とWebサーバは公衆通信網とインターネットを介して接続するとしたが、本発明の趣旨はこれに限定されるものではない。たとえば、携帯電話が無線LAN通信を用いてアクセスポイントに接続し、アクセスポイントが属するローカルネットワークを介してWebサーバに接続するといった接続形態も本発明の範囲内である。
【0103】
また、実施形態1、2では、携帯電話における中継処理モードをカメラからメッセージによって指定したが、本発明の趣旨はこれに限定されるものではない。たとえば、携帯電話は常にProxyモードで動作しており、IPルータモードとして動く必要がある時だけカメラから携帯電話に通知を行うとしても良い。
【0104】
本発明の実施形態またはその変形例によれば、通信装置の画像を中継装置を介してWebサービスに送信するシステムにおいて、Webサービスに対するアクセス機能をサポートする装置をユーザが意識することなく、画像の送信が可能になる。すなわち、通信装置または中継装置のいずれかを操作して画像のアップロードが可能な装置および無線通信システムの提供が可能になる。
【0105】
(その他の実施例)
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。

【特許請求の範囲】
【請求項1】
中継装置と接続し、前記中継装置を介して接続するサーバ装置にデータを送信する通信装置であって、
前記サーバ装置とのアクセス処理を実行するためのアクセス機能を前記通信装置が保持しているか、前記中継装置が保持しているかを判定する判定手段と、
前記判定手段による判定結果に応じて、前記アクセス機能を保持している装置のアクセス処理手段に前記アクセス処理を実行させて、前記データを送信するための送信方法を決定する決定手段と、
前記決定手段で決定された前記送信方法により前記データを送信する送信手段と、
を有することを特徴とする通信装置。
【請求項2】
前記通信装置が前記アクセス機能を保持すると、前記判定手段が判定したことにより、
前記通信装置のアクセス処理手段は、前記アクセス機能による通信により前記サーバ装置に対する前記アクセス処理を実行することを特徴とする請求項1に記載の通信装置。
【請求項3】
前記通信装置が前記アクセス機能を保持すると、前記判定手段が判定したことにより、
前記決定手段は、前記中継装置において検知されずに、前記アクセス機能による通信に用いるアクセス情報を前記サーバ装置に送信するための送信方法を決定することを特徴とする請求項2に記載の通信装置。
【請求項4】
前記中継装置が前記アクセス機能を保持すると、前記判定手段が判定したことにより、
前記決定手段は、前記アクセス機能による通信を前記中継装置のアクセス処理手段に実行させることを特徴とする請求項1に記載の通信装置。
【請求項5】
前記決定手段は、TCPレイヤ以上におけるデータフレームをブリッジするブリッジ機能、NAT(Network Address Translation)、およびSOCKSプロキシのうち少なくともいずれか1つを、前記中継装置の前記アクセス処理手段が実行することが可能な前記送信方法として決定することを特徴とする請求項4に記載の通信装置。
【請求項6】
前記通信装置および前記中継装置が前記アクセス機能を保持すると、前記判定手段が判定したことにより、
前記決定手段は、前記通信装置が保持する前記アクセス機能を特定するためのアクセス情報のバージョンと前記中継装置が保持する前記アクセス機能による通信に用いるアクセス情報のバージョンとを比較して、新しいバージョンのアクセス情報を保持する装置のアクセス処理手段に前記サーバ装置へのアクセス処理を実行させることを特徴とする請求項1乃至5のいずれか1項に記載の通信装置。
【請求項7】
前記通信装置および前記中継装置が前記アクセス機能を保持すると、前記判定手段が判定したことにより、
前記決定手段は、前記通信装置を操作するための操作手段からの操作入力の有無と、前記中継装置を操作するための操作手段からの操作入力の有無とにより、ユーザが操作している装置が前記通信装置であるか前記中継装置であるかを判定し、前記判定に従って前記ユーザが操作している装置のアクセス処理手段に前記サーバ装置へのアクセス処理を実行させることを特徴とする請求項1乃至5のいずれか1項に記載の通信装置。
【請求項8】
前記通信装置および前記中継装置が前記アクセス機能を保持すると、前記判定手段が判定したことにより、
前記決定手段は、あらかじめ設定されている優先順位に従って定められる装置のアクセス処理手段に前記サーバ装置へのアクセス処理を実行させることを特徴とする請求項1乃至5のいずれか1項に記載の通信装置。
【請求項9】
前記通信装置および前記中継装置が前記アクセス機能を保持すると、前記判定手段が判定し、かつ、前記通信装置の前記アクセス処理手段が前記アクセス処理に失敗したと判定したことにより、
前記決定手段は、前記アクセス処理を実行していない前記中継装置のアクセス処理手段に前記アクセス処理を実行させることを特徴とする請求項1乃至5のいずれか1項に記載の通信装置。
【請求項10】
前記通信装置および前記中継装置のうち少なくともいずれか一方が保持する前記アクセス機能を表示する表示手段と、
前記サーバ装置にデータを送信する際に使用するアクセス機能として、前記表示手段により表示された前記アクセス機能の中からいずれか1つを選択する選択手段と、を更に有することを特徴とする請求項1乃至9のいずれか1項に記載の通信装置。
【請求項11】
通信装置とサーバ装置とに接続し、前記通信装置から前記サーバ装置へのデータの送信を中継する中継装置であって、
前記サーバ装置とのアクセス処理を実行するためのアクセス機能を前記通信装置が保持しているか、前記中継装置が保持しているかを判定する判定手段と、
前記判定手段による判定結果に応じて、前記アクセス機能を保持している装置のアクセス処理手段に前記アクセス処理を実行させて、前記データを送信するための送信方法を決定する決定手段と、
前記決定手段で決定された前記送信方法により前記データを送信する送信手段と、
を有することを特徴とする中継装置。
【請求項12】
前記通信装置が前記アクセス機能を保持すると、前記判定手段が判定したことにより、
前記通信装置のアクセス処理手段は、前記アクセス機能による通信により前記サーバ装置に対する前記アクセス処理を実行することを特徴とする請求項11に記載の中継装置。
【請求項13】
前記通信装置が前記アクセス機能を保持すると、前記判定手段が判定したことにより、
前記決定手段は、前記中継装置において検知されずに、前記アクセス機能による通信に用いるアクセス情報を前記サーバ装置に送信するための送信方法を決定することを特徴とする請求項12に記載の中継装置。
【請求項14】
前記中継装置が前記アクセス機能を保持すると、前記判定手段が判定したことにより、
前記中継装置のアクセス処理手段は、前記アクセス機能による通信により前記サーバ装置に対する前記アクセス処理を実行することを特徴とする請求項11に記載の中継装置。
【請求項15】
前記決定手段は、TCPレイヤ以上におけるデータフレームをブリッジするブリッジ機能、NAT(Network Address Translation)、およびSOCKSプロキシのうち少なくともいずれか1つを、前記中継装置の前記アクセス処理手段が実行することが可能な前記送信方法として決定することを特徴とする請求項14に記載の中継装置。
【請求項16】
前記通信装置および前記中継装置が前記アクセス機能を保持すると、前記判定手段が判定したことにより、
前記決定手段は、前記通信装置が保持する前記アクセス機能を特定するためのアクセス情報のバージョンと前記中継装置が保持する前記アクセス機能による通信に用いるアクセス情報のバージョンとを比較して、新しいバージョンのアクセス情報を保持する装置のアクセス処理手段に前記サーバ装置へのアクセス処理を実行させることを特徴とする請求項11乃至15のいずれか1項に記載の中継装置。
【請求項17】
前記通信装置および前記中継装置が前記アクセス機能を保持すると、前記判定手段が判定したことにより、
前記決定手段は、前記通信装置を操作するための操作手段からの操作入力の有無と、前記中継装置を操作するための操作手段からの操作入力の有無とにより、ユーザが操作している装置が前記通信装置であるか前記中継装置であるかを判定し、前記判定に従って前記ユーザが操作している装置のアクセス処理手段に前記サーバ装置へのアクセス処理を実行させることを特徴とする請求項11乃至15のいずれか1項に記載の中継装置。
【請求項18】
前記通信装置および前記中継装置が前記アクセス機能を保持すると、前記判定手段が判定したことにより、
前記決定手段は、あらかじめ設定されている優先順位に従って定められる装置のアクセス処理手段に前記サーバ装置へのアクセス処理を実行させることを特徴とする請求項11乃至15のいずれか1項に記載の中継装置。
【請求項19】
前記通信装置および前記中継装置が前記アクセス機能を保持すると、前記判定手段が判定し、かつ、前記中継装置の前記アクセス処理手段が前記アクセス処理に失敗したと判定したことにより、
前記決定手段は、アクセス処理を実行していない前記通信装置のアクセス処理手段に前記アクセス処理を実行させることを特徴とする請求項11乃至15のいずれか1項に記載の中継装置。
【請求項20】
前記通信装置および前記中継装置のうち少なくともいずれか一方が保持する前記アクセス機能を表示する表示手段と、
前記サーバ装置にデータを送信する際に使用するアクセス機能として、前記表示手段により表示された前記アクセス機能の中からいずれか1つを選択する選択手段と、を更に有することを特徴とする請求項11乃至19のいずれか1項に記載の中継装置。
【請求項21】
通信装置が中継装置に接続し、前記中継装置を介して接続するサーバ装置にデータを送信する無線通信システムであって、
前記通信装置および前記中継装置は、
前記サーバ装置とのアクセス処理を実行するためのアクセス機能を前記通信装置が保持しているか、前記中継装置が保持しているかを判定する判定手段と、
前記判定手段による判定結果に応じて、前記アクセス機能を保持している装置のアクセス処理手段に前記アクセス処理を実行させて、前記データを送信するための送信方法を決定する決定手段と、
前記決定手段で決定された前記送信方法により前記データを送信する送信手段と、
を有することを特徴とする無線通信システム。
【請求項22】
中継装置と接続し、前記中継装置を介して接続するサーバ装置にデータを送信する通信装置の制御方法であって、
前記通信装置の判定手段が、前記サーバ装置とのアクセス処理を実行するためのアクセス機能を前記通信装置が保持しているか、前記中継装置が保持しているかを判定する判定工程と、
前記通信装置の決定手段が、前記判定工程による判定結果に応じて、前記アクセス機能を保持している装置のアクセス処理手段に前記アクセス処理を実行させて、前記データを送信するための送信方法を決定する決定工程と、
前記通信装置の送信手段が、前記決定工程で決定された前記送信方法により前記データを送信する送信工程と、
を有することを特徴とする通信装置の制御方法。
【請求項23】
通信装置とサーバ装置とに接続し、前記通信装置から前記サーバ装置へのデータの送信を中継する中継装置の制御方法であって、
前記中継装置の判定手段が、前記サーバ装置とのアクセス処理を実行するためのアクセス機能を前記通信装置が保持しているか、前記中継装置が保持しているかを判定する判定工程と、
前記中継装置の決定手段が、前記判定工程による判定結果に応じて、前記アクセス機能を保持している装置のアクセス処理手段に前記アクセス処理を実行させて、前記データを送信するための送信方法を決定する決定工程と、
前記中継装置の送信手段が、前記決定工程で決定された前記送信方法により前記データを送信する送信工程と、
を有することを特徴とする中継装置の制御方法。
【請求項24】
コンピュータに、請求項22に記載の通信装置の制御方法を実行させるためのプログラム。
【請求項25】
コンピュータに、請求項23に記載の中継装置の制御方法を実行させるためのプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate


【公開番号】特開2012−34140(P2012−34140A)
【公開日】平成24年2月16日(2012.2.16)
【国際特許分類】
【出願番号】特願2010−171176(P2010−171176)
【出願日】平成22年7月29日(2010.7.29)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】