(57)【要約】【課題】データ転送を管理するサーバ装置における処理負荷を軽減することを目的とする。【解決手段】コンテンツの送信装置と、コンテンツを管理するサーバ装置と、コンテンツの受信装置とを有する情報処理システムであって、送信装置は、送信対象のコンテンツのデータサイズが閾値未満の場合に、コンテンツをサーバ装置に送信し、送信対象のコンテンツのデータサイズが閾値以上の場合に、コンテンツを受信装置に送信する送信手段を有し、受信装置は、データサイズが閾値未満のコンテンツをサーバ装置から受信し、データサイズが閾値以上のコンテンツを送信装置から受信する受信手段を有する。【選択図】図５
2018151961.tif 000002
【特許請求の範囲】
【請求項１】
コンテンツの送信装置と、前記コンテンツを管理するサーバ装置と、コンテンツの受信装置とを有する情報処理システムであって、
前記送信装置は、送信対象のコンテンツのデータサイズが閾値未満の場合に、前記コンテンツを前記サーバ装置に送信し、送信対象のコンテンツのデータサイズが閾値以上の場合に、前記コンテンツを前記受信装置に送信する送信手段を有し、
前記受信装置は、前記データサイズが閾値未満の前記コンテンツを前記サーバ装置から受信し、前記データサイズが閾値以上の前記コンテンツを前記送信装置から受信する受信手段を有することを特徴とする情報処理システム。
【請求項２】
前記送信装置の前記送信手段は、前記データサイズが閾値以上のコンテンツを前記受信装置に送信できない場合に、前記データサイズが閾値以上のコンテンツを、前記サーバ装置に送信し、
前記受信装置の前記受信手段は、前記データサイズが閾値以上のコンテンツを前記サーバ装置から受信することを特徴とする請求項１に記載の情報処理システム。
【請求項３】
前記受信装置は、
前記データサイズが閾値以上のコンテンツの取得リクエストを前記送信装置に送信する第１の送信手段と、
前記受信手段が前記取得リクエストに応じたコンテンツを受信しない場合に、前記サーバ装置に前記送信装置との通信に失敗したことを示す情報を送信する第２の送信手段と
を有し、
前記送信装置は、前記サーバ装置から前記送信装置との通信に失敗したことを示す情報を受信した場合に、前記データサイズが閾値以上のコンテンツを前記受信装置に送信できないと判定する判定手段をさらに有することを特徴とする請求項２に記載の情報処理システム。
【請求項４】
前記送信手段は、前記コンテンツのデータサイズが閾値以上の場合に、前記コンテンツを示す情報で前記コンテンツに比べてデータサイズの小さい小コンテンツを、前記サーバ装置に送信し、
前記受信手段は、前記小コンテンツを前記サーバ装置から受信することを特徴とする請求項１乃至３の何れか１項に記載の情報処理システム。
【請求項５】
前記送信装置は、
前記データサイズが閾値以上のコンテンツの送信先を前記送信装置に決定し、前記データサイズが閾値未満のコンテンツの送信先をサーバ装置に決定する決定手段と、
前記決定手段により決定された送信先と前記コンテンツとを対応付けたリストを作成する作成手段と
をさらに有し、
前記送信装置の前記送信手段は、前記リストを前記サーバ装置に送信し、
前記受信装置の前記受信手段は、前記リストを前記サーバ装置から受信し、
前記受信装置は、前記リストに示される、前記受信装置が前記送信先として指定されたコンテンツの取得リクエストを前記送信装置に送信する送信手段をさらに有し、
前記送信装置の前記送信手段は、前記取得リクエストに係るコンテンツを前記送信装置に送信することを特徴とする請求項１に記載の情報処理システム。
【請求項６】
前記受信装置の前記受信手段は、前記リストに示される、前記サーバ装置が送信先として指定されたコンテンツを前記サーバ装置から受信することを特徴とする請求項５に記載の情報処理システム。
【請求項７】
前記送信装置は、前記コンテンツを前記受信装置に送信する前に、前記送信装置と前記受信装置の通信が可能か否かを確認する確認手段をさらに有し、
前記送信装置の前記送信手段は、前記受信装置との通信が可能な場合に、前記データサイズが閾値以上の前記送信対象のコンテンツを前記受信装置に送信することを特徴とする請求項１に記載の情報処理システム。
【請求項８】
前記送信装置の前記送信手段は、前記受信装置との通信が不可能な場合には、前記データサイズが閾値以上の前記送信対象のコンテンツを、前記サーバ装置に送信することを特徴とする請求項７に記載の情報処理システム。
【請求項９】
受信装置に対し、コンテンツを送信する送信装置であって、
前記受信装置への送信対象のコンテンツのデータサイズが閾値未満の場合に、前記コンテンツをサーバ装置に送信し、送信対象のコンテンツのデータサイズが閾値以上の場合に、前記コンテンツを前記受信装置に送信する送信手段を有することを特徴とする送信装置。
【請求項１０】
コンテンツの送信装置と、前記コンテンツを管理するサーバ装置と、コンテンツの受信装置とを有する情報処理システムが実行する情報処理方法であって、
前記送信装置が、送信対象のコンテンツのデータサイズが閾値未満の場合に、前記コンテンツを前記サーバ装置に送信し、送信対象のコンテンツのデータサイズが閾値以上の場合に、前記コンテンツを前記受信装置に送信する送信ステップと、
前記受信装置が、前記データサイズが閾値未満の前記コンテンツを前記サーバ装置から受信し、前記データサイズが閾値以上の前記コンテンツを前記送信装置から受信する受信ステップと
を含むことを特徴とする情報処理方法。
【請求項１１】
受信装置に対し、コンテンツを送信する送信装置が実行する転送処理方法であって、
前記受信装置への送信対象のコンテンツのデータサイズが閾値未満の場合に、前記コンテンツをサーバ装置に送信し、送信対象のコンテンツのデータサイズが閾値以上の場合に、前記コンテンツを前記受信装置に送信する送信ステップを含むことを特徴とする情報処理方法。
【請求項１２】
コンピュータを、
受信装置への送信対象のコンテンツのデータサイズが閾値未満の場合に、前記コンテンツをサーバ装置に送信し、データサイズが閾値以上の場合に、前記コンテンツを前記受信装置に送信する送信手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークを経由してコンテンツを送信する情報処理システム、送信装置、情報処理方法及びプログラムに関する。
【背景技術】
【０００２】
映像データの高解像度化や高画質化が進み、映像データのデータサイズが膨大になってきている。映像データの通信はサーバ負荷が高く、その低減のための取り組みが求められている。例えば、特許文献１には、サーバに縮小画像を配置しておき、サーバを参照する画像参照端末から指定された縮小画像に該当する本画像のみを、サーバが本画像管理端末から取得して画像参照端末へ転送する技術が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００８−１４００４１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、送受信の対象となるデータは、たった１ファイルで膨大なデータサイズになる可能性もある。このため、データを一の装置から他の装置へのデータ転送を管理するサーバ装置における処理負荷も大きくなるという問題があった。
【０００５】
本発明はこのような問題点に鑑みなされたもので、データ転送を管理するサーバ装置における処理負荷を軽減することを目的とする。
【課題を解決するための手段】
【０００６】
そこで、本発明は、コンテンツの送信装置と、前記コンテンツを管理するサーバ装置と、コンテンツの受信装置とを有する情報処理システムであって、前記送信装置は、送信対象のコンテンツのデータサイズが閾値未満の場合に、前記コンテンツを前記サーバ装置に送信し、送信対象のコンテンツのデータサイズが閾値以上の場合に、前記コンテンツを前記受信装置に送信する送信手段を有し、前記受信装置は、前記データサイズが閾値未満の前記コンテンツを前記サーバ装置から受信し、前記データサイズが閾値以上の前記コンテンツを前記送信装置から受信する受信手段を有することを特徴とする。
【発明の効果】
【０００７】
本発明によれば、データ転送を管理するサーバ装置における処理負荷を軽減することができる。
【図面の簡単な説明】
【０００８】
【図１】情報処理システムの全体図である。
【図２】受信装置のハードウェア構成図である。
【図３】リストのデータ構成の一例を示す図である。
【図４】Ｐ２Ｐ情報のデータ構成の一例を示す図である。
【図５】転送処理の概略の説明図である。
【図６】送信処理を示すフローチャートである。
【図７】Ｐ２Ｐバックエンド処理を示すフローチャートである。
【図８】追加送信処理を示すフローチャートである。
【図９】Ｐ２Ｐサーバ処理を示すフローチャートである。
【図１０】映像コンテンツの受信処理を示すフローチャートである。
【図１１】仮アクセス確認処理のフローチャートである。
【図１２】Ｐ２Ｐバックエンド処理を示すフローチャートである。
【発明を実施するための形態】
【０００９】
以下、本発明の実施形態について図面に基づいて説明する。
【００１０】
（第１の実施形態）
図１は、本実施形態の情報処理システム１００の全体図である。情報処理システム１００は、サーバ装置１１０、送信装置１２０、受信装置１３０、ルータ１０３、１０４を有している。送信装置１２０と受信装置１３０は、それぞれルータ１０３、１０４を介してネットワーク１０２に接続する。サーバ装置１１０は、送信装置１２０及び受信装置１３０とネットワーク１０２を介して接続する。送信装置１２０は、映像コンテンツを記憶しており、映像コンテンツをサーバ装置１１０に送信する。サーバ装置１１０は、送信装置１２０から受信した映像コンテンツを記憶し、受信装置１３０からの要求に応じて、映像コンテンツを受信装置１３０に送信する。送信装置１２０は、一部の映像コンテンツについては、Ｐ２Ｐ通信により受信装置１３０に直接送信する。なお、送信装置１２０及び受信装置１３０は、いずれも情報処理装置の一例である。ルータ１０３、１０４は、いずれもアクセスポイント機能付きのルータである。
【００１１】
図２は、送信装置１２０のハードウェア構成図である。なお、送信装置１２０は、一般的なパーソナルコンピュータ（以下、ＰＣ）を用いて構成可能なものである。図２において、内部バス２１１に対してＣＰＵ２０１、ハードディスク（ＨＤ）２０２、メモリ２０３、表示制御部２０４、入力部２０５、ドライブ装置２０６及び通信Ｉ／Ｆ２０７が接続される。内部バス２１１に接続される各部は、内部バス２１１を介して互いにデータのやりとりを行うことができるようにされている。
【００１２】
ハードディスク２０２は、映像コンテンツやその他のデータ、ＣＰＵ２０１が動作するための各種プログラムなどが格納される。メモリ２０３は、例えばＲＡＭからなる。ＣＰＵ２０１は、例えばハードディスク２０２に格納されるプログラムに従い、メモリ２０３をワークメモリとして用いて、この送信装置１２０の各部を制御する。後述する送信装置１２０の機能や処理は、ＣＰＵ２０１がハードディスク２０２等に格納されているプログラムを読み出し、このプログラムを実行することにより実現されるものである。なお、ＣＰＵ２０１が動作するためのプログラムは、ハードディスク２０２に格納されるのに限られず、例えば図示されないＲＯＭに予め記憶しておいてもよい。
【００１３】
入力部２０５は、ユーザ操作を受け付け、操作に応じた制御信号を生成し、ＣＰＵ２０１に供給する。例えば、入力部２０５は、ユーザ操作を受け付ける入力デバイスとして、キーボードといった文字情報入力デバイスや、マウスやタッチパネルといったポインティングデバイスなどを有する。なお、タッチパネルは、例えば平面的に構成された入力部に対して接触された位置に応じた座標情報が出力されるようにした入力デバイスである。ＣＰＵ２０１は、入力デバイスに対してなされたユーザ操作に応じて入力部２０５で生成され供給される制御信号に基づき、プログラムに従いこの送信装置１２０の各部を制御する。これにより、送信装置１２０に対し、ユーザ操作に応じた動作を行わせることができる。
【００１４】
表示制御部２０４は、ディスプレイ２１０に対して画像を表示させるための表示信号を出力する。例えば、表示制御部２０４に対して、ＣＰＵ２０１がプログラムに従い生成した表示制御信号が供給される。表示制御部２０４は、この表示制御信号に基づき表示信号を生成してディスプレイ２１０に対して出力する。例えば、表示制御部２０４は、ＣＰＵ２０１が生成する表示制御信号に基づき、ＧＵＩ（Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）を構成するＧＵＩ画面をディスプレイ２１０に対して表示させる。
【００１５】
なお、入力部２０５としてタッチパネルを用いる場合、入力部２０５とディスプレイ２１０とを一体的に構成することができる。例えば、タッチパネルを光の透過率がディスプレイ２１０の表示を妨げないように構成し、ディスプレイ２１０の表示面の上層に取り付ける。そして、タッチパネルにおける入力座標と、ディスプレイ２１０上の表示座標とを対応付ける。これにより、恰もユーザがディスプレイ２１０上に表示された画面を直接的に操作可能であるかのようなＧＵＩを構成することができる。
【００１６】
ドライブ装置２０６は、ＣＤやＤＶＤといった外部記憶媒体２０８が装着可能とされ、ＣＰＵ２０１の制御に基づき、装着された外部記憶媒体２０８からのデータの読み出しや、外部記憶媒体２０８に対するデータの書き込みを行う。なお、ドライブ装置２０６が装着可能な外部記憶媒体２０８は、ＣＤやＤＶＤといったディスク記録媒体に限られず、例えばメモリカードなどの不揮発性の半導体メモリをドライブ装置２０６に装着するものとしてもよい。通信インターフェイス（Ｉ／Ｆ）２０７は、ＣＰＵ２０１の制御に基づき、ＬＡＮやインターネットといったネットワーク１０２に対する通信を行う。なお、サーバ装置１１０及び受信装置１３０のハードウェア構成は、いずれも図２を参照しつつ説明した送信装置１２０のハードウェア構成と同様である。
【００１７】
図３は、送信装置１２０による送信対象（転送対象）の映像コンテンツのリスト３００のデータ構成の一例を示す図である。リスト３００は、送信装置１２０により生成され、サーバ装置１１０に送信される。送信装置１２０は、図示しないＧＵＩをディスプレイ２１０に表示し入力部２０５をユーザが操作することで、１以上の映像コンテンツを連続再生するためにグルーピングしたアルバムを作成することができる。さらに、作成済みのアルバムが選択されると、送信装置１２０は、選択されたアルバムに所属する映像コンテンツが登録されたリストを１つのアルバムに対して１つ作成する。リスト３００には、登録された映像コンテンツに関するコンテンツ関連情報が記憶されている。コンテンツ関連情報は、「ＩＤ」、「種別」、「所属識別子」、「コンテンツ識別子」「データサイズ」、「Ｐ２Ｐ送信済みマーカ」の情報を含んでいる。
【００１８】
「種別」は、＜実データ＞と＜Ｐ２Ｐ対象＞の２種類を取り得る。＜実データ＞は、対応する映像コンテンツがサーバ装置１１０経由で受け渡しされるサーバ経由対象に設定されていることを示している。＜Ｐ２Ｐ対象＞は、対応する映像コンテンツがＰ２Ｐ通信により受信装置１３０に直接送信されるＰ２Ｐ対象に設定されていることを示している。本実施形態においては、送信装置１２０は、映像コンテンツのデータサイズが閾値未満の場合にサーバ経由対象に設定され、映像コンテンツのデータサイズが閾値未満の場合にＰ２Ｐ対象に設定されるものとする。ここで、データサイズの閾値は予め定められた値であり、例えば、１０ＭＢｙｔｅとする。このように、リストには、各映像コンテンツの送信先を示す情報が映像コンテンツに対応付けて記憶されている。
【００１９】
「所属識別子」は、＜リスト識別子＞と＜Ｐ２Ｐ情報識別子＞の２種類を取り得る。＜リスト識別子＞は、リストを一意に識別するための識別子であり、例えば、送信装置１２０のシリアルＩＤと、送信装置１２０の中で特定のリストを識別するためのユニークＩＤから構成される。＜リスト識別子＞は、サーバ装置１１０の中で特定のリストを識別するためのユニークな値となる。＜Ｐ２Ｐ情報識別子＞は、後述するＰ２Ｐ情報を特定するための情報であり、例えば、送信装置１２０のシリアルＩＤで構成される。＜Ｐ２Ｐ情報識別子＞は、サーバ装置１１０の中で特定の送信装置１２０に対応するＰ２Ｐ情報を識別するためのユニークな値となる。
【００２０】
「コンテンツ識別子」は、対応する映像コンテンツを特定するための情報である。＜実コンテンツ識別子＞は、サーバ装置１１０にアップロードされた映像コンテンツを一意に識別するための識別子でありリスト３００の中でユニークな値である。＜Ｐ２Ｐコンテンツ識別子＞は、送信装置１２０で管理される映像コンテンツを一意に識別するための識別子であり、送信装置１２０の中で映像コンテンツ個別に割り振られたユニークなＩＤである。
【００２１】
受信装置１３０は、取得したい映像コンテンツの「種別」が＜実データ＞の場合は、＜リスト識別子＞と＜実コンテンツ識別子＞を指定してサーバ装置１１０に対して映像コンテンツの取得リクエストを発行する。一方で、受信装置１３０は、取得したい映像コンテンツの「種別」が＜Ｐ２Ｐ対象＞の場合は、＜Ｐ２Ｐ情報識別子＞を指定してサーバ装置１１０からＰ２Ｐ情報を取得する。そして、受信装置１３０は、Ｐ２Ｐ情報を利用して送信装置１２０にアクセスし、＜Ｐ２Ｐコンテンツ識別子＞及び＜データサイズ＞と共に映像コンテンツの取得リクエストを発行する。
【００２２】
「データサイズ」は、対応する映像コンテンツのデータサイズを示す情報である。「データサイズ」は、送受信対象の映像コンテンツが正しいことを確認するために利用される。また、映像コンテンツの「種別」が＜Ｐ２Ｐ対象＞の場合は取得リクエストに指定することで映像コンテンツへのアクセスキーとして利用される。
【００２３】
「Ｐ２Ｐ送信済みマーカ」は、送信装置１２０から受信装置１３０へのデータ返信が完了した時点で更新される情報である。「Ｐ２Ｐ送信済みマーカ」の初期値は０であり、送信が完了すると、１に更新される。本値は、＜実データ＞の場合は使用されることはなく不定値となる。
【００２４】
図４は、送信装置１２０により生成され、サーバ装置１１０に送信されるＰ２Ｐ情報４００のデータ構成の一例を示す図である。Ｐ２Ｐ情報４００は、送信装置１２０が既存のプロトコルであるＵＰｎＰ（Ｕｎｉｖｅｒｓａｌ  Ｐｌｕｇ  ａｎｄ  Ｐｌａｙ）  ＩＧＤ（Ｉｎｔｅｒｎｅｔ  Ｇａｔｅｗａｙ  Ｄｅｖｉｃｅ）によって取得される。受信装置１３０が送信装置１２０へアクセスするためルータ１０３にてポートマッピングされた送信装置１２０のネットワーク情報である。
【００２５】
Ｐ２Ｐ情報４００は、「作成日時／更新日時」、「ＩＰアドレス」及び「ポート番号」を含んでいる。ポートマッピングされたネットワーク情報として「ＩＰアドレス」、「ポート番号」と、実際に送信装置１２０がルータ１０３から取得した日時が「作成日時／更新日時」として記録されている。ここで、本実施の形態においては、データサイズの閾値処理により映像コンテンツの種別を切り分けたが、データ種別やサーバ公開可否といった他の基準で切り分けてもよい。
【００２６】
図５は、情報処理システム１００における映像コンテンツの転送処理の概略の説明図である。転送処理は、送信装置１２０による、送信処理５０３、Ｐ２Ｐバックエンド処理５０６、追加送信処理５１１及びＰ２Ｐサーバ処理５１３を含んでいる。転送処理はさらに、受信装置１３０による受信処理５１５を含んでいる。
【００２７】
５０２は、サーバ装置１１０で管理されている情報の関連付けである。リストとＰ２Ｐ情報、送信装置１２０とＰ２Ｐ失敗フラグ、映像コンテンツ、＜リスト識別子＞及び＜実コンテンツ識別子＞が関連付けて管理されている。ここで、Ｐ２Ｐ失敗フラグとは、受信装置１３０がサーバ装置１１０から取得した情報を元にＰ２Ｐ通信を試みた結果、Ｐ２Ｐ通信に失敗している状態を示すフラグである。詳細については後述する。
【００２８】
送信処理５０３では、送信装置１２０は、受信装置１３０へ送信する映像コンテンツをサーバ経由対象とＰ２Ｐ対象に分類してリストを作成し、そのリストをサーバ装置１１０に対して送信する。送信処理５０３ではまた、Ｐ２Ｐバックエンド処理５０６によって更新される、受信装置１３０から送信装置１２０へＰ２Ｐ接続を行うために必要なＰ２Ｐ情報４００と、サーバ経由送信と判断した映像コンテンツをサーバ装置１１０に送信する。さらに、送信処理５０３では、Ｐ２Ｐ対象の映像コンテンツのＰ２Ｐ通信準備のためにリストがＰ２Ｐバックエンド処理５０６へ登録される。送信処理５０３については、図６を参照しつつ説明する。５０４は、送信処理５０３における、サーバ経由対象の映像コンテンツ、Ｐ２Ｐ情報及びリストの送信である。５０５は、Ｐ２Ｐバックエンド処理５０６へのリストの登録である。
【００２９】
Ｐ２Ｐバックエンド処理５０６では、受信装置１３０から送信装置１２０へのＰ２Ｐ接続を待機するために、Ｐ２Ｐサーバ処理５１３が開始される。また、受信装置１３０からのＰ２Ｐ接続に必要なＰ２Ｐ情報４００に変更が発生した場合に、送信装置１２０は、その変更をサーバ装置１１０に対して通知される。また、Ｐ２Ｐ通信が不可能な場合には、送信処理５０３でＰ２Ｐ送信と判断した映像コンテンツをサーバ経由送信に切り替えるために、追加送信処理５１１へリストが登録される。Ｐ２Ｐバックエンド処理５０６については、図７を参照しつつ後述する。
【００３０】
５０７は、Ｐ２Ｐバックエンド処理５０６におけるＰ２Ｐ情報の更新である。５０８は、Ｐ２Ｐバックエンド処理５０６におけるＰ２Ｐ情報の更新と、Ｐ２Ｐ失敗フラグの取得リクエストである。５１０は、Ｐ２Ｐサーバ処理５１３の開始である。５０９は、Ｐ２Ｐバックエンド処理５０６におけるリストの通知であり、この通知により追加送信処理５１１が開始される。
【００３１】
Ｐ２Ｐサーバ処理５１３は、受信装置１３０からのＰ２Ｐ接続に備えて、Ｐ２Ｐデータ受信リクエストに対応するためのサーバ処理である。Ｐ２Ｐデータ通信の対象になるのは、Ｐ２Ｐバックエンド処理５０６から通知されたリストに示される、Ｐ２Ｐ対象に分類された映像コンテンツである。この処理で、送信が完了した映像コンテンツに対し、Ｐ２Ｐ送信済みマーカが付加される。
【００３２】
５１４は、Ｐ２Ｐサーバ処理５１３における「Ｐ２Ｐ送信済みマーカ」の更新とリストの削除である。追加送信処理５１１では、リストにＰ２Ｐ送信済みマーカが付加されていない映像コンテンツが、サーバ経由による追加送信の対象となる。追加送信処理５１１については、図８を参照しつつ後述する。５１２は、追加送信処理５１１における、映像コンテンツ及びリストの送信と、サーバ装置１１０からのＰ２Ｐ失敗フラグの削除である。
【００３３】
受信装置１３０の受信処理５１５は、サーバ装置１１０からリストを受信し、リストに従い、サーバ経由もしくはＰ２Ｐ接続によって映像コンテンツを取得する処理である。受信装置１３０は、Ｐ２Ｐ接続が必要な場合はＰ２Ｐ情報を同じくサーバ装置１１０から取得し、それに従い送信装置１２０に対してＰ２Ｐ接続を試みる。受信装置１３０は、Ｐ２Ｐ接続に成功した場合は送信装置１２０に対して映像コンテンツの取得リクエストを発行し、失敗した場合はサーバ装置１１０へＰ２Ｐ失敗フラグを設定する。受信装置１３０は、Ｐ２Ｐ失敗フラグを設定した後は、サーバ経由の追加送信を受信すべく、リストが送信装置１２０からサーバ装置１１０に対して更新されるのを監視する。そして、受信装置１３０は、更新を検出したら再度更新されたリストに従いサーバから映像コンテンツの取得を行う。受信処理５１５については、図９を参照しつつ後述する。
【００３４】
５１６は、受信処理５１５におけるリスト、映像コンテンツ及びＰ２Ｐ情報４００の取得と、Ｐ２Ｐ失敗フラグの設定である。５１７は、受信処理５１５におけるＰ２Ｐ通信による映像コンテンツの取得リクエストである。
【００３５】
図６は、送信装置１２０により実行される送信処理５０３における詳細な処理を示すフローチャートである。送信処理５０３は、送信装置１２０からサーバ装置１１０へリストと＜実データ＞の映像コンテンツ、すなわちサーバ経由対象の映像コンテンツを送信（アップロード）する処理である。送信装置１２０のＣＰＵ２０１は、図示しない映像コンテンツ受け渡し先指定のＧＵＩをディスプレイ２１０に表示する。そして、入力部２０５をユーザが操作して送信したいアルバムと送信先を選択すると、ＣＰＵ２０１は、送信処理５０３を開始する。なお、送信装置１２０は、予めサーバ装置１１０に登録された受信装置１３０を映像コンテンツの送信先として指定することができる。
【００３６】
まず、Ｓ６００において、送信装置１２０のＣＰＵ２０１は、サーバ装置１１０に問い合わせることにより、サーバ装置１１０へ送信する映像コンテンツの上限サイズを取得する。次に、Ｓ６０１において、ＣＰＵ２０１は、ユーザ操作により選択されたアルバムに登録されている複数の映像コンテンツを含むリストを作成する。さらに、ＣＰＵ２０１は、Ｓ６００において取得した上限サイズ（閾値）に基づいて、リストに含まれる映像コンテンツの種別（送信先）を決定する。ＣＰＵ２０１は、閾値以上のデータサイズの映像コンテンツをＰ２Ｐ対象とし、「種別」に＜Ｐ２Ｐ対象＞を設定する。また、ＣＰＵ２０１は、閾値未満のデータサイズの映像コンテンツをサーバ経由対象とし、「種別」＜実データ＞を設定する。
【００３７】
次に、Ｓ６０２において、ＣＰＵ２０１は、リストにＰ２Ｐ対象の映像コンテンツが含まれるか否かを確認する。ＣＰＵ２０１は、Ｐ２Ｐ対象の映像コンテンツが含まれる場合には（Ｓ６０２でＹｅｓ）、処理をＳ６０３へ進める。ＣＰＵ２０１は、Ｐ２Ｐ対象の映像コンテンツが含まれない場合には（Ｓ６０２でＮｏ）、処理をＳ６０４へ進める。Ｓ６０３において、ＣＰＵ２０１は、リストをＰ２Ｐバックエンド処理５０６に登録し、その後処理をＳ６０４へ進める。
【００３８】
次に、Ｓ６０４において、ＣＰＵ２０１は、リストに含まれる映像コンテンツのうち、サーバ装置１１０への送信対象のコンテンツをサーバ装置１１０に送信する。ここで、送信対象のコンテンツは、「種別」が＜実データ＞に設定されたサーバ経由対象の映像コンテンツと、「種別」が＜Ｐ２Ｐ＞に設定されたＰ２Ｐ対象の映像コンテンツのサムネイル画像である。ここで、サムネイル画像は、映像コンテンツに比べてデータサイズの小さい画像であり、小コンテンツの一例である。
【００３９】
サーバ経由対象の映像コンテンツは、＜リスト識別子＞及び＜実コンテンツ識別子＞と共にサーバ装置１１０へ送信される。サーバ装置１１０は、これらの情報を受信すると、これらの情報を関連付けて管理する。また、Ｐ２Ｐ対象の映像コンテンツのサムネイル画像は、＜Ｐ２Ｐ情報識別子＞及び＜Ｐ２Ｐコンテンツ識別子＞と共にサーバ装置１１０へ送信される。サーバ装置１１０は、これらの情報を受信し、関連付けて管理する。なお、受信装置１３０からサーバ装置１１０へ問い合わせる場合には、リストに記載された情報を指定することにより、映像コンテンツを特定することができる。なお、送信対象のコンテンツが複数存在する場合には、ＣＰＵ２０１は、Ｓ６０４において、複数のコンテンツすべてをサーバ装置１１０に送信する。
【００４０】
次に、Ｓ６０５において、ＣＰＵ２０１は、リストにＰ２Ｐ対象の映像コンテンツが含まれているか否かを確認する。ＣＰＵ２０１は、Ｐ２Ｐ対象の映像コンテンツが含まれている場合には（Ｓ６０５でＹｅｓ）、処理をＳ６０６へ進める。ＣＰＵ２０１は、Ｐ２Ｐ対象の映像コンテンツが含まれていない場合には（Ｓ６０５でＮｏ）、処理をＳ６０８へ進める。Ｓ６０６において、ＣＰＵ２０１は、Ｐ２Ｐ情報のファイルの生成が完了しているか否かを確認する。なお、Ｐ２Ｐ情報は、Ｐ２Ｐバックエンド処理５０６において生成されるが、本処理については、後述する。ＣＰＵ２０１は、Ｐ２Ｐ情報の生成が完了していない場合には完了まで待機し、完了すると（Ｓ６０６でＹｅｓ）、処理をＳ６０７へ進める。
【００４１】
Ｓ６０７において、ＣＰＵ２０１は、Ｐ２Ｐ情報を自装置のシリアルＩＤと共に、サーバ装置１１０に送信する。サーバ装置１１０では、受信したＰ２Ｐ情報を、送信装置１２０と関連付けて管理する。サーバ装置１１０は、Ｐ２Ｐ情報に示される「作成日時／更新日時」を確認し、最も新しい日時のもののみを保持するようにする。次に、Ｓ６０８において、ＣＰＵ２０１は、リストをサーバ装置１１０に送信する。なお、受信装置１３０は、このリストがサーバ装置１１０に記憶されていることを条件に、受信処理５１５を開始する。以上で、送信処理５０３が完了する。
【００４２】
なお、本実施形態においては、映像コンテンツの種別を設定する際に参照する上限サイズをサーバ装置１１０から取得することとしたが、上限サイズは、自装置のハードディスク２０２等に予め設定されているものとしてもよい。
【００４３】
また、本実施形態においては、送信装置１２０は、Ｐ２Ｐを行うためにポートマッピングの仕組みを使用する例として、Ｐ２Ｐ情報の生成にＩｎｔｅｒｎｅｔ  Ｇａｔｅｗａｙ  Ｄｅｖｉｃｅを使用することとする。ただし、異なる仕組みのＰ２Ｐ通信を行う場合には、それに適した情報をＰ２Ｐ情報に登録することで対処できる。
【００４４】
図７は、送信装置１２０により実行されるＰ２Ｐバックエンド処理５０６における詳細な処理を示すフローチャートである。Ｐ２Ｐバックエンド処理５０６は、受信装置１３０へ映像コンテンツを受け渡すためのＰ２Ｐ通信に関する設定を内部管理する処理である。Ｐ２Ｐバックエンド処理５０６は、送信装置１２０が起動し、リストが登録された場合に開始される。
【００４５】
Ｓ７００において、ＣＰＵ２０１は、送信処理５０３において登録されたすべての映像コンテンツの送信が完了したか否かを確認する。ＣＰＵ２０１は、未送信の映像コンテンツが存在する場合には（Ｓ７００でＹｅｓ）、処理をＳ７０１へ進める。ＣＰＵ２０１は、未送信の映像コンテンツが存在しない場合には（Ｓ７００でＮｏ）、新たなリストが登録されるまで待機する。Ｓ７０１において、ＣＰＵ２０１は、Ｐ２Ｐサーバ処理５１３を開始する。具体的には、ＣＰＵ２０１は、ＨＴＴＰサーバとして、リストに示された＜Ｐ２Ｐ対象＞の映像コンテンツを、受信装置１３０からの取得リクエストに従い、リクエスト元の受信装置１３０へ送信する。なお、既にＰ２Ｐサーバ処理５１３が実行されている場合は、ＣＰＵ２０１は、本処理を行わない。
【００４６】
次に、Ｓ７０２において、ＣＰＵ２０１は、送信装置１２０のＰ２Ｐ環境の設定が有効か否かを確認する。ＣＰＵ２０１は、確認にはＵＰｎＰ  ＩＧＤプロトコルを使用し、ルータ１０３のポートマッピング設定が有効か否かで判断する。ＣＰＵ２０１は、有効な場合には（Ｓ７０２でＹｅｓ）、処理をＳ７０４へ進める。ＣＰＵ２０１は、有効でない場合は（Ｓ７０２でＮｏ）、処理をＳ７０３へ進める。Ｓ７０３において、ＣＰＵ２０１は、Ｐ２Ｐ環境をセットアップし、Ｐ２Ｐ情報を生成する。具体的には、ＣＰＵ２０１は、ＵＰｎＰ  ＩＧＤプロトコルによって、ルータ１０３に対してポートマッピング処理を行う。これにより、ＣＰＵ２０１は、受信装置１３０から、ルータ１０４、ネットワーク１０２及びルータ１０３を経由して送信装置１２０へアクセスする為に必要なグローバルＩＰアドレスとポート番号を取得する。
【００４７】
また、Ｓ７０４において、ＣＰＵ２０１は、Ｐ２Ｐ環境の設定に変更が生じたか否かを確認する。ＣＰＵ２０１は、具体的には、ルータ１０３のポートマッピング設定や割り振られたグローバルＩＰアドレスに変化が生じた場合に、Ｐ２Ｐ環境の設定に変更が生じたと判断する。ＣＰＵ２０１は、この確認にもＵＰｎＰ  ＩＧＤプロトコルを使用する。ＣＰＵ２０１は、変更が生じている場合には（Ｓ７０４でＹｅｓ）、処理をＳ７０５へ進める。ＣＰＵ２０１は、変更が生じていない場合には（Ｓ７０４でＮｏ）、処理をＳ７０６へ進める。Ｓ７０５において、ＣＰＵ２０１は、変更後の値を用いて、内部的に管理しているＰ２Ｐ情報を更新する。
【００４８】
次に、Ｓ７０６において、ＣＰＵ２０１は、Ｓ７０３又はＳ７０５において得られたＰ２Ｐ情報を、サーバ装置１１０に送信するために保持する。なお、本処理が完了した場合に、図６に示すＳ６０６おいて、Ｐ２Ｐ情報が生成済みであると判定される。次に、Ｓ７０７において、ＣＰＵ２０１は、サーバ装置１１０に記憶されているＰ２Ｐ情報を更新すべく、Ｓ７０６において保持した最新のＰ２Ｐ情報を自装置のシリアルＩＤと共にサーバ装置１１０に送信する。次に、Ｓ７０８において、ＣＰＵ２０１は、サーバ装置１１０における更新の成否を確認する。ＣＰＵ２０１は、サーバ装置１１０から成功を示す返答を受信した場合に成功と判断する。ＣＰＵ２０１は、更新に成功した場合には（Ｓ７０８でＹｅｓ）、処理をＳ７０９へ進める。ＣＰＵ２０１は、更新に失敗した場合には（Ｓ７０８でＮｏ）、処理をＳ７０７へ進める。
【００４９】
Ｓ７０９において、ＣＰＵ２０１は、Ｐ２Ｐ失敗フラグの値を示す情報をサーバ装置１１０から受信する。なお、Ｐ２Ｐ失敗フラグは、受信装置１３０が送信装置１２０とのＰ２Ｐ通信の成否に応じて、サーバ装置１１０に対して設定するものである。受信装置１３０がＰ２Ｐ失敗フラグを設定する処理については、図１０を参照しつつ後述する。Ｐ２Ｐ失敗フラグは、リストに対して１対１でサーバ装置１１０にて管理されており、送信したリストを指定して問い合わせることで、そのリストに記載された＜Ｐ２Ｐ対象＞の映像コンテンツ取得のためのＰ２Ｐ通信の成否を確認することができる。
【００５０】
次に、Ｓ７１０において、ＣＰＵ２０１は、受信装置１３０からルータ１０４、ネットワーク１０２及びルータ１０３を経由したＰ２Ｐ通信が可能か否かを判定する。ＣＰＵ２０１は、Ｐ２Ｐ失敗フラグに「失敗」が設定されている場合には、Ｐ２Ｐ通信は不可能と判断し、Ｐ２Ｐ失敗フラグが設定されていない場合に、Ｐ２Ｐ通信が可能と判断する。ＣＰＵ２０１は、Ｐ２Ｐ通信が可能な場合には（Ｓ７１０でＹｅｓ）、処理をＳ７１２へ進める。ＣＰＵ２０１は、Ｐ２Ｐ通信が不可能な場合には（Ｓ７１０でＮｏ）、処理をＳ７１１へ進める。Ｓ７１１において、ＣＰＵ２０１は、追加送信処理５１１を開始する。このとき、ＣＰＵ２０１は、処理対象のリストを追加送信処理５１１に受け渡す。次に、Ｓ７１２において、ＣＰＵ２０１は、サーバ装置１１０に登録されているすべてのリストに対してＰ２Ｐ失敗フラグの確認を行ったか否か確認する。ＣＰＵ２０１は、すべての確認を行った場合には（Ｓ７１２でＹｅｓ）、処理をＳ７００へ進める。ＣＰＵ２０１は、確認が完了していない場合には（Ｓ７１２でＮｏ）、処理をＳ７０９へ進める。
【００５１】
図８は、送信装置１２０により実行される追加送信処理５１１における詳細な処理を示すフローチャートである。前述の通り、追加送信処理５１１は、Ｓ７１１において、リストが通知されることにより開始される処理である。Ｓ８００において、ＣＰＵ２０１は、Ｓ７１１の処理により受け渡されたリストに登録されている各映像コンテンツを、すべてサーバ経由対象に変更する。具体的には、ＣＰＵ２０１は、の「種別」をすべて＜実データ＞に変更し、「所属識別子」をすべて＜リスト識別子＞に変更する。ＣＰＵ２０１はさらに、「コンテンツ識別子」を新たに生成しその値として＜実コンテンツ識別子＞を設定する。「Ｐ２Ｐ送信済みマーカ」の変更は、本処理では行われない。「Ｐ２Ｐ送信済みマーカ」の変更は、Ｐ２Ｐサーバ処理５１３で行われる。
【００５２】
次に、Ｓ８０１において、ＣＰＵ２０１は、リストに示される映像コンテンツのうち、「種別」が＜Ｐ２Ｐ対象＞から＜実データ＞に変更され、かつ「Ｐ２Ｐ送信済みマーカ」に「０」が設定されている映像コンテンツを選択する。そして、ＣＰＵ２０１は、選択したすべての映像コンテンツをサーバ装置１１０に送信する。ＣＰＵ２０１は、このとき、映像コンテンツを＜コンテンツ識別子＞及び＜実コンテンツ識別子＞と共にサーバ装置１１０へ送信する。サーバ装置１１０は、受信した情報を関連付けて管理する。次に、Ｓ８０２において、ＣＰＵ２０１は、Ｓ８００において更新した後のリストをサーバ装置１１０に送信する。
【００５３】
次に、Ｓ８０３において、ＣＰＵ２０１は、Ｐ２Ｐ失敗フラグ削除リクエストをサーバ装置１１０へ送信する。サーバ装置１１０は、Ｐ２Ｐ失敗フラグ削除リクエストを受信すると、対応するリストに対するＰ２Ｐ失敗フラグを削除する。次に、Ｓ８０４において、ＣＰＵ２０１は、リストをバックエンドの処理対象から削除する。以上で、追加送信処理が終了する。これにより、Ｐ２Ｐ通信による受信装置１３０への送信が完了していない映像コンテンツの転送方法をサーバ経由のデータ転送に切り替えることができる。
【００５４】
図９は、送信装置１２０により実行されるＰ２Ｐサーバ処理を５１４における詳細な処理を示すフローチャートである。Ｐ２Ｐサーバ処理は、Ｐ２Ｐバックエンド処理５０６に登録されたリストに従い、受信装置１３０からの映像コンテンツの取得リクエストに応答する処理である。本処理における受信装置１３０と送信装置１２０の間の通信は、ＨＴＴＰ（Ｈｙｐｅｒｔｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）に準拠するものである。
【００５５】
Ｓ９００において、ＣＰＵ２０１は、受信装置１３０からのＰ２Ｐ通信による映像コンテンツの取得リクエストを受信するまで待機し、取得リクエストを受信すると（Ｓ９００でＹｅｓ）、処理をＳ９０１へ進める。Ｓ９０１において、ＣＰＵ２０１は、受信した取得リクエストに指定されたパラメータをパースする。パラメータには、リストに記載された＜Ｐ２Ｐコンテンツ識別子＞と＜データサイズ＞が指定されているものとする。
【００５６】
次に、Ｓ９０２において、ＣＰＵ２０１は、Ｓ９０１においてパースしたパラメータが正常か否かを判定する。ＣＰＵ２０１は、具体的には、＜Ｐ２Ｐコンテンツ識別子＞で一意に識別できる映像コンテンツのデータサイズが＜データサイズ＞と一致した場合を正常と判定する。ＣＰＵ２０１は、正常な場合には（Ｓ９０２でＹｅｓ）、処理をＳ９０３へ進める。ＣＰＵ２０１は、正常でない場合には（Ｓ９０２でＮｏ）、リクエストを無視し、処理をＳ９００へ進める。
【００５７】
Ｓ９０３において、ＣＰＵ２０１は、Ｓ９０１においてパースした＜Ｐ２Ｐコンテンツ識別子＞で特定できる映像コンテンツを、取得リクエストへの返信ペイロードとしてサーバ装置１１０に送信する。ＣＰＵ２０１は、＜Ｐ２Ｐコンテンツ識別子＞で特定できる映像コンテンツが複数存在する場合には、複数の映像コンテンツすべてをサーバ装置１１０に送信する。次に、Ｓ９０４において、ＣＰＵ２０１は、リストにおいて、Ｓ９０３において送信が完了した映像コンテンツに対応する「Ｐ２Ｐ送信済みマーカ」の値を「１」に変更する。これにより、図７を参照しつつ説明した追加送信処理５１１において映像コンテンツをサーバ経由で転送することになった場合に、送信済みの映像コンテンツを転送対象から除外することができる。
【００５８】
次に、Ｓ９０５において、ＣＰＵ２０１は、すべての「Ｐ２Ｐ送信済みマーカ」が「１」に更新されたリストをバックエンドの処理対象から削除する。これにより、Ｐ２Ｐバックエンド処理のＳ７００の処理における確認対象を「Ｐ２Ｐ送信済みマーカ」に「０」が設定されているリストに絞ることができる。これにより、Ｐ２Ｐ通信が不要な期間の無意味なＰ２Ｐ環境設定を回避することができる。次に、Ｓ９０６において、ＣＰＵ２０１は、Ｐ２Ｐバックエンド処理に、未送信の映像コンテンツを含むリストが存在するか否かを確認する。具体的には、ＣＰＵ２０１は、「種別」が＜Ｐ２Ｐ対象＞で、「Ｐ２Ｐ送信済みマーカ」に「０」が設定された映像コンテンツを含むリストが存在する場合に、未送信の映像コンテンツを含むリストが存在すると判定する。
【００５９】
ＣＰＵ２０１は、未送信の映像コンテンツを含むリストが存在する場合には（Ｓ９０６でＹｅｓ）、処理をＳ９００へ進める。ＣＰＵ２０１は、未送信の映像コンテンツを含むリストが存在しない場合には（Ｓ９０６でＮｏ）、Ｐ２Ｐサーバ処理を終了する。以上の処理により、送信装置１２０には、Ｐ２Ｐ対象の映像コンテンツが存在しない状態となる。
【００６０】
図１０は、受信装置１３０による映像コンテンツの受信処理を示すフローチャートである。受信処理は、受信装置１３０の起動時に定期的に実行される処理である。なお、受信処理は、受信装置１３０のＣＰＵ２０１により実行される処理である。Ｓ１０００において、受信装置１３０は、サーバ装置１１０へ問い合わせを行い、未受信のリストが存在するか否かを確認する。受信装置１３０は、未受信のリストが存在する場合には（Ｓ１０００でＹｅｓ）、処理をＳ１００１へ進める。受信装置１３０は、未受信のリストが存在しない場合（Ｓ１０００でＮｏ）、受信処理を終了する。
【００６１】
Ｓ１００１において、受信装置１３０は、サーバ装置１１０からリストを受信する。次に、Ｓ１００２において、受信装置１３０は、Ｓ１００１において受信したリストに基づいて、未受信のコンテンツを受信する。Ｓ１００２において受信するコンテンツは、リストに示される「種別」が＜実データ＞の映像コンテンツと、「種別」が＜Ｐ２Ｐ対象＞の映像コンテンツのサムネイルである。受信装置１３０は、サーバ装置１１０に対して＜コンテンツ識別子＞と＜実コンテンツ識別子＞を指定して取得リクエストを発行することで、その返信として映像コンテンツを受信する。また、＜Ｐ２Ｐ情報識別子＞と＜Ｐ２Ｐコンテンツ識別子＞を指定して取得リクエストを発行することで、その返信として、サムネイルを受信する。
【００６２】
次に、Ｓ１００３において、受信装置１３０は、Ｓ１００１において受信したリストに未取得のＰ２Ｐ対象の映像コンテンツが含まれているか否かを確認する。具体的には、受信装置１３０は、リストに「種別」が＜Ｐ２Ｐ対象＞で、かつ「Ｐ２Ｐ送信済みマーカ」に「０」が設定された映像コンテンツが含まれている場合に、未取得のＰ２Ｐ対象の映像コンテンツが含まれていると判断する。Ｓ１００４において、受信装置１３０は、サーバ装置１１０に対して＜Ｐ２Ｐ情報識別子＞を指定してＰ２Ｐ情報取得をリクエストすることでＰ２Ｐ情報を受信する。
【００６３】
次に、Ｓ１００５において、受信装置１３０は、Ｓ１００４において受信したＰ２Ｐ情報に従い、ＩＰアドレスとポート番号に対して、＜Ｐ２Ｐコンテンツ識別子＞と＜データサイズ＞を伴った映像コンテンツの取得リクエストを発行する。次に、Ｓ１００６において、受信装置１３０は、Ｐ２Ｐ通信に成功したか否かを判断する。具体的には、受信装置１３０は、Ｓ１００５において送信した取得リクエストに対応した映像コンテンツの受信を開始した場合に、Ｐ２Ｐ通信に成功したと判定する。さらに、受信装置１３０は、Ｐ２Ｐ通信が始まった後には、通信が断絶していないかどうかを１ファイル毎にファイル転送完了まで監視するものとする。受信装置１３０は、Ｐ２Ｐ通信に成功した場合には（Ｓ１００６でＹｅｓ）、処理をＳ１００７へ進める。受信装置１３０は、Ｐ２Ｐ通信に失敗した場合には（Ｓ１００６でＮｏ）、処理をＳ１００８へ進める。
【００６４】
Ｓ１００７において、受信装置１３０は、リストに未取得のＰ２Ｐ対象の映像コンテンツが存在するか否かを確認する。受信装置１３０は、未取得のＰ２Ｐ対象の映像コンテンツが存在する場合には（Ｓ１００７でＹｅｓ）、処理をＳ１００５へ進める。受信装置１３０は、未取得のＰ２Ｐ対象の映像コンテンツが存在しない場合には（Ｓ１００７でＮｏ）、受信処理を終了する。
【００６５】
また、Ｓ１００８において、受信装置１３０は、通信失敗を送信装置１２０へ通知するために、サーバ装置１１０においてＰ２Ｐ失敗フラグに「失敗」を設定するための設定リクエストを＜コンテンツ識別子＞を指定して発行する。次に、Ｓ１００９において、受信装置１３０は、対応するＰ２Ｐ失敗フラグが削除されたか否かをサーバ装置１１０との通信により確認する。なお、Ｐ２Ｐ失敗フラグは、前述の追加送信処理５１１（図８）において、Ｐ２Ｐ対象の映像コンテンツがサーバ経由対象に変更されることにより削除される。受信装置１３０は、Ｐ２Ｐ失敗フラグが削除されるまで待機し、削除されると（Ｓ１００９でＹｅｓ）、処理をＳ１０００へ進める。
【００６６】
以上のように、本実施形態に係る情報処理システム１００は、転送対象のコンテンツのうち、サーバ装置１１０による転送処理の負荷が大きいコンテンツについては、サーバ装置１１０を介すことなく、送信装置１２０から受信装置１３０に直接転送を行う。これにより、サーバ装置１１０の処理負荷を軽減することができる。さらに、送信装置１２０は、転送処理の負荷が大きいコンテンツについては、サーバ装置１１０への転送は行わないが、これに替えて、サムネイル等よりデータサイズの小さい小コンテンツを送信する。これにより、受信装置１３０は、送信装置１２０から受信すべきコンテンツの内容を早いタイミングで確認することができる。
【００６７】
なお、本実施形態においては、送信装置１２０から受信装置１３０への転送対象が映像コンテンツの場合を例に説明したが、転送対象は映像コンテンツに限定されるものではない。他の例としては、転送対象は静止画であってもよい。また、テキスト等の情報であってもよい。例えば、テキストの場合には、実施形態において説明したサムネイルに替えて、テキストから抽出した題名等の一部の文字列を小コンテンツとして用いればよい。
【００６８】
（第２の実施形態）
次に、第２の実施形態に係る情報処理システム１００について説明する。第２の実施形態に係る情報処理システム１００においては、送信装置１２０は、映像コンテンツやリストを送信する前に、受信装置１３０から送信装置１２０へＰ２Ｐ通信が可能か否かを確認する処理を行う。そして、情報処理システム１００は、処理結果に応じて、図５等を参照しつつ説明した第１の実施形態に係る転送処理を行うか、すべての映像コンテンツをサーバ経由で送信装置１２０から受信装置１３０へ転送するかを決定する。以下、第２の実施形態に係る情報処理システム１００について、第１の実施形態に係る情報処理システム１００と異なる点について説明する。
【００６９】
図１１は、送信装置１２０による仮アクセス確認処理のフローチャートである。仮アクセス確認処理は、送信装置１２０のディスプレイ２１０に映像コンテンツ受け渡し先指定のＧＵＩが表示され、ユーザ操作に応じて、送信したいアルバムと送信先ユーザが選択された場合に開始する処理である。送信装置１２０は、第１の実施形態において図６等を参照しつつ説明した送信処理５０３を行う前に、仮アクセス確認処理を実行する。
【００７０】
Ｓ１１００において、送信装置１２０のＣＰＵ２０１は、図３に示すフォーマットに準拠したリストを作成する。ただし、本処理で作成するのは仮アクセス用のリストであり、予め準備した、サイズ１Ｂｙｔeの仮アクセスファイルを、１つだけ＜Ｐ２Ｐ対象＞として登録したものである。以下、Ｓ１１００において作成したリストを仮リストと称する。次に、Ｓ１１０１において、ＣＰＵ２０１は、Ｓ１１００において作成した仮リストを、Ｐ２Ｐバックエンド処理５０６（図７）へ登録する。
【００７１】
次に、Ｓ１１０２において、ＣＰＵ２０１は、Ｐ２Ｐ情報ファイルの生成が完了しているか否かを確認する。ＣＰＵ２０１は、Ｐ２Ｐファイルの生成が完了するまで待機し、完了すると（Ｓ１１０２でＹｅｓ）、処理をＳ１１０３へ進める。Ｓ１１０３において、ＣＰＵ２０１は、Ｐ２Ｐ情報ファイルを送信装置１２０のシリアルＩＤと共にサーバ装置１１０へ送信する。
【００７２】
次に、Ｓ１１０４において、ＣＰＵ２０１は、仮リストをサーバ装置１１０へ送信する。次に、Ｓ１１０５において、ＣＰＵ２０１は、サーバ装置１１０から仮リストに対応付けられているＰ２Ｐ失敗フラグの値を示す情報を受信する。前述の通り、Ｐ２Ｐ失敗フラグは、受信装置１３０により設定される。ＣＰＵ２０１は、Ｐ２Ｐ失敗フラグの値を示す情報に基づいて、Ｐ２Ｐ通信による仮アクセスに成功したか否かを確認する。ＣＰＵ２０１は、仮アクセスに失敗した場合には（Ｓ１１０５でＮｏ）、処理をＳ１１０６へ進める。ＣＰＵ２０１は、仮アクセスに成功した場合には（Ｓ１１０５でＹｅｓ）、処理をＳ１１０７へ進める。
【００７３】
Ｓ１１０６において、ＣＰＵ２０１は、映像コンテンツの上限サイズを、サーバ装置１１０への問い合わせ結果に関わらず、選択されたアルバムに選択されている映像コンテンツの最大サイズに固定する。これにより、リストに示されるすべての映像コンテンツがサーバ経由対象となり、すべての映像コンテンツがサーバ装置１１０に送信される。以上で、仮アクセス確認処理が終了する。一方、Ｓ１１０７において、ＣＰＵ２０１は、仮リストがＰ２Ｐバックエンド処理５０６から削除されたか否かを確認する。仮リストがＰ２Ｐバックエンド処理５０６から削除されるのは、受信装置１３０からのＰ２Ｐ通信が成功した場合である。したがって、ＣＰＵ２０１は、仮リストが削除された場合には（Ｓ１１０７でＹｅｓ）、仮アクセス確認処理を終了する。一方、ＣＰＵ２０１は、仮リストが削除されていない場合には（Ｓ１１０７でＮｏ）、処理をＳ１１０５へ進める。そして、ＣＰＵ２０１は、仮アクセス確認処理が終了すると、送信処理５０３（図６）の実行を開始する。
【００７４】
図１２は、仮アクセス確認処理に対応した、Ｐ２Ｐバックエンド処理を示すフローチャートである。本処理は、送信装置１２０により実行される処理である。なお、図１２に示すＰ２Ｐバックエンド処理の各処理のうち、図７を参照しつつ説明した第１の実施形態に係るＰ２Ｐバックエンド処理の各処理と同一の処理には、同一の番号を付している。ＣＰＵ２０１は、Ｓ７１０において、Ｐ２Ｐ通信を行えない場合には（Ｓ７１０でＮｏ）、処理をＳ１２００へ進める。
【００７５】
Ｓ１２００において、ＣＰＵ２０１は、Ｐ２Ｐ失敗フラグに「失敗」が設定されたリストが、図１１を参照しつつ説明した仮アクセス確認処理において作成された仮リストか否かを確認する。ＣＰＵ２０１は、登録映像コンテンツの数とデータサイズに基づいて、仮リストか否かを確認する。ＣＰＵ２０１は、仮リストの場合には（Ｓ１２００でＹｅｓ）、処理をＳ１２０１へ進める。ＣＰＵ２０１は、仮リストでない場合には（Ｓ１２００でＮｏ）、処理をＳ７１１へ進める。Ｓ１２０１において、ＣＰＵ２０１は、仮アクセス確認処理（図１１）へ仮アクセス失敗を通知し、その後処理をＳ７１１へ進める。なお、第２の実施形態係る情報処理システム１００のこれ以外の構成及び処理は、第１の実施形態に係る情報処理システム１００の構成及び処理と同様である。
【００７６】
以上のように、第２の実施形態に係る情報処理システム１００は、転送処理を開始する前に、Ｐ２Ｐアクセスが可能か否かを確認し、その結果に応じて、転送方法を決定することができる。
【００７７】
以上、本発明の好ましい実施形態について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【００７８】
（その他の実施例）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００７９】
１００  情報処理システム
１１０  サーバ装置
１２０  送信装置
１３０  受信装置
【図１】
2018151961.tif 000003
【図２】
2018151961.tif 000004
【図３】
2018151961.tif 000005
【図４】
2018151961.tif 000006
【図５】
2018151961.tif 000007
【図６】
2018151961.tif 000008
【図７】
2018151961.tif 000009
【図８】
2018151961.tif 000010
【図９】
2018151961.tif 000011
【図１０】
2018151961.tif 000012
【図１１】
2018151961.tif 000013
【図１２】
2018151961.tif 000014