(57)【要約】【課題】処理負荷及び通信負荷を軽減するとともに、データを直接アップロードするために要する時間を短縮する。【解決手段】通信装置１０は、外部サービス３０に対してデータが直接アップロードされる際に使用される所定の情報が一定であるか否かを判定し、所定の情報が一定である場合、中継装置２０から上位所定の情報を再度取得しない。【選択図】図１
2012173801.tif 000002
【特許請求の範囲】
【請求項１】
第１の外部装置に対してデータが直接アップロードされる際に使用される所定の情報が一定であるか否かを判定する第１の判定手段と、
前記第１の判定手段による判定結果に応じて、第２の外部装置から前記所定の情報を取得する取得手段と、
前記取得手段により取得された前記所定の情報に基づいて、前記第１の外部装置に対してデータを直接アップロードするアップロード手段とを有し、
前記取得手段は、前記第１の判定手段により前記所定の情報が一定であると判定された場合、前記第２の外部装置から前記所定の情報を再度取得しないことを特徴とする通信装置。
【請求項２】
前記第１の判定手段は、前記第１の外部装置に対する同一ログイン中において前記所定の情報が一定であるか否かを判定し、前記取得手段は、前記第１の判定手段により前記第１の外部装置に対する同一ログイン中において前記所定の情報が一定であると判定された場合、前記第２の外部装置から前記所定の情報を再度取得しないことを特徴とする請求項１に記載の通信装置。
【請求項３】
前記第１の外部装置に対してデータを直接アップロードする回数が２回目以降であるか否かを判定する第２の判定手段を更に有し、
前記取得手段は、前記第２の判定手段により前記第１の外部装置に対してデータを直接アップロードする回数が２回目以降であると判定された場合、前記第２の外部装置から前記所定の情報を再度取得しないことを特徴とする請求項１又は２に記載の通信装置。
【請求項４】
前記第１の外部装置に対して複数のデータを連続して直接アップロードするか否かを判定する第３の判定手段を更に有し、
前記取得手段は、前記第３の判定手段により前記第１の外部装置に対して複数のデータを連続して直接アップロードすると判定された場合、前記第２の外部装置から前記所定の情報を再度取得しないことを特徴とする請求項１乃至３の何れか１項に記載の通信装置。
【請求項５】
前記所定の情報は、前記第１の外部装置において認証に使用される情報であることを特徴とする請求項１乃至４の何れか１項に記載の通信装置。
【請求項６】
第１の外部装置に対してデータが直接アップロードされる際に使用される所定の情報が一定であるか否かを判定する判定ステップと、
前記判定ステップによる判定結果に応じて、第２の外部装置から前記所定の情報を取得する取得ステップと、
前記取得ステップにより取得された前記所定の情報に基づいて、前記第１の外部装置に対してデータを直接アップロードするアップロードステップとを有し、
前記取得ステップは、前記判定ステップにより前記所定の情報が一定であると判定された場合、前記第２の外部装置から前記所定の情報を再度取得しないことを特徴とする通信装置の制御方法。
【請求項７】
第１の外部装置に対してデータが直接アップロードされる際に使用される所定の情報が一定であるか否かを判定する判定ステップと、
前記判定ステップによる判定結果に応じて、第２の外部装置から前記所定の情報を取得する取得ステップと、
前記取得ステップにより取得された前記所定の情報に基づいて、前記第１の外部装置に対してデータを直接アップロードするアップロードステップとをコンピュータに実行させ、
前記取得ステップは、前記判定ステップにより前記所定の情報が一定であると判定された場合、前記第２の外部装置から前記所定の情報を再度取得しないことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、外部装置に対してデータをアップロードする技術に関するものである。
【背景技術】
【０００２】
現在、インターネット上のコンテンツ共有サービスやコミュニケーションサービス等の外部サービスにアクセスする機能を備えた携帯電話やデジタルカメラが存在する。ユーザは、これらの通信装置を用いることにより、撮像したコンテンツを外部サービスにアップロードしたり、メッセージを友人に送信することができる。
【０００３】
一方、通信装置が外部サービスに直接アクセスするのではなく、中継装置を経由してアクセスするシステムが知られている（特許文献１参照）。これにより、外部サービス間の機能やデータ形式に関する差異や、外部サービスの追加や変更に伴う更新を中継装置によって吸収することができ、通信装置への影響を防ぐことができる。
【０００４】
しかし、上述したシステムでは、通信装置が外部サービスにコンテンツをアップロードする場合も中継装置を経由するため、中継装置の処理負荷及び通信負荷が増大してしまうことがあった。そのため、通信装置が外部サービスにコンテンツをアップロードする際、外部サービスに直接アップロードすることが可能であるか否かを判断し、可能である場合、外部サービスに直接アップロードを行う方法が知られている（特許文献２参照）。
【０００５】
特許文献２に開示される技術では、通信装置は、外部サービスに直接アップロードすることが可能であると判断した場合、直接アップロードを要求する要求メッセージを作成するために必要な情報（以下、必要情報と称す）を中継装置に要求する。このとき、通信装置は、アップロードの対象となる各コンテンツに関するファイル名やファイルサイズ等のパラメタデータを中継装置に送信する。中継装置は、通信装置から受信したパラメタデータと、中継装置が管理する外部サービスに対する認証トークン情報とに基づいて必要情報を作成し、通信装置に返送する。通信装置は、中継装置から受信した必要情報に基づいて要求メッセージを作成し、外部サービスにコンテンツを直接アップロードする。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００８−２１１７３２号公報
【特許文献２】特開２０１０−１８７２１７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、上述した従来技術においては、通信装置は、外部サービスにコンテンツを直接アップロードすることが可能であると判断すると、中継装置から必要情報を毎回取得している。このように通信装置が中継装置から必要情報を毎回取得すると、中継装置は、必要情報を作成するために要する処理負荷、及び、必要情報を通信装置に送信するために要する通信負荷が増大するという問題があった。また通信装置は、中継装置から必要情報を取得するために時間を要する分、外部サービスにコンテンツを直接アップロードするにも時間を要するという問題があった。
【０００８】
そこで、本発明の目的は、処理負荷及び通信負荷を軽減するとともに、データを直接アップロードするために要する時間を短縮することにある。
【課題を解決するための手段】
【０００９】
本発明の通信装置は、第１の外部装置に対してデータが直接アップロードされる際に使用される所定の情報が一定であるか否かを判定する第１の判定手段と、前記第１の判定手段による判定結果に応じて、第２の外部装置から前記所定の情報を取得する取得手段と、前記取得手段により取得された前記所定の情報に基づいて、前記第１の外部装置に対してデータを直接アップロードするアップロード手段とを有し、前記取得手段は、前記第１の判定手段により前記所定の情報が一定であると判定された場合、前記第２の外部装置から前記所定の情報を再度取得しないことを特徴とする。
【発明の効果】
【００１０】
本発明によれば、処理負荷及び通信負荷を軽減するとともに、データを直接アップロードするために要する時間を短縮することが可能となる。
【図面の簡単な説明】
【００１１】
【図１】本発明の実施形態に係る通信システムの構成を示す図である。
【図２】通信装置のハードウェア構成を示す図である。
【図３】通信装置の機能的な構成を示す図である。
【図４】メッセージテンプレート情報のデータ構成例を示す図である。
【図５】メッセージテンプレート情報のデータ構成の具体例を示す図である。
【図６】通信装置が外部サービスに対して１回目の直接アップロードを実行する際のメッセージの送受信の例を示すシーケンスチャートである。
【図７】通信装置が外部サービスに対して２回目以降の直接アップロードを実行する際のメッセージの送受信の例を示すシーケンスチャートである。
【図８】通信装置が外部サービスに対してログインする際に実行する処理を示すフローチャートである。
【図９】通信装置が外部サービスに対してコンテンツを直接アップロードする際に実行する処理を示すフローチャートである。
【発明を実施するための形態】
【００１２】
以下、本発明を適用した好適な実施形態を、添付図面を参照しながら詳細に説明する。
【００１３】
図１は、本発明の実施形態に係る通信システムの構成を示す図である。携帯電話やデジタルカメラである通信装置１０は、静止画データ及び動画データを記憶する機能と通信機能とを備えている。通信装置１０の具体例としては、携帯電話、スマートフォン、デジタルカメラ、デジタルビデオカメラ、ＰＣ、ノートＰＣ等が挙げられる。
【００１４】
通信装置１０は、中継装置２０と外部サービス３０との間で、ＨＴＴＰ（Hypertext Transfer Protocol）通信が可能である。また通信装置１０は、中継装置２０が提供する外部サービス中継機能を利用するため、ＨＴＴＰに基づく中継プロトコル制御機能を備えている。
【００１５】
なお、本実施形態では、外部サービス３０へのアップロード対象として静止画データ、動画データを利用するが、これに限らず、音声データ、ファイル、メール、メッセージ等のデジタルデータにも適用可能である。また、本実施形態においては、通信装置１０は、中継装置２０及び外部サービス３０との間でＨＴＴＰ通信が可能であるが、これに限らず、その他の通信プロトコルによる通信にも適用可能である。例えば、ＦＴＰ（File Transfer Protocol）、ＸＭＰＰ（eXtensible Messaging and Presence Protocol）、ＳＩＰ（Session Initiation Protocol）等にも適用可能である。さらに、通信装置１０と中継装置２０との間、通信装置１０と外部サービス３０との間で通信プロトコルはそれぞれ異なっていてもよい。
【００１６】
中継装置２０は、通信装置１０と外部サービス３０との間のアクセスを中継する。中継装置２０の具体例としては、サーバ、ＰＣ、ノートＰＣ、携帯電話、スマートフォン、セットトップボックス等が挙げられる。中継装置２０は、通信装置１０に対して外部サービス中継機能を提供するため、ＨＴＴＰに基づく中継プロトコル制御機能を備えている。また中継装置２０は、外部サービス３０が提供する機能を利用するため、外部サービス３０に関するＨＴＴＰに基づくプロトコル制御機能を備える。また図示しないが、外部サービス３０は複数存在するため、中継装置２０は外部サービス３０毎にプロトコル制御機能を備えている。なお、本実施形態では、ＨＴＴＰに基づく中継プロトコルを利用したが、上述したようにこれに限らず、ＨＴＴＰ以外の通信プロトコルを利用してもよい。
【００１７】
外部サービス３０は、コンテンツアップロード機能を提供するサービスである。外部サービス３０の具体例としては、ＤＬＮＡ（Digital Living Network Alliance）のメディアサーバ等が挙げられる。外部サービス３０は、通信装置１０又は中継装置２０に対してコンテンツアップロード機能を提供するため、ＨＴＴＰに基づくプロトコル制御機能を備えている。また図示しないが、外部サービス３０は複数存在し、外部サービス毎にそれぞれプロトコルが異なる。しかし、これらのプロトコルは全てＨＴＴＰに基づくため、ＨＴＴＰメッセージの送受信が可能であれば、外部サービス３０が提供するコンテンツアップロード機能を利用することが可能となる。なお、外部サービス３０は第１の外部装置、中継装置２０は第２の外部装置に適用例である。
【００１８】
ネットワーク４０は、通信装置１０、中継装置２０及び外部サービス３０を接続するネットワークである。ネットワーク４０の具体例としては、有線ＬＡＮ（Local Area Network）、無線ＬＡＮ、ＷＡＮ（Wide Area Network）、インターネット等が挙げられる。
【００１９】
図２は、通信装置１０のハードウェア構成を示す図である。ＣＰＵ（Central Processing Unit）２０１は、通信装置１０全体を制御する。ＲＯＭ（Read Only Memory）２０２は、変更を必要としないプログラムやパラメタを格納する。ＲＡＭ（Random Access Memory）２０３は、補助記憶装置２０４等から供給されるプログラムやデータを一時的に記憶する。補助記憶装置２０４は、静止画データや動画データ等のコンテンツ、中継装置２０から取得したメッセージテンプレート情報等を記憶する。補助記憶装置２０４の具体例としては、メモリカード、ハードディスク等が挙げられる。表示部２０５は、ユーザが通信装置１０を操作するためのＧＵＩ（Graphical User Interface）を表示する。操作部２０６は、ユーザが通信装置１０を操作するための入力インタフェースである。通信インタフェース部２０７は、ネットワーク４０に接続するためのインタフェースである。
【００２０】
図３は、通信装置１０の機能的な構成を示す図である。通信制御部３０１は、通信インタフェース部２０７を制御し、ネットワーク４０との通信制御を行う。表示制御部３０２は、表示部２０５を制御し、通信装置１０におけるＧＵＩの表示制御を行う。操作制御部３０３は、操作部２０６を制御し、通信装置１０におけるユーザからの操作入力を受け付ける。記憶制御部３０４は、補助記憶装置２０４を制御し、静止画データや動画データ等のコンテンツを記憶する。また記憶制御部３０４は、通信装置１０において管理されるメッセージテンプレート情報を記憶する。
【００２１】
制御部３０５は、通信装置１０の機能的な構成３０１〜３１２全体の制御を行う。中継装置アクセス制御部３０６は、中継装置２０との通信接続を制御する。また、中継装置アクセス制御部３０６は、中継装置２０が提供する外部サービス中継機能を利用するため、中継プロトコルの要求メッセージを作成し、通信制御部３０１を介して中継装置２０に送信する。そして、中継装置アクセス制御部３０６は、中継装置２０からの応答メッセージを通信制御部３０１を介して受信し、中継装置２０における処理結果を解析する。
【００２２】
なお、上述した中継装置２０が提供する外部サービス中継機能とは、後述する、外部サービス情報取得機能、メッセージテンプレート情報取得機能及び外部サービスログイン機能等である。即ち、中継装置アクセス制御部３０６は、中継プロトコルにおけるこれらの機能に関する要求メッセージの作成及び応答メッセージの解析を行う。中継装置アクセス制御部３０６は、上述した機能に関する要求メッセージの作成及び応答メッセージの解析を行うが、これに限らず、これらを実現する機能の組み合わせでも実施可能である。
【００２３】
直接アップロード判断部３０７は、通信装置１０が外部サービス３０にコンテンツを直接アップロードすることが可能であるか否かを判断する。直接アップロード判断部３０７は、直接アップロードすることが可能であるか否かを判断するために、中継装置アクセス制御部３０６によって中継装置２０の外部サービス情報取得機能を利用し、外部サービス３０に関する情報である外部サービス情報を取得する。外部サービス情報には、直接アップロードすることが可能であるか否かを示す直接アップロード可否情報が記述されている。直接アップロード判断部３０７は、直接アップロード可否情報を参照することにより、直接アップロードすることが可能であるか否かを判断する。
【００２４】
アップロード回数判断部３０８は、外部サービス３０にコンテンツを直接アップロードした回数をカウントする。本実施形態においては、中継装置アクセス制御部３０６が中継装置２０の外部サービスログイン機能を利用し、通信装置１０が外部サービス３０にログインした後から直接アップロードのカウントを開始するものとする。
【００２５】
上述したように、本実施形態では、直接アップロードのカウントを通信装置１０が外部サービス３０にログインした後から開始するが、これに限らない。例えば、通信装置１０が外部サービス３０からログアウトした後、アップロード回数判断部３０８は、それまでのカウント回数を記憶制御部３０４を介して補助記憶装置２０４に記憶させる。そして、通信装置１０が外部サービス３０に次回ログインすると、アップロード回数判断部３０８は、補助記憶装置２０４からカウント回数を取得し、そのカウント回数からカウントを再開するようにしてもよい。
【００２６】
認証トークン情報判断部３０９は、中継装置２０から取得されたメッセージテンプレート情報に記述される外部サービス認証トークン情報を参照する。そして、認証トークン情報判断部３０９は、外部サービス認証トークン情報に記述される認証トークン種別情報を参照することにより、外部サービス認証トークン情報が外部サービス３０に対する同一ログイン中において一定であるか否かを判断する。
【００２７】
なお、本実施形態では、認証トークン情報判断部３０９は、認証トークン情報が同一ログイン中において一定であるか否かを判断したが、これに限らない。例えば、認証トークン情報判断部３０９は、外部サービス３０に対してログインしているか、ログアウトしているかに関わらず、認証トークン情報が一定であるか否かを判断してもよい。また、認証トークン情報判断部３０９は、外部サービス３０にコンテンツが直接アップロードされる度に、認証トークン情報の更新が必要であるか否かを判断してもよい。
【００２８】
連続アップロード判断部３１０は、外部サービス３０にコンテンツを直接アップロードする際、複数のコンテンツを連続アップロードするか否かを判断する。複数のコンテンツを連続アップロードするか否かを判断するために、連続アップロード判断部３１０は、通信装置１０のユーザがアップロード対象として選択したコンテンツの数を取得する。ユーザが選択したコンテンツの数が所定の数以上である場合、連続アップロード判断部３１０は、複数のコンテンツを連続アップロードすると判断する。一方、ユーザが選択したコンテンツの数が所定の数未満である場合、連続アップロード判断部３１０は、複数のコンテンツを連続アップロードしないと判断する。
【００２９】
なお、本実施形態では、連続アップロード判断部３１０は、ユーザが選択したコンテンツの数によって連続アップロードを実行するか否かを判断したが、これに限らない。例えば、データサイズの大きなコンテンツを分割してアップロードする場合、連続アップロード判断部３１０は、連続アップロードを実行すると判断してもよい。
【００３０】
メッセージテンプレート情報取得部３１１は、中継装置アクセス制御部３０６が中継装置２０のメッセージテンプレート情報取得機能を利用し、メッセージテンプレート情報を取得する。直接アップロード制御部３１２は、ユーザによって指定されたコンテンツを外部サービス３０に直接アップロードする。また直接アップロード制御部３１２は、外部サービス３０にコンテンツを直接アップロードするために、メッセージテンプレート情報取得部３１１によって取得されたメッセージテンプレート情報に基づいて、直接アップロードを要求するためのメッセージ（以下、直接アップロード要求メッセージと称す）を作成する。そして直接アップロード制御部３１２は、通信制御部３０１を介して、外部サービス３０に直接アップロード要求メッセージを送信する。
【００３１】
直接アップロード制御部３１２は、通信制御部３０１が受信した外部サービス３０からの直接アップロード要求メッセージに対する応答メッセージ（以下、直接アップロード応答メッセージと称す）を取得する。次に、直接アップロード制御部３１２は、メッセージテンプレート情報に基づいて直接アップロード応答メッセージを解析し、直接アップロードの結果を判断する。
【００３２】
図４は、本実施形態におけるメッセージテンプレート情報のデータ構成例を示す図である。図４に示すように、メッセージテンプレート情報４００は、外部サービス認証トークン情報４０１、外部サービス設定情報４０２、外部サービス要求ライン情報４０３、外部サービス要求ヘッダ情報４０４、外部サービス要求ボディ情報４０５、外部サービス応答ライン情報４０６、外部サービス応答ヘッダ情報４０７及び外部サービス応答ボディ情報４０８を含む。
【００３３】
外部サービス認証トークン情報４０１は、外部サービス３０に対するログイン時、外部サービス３０が発行する認証トークン（又は、セッションＩＤ）に関する情報であって、認証トークン情報、認証トークン種別情報等が記述される。認証トークン種別情報には、「一定」、「ログイン中一定」、「一回のみ」が記述される。このように認証トークン種別情報に「一定」、「ログイン中一定」、「一回のみ」を記述することにより、認証トークン情報の種別を識別可能にしている。但し、これに限らず、認証トークン情報中に属性情報を付与することによって、認証トークン情報の種別を識別可能にしてもよい。なお、「一定」は認証トークン情報が常に一定であることを表し、「ログイン中一定」は同一ログイン中において認証トークン情報が一定であることを表し、「一回のみ」は一回のコンテンツのアップロード毎に認証トークン情報が変化することを表している。
【００３４】
外部サービス設定情報４０２は、外部サービス３０における通信装置１０のユーザに関する設定情報である。外部サービス設定情報４０２の例としては、外部サービス３０に対する直接アップロード時におけるアップロード先のアルバム情報等が挙げられる。
【００３５】
外部サービス要求ライン情報４０３は、外部サービス３０に対する要求メッセージにおけるＨＴＴＰの要求ライン部に関する情報である。即ち、外部サービス要求ライン情報４０３には、ＨＴＴＰメソッド情報、外部サービス３０のＵＲＩ（Uniform Resource Identifier）情報、ＨＴＴＰバージョン情報等が記述される。
【００３６】
外部サービス要求ヘッダ情報４０４は、外部サービス３０に対する要求メッセージにおけるＨＴＴＰの要求ヘッダ部に関する情報である。即ち、外部サービス要求ヘッダ情報４０４には、外部サービス３０のホスト情報、外部サービス要求ボディ情報４０５のＭＩＭＥ（Multipurpose Internet Mail Extension）タイプ情報等が記述される。
【００３７】
外部サービス要求ボディ情報４０５は、外部サービス３０に対する要求メッセージにおけるＨＴＴＰの要求ボディ部に関する情報である。即ち、外部サービス要求ヘッダ情報４０４には、コンテンツメタデータ、要求メッセージ中の要求ボディ部へのコンテンツデータの指定方法等が記述される。
【００３８】
外部サービス応答ライン情報４０６は、外部サービス３０からの応答メッセージにおけるＨＴＴＰの応答ライン部に関する情報である。即ち、外部サービス応答ライン情報４０６には、ＨＴＴＰバージョン情報、応答ステータス情報、理由フレーズ情報、外部サービス３０における処理結果の解析方法等が記述される。
【００３９】
外部サービス応答ヘッダ情報４０７は、外部サービス３０からの応答メッセージにおけるＨＴＴＰの応答ヘッダ部に関する情報である。即ち、外部サービス応答ヘッダ情報４０７には、外部サービス応答ボディ情報４０８のＭＩＭＥタイプ情報、外部サービス３０における処理結果の解析方法等が記述される。
【００４０】
外部サービス応答ボディ情報４０８は、外部サービス３０からの応答メッセージにおけるＨＴＴＰの応答ボディ部に関する情報である。即ち、外部サービス応答ボディ情報４０８には、応答メッセージ中の応答ボディ部のコンテンツメタデータに関する解析方法等が記述されている。
【００４１】
図５は、本実施形態におけるメッセージテンプレート情報のデータ構成の具体例を示す図である。即ち、ｍｅｓｓａｇｅＴｅｍｐｌａｔｅ要素５００は、図４のメッセージテンプレート情報４００に対応する。ｓｅｒｖｉｃｅＡｕｔｈＴｏｋｅｎ要素５０１は、図４の外部サービス認証トークン情報４０１に対応する。ｋｉｎｄ要素は、外部サービス認証トークン情報に記述される認証トークン種別情報に対応する。この属性値であるｆｉｘｅｄＬｏｇｉｎは、「ログイン中一定」を示している。ｓｅｒｖｉｃｅＳｅｔｔｉｎｇ要素５０２は、図４の外部サービス設定情報４０２に対応する。ｒｅｑｕｅｓｔＬｉｎｅ要素５０３は、図４の外部サービス要求ライン情報４０３に対応する。ｒｅｑｕｅｓｔＨｅａｄｅｒ要素５０４は、図４の外部サービス要求ヘッダ情報４０４に対応する。ｒｅｑｕｅｓｔＢｏｄｙ要素５０５は、図４の外部サービス要求ボディ情報４０５に対応する。本実施形態において、要求メッセージ中の要求ボディ部へのコンテンツの指定は、ｒｅｑｕｅｓｔＢｏｄｙ要素５０５の要素値に含まれる記号「＆ｌｔ；％  ｆｉｌｅ  ％＆ｇｔ；」によって行う。つまり、本実施形態では、この要素値の出現箇所が実際にアップロードされるコンテンツで置き換えられる。
【００４２】
なお、本実施形態では、上述した方法によってコンテンツの置換位置を指定したが、これに限らず、他の記号を利用する、属性を利用する等によっても、コンテンツの置換位置を指定することができる。
【００４３】
ｒｅｓｐｏｎｓｅＬｉｎｅ要素５０６は、図４の外部サービス応答ライン情報４０６に対応する。ｒｅｓｐｏｎｓｅＨｅａｄｅｒ要素５０７は、図４の外部サービス応答ヘッダ情報４０７に対応する。ｒｅｓｐｏｎｓｅＢｏｄｙ要素５０８は、図４の外部サービス応答ボディ情報４０８に対応する。
【００４４】
図６は、通信装置１０が外部サービス３０に対して１回目の直接アップロードを実行する際のメッセージの送受信の例を示すシーケンスチャートである。
【００４５】
Ｍ６０１において、通信装置１０は、外部サービス３０に関する外部サービス情報の取得を要求するためのメッセージ（以下、外部サービス情報取得要求と称す）を中継装置２０に対して送信する。Ｍ６０２において、中継装置２０は、通信装置１０から外部サービス情報取得要求を受信すると、指定された外部サービス３０に関する外部サービス情報を通信装置１０に対して送信する。Ｍ６０３において、通信装置１０は、中継装置２０から外部サービス情報を受信すると、外部サービス３０にログインを要求するためのメッセージ（以下、外部サービスログイン要求と称す）を中継装置２０に対して送信する。
【００４６】
Ｍ６０４において、中継装置２０は、通信装置１０から外部サービスログイン要求を受信すると、ログインを要求するためのメッセージ（以下、ログイン要求と称す）を外部サービス３０に対して送信する。Ｍ６０５において、外部サービス３０は、中継装置２０からログイン要求を受信すると、当該ログイン要求に対する応答メッセージ（以下、ログイン応答と称す）を中継装置２０に対して送信する。ここでは、外部サービス３０に対するログインが成功し、認証トークン情報が外部サービス３０から中継装置２０に対して送信されたものとする。Ｍ６０６において、中継装置２０は、外部サービス３０からログイン応答を受信すると、通信装置１０からの外部サービスログイン要求に対する応答メッセージ（以下、外部サービスログイン応答と称す）を通信装置１０に対して送信する。
【００４７】
Ｍ６０７において、通信装置１０は、外部サービスログイン応答を受信すると、外部サービス３０に対してコンテンツを直接アップロードすることが可能であるか否かを判断する。ここでは、直接アップロードが可能であると判断されたものとする。Ｍ６０８において、通信装置１０は、外部サービス３０にログインした後、１回目の直接アップロードであるか否かを判断する。ここでは、１回目の直接アップロードであると判断されたものとする。Ｍ６０９において、通信装置１０は、外部サービス３０に対する直接アップロードに関するメッセージテンプレート情報の取得を要求するためのメッセージ（以下、メッセージテンプレート情報取得要求と称す）を中継装置２０に対して送信する。
【００４８】
Ｍ６１０において、中継装置２０は、通信装置１０からメッセージテンプレート情報取得要求を受信すると、外部サービス３０に対する直接アップロードに関するメッセージテンプレート情報４００を作成する。即ち、中継装置２０は、Ｍ６０５において外部サービス３０から取得した認証トークン情報を、メッセージテンプレート情報４００の外部サービス認証トークン情報４０１内に記述する。また中継装置２０は、この認証トークン情報に基づいて、外部サービス認証トークン情報４０１内に認証トークン種別情報を記述する。ここ記述される認証トークン種別情報は「ログイン中一定」であるものとする。
【００４９】
Ｍ６１１において、中継装置２０は、作成したメッセージテンプレート情報４００を通信装置１０に対して送信する。Ｍ６１２において、通信装置１０は、中継装置２０からメッセージテンプレート情報４００を受信すると、当該メッセージテンプレート情報４００を使用して、外部サービス３０に対する直接アップロード要求メッセージを作成する。Ｍ６１３において、通信装置１０は、直接アップロード要求メッセージを含むメッセージ（以下、直接アップロード要求と称す）を外部サービス３０に対して送信する。Ｍ６１４において、外部サービス３０は、通信装置１０から直接アップロード要求を受信すると、直接アップロード要求に対応する応答メッセージ（以下、直接アップロード応答と称す）を通信装置１０に送信する。Ｍ６１５において、通信装置１０は、外部サービス３０から直接アップロード応答を受信すると、メッセージテンプレート情報４００に基づいて、直接アップロード応答に含まれる直接アップロード応答メッセージを解析する。
【００５０】
図７は、通信装置１０が外部サービス３０に対して２回目以降の直接アップロードを実行する際のメッセージの送受信の例を示すシーケンスチャートである。
【００５１】
Ｍ７０１において、通信装置１０は、外部サービス３０に対してコンテンツを直接アップロードすることが可能であるか否かを判断する。ここでは、直接アップロードが可能であると判断されたものとする。Ｍ７０２において、通信装置１０は、外部サービス３０にログインした後、１回目の直接アップロードであるか否かを判断する。ここでは、２回目以降の直接アップロードであると判断されたものとする。Ｍ７０３において、通信装置１０は、Ｍ６１１において取得したメッセージテンプレート情報４００内の外部サービス認証トークン情報４０１の認証トークン種別情報を参照し、認証トークン情報が同一ログイン中において一定であるか否かを判断する。ここでは、認証トークン情報が同一ログイン中において一定であると判断されたものとする。
【００５２】
Ｍ７０４において、通信装置１０は、外部サービス３０に対する直接アップロードの際、複数のコンテンツを連続アップロードするか否かを判断する。ここでは、複数のコンテンツを連続アップロードすると判断されたものとする。Ｍ７０５において、通信装置１０は、メッセージテンプレート情報４００に基づき、外部サービス３０に対する直接アップロード要求メッセージを作成する。Ｍ７０６において、通信装置１０は、作成した直接アップロード要求メッセージに基づき、外部サービス３０に対して直接アップロード要求を送信する。Ｍ７０７において、外部サービス３０は、通信装置１０から直接アップロード要求を受信すると、通信装置１０に対して直接アップロード応答を送信する。Ｍ７０８において、通信装置１０は、メッセージテンプレート情報４００に基づいて、直接アップロード応答に含まれる直接アップロード応答メッセージを解析する。
【００５３】
図８は、通信装置１０が外部サービス３０に対してログインする際に実行する処理を示すフローチャートである。
【００５４】
ステップＳ８０１において、中継装置アクセス制御部３０６は、通信制御部３０１を介して、中継装置２０に対して外部サービス情報取得要求を送信する。ステップＳ８０２において、中継装置アクセス制御部３０６は、通信制御部３０１を介して、中継装置２０から外部サービス情報を受信する。ステップＳ８０３において、中継装置アクセス制御部３０６は、通信制御部３０１を介して、中継装置２０に対して外部サービス３０に対する外部サービスログイン要求を送信する。ステップＳ８０４において、中継装置アクセス制御部３０６は、通信制御部３０１を介して、中継装置２０から外部サービスログイン応答を受信する。ステップＳ８０５において、アップロード回数判断部３０８は、外部サービス３０に対する直接アップロードの回数をカウントするためのカウンタを初期化する。
【００５５】
図９は、通信装置１０が外部サービス３０に対してコンテンツを直接アップロードする際に実行する処理を示すフローチャートである。
【００５６】
ステップＳ９０１において、直接アップロード判断部３０７は、ステップＳ８０２において取得した外部サービス情報に記述される直接アップロード可否情報を参照する。もし、直接アップロード可否情報に直接アップロードが可能である旨が記述されていた場合、直接アップロード判断部３０７は、通信装置１０が外部サービス３０にコンテンツを直接アップロードすることが可能と判断し、処理はステップＳ９０３に移行する。一方、直接アップロード可否情報に直接アップロードすることが不可である旨が記述されていた場合、直接アップロード判断部３０７は、直接アップロードすることが不可と判断し、処理はステップＳ９０２に移行する。
【００５７】
ステップＳ９０２において、中継装置アクセス制御部３０６は、中継装置２０に対してコンテンツをアップロードを要求するためのメッセージ（以下、中継アップロード要求と称す）を送信する。そして、中継装置アクセス制御部３０６は、通信制御部３０１を介して、中継アップロード要求に対する応答メッセージを中継装置２０から受信し、処理は終了する。
【００５８】
ステップＳ９０３において、アップロード回数判断部３０８は、外部サービス３０に対するコンテンツの直接アップロードの回数を確認する。もし、直接アップロードの回数が初回（１回目）である場合、処理はステップＳ９０４に移行する。一方、直接アップロードの回数が２回目以降である場合、処理はステップＳ９０５に移行する。なお、ステップＳ９０３は第２の判定手段の処理例である。
【００５９】
ステップＳ９０４において、メッセージテンプレート情報取得部３１１は、中継装置アクセス制御部３０６を介して、中継装置２０に対してメッセージテンプレート情報取得要求を送信する。そして、メッセージテンプレート情報取得部３１１は、中継装置２０からメッセージテンプレート情報４００を取得する。
【００６０】
ステップＳ９０５において、認証トークン情報判断部３０９は、取得済みのメッセージテンプレート情報４００に記述される外部サービス認証トークン情報４０１の認証トークン種別情報を参照する。そして認証トークン情報判断部３０９は、認証トークン種別情報が「一定」又は「ログイン中一定」を示しているか否かを判定する。認証トークン種別情報が「一定」又は「ログイン中一定」を示している場合、認証トークン情報判断部３０９は、同一ログイン中において認証トークン情報が一定であると判断し、処理はステップＳ９０６に進む。一方、認証トークン種別情報が「一定」又は「ログイン中一定」を示していない場合（本実施形態では、「一回のみ」を示している場合）、認証トークン情報判断部３０９は、同一ログイン中において認証トークン情報が一定ではないと判断し、処理はステップＳ９０４に進む。なお、ステップＳ９０５は第１の判定手段の処理例である。
【００６１】
ステップＳ９０６において、連続アップロード判断部３１０は、ユーザによってアップロード対象として選択されたコンテンツの数を操作制御部３０３から取得し、複数のコンテンツを連続アップロードするか否かを判断する。選択されたコンテンツの数が所定の数以上である場合、連続アップロード判断部３１０は、当該選択されたコンテンツを連続アップロードすると判断し、処理はステップＳ９０７に進む。一方、選択されたコンテンツ数が所定の数未満である場合、連続アップロード判断部３１０は、当該選択されたコンテンツを連続アップロードしないと判断し、処理はステップＳ９０４に進む。なお、ステップＳ９０６は第３の判定手段の処理例である。
【００６２】
ステップＳ９０７において、直接アップロード制御部３１２は、メッセージテンプレート情報４００に基づいて、直接アップロード要求メッセージを作成する。ステップＳ９０８において、直接アップロード制御部３１２は、直接アップロード要求メッセージを含む直接アップロード要求を、通信制御部３０１を介して外部サービス３０に対して送信する。ステップＳ９０９において、直接アップロード制御部３１２は、外部サービス３０からの直接アップロード応答を、通信制御部３０１を介して取得する。そして、直接アップロード制御部３１２は、メッセージテンプレート情報４００に基づいて、取得した直接アップロード応答に含まれる直接アップロード応答メッセージを解析し、直接アップロードの結果を判断する。
【００６３】
以上説明したように、通信装置１０は、外部サービス３０への直接アップロードの際、メッセージテンプレート情報４００内の外部サービス認証トークン情報４０１に記述される認証トークン情報が同一ログイン中において一定であるか否かを判断する。もし、同一ログイン中において認証トークン情報が一定である場合、通信装置１０は、同一ログイン中にはメッセージテンプレート情報４００を中継装置２０より再度取得しない。
【００６４】
これにより、中継装置２０においては、メッセージテンプレート情報４００を作成するために要する処理負荷、及び、メッセージテンプレート情報４００を通信装置１０に送信するために要する通信負荷を軽減することができる。また、通信装置１０においては、外部サービス３０への直接アップロードに要する時間を短縮することができるため、ユーザの利便性が向上する。
【００６５】
さらに、通信装置１０は、外部サービス３０に対するログイン後、１回目の直接アップロードであるか否かを判断している。直接アップロードの回数が１回目である場合、ログイン後、認証トークン情報が外部サービス３０から新規に発行されるため、通信装置１０は中継装置２０からメッセージテンプレート情報４００を取得する。一方、直接アップロードの回数が２回目以降である場合、１回目に取得したメッセージテンプレート情報４００中の外部サービス認証トークン情報４０１に記述される認証トークン情報は一定である。そのため、通信装置１０は中継装置２０からメッセージテンプレート情報４００を再度取得しない。
【００６６】
このように、通信装置１０は好適なタイミングで中継装置２０からメッセージテンプレート情報４００を取得するため、外部サービス３０に対するコンテンツの直接アップロード時における処理速度を向上させることができる。
【００６７】
さらに、通信装置１０は、外部サービス認証トークン情報４０１の認証トークン種別情報に基づいて、外部サービス３０に対するログイン、ログアウトに関わらず認証トークン情報が一定であるか否かを判断してもよい。もし、ログイン、ログアウトに関わらず認証トークン種別が一定であれば、通信装置１０は、メッセージテンプレート情報４００を補助記憶装置２０４に記憶する。そして通信装置１０は、次回の外部サービス３０に対するログインの際、メッセージテンプレート情報４００を中継装置２０からではなく、補助記憶装置２０４から取得するようにする。
【００６８】
これにより、中継装置２０においては、メッセージテンプレート情報４００を作成するために要する処理負荷、及び、メッセージテンプレート情報４００を通信装置１０に送信するために要する通信負荷をさらに軽減することができる。また、通信装置１０においては、外部サービス３０への直接アップロードに要する時間をさらに短縮することができるため、ユーザの利便性が向上する。
【００６９】
また、本実施形態においては、通信装置１０は、メッセージテンプレート情報４００中の外部サービス認証トークン情報４０１に記述される認証トークン情報が同一ログイン中において一定であるか否かを判断したが、これに限らない。即ち、通信装置１０は、メッセージテンプレート情報４００中の４０２〜４０８のいずれかに記述される情報が同一ログイン中において一定、又は、ログイン、ログアウトに関わらず一定であるか否かを判断してもよい。もし、メッセージテンプレート情報４００中の４０２〜４０８のいずれかに記述される情報が同一ログイン中において一定、又は、ログイン、ログアウトに関わらず一定である場合、通信装置１０は、メッセージテンプレート情報４００を再度取得しないようにする。
【００７０】
さらに、中継装置２０は、メッセージテンプレート情報４００を作成する際、外部サービス３０に対するコンテンツの直接アップロードの度に動的に可変となる部分（文字列）に対して、記号等を用いて識別可能にしてもよい。このとき、通信装置１０は、メッセージテンプレート情報４００中の上記記号の存在の有無を確認し、上記記号が存在すれば、静的に一定でない部分が存在すると判断して、メッセージテンプレート情報４００を中継装置２０より再度取得する。一方、上記記号が存在しなければ、通信装置１０は、取得したメッセージテンプレート情報４００は静的に一定であると判断として、再度取得しない。例えば、通信装置１０と外部サービス３０との間でデータ形式の異なる情報がメッセージテンプレート情報４００中に存在する場合、当該情報を中継装置２０において変換する必要がある。この場合、中継装置２０は、メッセージテンプレート情報４００中の当該情報に対して上記記号を付与し、通信装置１０に対してメッセージテンプレート情報４００の再取得を促す。
【００７１】
これにより、通信装置１０は、外部サービス認証トークン情報４０１以外の任意の情報に対しても、本実施形態の効果を得ることが可能となり、通信装置１０の汎用性、拡張性が向上する。さらに、通信装置１０は、様々なデータ形式をもつ複数の外部サービスに対しても、本実施形態の効果を得ることが可能となり、対応する外部サービスの増加によるユーザの利便性が向上する。
【００７２】
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【符号の説明】
【００７３】
１０：通信装置、２０：中継装置、３０：外部サービス、４０：ネットワーク、３０１：通信制御部、３０２：表示制御部、３０３：操作制御部、３０４：記憶制御部、３０５：制御部、３０６：中継装置アクセス制御部、３０７：直接アップロード判断部、３０８：アップロード回数判断部、３０９：認証トークン情報判断部、３１０：連続アップロード判断部、３１１：メッセージテンプレート情報取得部、３１２：直接アップロード制御部
【図１】
2012173801.tif 000003
【図２】
2012173801.tif 000004
【図３】
2012173801.tif 000005
【図４】
2012173801.tif 000006
【図５】
2012173801.tif 000007
【図６】
2012173801.tif 000008
【図７】
2012173801.tif 000009
【図８】
2012173801.tif 000010
【図９】
2012173801.tif 000011