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