(57)【要約】  サーバー装置（２００）は、それぞれが取得済みコンテンツの一部分である複数の比較部位のそれぞれに対応する、取得対象コンテンツの一部分である比較対象部位をクライアント機器（３００）から順次取得するコンテンツ部分取得部（２０２）と、比較対象部位が取得されるたびに、当該比較対象部位と対応する比較部位とを比較することにより、取得済みコンテンツの中で当該比較対象部位と一致する比較部位を有するコンテンツが有るか否かを判定する重複判定部（２０４）と、コンテンツが無いと判定された場合、取得対象コンテンツをクライアント機器から取得し蓄積部（２１１）に格納するコンテンツ取得部（２０８）とを備え、コンテンツ部分取得部（２０２）は、コンテンツが無いと判定された際に取得対象コンテンツの次の比較対象部位の取得を中止する。
2011161934.tif 000002
【特許請求の範囲】
【請求項１】
クライアント機器から取得したコンテンツを蓄積部に格納するサーバー装置であって、
それぞれが前記蓄積部に蓄積されている少なくとも１つの取得済みコンテンツの一部分である複数の比較部位のそれぞれに対応する、取得対象コンテンツの一部分である比較対象部位を、前記クライアント機器から順次取得するコンテンツ部分取得部と、
前記コンテンツ部分取得部によって比較対象部位が取得されるたびに、当該比較対象部位と当該比較対象部位に対応する比較部位とを比較することにより、前記取得済みコンテンツの中で、当該比較対象部位と一致する比較部位を有するコンテンツが有るか否かを判定する重複判定部と、
当該比較対象部位と一致する比較部位を有するコンテンツが無いと判定された場合、前記取得対象コンテンツを前記クライアント機器から取得し、前記蓄積部に格納するコンテンツ取得部とを備え、
前記コンテンツ部分取得部は、当該比較対象部位と一致する比較部位を有するコンテンツが無いと判定された際に、前記取得対象コンテンツの次の比較対象部位の取得を中止する
サーバー装置。
【請求項２】
前記サーバー装置は、さらに、
前記取得済みコンテンツの先頭から所定サイズのデータと、前記取得済みコンテンツの中間位置から所定サイズのデータと、前記取得済みコンテンツの末尾より所定サイズ以前のデータとを、前記複数の比較部位として決定する部位決定部を備える
請求項１に記載のサーバー装置。
【請求項３】
前記サーバー装置は、さらに、
前記取得済みコンテンツに対する複数の比較部位が占める割合があらかじめ定められた割合を満たすように、前記複数の比較部位を決定する部位決定部を備える
請求項１に記載のサーバー装置。
【請求項４】
前記複数の比較部位のそれぞれには、優先度が設定されており、
前記コンテンツ部分取得部は、設定された優先度が高い比較部位に対応する比較対象部位から順に比較対象部位を取得する
請求項１に記載のサーバー装置。
【請求項５】
前記重複判定部は、当該比較対象部位と一致する比較部位を有するコンテンツが有ると判定された場合、さらに、前記取得済みコンテンツの中で、前記複数の比較対象部位と一致する複数の比較部位を有するコンテンツが有るか否かを判定し、
前記サーバー装置は、さらに、
前記複数の比較対象部位と一致する複数の比較部位を有するコンテンツが有ると判定された場合に、前記取得対象コンテンツに関する情報を表示する表示部を備える
請求項１に記載のサーバー装置。
【請求項６】
前記表示部は、さらに、前記取得対象コンテンツを前記クライアント機器から取得するか否かを示す指示情報をユーザーから受け付け、
前記コンテンツ取得部は、前記表示部が受け付けた指示情報に従って、前記取得対象コンテンツを前記クライアント機器から取得する
請求項５に記載のサーバー装置。
【請求項７】
前記重複判定部は、当該比較対象部位と一致する比較部位を有するコンテンツが有ると判定された場合、さらに、前記取得済みコンテンツの中で、前記複数の比較対象部位と一致する複数の比較部位を有するコンテンツが有るか否かを判定し、
前記コンテンツ取得部は、前記複数の比較対象部位と一致する複数の比較部位を有するコンテンツが有ると判定された場合、前記取得対象コンテンツを前記クライアント機器から取得し、取得した前記取得対象コンテンツを前記蓄積部に格納する
請求項１に記載のサーバー装置。
【請求項８】
前記コンテンツ取得部は、複数の前記取得対象コンテンツを前記クライアント機器から取得する場合に、前記複数の比較対象部位と一致する複数の比較部位を有するコンテンツが有ると判定された前記取得対象コンテンツよりも、当該比較対象部位と一致する当該比較部位を有するコンテンツが無いと判定された前記取得対象コンテンツを優先的に取得する
請求項７に記載のサーバー装置。
【請求項９】
複数の前記取得対象コンテンツには、あらかじめ優先度が設定されており、
前記コンテンツ部分取得部は、前記複数の取得対象コンテンツのうち優先度が高い取得対象コンテンツの比較対象部位を優先的に取得する
請求項１に記載のサーバー装置。
【請求項１０】
前記重複判定部は、当該比較対象部位と一致する比較部位を有するコンテンツが有ると判定された場合、さらに、前記取得済みコンテンツの中で、前記複数の比較対象部位のうちの一部の比較対象部位と一致する比較部位を有するコンテンツが有るか否かを判定し、前記複数の比較対象部位の一部と一致する比較部位を有するコンテンツが有ると判定されたときに、前記取得対象コンテンツの優先度をあらかじめ設定されている優先度より下げる
請求項９に記載のサーバー装置。
【請求項１１】
前記重複判定部は、当該比較対象部位と一致する比較部位を有するコンテンツが有ると判定された場合、さらに、前記取得済みコンテンツの中で、前記複数の比較対象部位と一致する複数の比較部位を有するコンテンツが有るか否かを判定し、
前記コンテンツ取得部は、
前記複数の比較対象部位と一致する複数の比較部位を有するコンテンツが無いと判定された場合に、前記取得対象コンテンツを前記クライアント機器から取得し、取得した前記取得対象コンテンツを前記蓄積部に格納し、
前記複数の比較対象部位と一致する複数の比較部位を有するコンテンツが有ると判定された場合に、前記取得対象コンテンツを前記クライアント機器から取得しない
請求項１に記載のサーバー装置。
【請求項１２】
前記サーバー装置は、さらに、
前記比較部位から、当該比較部位よりデータサイズが小さい固定長の符号であって当該比較部位を代表する符号である比較ＩＤを生成し、かつ、前記比較対象部位から、当該比較対象部位よりデータサイズが小さい固定長の符号であって当該比較対象部位を代表する符号である比較対象ＩＤを生成する部位ＩＤ生成部を備え、
前記重複判定部は、前記比較対象ＩＤと前記比較ＩＤとを比較することにより、前記比較対象部位と前記比較部位とを比較する
請求項１に記載のサーバー装置。
【請求項１３】
前記部位ＩＤ生成部は、ハッシュ関数を用いて、前記比較ＩＤ及び前記比較対象ＩＤを生成する
請求項１２に記載のサーバー装置。
【請求項１４】
前記サーバー装置は、集積回路として構成されている
請求項１に記載のサーバー装置。
【請求項１５】
クライアント機器から取得したコンテンツを蓄積部に格納するコンテンツ取得方法であって、
それぞれが前記蓄積部に蓄積されている少なくとも１つの取得済みコンテンツの一部分である複数の比較部位のそれぞれに対応する、取得対象コンテンツの一部分である比較対象部位を、前記クライアント機器から順次取得するコンテンツ部分取得ステップと、
前記コンテンツ部分取得ステップにおいて比較対象部位が取得されるたびに、当該比較対象部位と当該比較対象部位に対応する比較部位とを比較することにより、前記取得済みコンテンツの中で、当該比較対象部位と一致する比較部位を有するコンテンツが有るか否かを判定する重複判定ステップと、
当該比較対象部位と一致する比較部位を有するコンテンツが無いと判定された場合、前記取得対象コンテンツを前記クライアント機器から取得し、前記蓄積部に格納するコンテンツ取得ステップとを含み、
前記コンテンツ部分取得ステップでは、当該比較対象部位と一致する比較部位を有するコンテンツが無いと判定された際に、前記取得対象コンテンツの次の比較対象部位の取得を中止する
コンテンツ取得方法。
【請求項１６】
請求項１５に記載のコンテンツ取得方法をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、クライアント機器からコンテンツを取得して蓄積部に格納するサーバー装置に関する。
【背景技術】
【０００２】
パーソナルコンピューター、デジタルカメラ、又はビデオカメラなど多様な機器それぞれにコンテンツが蓄積されている。それらのコンテンツの管理の煩わしさを解消するため、これらの機器からコンテンツを取得して一元管理するホームサーバーが存在する。ホームサーバーがコンテンツを取得する機器を以下、クライアント機器という。【０００３】
ホームサーバーとクライアント機器は、イーサネット（登録商標）ケーブルや無線ＬＡＮ（Ｌｏｃａｌ  Ａｒｉａ  Ｎｅｔｗｏｒｋ）などで接続されたネットワークを介してクライアント機器からホームサーバーへコンテンツを転送する。ネットワーク以外にも、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）ケーブルなどの通信ケーブルや、メモリーカードなどのカード媒体を介してクライアント機器からホームサーバーへコンテンツを転送する。【０００４】
一般的に、クライアント機器から既に取得したコンテンツを再取得することは無駄であるため、ホームサーバーは、取得済みのコンテンツを重複して取得しない。クライアント機器から重複したコンテンツを毎回取得すると、取得処理全体の時間が長くなるし、ホームサーバーの蓄積容量を必要以上に消費してしまう。取得済みのコンテンツが複数個必要になった場合は、クライアント機器から再取得することなく、必要になった時点でホームサーバー内のコンテンツをコピーする方が、クライアント機器から取得するよりも、大抵の場合、転送時間が短く使い勝手がよい。【０００５】
従来、ホームサーバーがクライアント機器から取得済みのコンテンツを重複取得しないために、クライアント機器に蓄積されたコンテンツ（以下、「取得対象コンテンツ」という。）が取得済みか未取得かを判定する方法の一つとして、ファイル名やコンテンツＩＤなどのコンテンツ識別子を用いる方法があった。この方法では、まずホームサーバーは、クライアント機器からクライアント機器に蓄積されたコンテンツの識別子リストを取得する。そして、ホームサーバーは、取得した識別子リストとホームサーバーに取得済みのすべてのコンテンツ識別子とを比較することで未取得のコンテンツを特定し、クライアント機器から未取得のコンテンツのみを取得する。【０００６】
その他にも、ホームサーバーが取得対象コンテンツを取得済みであるか未取得であるかを判定する方法として、コンテンツに付与された属性情報を用いる方法があった（例えば、特許文献１参照）。この方法では、ホームサーバーは、取得済みのコンテンツに付与された属性情報と、クライアント機器に蓄積されたコンテンツに付与された属性情報とを比較することで、未取得のコンテンツを特定して取得する。【０００７】
その他にも、ホームサーバーが取得対象コンテンツを取得済みであるか未取得であるかを判定する方法として、クライアント機器がホームサーバーへ未転送のコンテンツに関する情報を通知する方法があった（例えば、特許文献２参照）。この方法では、クライアント機器は蓄積するコンテンツそれぞれについてホームサーバーへ転送済みか未転送かを表す情報を対応付けて管理し、ホームサーバーから要求されたタイミングもしくは所定のタイミングで、ホームサーバーへ未転送のコンテンツに関する情報を通知する。ホームサーバーは、クライアント機器から通知された情報に基づいて未取得コンテンツを特定し取得する。【０００８】
その他にも、ホームサーバーが取得対象コンテンツを取得済みであるか未取得であるかを判定する方法として、コンテンツの実体そのものを比較する方法があった（例えば、特許文献３、特許文献４参照）。この方法では、ホームサーバーは、取得済みのコンテンツとクライアント機器から取得したコンテンツとの実体そのものを比較することで、当該クライアント機器から取得したコンテンツが取得済みであるか未取得であるかを判定し、未取得であれば当該コンテンツを取得し、蓄積部に蓄積する。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２００７−１４８８８５号公報
【特許文献２】特開２００７−２９９２６６号公報
【特許文献３】特開２００１−２０２２８３号公報
【特許文献４】特開２００９−２５１６６７号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
しかしながら、ホームサーバーが取得対象コンテンツを取得済みであるか未取得であるかを判定する方法として、コンテンツの識別子や属性情報を用いる方法では、同じコンテンツに必ず同じ識別子や属性情報が付与されることが前提となっている。したがって、この前提が保証されない場合、ホームサーバーは、コンテンツが取得済みであるか未取得であるかを判定することができないという課題があった。【００１１】
例えば、クライアント機器Ａは蓄積しているコンテンツＡに対して識別子Ａを付与し、このコンテンツＡを別のクライアント機器Ｂにコピーしたとき、クライアント機器ＢはコピーされたコンテンツＡに対し識別子Ｂを付与したとする。このときホームサーバーは、クライアント機器ＡのコンテンツＡ（識別子Ａ）とクライアント機器ＢのコンテンツＡ（識別子Ｂ）とはそれぞれの識別子が異なるため、同じコンテンツであると判定することができない。つまり、ホームサーバーは、クライアント機器ＡからコンテンツＡ（識別子Ａ）を取得済みであっても、クライアント機器ＢからもコンテンツＡ（識別子Ｂ）を重複して取得してしまう。【００１２】
同様に、クライアント機器Ｃは蓄積するコンテンツＣに対して識別子Ｃを付与し、別のクライアント機器Ｄは蓄積するコンテンツＤに対して同じ識別子Ｃを付与したとする。このときホームサーバーは、クライアント機器ＣのコンテンツＣ（識別子Ｃ）とクライアント機器ＤのコンテンツＤ（識別子Ｃ）が異なるコンテンツであることを判定することができない。つまり、ホームサーバーは、一旦クライアント機器ＣからコンテンツＣ（識別子Ｃ）を取得すると、クライアント機器ＤのコンテンツＤ（識別子Ｃ）を取得済みであると判定してしまい、取得することができない。【００１３】
また、ホームサーバーが取得対象コンテンツを取得済みであるか未取得であるかを判定する方法として、クライアント機器がホームサーバーへ未転送コンテンツに関する情報を通知する方法では、未転送コンテンツに関する情報を通知する機能を持たないクライアント機器がある場合、該クライアント機器に蓄積されたコンテンツに対して、ホームサーバーは取得済みであるか未取得であるかを判定することができないという課題があった。限られたクライアント機器に対してしか活用できないホームサーバーは使い勝手が悪い。さらにこの方法では、クライアント機器の処理負荷が高くなるという課題もあった。デジタルカメラやビデオカメラなどのクライアント機器は、一般的に処理能力が低く、コンテンツが未転送であるか否かの管理を行わせると通常の撮影処理などにも影響をおよぼし、使い勝手が悪くなる。【００１４】
また、ホームサーバーが取得対象コンテンツを取得済みであるか未取得であるかを判定する方法として、従来のコンテンツの実体そのものを比較する方法では、ホームサーバーは比較のためにクライアント機器に蓄積されたコンテンツ全体を取得する必要がある。ところが、比較のために取得したコンテンツが、比較の結果、取得済みであった場合、本来取得すべきでない取得済みコンテンツを重複取得してしまうという課題があった。【００１５】
上で述べたように取得済みコンテンツの重複取得は、ホームサーバーにおける取得処理全体の時間が長くなってしまい使い勝手が悪くなる。例えば、特許文献３では、ＨＴＭＬファイルの指定箇所の更新判定を行うために、ＷｅｂサーバーからＨＴＭＬファイルを取得した上で、取得済みのＨＴＭＬファイルと新たに取得したＨＴＭＬファイルの指定箇所同士を比較する。しかしながら、この方法はＷｅｂサーバーから比較対象箇所全体（指定箇所全体）を取得してしまうので、比較対象箇所が更新されていない場合には、常に同じ内容を重複取得してしまうという課題がある。さらにこの方法は、比較対象全体のみならず比較対象を含むＨＴＭＬファイル全体を取得してしまっており、比較対象箇所が更新されていない場合の無駄が大きいという課題もある。【００１６】
さらに、例えば特許文献４では、入力画像に対応する検索対象画像を検索する画像検索装置が開示されている。しかし、この画像検索装置は入力画像を備え付けのカメラから直接取得する構成を想定しており、入力画像全体をカメラから画像検索装置へ転送する処理が、使い勝手に影響を与えないほど十分高速であるために、入力画像を別機器から重複取得した場合に処理時間が長くなって使い勝手が悪くなるという課題は全く考慮されていない。【００１７】
本発明は、これら従来の課題を解決するものであって、コンテンツの識別子あるいは属性情報の一意性が保証されない場合であっても、クライアント機器からのデータ転送量を抑制しつつ、取得対象コンテンツが未取得コンテンツであるか否かを効率的に判定することができるサーバー装置を提供することを目的とする。
【課題を解決するための手段】
【００１８】
上記目的を達成するために、本発明の一態様に係るサーバー装置は、クライアント機器から取得したコンテンツを蓄積部に格納するサーバー装置であって、それぞれが前記蓄積部に蓄積されている少なくとも１つの取得済みコンテンツの一部分である複数の比較部位のそれぞれに対応する、取得対象コンテンツの一部分である比較対象部位を、前記クライアント機器から順次取得するコンテンツ部分取得部と、前記コンテンツ部分取得部によって比較対象部位が取得されるたびに、当該比較対象部位と当該比較対象部位に対応する比較部位とを比較することにより、前記取得済みコンテンツの中で、当該比較対象部位と一致する比較部位を有するコンテンツが有るか否かを判定する重複判定部と、当該比較対象部位と一致する比較部位を有するコンテンツが無いと判定された場合、前記取得対象コンテンツを前記クライアント機器から取得し、前記蓄積部に格納するコンテンツ取得部とを備え、前記コンテンツ部分取得部は、当該比較対象部位と一致する比較部位を有するコンテンツが無いと判定された際に、前記取得対象コンテンツの次の比較対象部位の取得を中止する。【００１９】
このように、比較対象部位と一致する比較部位を有するコンテンツが無いと判定された場合に、取得対象コンテンツを未取得コンテンツと判定して、取得対象コンテンツをクライアント機器から取得することが可能となる。したがって、コンテンツの識別子あるいは属性情報の一意性が保証されない場合であっても、取得対象コンテンツが未取得コンテンツであるか否かを判定することが可能となる。また、取得対象コンテンツが未取得コンテンツであるか否かを判定するために、取得対象コンテンツ全体をクライアント機器から取得する必要がないので、クライアント機器からのデータ転送量を抑制することができる。また、比較対象部位と一致する比較部位を有するコンテンツが無いと判定された際に、比較対象部位の取得を中止できるので、クライアント機器からのデータ転送量をさらに抑制することができる。【００２０】
また、前記サーバー装置は、さらに、前記取得済みコンテンツの先頭から所定サイズのデータと、前記取得済みコンテンツの中間位置から所定サイズのデータと、前記取得済みコンテンツの末尾より所定サイズ以前のデータとを、前記複数の比較部位として決定する部位決定部を備えることが好ましい。【００２１】
このように、比較部位を取得済みコンテンツ内で分散させることで、比較部位がよりコンテンツの特長を表す部分となり、取得対象コンテンツと取得済みコンテンツとを効率的に比較することができる。【００２２】
また、前記サーバー装置は、さらに、前記取得済みコンテンツに対する複数の比較部位が占める割合があらかじめ定められた割合を満たすように、前記複数の比較部位を決定する部位決定部を備えることが好ましい。【００２３】
このように、複数の比較部位のコンテンツ全体に占める割合が所定の割合を満たすように複数の比較部位を決定することで、複数の比較部位がよりコンテンツの特長を表す部分となり、取得対象コンテンツと取得済みコンテンツとを効率的に比較することができる。【００２４】
また、前記複数の比較部位のそれぞれには、優先度が設定されており、前記コンテンツ部分取得部は、設定された優先度が高い比較部位に対応する比較対象部位から順に比較対象部位を取得することが好ましい。【００２５】
このように、比較部位に優先度を設定することで、よりコンテンツの特長を表す比較部位から順に比較が行えるので、優先度を設定しない場合と比べて、より少ない比較回数で取得対象コンテンツを未取得コンテンツと判定できる可能性を向上させることができる。【００２６】
また、前記重複判定部は、当該比較対象部位と一致する比較部位を有するコンテンツが有ると判定された場合、さらに、前記取得済みコンテンツの中で、前記複数の比較対象部位と一致する複数の比較部位を有するコンテンツが有るか否かを判定し、前記サーバー装置は、さらに、前記複数の比較対象部位と一致する複数の比較部位を有するコンテンツが有ると判定された場合に、前記取得対象コンテンツに関する情報を表示する表示部を備えることが好ましい。【００２７】
これにより、取得済みコンテンツと一致している可能性が高い取得対象コンテンツに関する情報をユーザーに提示することが可能となる。【００２８】
また、前記表示部は、さらに、前記取得対象コンテンツを前記クライアント機器から取得するか否かを示す指示情報をユーザーから受け付け、前記コンテンツ取得部は、前記表示部が受け付けた指示情報に従って、前記取得対象コンテンツを前記クライアント機器から取得することが好ましい。【００２９】
このように、取得済みの可能性が高い取得対象コンテンツに対する指示をユーザーから受け付けることで、すべての取得対象コンテンツに対して指示をユーザーから受け付けるよりも、ユーザーの負荷を軽減させることができる。【００３０】
また、前記重複判定部は、当該比較対象部位と一致する比較部位を有するコンテンツが有ると判定された場合、さらに、前記取得済みコンテンツの中で、前記複数の比較対象部位と一致する複数の比較部位を有するコンテンツが有るか否かを判定し、前記コンテンツ取得部は、前記複数の比較対象部位と一致する複数の比較部位を有するコンテンツが有ると判定された場合、前記取得対象コンテンツを前記クライアント機器から取得し、取得した前記取得対象コンテンツを前記蓄積部に格納することが好ましい。【００３１】
このように、すべての比較対象部位が一致した取得済みの可能性が高い（未取得の可能性が低い）取得対象コンテンツもクライアント機器から取得することで、未取得の可能性があるコンテンツを漏れなくクライアント機器から取得することができる。【００３２】
また、前記コンテンツ取得部は、複数の前記取得対象コンテンツを前記クライアント機器から取得する場合に、前記複数の比較対象部位と一致する複数の比較部位を有するコンテンツが有ると判定された前記取得対象コンテンツよりも、当該比較対象部位と一致する当該比較部位を有するコンテンツが無いと判定された前記取得対象コンテンツを優先的に取得することが好ましい。【００３３】
これにより、取得済みの可能性が低い（未取得の可能性が高い）取得対象コンテンツから優先的に取得することができる。したがって、サーバー装置の処理が途中で中断した場合などでも、取得済みの可能性が低いコンテンツの取得が完了している確率を高めることができる。【００３４】
また、複数の前記取得対象コンテンツには、あらかじめ優先度が設定されており、前記コンテンツ部分取得部は、前記複数の取得対象コンテンツのうち優先度が高い取得対象コンテンツの比較対象部位を優先的に取得することが好ましい。【００３５】
これにより、優先度が高い取得対象コンテンツの比較処理を優先的に行なうことができ、処理を効率化することができる。【００３６】
また、前記重複判定部は、当該比較対象部位と一致する比較部位を有するコンテンツが有ると判定された場合、さらに、前記取得済みコンテンツの中で、前記複数の比較対象部位のうちの一部の比較対象部位と一致する比較部位を有するコンテンツが有るか否かを判定し、前記複数の比較対象部位の一部と一致する比較部位を有するコンテンツが有ると判定されたときに、前記取得対象コンテンツの優先度をあらかじめ設定されている優先度より下げることが好ましい。【００３７】
このように、取得済みの可能性が高い取得対象コンテンツに関する比較処理を後回しにすることができるので、未判定のコンテンツの比較処理や未取得のコンテンツの取得処理を優先的に行うことができ、処理を効率化して処理時間を削減できる。【００３８】
また、前記重複判定部は、当該比較対象部位と一致する比較部位を有するコンテンツが有ると判定された場合、さらに、前記取得済みコンテンツの中で、前記複数の比較対象部位と一致する複数の比較部位を有するコンテンツが有るか否かを判定し、前記コンテンツ取得部は、前記複数の比較対象部位と一致する複数の比較部位を有するコンテンツが無いと判定された場合に、前記取得対象コンテンツを前記クライアント機器から取得し、取得した前記取得対象コンテンツを前記蓄積部に格納し、前記複数の比較対象部位と一致する複数の比較部位を有するコンテンツが有ると判定された場合に、前記取得対象コンテンツを前記クライアント機器から取得しないことが好ましい。【００３９】
このように、複数の比較対象部位と一致する複数の比較部位を有するコンテンツがある場合に、クライアント機器から取得対象コンテンツを取得しないことにより、取得済みの取得対象コンテンツを取得することを抑制するとともに、クライアント機器からのデータ転送量を抑制することができる。【００４０】
また、前記サーバー装置は、さらに、前記比較部位から、当該比較部位よりデータサイズが小さい固定長の符号であって当該比較部位を代表する符号である比較ＩＤを生成し、かつ、前記比較対象部位から、当該比較対象部位よりデータサイズが小さい固定長の符号であって当該比較対象部位を代表する符号である比較対象ＩＤを生成する部位ＩＤ生成部を備え、前記重複判定部は、前記比較対象ＩＤと前記比較ＩＤとを比較することにより、前記比較対象部位と前記比較部位とを比較することが好ましい。【００４１】
このように、比較するデータのサイズを小さく固定長にすることで、比較処理を高速化できる。【００４２】
さらに、前記部位ＩＤ生成部は、ハッシュ関数を用いて、前記比較ＩＤ及び前記比較対象ＩＤを生成することが好ましい。【００４３】
このように、ハッシュ関数を用いて比較ＩＤ及び比較対象ＩＤを生成することにより、比較的容易に比較ＩＤ及び比較対象ＩＤを生成することができる。また、比較部位と比較対象部位とが異なる場合に、比較ＩＤと比較対象ＩＤとが一致する確率を低減させることができる。【００４４】
なお、本発明は、このようなサーバー装置として実現することができるだけでなく、このようなサーバー装置が備える特徴的な構成部の動作をステップとするコンテンツ取得方法として実現することができる。また、本発明は、コンテンツ取得方法に含まれる各ステップをコンピュータに実行させるプログラムとして実現することもできる。そして、そのようなプログラムは、ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）等の記録媒体あるいはインターネット等の伝送媒体を介して配信することができるのは言うまでもない。【００４５】
さらに、本発明は、このようなサーバー装置が備える特徴的な構成部を備える集積回路としても実現できる。
【発明の効果】
【００４６】
以上から明らかなように、本発明の一態様に係るサーバー装置によれば、取得対象コンテンツの全体データではなく部分データをクライアント機器から取得して取得対象コンテンツが未取得コンテンツであるか否かを判定することができる。したがって、コンテンツの識別子あるいは属性情報の一意性が保証されない場合であっても、クライアント機器からのデータ転送量を抑制しつつ、取得対象コンテンツが未取得コンテンツであるか否かを効率的に判定することができる。
【図面の簡単な説明】
【００４７】
【図１】図１は、本発明の実施の形態におけるコンテンツ管理システムの全体構成を示す図である。
【図２】図２は、本発明の実施の形態におけるサーバー装置の主要な機能構成を示すブロック図である。
【図３】図３は、本発明の実施の形態におけるクライアント機器の主要な機能構成を示すブロック図である。
【図４】図４は、本発明の実施の形態における特長部位定義テーブルの一例を示す図である。
【図５】図５は、本発明の実施の形態におけるコンテンツデータベースの一例を示す図である。
【図６】図６は、本発明の実施の形態における第一のコンテンツリストの一例を示す図である。
【図７】図７は、本発明の実施の形態における第二のコンテンツリストの一例を示す図である。
【図８】図８は、本発明の実施の形態におけるサーバー装置が行なう処理の流れを示すフローチャートである。
【図９】図９は、本発明の実施の形態において、判定対象コンテンツが「未取得」であるか否かを判定する処理の流れを示すフローチャートである。
【図１０】図１０は、特長部位ＩＤを比較して判定対象コンテンツが「未取得」であるか否かを判定する処理の流れを示すフローチャートである。
【図１１】図１１は、本発明の実施の形態において、サーバー装置がクライアント機器からコンテンツを取得する処理の流れを示すフローチャートである。
【図１２】図１２は、本発明の実施の形態の変形例において、ユーザーからの指示を受け付ける処理の流れを示すフローチャートである。
【図１３】図１３は、本発明の実施の形態の変形例において、サーバー装置が処理結果をユーザーへ通知するためのユーザー通知画面の一例を示す図である。
【図１４】図１４は、本発明の実施の形態の変形例におけるサーバー装置の機能構成を示すブロック図である。
【発明を実施するための形態】
【００４８】
以下、本発明の実施の形態について、図面を参照しながら説明する。なお、各図面において、同じ構成要素については同じ符号が用いられている。
【００４９】
本実施の形態に係るサーバー装置２００は、複数のクライアント機器３００それぞれに蓄積された取得対象コンテンツのそれぞれについて、取得対象コンテンツ全体ではなく取得対象コンテンツの一部分である特長部位を順次取得して、取得対象コンテンツが未取得コンテンツであるか否かを判定する。そして、サーバー装置２００は、取得対象コンテンツが未取得コンテンツであると判定された場合に、当該取得対象コンテンツの次の特長部位の取得を中止するとともに、当該取得対象コンテンツ全体をクライアント機器から取得する。
【００５０】
なお、取得対象コンテンツは、画像データ、動画データ、又は文書データなどのいずれでもよく、いずれかに限定されない。つまり、取得対象コンテンツは電子データであればよい。また、未取得コンテンツとは、サーバー装置２００の蓄積部２１１に蓄積されていないコンテンツであることを意味する。また、特長部位とは、コンテンツの一部分である。
【００５１】
図１は、本発明の実施の形態におけるコンテンツ管理システムの全体構成を示す図である。図１に示すように、コンテンツ管理システムは、サーバー装置２００と、複数のクライアント機器３００とを備える。
【００５２】
サーバー装置２００は、複数のクライアント機器３００のそれぞれから、コンテンツ転送媒体を介して、コンテンツの一部である特長部位あるいはコンテンツ全体を取得する。また、サーバー装置２００は、ディスプレイ１００に、クライアント機器３００から取得したコンテンツを出力したり、ユーザーへの通知情報を出力したりすることができる。
【００５３】
クライアント機器３００は、例えば、デジタルカメラ、ビデオカメラ、又はパーソナルコンピューターなどである。なお、クライアント機器３００は、デジタルカメラ、ビデオカメラ、又はパーソナルコンピューターに限定される必要はなく、コンテンツ及びその一部をサーバー装置２００へ送信可能な機器であればよい。本実施の形態では、クライアント機器３００がデジタルカメラである場合について説明する。
【００５４】
コンテンツ転送媒体は、クライアント機器３００からサーバー装置２００へコンテンツ又はその一部分を伝送可能な伝送路である。具体的には、コンテンツ転送媒体は、例えば有線もしくは無線ネットワーク、通信ケーブル、又はメモリーカードなどである。本実施の形態では、コンテンツ転送媒体として、無線ＬＡＮを利用する。
【００５５】
図２は、本発明の実施の形態におけるサーバー装置２００の主要な機能構成を示すブロック図である。図２に示すように、サーバー装置２００は、部位決定部２０１と、コンテンツ部分取得部２０２と、部位ＩＤ生成部２０３、重複判定部２０４、コンテンツ取得順序決定部２０５、クライアント機器情報取得部２０６、コンテンツリスト取得部２０７、コンテンツ取得部２０８、通信制御部２０９、表示制御部２１０、及び蓄積部２１１を備える。
【００５６】
部位決定部２０１は、それぞれがコンテンツの互いに異なる部分データから構成される複数の特長部位を決定する。つまり、部位決定部２０１は、蓄積部２１１に蓄積されている１つ以上のコンテンツ（以下、「取得済みコンテンツ」という。）に対して、それぞれがコンテンツの互いに異なる一部分である複数の特長部位を決定する。
【００５７】
なお、取得済みコンテンツの特長部位が、比較部位に相当する。一方、取得対象コンテンツの特長部位が、比較対象部位に相当する。
【００５８】
また、部位決定部２０１は、特長部位を、あらかじめ（例えば、機器製造時）設定された情報に基づいて自動的に決定してもよいし、図示しない入力部によりユーザーが設定した情報に基づいて決定してもよい。
【００５９】
本実施の形態では、部位決定部２０１は、特長部位を機器製造時に設定された情報に基づいて自動的に決定する。具体的には、部位決定部２０１は、例えば図４に示す特長部位定義テーブル４００に登録された、すべての取得済みコンテンツに共通の定義に基づいて、取得済みコンテンツの特長部位を決定する。なお、特長部位定義テーブル４００は、蓄積部２１１に保持されている。
【００６０】
図４に示すように、特長部位定義テーブル４００には、第一〜第三の特長部位の定義が格納されている。第一の特長部位の定義は、コンテンツの中間バイト目から１０２４バイトの区間のデータを示す。また、第二の特長部位の定義は、コンテンツの末尾バイト以前の１０２４バイトの区間のデータを示す。また、第三の特長部位の定義は、コンテンツの０バイト目から１０２４バイトの区間のデータを示す。つまり、部位決定部２０１は、図４に示す特長部位定義テーブル４００を参照することにより、取得済みコンテンツごとに、当該取得済みコンテンツの先頭から所定サイズのデータと、当該取得済みコンテンツの中間位置から所定サイズのデータと、当該取得済みコンテンツの末尾より所定サイズ以前のデータとを、当該取得済みコンテンツの複数の特長部位として決定することができる。ここで、所定サイズは、互いに異なるコンテンツにおいて特長部位が同一とならないようなサイズであることが好ましい。また、所定サイズは、各特徴部位が重複しないようなサイズであることが好ましい。図４の特長部位定義テーブル４００の詳細については後述する。
【００６１】
このように、部位決定部２０１は、特長部位をコンテンツの分散した複数部分に決定することで、特長部位がコンテンツの固有の特長を表した情報となる確率を高めることができる。また、特長部位をコンテンツの内容に基づいて定義したり、コンテンツの種類に基づいて定義したりすることなく、コンテンツをバイトデータ列とみなして特長部位を定義することで、部位決定部２０１は、コンテンツの内容や種類によらず共通の定義に基づいて特長部位を決定することができる。
【００６２】
その他の特長部位の定義としては、例えば、すべての特長部位が占める部分の合計データサイズがコンテンツの全体データサイズの所定割合となる定義でもよい。つまり、部位決定部２０１は、取得済みコンテンツごとに、当該取得済みコンテンツに対して複数の特長部位の占める割合があらかじめ定められた割合を満たすように、当該取得済みコンテンツの複数の特長部位を決定してもよい。
【００６３】
このあらかじめ定められた割合は、部位決定部２０１に、あらかじめ保持されればよい。また、あらかじめ定められた割合は、互いに異なるコンテンツにおいて、当該割合を占める部分が互いに一致する確率を低くすることができ、かつ、比較処理の負荷を抑制できる値に設定されることが好ましい。
【００６４】
例えば、部位決定部２０１は、全体サイズが１００キロバイトのコンテンツにおいて、その３０パーセントが特長部位となるように、１つが１キロバイトである３０個の特長部位を決定する。その際、これら３０個の特長部位が重複しないように、特長部位をコンテンツの分散した複数部分に設定することで、特長部位がコンテンツの固有の特長を表した情報となる確率を高めることができる。いずれにしても、特長部位はコンテンツの特長を表した情報となるように設定できればよく、その数やそれぞれの大きさ共に上で述べた限りではない。例えば、複数の特長部位は、互いに重複する部分を有してもよい。
【００６５】
なお、本実施の形態では、特長部位を決定するための定義は、すべての取得済みコンテンツに対して共通であったが、取得済みコンテンツ毎に異なってもよい。ただし、本実施の形態のように、特長部位を決定するための定義がすべてのコンテンツで共通であれば、取得対象コンテンツが未取得コンテンツであるか否かを判定するために、サーバー装置２００がクライアント機器３００から取得すべきデータ量を削減することができる。これは、取得対象コンテンツと取得済みコンテンツとを互いに対応する特長部位を用いて比較する場合に、サーバー装置２００は、取得対象コンテンツの特長部位を一度取得することですべての取得済みコンテンツの特長部位と比較できるからである。
【００６６】
コンテンツ部分取得部２０２は、取得済みコンテンツの各特長部位に対応する、取得対象コンテンツの特長部位をクライアント機器３００から順次取得する。また、コンテンツ部分取得部２０２は、取得済みコンテンツの中で、取得対象コンテンツの特長部位と一致する特長部位を有するコンテンツが無いと判定された際に、取得対象コンテンツの特長部位の取得を中止する。
【００６７】
部位ＩＤ生成部２０３は、取得済みコンテンツの特長部位から、当該特長部位よりデータサイズが小さい固定長の符号であって当該特長部位を代表する符号である取得済みコンテンツの特長部位ＩＤを生成する。また、部位ＩＤ生成部２０３は、取得対象コンテンツの特長部位から、当該特長部位よりデータサイズが小さい固定長の符号であって当該特長部位を代表する符号である取得対象コンテンツの特長部位ＩＤを生成する。本実施の形態では、部位ＩＤ生成部２０３は、ハッシュ関数のＳＨＡ（Ｓｅｃｕｒｅ  Ｈａｓｈ  Ａｌｇｏｒｉｔｈｍ）−１を用いて、特長部位から固定長（２０バイト）の特長部位ＩＤを生成する。
【００６８】
なお、取得済みコンテンツの特長部位ＩＤが比較ＩＤに相当し、取得対象コンテンツの特長部位ＩＤが比較対象ＩＤに相当する。
【００６９】
サーバー装置２００は、取得対象コンテンツと取得済みコンテンツとを比較するために、２つのコンテンツの特長部位同士を比較する代わりに、部位ＩＤ生成部２０３が生成した特長部位ＩＤ同士を比較する。部位決定部２０１が決定するコンテンツの特長部位は、個々のサイズが大きかったり、それぞれサイズが異なったりする場合がある。そこで、サーバー装置２００は、コンテンツの特長部位同士を比較する代わりに、特長部位よりデータサイズが小さい固定長の符号である特長部位ＩＤ同士を比較することで、比較処理を高速化でき、サーバー装置２００の実装も容易になるという効果がある。
【００７０】
例えば、本実施の形態において、各特長部位のサイズは図４の特長部位定義テーブル４００に示すように１０２４バイトであるが、特長部位ＩＤは２０バイトである。つまり、比較対象のデータサイズが１００４バイトだけ小さくなるので、比較処理が高速化される。
【００７１】
なお、部位ＩＤ生成部２０３は、必ずしも本実施の形態で用いたＳＨＡ−１のようなハッシュ関数を用いて特長部位ＩＤを生成する必要はない。例えば、部位ＩＤ生成部２０３は、ＣＲＣ（Ｃｙｃｌｉｃ  Ｒｅｄｕｎｄａｎｃｙ  Ｃｈｅｃｋ）関数を用いて、特長部位ＩＤを生成してもよい。いずれにしても、部位ＩＤ生成部２０３は、入力値から、入力値よりもサイズの小さな固定長の値であって入力値を代表する値を生成する方法を用いて特長部位ＩＤを生成できればよい。
【００７２】
重複判定部２０４は、取得対象コンテンツの特長部位ＩＤ（比較対象ＩＤ）と、取得済みコンテンツの特長部位ＩＤ（比較ＩＤ）とを一つずつ比較することにより、取得対象コンテンツが未取得コンテンツであるか否かを判定する。具体的には、重複判定部２０４は、取得対象コンテンツの特長部位が取得されるたびに、比較対象ＩＤと比較ＩＤとを比較することにより、取得済みコンテンツの中に、取得対象コンテンツの特長部位と一致する特長部位を有するコンテンツがあるか否かを判定する。
【００７３】
コンテンツ取得順序決定部２０５は、重複判定部２０４が判定した結果に基づいて、クライアント機器３００から取得対象コンテンツを取得する順序を決定する。
【００７４】
クライアント機器情報取得部２０６は、クライアント機器３００からクライアント機器３００の能力を示すクライアント機器情報を取得する。具体的には、クライアント機器情報は、クライアント機器３００が蓄積するコンテンツに対して、コンテンツから一意に生成されるＩＤ（以下、「コンテンツユニークＩＤ」という。）を割り当てることができるか否かを示す情報を少なくとも含む。コンテンツユニークＩＤは、例えば、コンテンツのハッシュ値を計算することで生成できる。ただし、コンテンツユニークＩＤは、必ずしもコンテンツのハッシュ値である必要はなく、コンテンツから一意に生成され、コンテンツを一意に特定できるＩＤであればよい。また、クライアント機器情報は、その他にも、クライアント機器３００が蓄積するコンテンツのデータサイズあるいは生成日時などのコンテンツに関する情報をサーバー装置２００へ提供できるか否かを示す情報を含んでもよい。
【００７５】
クライアント機器情報が、クライアント機器３００がコンテンツユニークＩＤをコンテンツに割り当てることができることを示す場合、サーバー装置２００は、このコンテンツユニークＩＤに基づいて取得対象コンテンツが未取得コンテンツであるか否かを判定することができる。例えば、サーバー装置２００は、コンテンツユニークＩＤをコンテンツに割り当てるクライアント機器ＡからコンテンツＡ（コンテンツユニークＩＤがＡ）を取得済みであるとき、クライアント機器ＡがコンテンツＡとコンテンツＢ（コンテンツユニークＩＤがＡ）の２つのコンテンツを蓄積していたとする。このとき、サーバー装置２００は、取得済みコンテンツとクライアント機器Ａに蓄積された取得対象コンテンツのコンテンツユニークＩＤを比較することで、コンテンツＢが未取得コンテンツであるか否かを判定できる。
【００７６】
コンテンツリスト取得部２０７は、クライアント機器３００からクライアント機器３００に蓄積された取得対象コンテンツの情報を示す第一のコンテンツリストを取得する。コンテンツリスト取得部２０７が取得する第一のコンテンツリストの詳細については、図６を用いて後述する。
【００７７】
コンテンツ取得部２０８は、クライアント機器３００からコンテンツを取得する。具体的には、コンテンツ取得部２０８は、重複判定部２０４による判定結果に基づいて、クライアント機器３００から取得対象コンテンツの全体を取得する。
【００７８】
コンテンツ部分取得部２０２及びコンテンツ取得部２０８が、取得対象コンテンツの全体またはその一部分のみを取得するためのプロトコルとして、本実施の形態では、ＨＴＴＰ（ＨｙｐｅｒＴｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）を用いる。ただし、コンテンツの全体またはその一部分のみを取得可能なプロトコルであればこの限りではない。コンテンツ転送媒体として通信ケーブルやメモリーカードを用いる場合も同様に、コンテンツの全体またはその一部のみを取得可能なプロトコルであればよい。例えば、コンテンツ転送媒体として通信ケーブルやメモリーカードを用いた場合は、コンテンツ部分取得部２０２及びコンテンツ取得部２０８は、ドライバソフトウェアとＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）とが提供するＰＯＳＩＸ（Ｐｏｒｔａｂｌｅ  Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ  Ｉｎｔｅｒｆａｃｅ）のｒｅａｄインタフェースを介して、コンテンツの全体またはその一部のみを取得できる。
【００７９】
通信制御部２０９は、クライアント機器３００との通信を制御する。通信制御部２０９は、図１で示したように、ネットワークもしくは通信ケーブル、メモリーカードなどのコンテンツ転送媒体を介した通信をドライバソフトウェアなどにより制御する。コンテンツ部分取得部２０２と、クライアント機器情報取得部２０６と、コンテンツ取得部２０８と、コンテンツリスト取得部２０７とは、通信制御部２０９を介して、各クライアント機器３００からコンテンツ、第一のコンテンツリスト、又はクライアント機器情報を取得する。
【００８０】
表示制御部２１０は、クライアント機器３００から取得したコンテンツをディスプレイ１００に表示させたり、ユーザーへの通知内容をディスプレイ１００に表示させたりする。表示制御部２１０とディスプレイ１００とが表示部に相当する。
【００８１】
蓄積部２１１は、クライアント機器３００から取得したコンテンツ、第一のコンテンツリスト、又はクライアント機器情報を蓄積する。
【００８２】
図３は、本発明の実施の形態におけるクライアント機器３００の主要な機能構成を示すブロック図である。図３において、クライアント機器３００は、コンテンツ撮像部３０１、クライアント機器情報送信部３０５、コンテンツリスト送信部３０６、コンテンツ送信部３０７、通信制御部３０８、表示制御部３０９、及び蓄積部３１０を備える。
【００８３】
コンテンツ撮像部３０１は、写真やビデオなどのコンテンツを撮影し、撮影したコンテンツを蓄積部３１０に格納する。クライアント機器情報送信部３０５は、上述のクライアント機器の能力について記載したクライアント機器情報をサーバー装置２００へ送信する。コンテンツリスト送信部３０６は、第一のコンテンツリスト６００をサーバー装置２００へ送信する。
【００８４】
コンテンツ送信部３０７は、サーバー装置２００からの要求に応じて、取得対象コンテンツの複数の特長部位をサーバー装置２００へ順次送信する。また、コンテンツ送信部３０７は、取得対象コンテンツの全体をサーバー装置２００へ送信する。
【００８５】
通信制御部３０８は、サーバー装置２００の通信制御部２０９と同等の機能を有し、ネットワーク、通信ケーブル、又はメモリーカードなどを使った通信を制御する。表示制御部３０９は、蓄積部３１０に蓄積したコンテンツを図示しないディスプレイに表示する。
【００８６】
なお、クライアント機器３００は、コンテンツ撮像部３０１を備えず、他の機器で撮影されたコンテンツを蓄積部３１０に蓄積する機能を有するだけでもよい。
【００８７】
図４は、本発明の実施の形態における特長部位定義テーブル４００の一例を示す図である。本実施の形態では、特長部位定義テーブル４００は、部位決定部２０１により生成され、蓄積部２１１に蓄積される。
【００８８】
本実施の形態において、特長部位定義テーブル４００には、特長部位名と、部位定義と、特長部位サイズと、処理後回しポイントとが格納される。上で述べたように本実施の形態において特長部位の定義は、すべてのコンテンツに対して共通である。したがって、一つの特長部位定義テーブル４００ですべてのコンテンツに対する特長部位が定義される。また、本実施の形態において特長部位の定義は、コンテンツの中間バイト目から１０２４バイトの区間が示す第一の特長部位の定義と、コンテンツの末尾バイト以前の１０２４バイトの区間が示す第二の特長部位の定義と、コンテンツの０バイト目から１０２４バイトの区間が示す第三の特長部位の定義と有する。各特長部位の定義には、当該定義に従って決定された特長部位を取得する際の優先度合いを示す優先度が設定されている。ここでは、第一の特長部位の優先度が一番高く、続いて第二の特長部位の優先度が高く、第三の特長部位の優先度が一番低いものとする。
【００８９】
コンテンツ部分取得部２０２は、クライアント機器３００に蓄積された取得対象コンテンツの特長部位を、優先度の高い特長部位から順に一つずつ取得する。そして、部位ＩＤ生成部２０３は、取得した特長部位から特長部位ＩＤを生成する。さらに、重複判定部２０４は、コンテンツ部分取得部２０２が取得対象コンテンツの特長部位を一つ取得する都度、取得した特長部位から生成された特長部位ＩＤと、サーバー装置２００に蓄積された取得済みコンテンツの対応する特長部位ＩＤとを比較して、取得対象コンテンツが未取得コンテンツであるか否かを判定する。
【００９０】
このように、特長部位に優先度が設定されることによって、重複判定部２０４は、複数の特長部位の中でコンテンツの特長をより表した特長部位を優先的に比較することができる。したがって、優先度を設定しない場合と比較して、サーバー装置２００は、より少ない比較回数で取得対象コンテンツが未取得コンテンツであるか否かを判定することができる。すなわち、特長部位に優先度を設定することによって、サーバー装置２００は、より少ない数の特長部位をクライアント機器３００から取得すれば取得対象コンテンツが未取得コンテンツであるか否かを判定することができ、より少ないデータ転送量で比較処理が完了するので比較処理が高速化される。
【００９１】
さらに、特長部位の定義には、処理後回しポイントが設定されている。サーバー装置２００は、処理後回しポイントが設定された特長部位に対応する特長部位ＩＤの比較を行った結果、取得対象コンテンツが未取得コンテンツであるか否かが確定できずに、次の優先度の特長部位に対応する特長部位ＩＤの比較が必要になった場合、現在行っている取得対象コンテンツに関する比較を中断して後回しにし、次の取得対象コンテンツの比較処理に移行する。処理後回しポイントは、複数設定されても良い。本実施の形態において、処理後回しポイントは、第二の特長部位に一つ設定されている。
【００９２】
サーバー装置２００は、コンテンツの比較処理と並行してコンテンツの取得処理を実行し、「未取得」と判定した取得対象コンテンツから随時取得を行う。よって、「未取得」の取得対象コンテンツをより早く見つけることが、コンテンツの取得処理全体にかかる処理時間の削減につながる。ここで、「未取得」とは、取得対象コンテンツが未取得コンテンツであることを示す。
【００９３】
本実施の形態のように、特長部位に処理後回しポイントを設定することで、サーバー装置２００は、取得済みの可能性が高い（未取得の可能性が低い）取得対象コンテンツの取得済みコンテンツとの比較を後回しにして、該取得対象コンテンツより未取得の可能性が高い他の取得対象コンテンツと取得済みコンテンツとの比較を優先的に行うことができる。つまり、サーバー装置２００は、より効率的に早く「未取得」の取得対象コンテンツを見つけることができ、処理時間を削減できる。さらに、「未取得」の取得対象コンテンツは優先的に取得されるので、ユーザー操作や障害などにより比較処理が途中で中断した場合にも、コンテンツ取得処理が実質的に完了している確率が高くなる。
【００９４】
なお、特長部位をコンテンツ毎に定義する場合は、特長部位定義テーブル４００をコンテンツ毎に用意してもよいし、図５に示すコンテンツデータベース５００に特長部位の定義を新たに格納してもよい。ただし、本実施の形態のように特長部位の定義をすべてのコンテンツに共通とすることで、上で述べたようにサーバー装置２００が比較のためにクライアント機器３００から取得すべきデータ量を削減できるという効果に加え、特長部位定義テーブル４００が一つでよいためサーバー装置２００が記憶すべきデータ容量が小さくなるという効果がある。
【００９５】
図５は、本発明の実施の形態におけるコンテンツデータベース５００の一例を示す図である。コンテンツデータベース５００は、サーバー装置２００の各構成要素が更新と参照を行う共通のデータベースであり、蓄積部２１１に保持される。
【００９６】
本実施の形態において、コンテンツデータベース５００は、コンテンツＩＤと、第一の特長部位ＩＤと、第二の特長部位ＩＤと、第三の特長部位ＩＤと、コンテンツサイズと、生成日時と、ファイルパスとから構成される。以下に、コンテンツデータベース５００の各項目について説明する。
【００９７】
コンテンツＩＤは、サーバー装置２００がコンテンツ毎に付与したコンテンツユニークＩＤである。本発明の実施の形態において、サーバー装置２００は、コンテンツのハッシュ値をコンテンツユニークＩＤとする。ただし、コンテンツユニークＩＤは、必ずしもコンテンツのハッシュ値である必要はなく、コンテンツから一意に生成され、コンテンツを一意に特定できるＩＤであればよい。第一の特長部位ＩＤは、部位ＩＤ生成部２０３が第一の特長部位から生成した特長部位ＩＤである。第二の特長部位ＩＤは、部位ＩＤ生成部２０３が第二の特長部位から生成した特長部位ＩＤである。第三の特長部位ＩＤは、部位ＩＤ生成部２０３が第三の特長部位から生成した特長部位ＩＤである。
【００９８】
特長部位の優先度と同様に特長部位ＩＤにも優先度があり、特長部位の優先度を継承する。つまり、第一の特長部位ＩＤ、第二の特長部位ＩＤ、第三の特長部位ＩＤの順に優先度が高い。サーバー装置２００は、取得対象コンテンツの特長部位ＩＤと、当該特長部位ＩＤに対応する、取得済みコンテンツの特長部位ＩＤとを比較する際、優先度の高い特長部位ＩＤから順に一つずつ比較を行う。
【００９９】
コンテンツサイズは、コンテンツのデータサイズを表す。生成日時は、コンテンツがクライアント機器３００において生成された日時を示す。コンテンツがクライアント機器３００において生成された日時を取得できなかった場合は、サーバー装置２００がコンテンツを取得した日時を記録する。ファイルパスは、蓄積部２１１に蓄積されたコンテンツファイルへアクセスするためのパスを示す。
【０１００】
図６は、本発明の実施の形態における第一のコンテンツリスト６００の一例を示す図である。サーバー装置２００のコンテンツリスト取得部２０７は、クライアント機器３００のコンテンツリスト送信部３０６から第一のコンテンツリスト６００を取得し、クライアント機器３００に蓄積された取得対象コンテンツの情報を得る。
【０１０１】
本実施の形態において、第一のコンテンツリスト６００は、コンテンツＩＤと、コンテンツサイズと、生成日時と、リソースパスとから構成される。第一のコンテンツリスト６００には、図示するように、「ＩＭＧ０１」から「ＩＭＧ０４」までの４つのコンテンツに関する情報が記載されている。例えばコンテンツＩＤが「ＩＭＧ０１」のコンテンツは、コンテンツサイズが「１００ＫＢ（Ｋｉｌｏ  Ｂｙｔｅ、キロバイト）」、生成日時が「２０１０年１月１日０時０分」、リソースパスが、「ｈｔｔｐ：／／１０．０．０．２／ＩＭＧ０１．ｊｐｇ」であることを示す。以下、第一のコンテンツリスト６００の各項目について説明する。
【０１０２】
コンテンツＩＤは、クライアント機器３００がコンテンツ毎に付与したＩＤである。このコンテンツＩＤは、クライアント機器３００ごとに異なる方針で付与されている。つまり、クライアント機器３００が異なれば同じコンテンツであっても異なるコンテンツＩＤが付与されることもあり、異なるコンテンツに対して同じコンテンツＩＤが付与されることもある。
【０１０３】
コンテンツサイズは、コンテンツのデータサイズを表す。生成日時は、コンテンツがクライアント機器３００において生成された日時を示す。
【０１０４】
リソースパスは、コンテンツのＵＲＩ（Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｉｄｅｎｔｉｆｉｅｒ）を表す。具体的には、リソースパスは、サーバー装置２００がクライアント機器３００に蓄積されたコンテンツファイルへアクセスするための手段とパスを表す。例えば、図６の「ＩＭＧ０１」のコンテンツのリソースパスは、「ｈｔｔｐ：／／１０．０．０．２／ＩＭＧ０１．ｊｐｇ」であり、ＨＴＴＰ（ＨｙｐｅｒＴｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）により１０．０．０．２／ＩＭＧ０１．ｊｐｇへアクセスするとコンテンツが取得できることがわかる。
【０１０５】
なお、サーバー装置２００とクライアント機器３００とがメモリーカードを介してコンテンツを転送する場合などには、第一のコンテンツリスト６００のリソースパスに、メモリーカードのルートディレクトリからの相対パスが設定されればよい。
【０１０６】
なお、クライアント機器３００が、第一のコンテンツリスト６００にコンテンツサイズと生成日時とを設定できない場合は、第一のコンテンツリスト６００のコンテンツサイズと生成日時とは省略されてもよい。
【０１０７】
図７は、本発明の実施の形態における第二のコンテンツリスト７００の一例を示す図である。第二のコンテンツリスト７００は、第一のコンテンツリスト６００に基づいて生成されるコンテンツリストであり、第一のコンテンツリスト６００に対して、重複判定結果の項目と特長部位取得状態の項目とが新たに追加されている。それ以外のコンテンツＩＤ、コンテンツサイズ、生成日時、リソースパスの項目については、第一のコンテンツリスト６００に記載された内容と同等であるので、適宜説明を省略する。
【０１０８】
図７において、例えばコンテンツＩＤが「ＩＭＧ０１」のコンテンツは、重複判定結果が「未取得」、特長部位取得状態が「第一の特長部位まで取得」、コンテンツサイズが「１００ＫＢ」、生成日時が「２０１０年１月１日０時０分」、リソースパスが、「ｈｔｔｐ：／／１０．０．０．２／ＩＭＧ０１．ｊｐｇ」であることを示す。
【０１０９】
重複判定結果は、サーバー装置２００の重複判定部２０４が内容を更新し、第二のコンテンツリスト７００に記載の取得対象コンテンツがサーバー装置２００に取得済みか否かを判定した結果を示す。重複判定結果には、「未取得」、「取得済み」、「比較後回し」、「後回し取得」、「未判定」、「取得済み可能性あり」のいずれかが記録される。なお、本実施の形態では、第二のコンテンツリスト７００が第一のコンテンツリスト６００に基づいて生成される際に、重複判定結果の初期値として、すべてのコンテンツに対して「未判定」が設定される。
【０１１０】
重複判定結果が「未取得」である場合、対応するコンテンツは、サーバー装置２００が未取得のコンテンツであることを示す。重複判定結果が「取得済み」である場合、対応するコンテンツは、サーバー装置２００が取得済みのコンテンツであることを示す。重複判定結果が「比較後回し」である場合、「未判定」のコンテンツと比較して、対応するコンテンツに関する比較処理の優先度が下げられていることを示す。重複判定結果が「後回し取得」である場合、対応するコンテンツは、サーバー装置２００が未取得のコンテンツではあるが、「未取得」と判定されたコンテンツと比較して取得の優先度が下げられていることを示す。重複判定結果が「未判定」である場合、対応するコンテンツに関する比較処理がまだ行われていないことを示す。重複判定結果が「取得済み可能性あり」である場合、対応するコンテンツに関する比較処理が処理中であることを示す。例えば、図７に示す第二のコンテンツリスト７００は、コンテンツＩＤが「ＩＭＧ０１」のコンテンツは重複判定結果が「未取得」であると判定されており、コンテンツＩＤが「ＩＭＧ０４」のコンテンツは重複判定結果が「比較後回し」であると判定されていることを示す。
【０１１１】
まとめると、コンテンツ取得部２０８は、重複判定結果が「未取得」及び「後回し取得」である取得対象コンテンツをクライアント機器３００から取得し、蓄積部２１１に格納する。一方、コンテンツ取得部２０８は、重複判定結果が「取得済み」である取得対象コンテンツをクライアント機器３００から取得しない。
【０１１２】
特長部位取得状態は、コンテンツ部分取得部２０２が内容を更新し、クライアント機器３００から取得済みの取得対象コンテンツの特長部位について登録する。この特長部位取得状態は、主として第二のコンテンツリスト７００の重複判定結果が「比較後回し」に設定された場合に有用である。重複判定部２０４が重複判定結果に「比較後回し」と設定されたコンテンツに関する比較を再開する場合、コンテンツ部分取得部２０２は、特長部位取得状態を参照して、次に取得する特長部位を特定する。例えば、図７において、コンテンツＩＤが「ＩＭＧ０２」のコンテンツは重複判定結果が「比較後回し」であると設定されており、その特長部位取得状態は「第二の特長部位まで取得」であるから、コンテンツ部分取得部２０２は、次に第三の特長部位を取得する。
【０１１３】
なお、第一のコンテンツリスト６００にコンテンツサイズと生成日時とが含まれない場合は、第二のコンテンツリスト７００のコンテンツサイズと生成日時とを省略してもよい。
【０１１４】
次に、以上のように構成されたサーバー装置２００の各種動作について説明する。つまり、本実施の形態において、サーバー装置２００が、クライアント機器３００から第一のコンテンツリスト６００を取得して、第一のコンテンツリスト６００に記載されたコンテンツが未取得コンテンツであるか否かを判定し、未取得と判定したコンテンツを取得するまでの動作について、図８から図１２を用いて説明する。ただし、事前に、部位決定部２０１は、特長部位定義テーブル４００に基づいて取得済みコンテンツの特長部位を決定しており、部位ＩＤ生成部２０３は、決定された取得済みコンテンツの特長部位から特長部位ＩＤを生成し、コンテンツデータベース５００に格納しているものとする。
【０１１５】
まず、サーバー装置２００のクライアント機器情報取得部２０６は、クライアント機器３００のクライアント機器情報送信部３０５からクライアント機器情報を取得する（Ｓ８０１）。そして、サーバー装置２００のコンテンツリスト取得部２０７が、クライアント機器３００のコンテンツリスト送信部３０６から第一のコンテンツリスト６００を取得する（Ｓ８０２）。取得した第一のコンテンツリスト６００は、以後、サーバー装置２００において第二のコンテンツリスト７００として扱われる。
【０１１６】
サーバー装置２００の重複判定部２０４は、第二のコンテンツリスト７００から重複判定結果が「未判定」もしくは「比較後回し」に設定されたコンテンツを１つ選択する（Ｓ８０３）。ただし、重複判定部２０４は、重複判定結果が「未判定」に設定されたコンテンツを、「比較後回し」と設定されたコンテンツよりも優先的に選択する。従って、第二のコンテンツリスト７００の重複判定結果が「未判定」に設定されたコンテンツは、重複判定結果が「比較後回し」と設定されたコンテンツよりも優先的にＳ８０３以降の処理が行われる。つまり、第二のコンテンツリスト７００の重複判定結果は、第二のコンテンツリスト７００に記載された取得対象コンテンツに対する処理の優先度を表すことになる。すなわち、コンテンツ部分取得部２０２は、複数の取得対象コンテンツのうち優先度が高い取得対象コンテンツの比較対象部位を優先的に取得することとなる。以下、Ｓ８０３で選択された１つのコンテンツを「判定対象コンテンツ」と記載する。
【０１１７】
重複判定部２０４は、Ｓ８０１で取得したクライアント機器情報を参照し、クライアント機器３００が蓄積するコンテンツに対してコンテンツユニークＩＤを割り当てることができるか否かを判定する（Ｓ８０４）。ここで、クライアント機器３００がコンテンツユニークＩＤを割り当てることができない場合（Ｓ８０４でＮＯ）、重複判定部２０４は、重複取得回避方式を用いて、判定対象コンテンツが「未取得」であるか否かを判定する（Ｓ８０５）。
【０１１８】
一方、クライアント機器３００がコンテンツユニークＩＤを割り当てることができる場合（Ｓ８０４でＹＥＳ）、重複判定部２０４は、コンテンツＩＤを用いて、判定対象コンテンツが「未取得」であるか否かを判定する（Ｓ８０７）。具体的には、重複判定部２０４は、判定対象コンテンツのコンテンツＩＤと一致するコンテンツＩＤがコンテンツデータベース５００に登録されているかどうかに基づいて、判定対象コンテンツが「未取得」であるか否かを判定する。すなわち、重複判定部２０４は、一致するコンテンツＩＤが登録されていなければ判定対象コンテンツは「未取得」であると判定し、対応する第二のコンテンツリスト７００の重複判定結果を「未取得」に更新する。一方、重複判定部２０４は、一致するコンテンツＩＤが登録されていれば判定対象コンテンツは「取得済み」であると判定し、対応する第二のコンテンツリスト７００の重複判定結果を「取得済み」に更新する。
【０１１９】
重複判定部２０４は、第二のコンテンツリスト７００に登録されたすべての取得対象コンテンツが「取得済み」、「未取得」、又は「後回し取得」に判定されたか否かをチェックする（Ｓ８０６）。ここで、すべての取得対象コンテンツが判定されていれば（Ｓ８０６でＹＥＳ）、処理を終了する。一方、いずれかの取得対象コンテンツが判定されていなければ（Ｓ８０６でＮＯ）、Ｓ８０３からの処理を繰り返す。
【０１２０】
次に、図８のＳ８０５においてサーバー装置２００の重複判定部２０４が、Ｓ８０３で選択された判定対象コンテンツが「未取得」であるか否か重複取得回避方式を用いて判定する動作について図９を用いて説明する。
【０１２１】
まず、重複判定部２０４は、サーバー装置２００に蓄積された取得済みコンテンツの中から、判定対象コンテンツと比較すべき比較対象コンテンツを抽出する（Ｓ９０１）。具体的には、重複判定部２０４は、第二のコンテンツリスト７００から判定対象コンテンツのサイズと生成日時とを取得し、コンテンツデータベース５００においてこれらのサイズと生成日時とが一致するすべての取得済みコンテンツを比較対象コンテンツとして抽出する。サイズと生成日時とが一致するコンテンツがコンテンツデータベース５００に存在しない場合は、比較対象コンテンツは抽出されない。
【０１２２】
ここで、第二のコンテンツリスト７００から判定対象コンテンツのサイズもしくは生成日時のいずれか一つしか取得できない場合は、重複判定部２０４は、コンテンツデータベース５００において、どちらか取得できた情報が一致するすべてのコンテンツを比較対象コンテンツとして選択する。また、第二のコンテンツリスト７００から判定対象コンテンツのサイズもしくは生成日時のいずれも取得できない場合には、重複判定部２０４は、コンテンツデータベース５００に登録されたすべてのコンテンツを比較対象コンテンツとして抽出する。以下、Ｓ９０１で抽出された１つ以上のコンテンツを比較対象コンテンツと記載する。
【０１２３】
このように、重複判定部２０４が第二のコンテンツリスト７００から得られる情報により比較対象コンテンツの総数を事前に絞り込むことによって、絞り込みを行わない場合に比べ、判定対象コンテンツと比較対象コンテンツとの比較を行う回数を削減することができ、比較処理を高速化できる。
【０１２４】
なお、本実施の形態において、重複判定部２０４が比較対象コンテンツを抽出する際に、コンテンツのサイズと生成日時の情報を用いたが、この他にもコンテンツの生成場所や生成者などの情報を用いてコンテンツデータベース５００から比較対象コンテンツを抽出してもよい。この場合、第二のコンテンツリスト７００とコンテンツデータベース５００には、コンテンツの生成場所や生成者などの情報が登録される。
【０１２５】
次に、重複判定部２０４は、Ｓ９０１において抽出された比較対象コンテンツが存在するか否かを判定する（Ｓ９０２）。つまり、重複判定部２０４は、Ｓ９０１において比較対象コンテンツが抽出されたか否かを判定する。
【０１２６】
ここで、比較対象コンテンツが存在しない場合（Ｓ９０２でＮＯ）、重複判定部２０４は、判定対象コンテンツを「未取得」と判定して第二のコンテンツリスト７００の重複判定結果に「未取得」を記録する（Ｓ９１２）。
【０１２７】
一方、比較対象コンテンツが存在する場合（Ｓ９０２でＹＥＳ）、コンテンツ部分取得部２０２は、クライアント機器３００から取得する特長部位を優先度に従って１つ決定する（Ｓ９０３）。ここでは、決定された特長部位を第Ｎの特長部位と記載する。具体的には、コンテンツ部分取得部２０２は、第二のコンテンツリスト７００の特長部位取得状態を参照し、クライアント機器３００から取得する特長部位を１つ決定する。例えば、コンテンツ部分取得部２０２は、図７に示す第二のコンテンツリスト７００を参照することにより、コンテンツＩＤが「ＩＭＧ０４」の判定対象コンテンツの特長部位は第二の特長部位まで取得済みであることがわかるので、クライアント機器３００から取得する特長部位を第三の特長部位と決定する。
【０１２８】
そして、コンテンツ部分取得部２０２は、クライアント機器３００から判定対象コンテンツの第Ｎの特長部位を取得する（Ｓ９０４）。つまり、コンテンツ部分取得部２０２は、Ｓ９０３及びＳ９０４を実行する度に、判定対象コンテンツの特長部位を優先度順に一つずつクライアント機器３００から取得する。
【０１２９】
さらに、部位ＩＤ生成部２０３は、取得された第Ｎの特長部位から固定長の第Ｎの特長部位ＩＤを生成し、第Ｎの特長部位まで取得したことを第二のコンテンツリスト７００の特長部位取得状態に記録する（Ｓ９０５）。
【０１３０】
次に、重複判定部２０４は、Ｓ９０５で生成された判定対象コンテンツの第Ｎの特長部位ＩＤと、Ｓ９０１で抽出されたすべての比較対象コンテンツの第Ｎの特長部位ＩＤのそれぞれとが一致する否かを判定する。そして、判定対象コンテンツの第Ｎの特長部位ＩＤがすべての比較対象コンテンツの第Ｎの特長部位ＩＤと一致しなかった場合に、重複判定部２０４は、判定対象コンテンツを「未取得」と判定して、第二のコンテンツリスト７００の重複判定結果に「未取得」を記録する（Ｓ９０６）。
【０１３１】
重複判定部２０４は、Ｓ９０６で判定対象コンテンツが「未取得」と判定されていれば（Ｓ９０７でＹＥＳ）、処理を終了し、「未取得」と判定されていなければ（Ｓ９０７でＮＯ）、Ｓ９０８の処理を実行する。
【０１３２】
次に、重複判定部２０４は、特長部位定義テーブル４００を参照して第Ｎの特長部位が最も優先度の低い特長部位（最後の特長部位）であるか否かを判定する（Ｓ９０８）。つまり、重複判定部２０４は、判定対象コンテンツのすべての特長部位が比較対象コンテンツの特長部位と一致すると判定されてきたか否かを判定する。言い換えると、重複判定部２０４は、比較対象コンテンツの中で、判定対象コンテンツの特長部位のすべてと一致する特長部位を有するコンテンツが有るか否かを判定する。
【０１３３】
ここで、第Ｎの特長部位が最も優先度の低い特長部位であれば（Ｓ９０８でＹＥＳ）、比較対象コンテンツを「後回し取得」と判定して、第二のコンテンツリスト７００の重複判定結果に「後回し取得」を記録し、処理を終了する（Ｓ９０９）。
【０１３４】
ある判定対象コンテンツにおいて、すべての特長部位が一致する比較対象コンテンツが存在した場合、当該判定対象コンテンツは、「未取得」とも「取得済み」とも結論付けられない。つまり、判定対象コンテンツと比較対象コンテンツとにおいて、すべての特長部位が一致したとしても、それらのコンテンツの他の部分が互いに異なっている可能性があるので、判定対象コンテンツは、「未取得」とも「取得済み」とも確定できない。
【０１３５】
そこで、本実施の形態では、重複判定部２０４は、すべての特長部位が比較対象コンテンツと一致する判定対象コンテンツを、「後回し取得」と判定する。その結果、コンテンツ取得部２０８は、すべての特長部位が比較対象コンテンツと一致する判定対象コンテンツをクライアント機器３００から取得することになる。つまり、サーバー装置２００は、比較対象コンテンツの中で、判定対象コンテンツの複数の特長部位と一致する複数の特長部位を有するコンテンツが有ると判定された場合、判定対象コンテンツをクライアント機器３００から取得する。その結果、サーバー装置２００は、「未取得」の可能性があるコンテンツを漏れなく取得することができる。さらに、サーバー装置２００は、「後回し取得」と判定された判定対象コンテンツの取得優先度を、「未取得」と判定されたコンテンツより低く設定することで、確実に「未取得」と判定されたコンテンツを優先的に取得することができる。その結果、サーバー装置２００の処理が途中で中断した場合でも、少なくとも「未取得」と判定されたコンテンツの取得は完了している確率が高まる。
【０１３６】
一方、第Ｎの特長部位が最も優先度の低い特長部位でなければ（Ｓ９０８でＮＯ）、重複判定部２０４は、特長部位定義テーブル４００を参照して第Ｎの特長部位が処理後回しポイントとして設定されているか否かを判定する（Ｓ９１０）。
【０１３７】
ここで、第Ｎの特長部位が処理後回しポイントとして設定されていれば（Ｓ９１０でＹＥＳ）、重複判定部２０４は、比較対象コンテンツを「比較後回し」と判定して、第二のコンテンツリスト７００の重複判定結果に「比較後回し」を記録し、処理を終了する（Ｓ９１１）。つまり、重複判定部２０４は、比較対象コンテンツの中で、判定対象コンテンツの一部の特長部位と一致する特長部位を有するコンテンツが有ると判定された場合、判定対象コンテンツの比較処理の優先度をあらかじめ設定された優先度（「未判定」）よりも下げる。また、コンテンツ部分取得部２０２は、比較対象コンテンツの中で、判定対象コンテンツの一部の特長部位と一致する特長部位を有するコンテンツが有ると判定された場合、判定対象コンテンツの特長部位の取得を中断する。なお、コンテンツ部分取得部２０２は、図８のＳ８０３で重複判定部２０４が「比較後回し」と判定されたコンテンツを判定対象コンテンツとして選択した後に、当該判定対象コンテンツの特長部位の取得を再開する。具体的には、繰り返し実行される図８のＳ８０３で、重複判定部２０４が、優先度に基づき「比較後回し」と判定されたコンテンツを判定対象コンテンツとして選択した後のＳ９０４において、コンテンツ部分取得部２０２は、当該判定対象コンテンツの特長部位の取得を再開する。つまり、コンテンツ部分取得部２０２は、複数の取得対象コンテンツのうち優先度が高い取得対象コンテンツの比較対象部位を優先的に取得することになる。
【０１３８】
一方、第Ｎの特長部位が処理後回しポイントとして設定されていなければ（Ｓ９１０でＮＯ）、Ｓ９０３の処理に戻る。
【０１３９】
次に、図９のＳ９０６におけるサーバー装置２００の重複判定部２０４の動作について図１０を用いて説明する。
【０１４０】
まず、重複判定部２０４は、Ｓ９０５で生成された判定対象コンテンツの第Ｎの特長部位ＩＤと、Ｓ９０１で抽出されたすべての比較対象コンテンツの第Ｎの特長部位ＩＤとが一致するか否かを判定する（Ｓ１００２）。
【０１４１】
ここで、すべての比較対象コンテンツの第Ｎの特長部位ＩＤが判定対象コンテンツの第Ｎの特長部位ＩＤと一致しなければ（Ｓ１００２でＮＯ）、重複判定部２０４は、判定対象コンテンツを「未取得」と判定して、第二のコンテンツリスト７００の重複判定結果に「未取得」を記録する（Ｓ１００３）。
【０１４２】
一方、判定対象コンテンツの第Ｎの特長部位ＩＤと一つでも一致する比較対象コンテンツの第Ｎの特長部位ＩＤがあれば（Ｓ１００２でＹＥＳ）、重複判定部２０４は、取得対象コンテンツを「取得済み可能性あり」と判定して、第二のコンテンツリスト７００の重複判定結果に「取得済み可能性あり」を記録する（Ｓ１００４）。
【０１４３】
そして、重複判定部２０４は、比較対象コンテンツを第Ｎの特長部位ＩＤが判定対象コンテンツと一致したコンテンツのみに更新する（Ｓ１００５）。つまり、重複判定部２０４は、判定対象コンテンツと第Ｎの特長部位ＩＤが一致しなかったコンテンツを比較対象コンテンツから除外する。
【０１４４】
このように、判定対象コンテンツの第Ｎの特長部位ＩＤと、すべての比較対象コンテンツの第Ｎの特長部位ＩＤとが一致しない場合、判定対象コンテンツと同じ部位に同じデータを持ったコンテンツはサーバー装置２００に蓄積されていないと言えるので、サーバー装置２００は、当該判定対象コンテンツを、即座に「未取得」と判定できる。つまり、サーバー装置２００は、クライアント機器３００から残りのすべての特長部位を取得することなく、判定対象コンテンツを「未取得」と判定できるので、処理時間を削減できる。
【０１４５】
次に、本実施の形態において、サーバー装置２００が、図８の処理により「未取得」もしくは「後回し取得」と判定された取得対象コンテンツを取得する動作について図１１を用いて説明する。図１１で示すコンテンツ取得動作は、図８の動作と並列に実行され、取得対象コンテンツが「未取得」もしくは「後回し取得」と判定され次第、随時、当該取得対象コンテンツの取得が行われる。
【０１４６】
まず、コンテンツ取得部２０８は、第二のコンテンツリスト７００の重複判定結果に「未取得」もしくは「後回し取得」と判定された取得対象コンテンツがあるか否かを確認する（Ｓ１２０１）。ここで、「未取得」もしくは「後回し取得」と判定された取得対象コンテンツがない場合（Ｓ１２０１でＮＯ）、コンテンツ取得部２０８は、再度Ｓ１２０１を実行する。
【０１４７】
一方、「未取得」もしくは「後回し取得」と判定された取得対象コンテンツがある場合（Ｓ１２０１でＹＥＳ）、コンテンツ取得順序決定部２０５は、「未取得」もしくは「後回し取得」と判定された取得対象コンテンツの中から、取得優先度に基づいて、取得するコンテンツを選択する（Ｓ１２０２）。つまり、コンテンツ取得順序決定部２０５は、「未取得」と判定された取得対象コンテンツを「後回し取得」と判定された取得対象コンテンツよりも優先的に選択する。すなわち、コンテンツ取得部２０８は、複数の取得対象コンテンツをクライアント機器３００から取得する場合に、取得済みコンテンツの中に取得対象コンテンツの複数の特長部位と一致する複数の特長部位を有するコンテンツが有ると判定された取得対象コンテンツ（「後回し取得」）よりも、取得済みコンテンツの中に取得対象コンテンツの一の特長部位と一致する特長部位を有するコンテンツが無いと判定された取得対象コンテンツ（「未取得」）を優先的に取得する。
【０１４８】
コンテンツ取得部２０８は、Ｓ１２０２で選択された取得対象コンテンツのリソースパスを第二のコンテンツリスト７００から取得する。そして、コンテンツ取得部２０８は、取得したリソースパスに基づきクライアント機器３００から取得対象コンテンツを取得する（Ｓ１２０３）。
【０１４９】
コンテンツ取得部２０８は、取得したコンテンツに関する情報をコンテンツデータベース５００に記録する（Ｓ１２０４）。具体的には、コンテンツ取得部２０８は、取得したコンテンツに対してコンテンツユニークＩＤを生成し、生成したコンテンツユニークＩＤをコンテンツＩＤとして新たに付与し、コンテンツデータベース５００に記録する。さらに、コンテンツ取得部２０８は、取得したコンテンツの各特長部位ＩＤを、Ｓ１２０４を実行するタイミングで計算してからコンテンツデータベース５００に記録する。ただし、図８の処理で計算された特長部位ＩＤが保持されていれば、コンテンツ取得部２０８は、その特長部位ＩＤを流用してコンテンツデータベース５００に記録してもよい。
【０１５０】
また、コンテンツ取得部２０８は、取得したコンテンツのコンテンツサイズを、取得したコンテンツから計算してコンテンツデータベース５００に記録する。さらにコンテンツ取得部２０８は、取得したコンテンツの生成日時の値として、第二のコンテンツリスト７００に記載された当該コンテンツの生成日時の値をコンテンツデータベース５００に記録する。ただし、第二のコンテンツリスト７００に取得したコンテンツに対応する生成日時が記録されていない場合、コンテンツ取得部２０８は、Ｓ１２０３においてコンテンツを取得した日時をコンテンツデータベース５００に記録する。
【０１５１】
次に、コンテンツ取得部２０８は、第二のコンテンツリスト７００から取得したコンテンツに関する情報を削除し（Ｓ１２０５）、再度Ｓ１２０１から繰り返し処理を行う。ただし、Ｓ１２０５において、コンテンツ取得部２０８は、第二のコンテンツリスト７００から取得したコンテンツに関する情報を削除する代わりに、第二のコンテンツリスト７００の重複判定結果に「取得済み」と記録してもよい。
【０１５２】
以上のように、本実施の形態におけるサーバー装置２００は、取得対象コンテンツの一つの特長部位に対して、対応するすべての取得済みコンテンツの特長部位が一致しなかった場合に、当該取得対象コンテンツを未取得コンテンツと判定して、当該取得対象コンテンツをクライアント機器から取得することが可能となる。したがって、サーバー装置２００は、コンテンツの識別子あるいは属性情報の一意性が保証されない場合であっても、取得対象コンテンツが未取得コンテンツであるか否かを判定することが可能となる。また、サーバー装置２００は、取得対象コンテンツが未取得コンテンツであるか否かを判定するために、取得対象コンテンツ全体をクライアント機器から取得する必要がないので、クライアント機器からのデータ転送量を抑制することができる。また、サーバー装置２００は、取得対象コンテンツの一つの特長部位に対して、対応するすべての取得済みコンテンツの特長部位が一致しなかった場合に、当該取得対象コンテンツの特長部位の取得を中止できるので、クライアント機器３００からのデータ転送量をさらに抑制することができる。
【０１５３】
以上、本発明の一態様に係るサーバー装置２００について、実施の形態に基づいて説明したが、本発明は、これらの実施の形態に限定されるものではない。本発明の趣旨を逸脱しない限り、当業者が思いつく各種変形を本実施の形態に施したものも本発明の範囲内に含まれる。
【０１５４】
例えば、上記実施の形態において、判定対象コンテンツとすべての特長部位が一致する比較対象コンテンツがある場合に、重複判定部２０４は、当該判定対象コンテンツを「後回し取得」と判定していたが、必ずしもこのように判定する必要はない。具体的には、重複判定部２０４は、図９のＳ９０９の処理の代わりに、図１２で示す処理を実行してもよい。以下に、図１２の処理について説明する。
【０１５５】
まず、重複判定部２０４は、判定対象コンテンツに関する情報と、当該判定対象コンテンツを取得するかしないかユーザーからの指示を促す情報とを、表示制御部２１０を介して、ディスプレイ１００へ表示することにより、ユーザーへ通知する（Ｓ１１０１）。言い換えると、表示制御部２１０は、重複判定部２０４からの指示に従って、判定対象コンテンツに関する情報をディスプレイ１００に表示させる。
【０１５６】
重複判定部２０４は、通知を受けたユーザーからの指示を待ち、ディスプレイ１００が判定対象コンテンツを取得することを示す指示情報をユーザーから受け付けた場合（Ｓ１１０２でＹＥＳ）、判定対象コンテンツを「未取得」と判定して、第二のコンテンツリスト７００の重複判定結果に「未取得」を記録（Ｓ１１０３）する。一方、ディスプレイ１００が判定対象コンテンツを取得することを示す指示情報をユーザーから受け付けなかった場合（Ｓ１１０２でＮＯ）、重複判定部２０４は、判定対象コンテンツを「取得済み」と判定して、第二のコンテンツリスト７００の重複判定結果に「取得済み」を記録する（Ｓ１１０４）。
【０１５７】
なお、図１２のＳ１１０２でユーザーが指示した内容は、以降のすべての処理に一括して適用してもよい。このようにユーザーが一括指示を行えるようにすることで、ユーザーは判定対象コンテンツ一つ一つに同じ指示を繰り返す必要がない。
【０１５８】
図１２のＳ１１０１において、重複判定部２０４がディスプレイ１００へ表示するユーザー通知画面について図１３を用いて説明する。図１３において、ユーザー通知画面は、判定結果通知文字１３０１と、判定結果通知動画像１３０２と、取得指示ボタン１３０３と、取得中止指示ボタン１３０４とを備える。
【０１５９】
判定結果通知文字１３０１は、判定対象コンテンツのコンテンツＩＤと、該判定対象コンテンツと特長部位ＩＤが最も多く一致した比較対象コンテンツのコンテンツＩＤとを含む文字情報である。図１３では、コンテンツデータベース５００に記録されたコンテンツＩＤが「Ｂ」のコンテンツと、第二のコンテンツリスト７００に記載されたコンテンツＩＤが「ＩＭＧ０２」のコンテンツとが最も特長部位ＩＤが一致したことを文字で通知している。
【０１６０】
判定結果通知動画像１３０２は、現在の判定対象コンテンツと特長部位ＩＤが最も多く一致した比較対象コンテンツの動画像情報である。図１３では、コンテンツデータベース５００に記録されたコンテンツＩＤが「Ｂ」のコンテンツ画像を表示している。
【０１６１】
取得指示ボタン１３０３は、ユーザーが判定対象コンテンツの取得をサーバー装置２００へ指示するためのボタンである。取得中止指示ボタン１３０４は、ユーザーが判定対象コンテンツを取得しないことをサーバー装置２００へ指示するためのボタンである。
【０１６２】
また、重複判定部２０４は、図９のＳ９０９において、判定対象コンテンツを「後回し取得」と判定せず、「取得済み」又は「未取得」と判定してもよい。このように、重複判定部２０４がＳ９０９において「後回し取得」と判定せずに、「取得済み」又は「未取得」と判定することで、図１１のＳ１２０２においてコンテンツ取得順序決定部２０５が取得するコンテンツを選択する際に、「未取得」のコンテンツのみを対象とすればよく、選択するコンテンツの優先度を考慮する必要がないので、コンテンツ取得順序決定部２０５の実装が容易になり、処理も高速化される。また、図９のＳ９０９において「取得済み」と判定した場合には、サーバー装置２００は、その判定対象コンテンツの全体データをクライアント機器３００から取得しないので、取得済みの可能性がある判定対象コンテンツを取得することを抑制するとともに、クライアント機器３００からのデータ転送量をさらに抑制することができる。
【０１６３】
なお、図９のＳ９０９における重複判定部２０４の動作は、上で述べたような動作の中から実行する動作をあらかじめ決定しておいてもよいし、機器の初期設定時に図示しない入力部からのユーザー指示によって決定されてもよい。
【０１６４】
また、上記実施の形態において、コンテンツ部分取得部２０２は、取得対象コンテンツの特長部位をクライアント機器３００から一つずつ取得していたが、必ずしも一つずつ取得する必要はない。例えば、コンテンツ部分取得部２０２は、取得対象コンテンツの特長部位を複数ずつ取得してもよい。また例えば、コンテンツ部分取得部２０２は、取得対象コンテンツの特長部位の数を徐々に増加させながら、取得対象コンテンツの特長部位を取得してもよい。このような場合であっても、サーバー装置２００は、取得対象コンテンツが「未取得」と判定されたときに、まだ取得されていない次の特長部位の取得を中止することにより、データ転送量を抑制することができる。さらに、サーバー装置２００は、取得対象コンテンツの特長部位をクライアント機器３００から一度に複数取得することにより、取得対象コンテンツの特長部位の取得を効率的に行なうことができる。
【０１６５】
また、上記実施の形態において、第二のコンテンツリスト７００が第一のコンテンツリスト６００に基づいて生成される際に、重複判定結果の初期値として、すべてのコンテンツに対して「未判定」が設定されていたが、必ずしもこのように設定される必要はない。つまり、取得対象コンテンツにあらかじめ設定される比較処理の優先度は、すべて同じである必要はない。例えば、第二のコンテンツリスト７００が第一のコンテンツリスト６００に基づいて生成される際に、コンテンツサイズに応じて優先度が異なるように、コンテンツに対する重複判定結果（例えば、「未判定１」、「未判定２」など）が設定されてもよい。これにより、あらかじめ設定された優先度が高い取得対象コンテンツの比較処理を優先的に行なうことができ、処理を効率化することができる。
【０１６６】
また、上記実施の形態において、サーバー装置２００は、図２に示す各構成要素を備えていたが、必ずしも図２に示す構成要素のすべてを備える必要はない。例えば、サーバー装置２００は、図２に示す構成要素のうち、図１４に示す構成要素のみを備えてもよい。
【０１６７】
図１４は、本発明の実施の形態の変形例におけるサーバー装置２００の機能構成を示すブロック図である。本変形例において、サーバー装置２００は、コンテンツ部分取得部２０２と、重複判定部２０４と、コンテンツ取得部２０８とを少なくとも備える。また、サーバー装置２００は、外部記憶装置としての蓄積部２１１と接続されている。
【０１６８】
サーバー装置２００が図１４に示すような構成であったとしても、重複判定部２０４は取得対象コンテンツの特長部位と一致する特長部位を有する取得済みコンテンツが有るか否かを判定することができる。したがって、重複判定部２０４は、取得対象コンテンツの一つの特長部位に対して、対応するすべての取得済みコンテンツの特長部位が一致しなかった場合に、当該取得対象コンテンツを未取得コンテンツと判定して、コンテンツ取得部２０８は、当該取得対象コンテンツをクライアント機器から取得することが可能となる。その結果、サーバー装置２００は、コンテンツの識別子あるいは属性情報の一意性が保証されない場合であっても、取得対象コンテンツが未取得コンテンツであるか否かを判定することが可能となる。また、サーバー装置２００は、取得対象コンテンツが未取得コンテンツであるか否かを判定するために、取得対象コンテンツ全体をクライアント機器から取得する必要がないので、クライアント機器からのデータ転送量を抑制することができる。また、取得対象コンテンツの一つの特長部位に対して、対応するすべての取得済みコンテンツの特長部位が一致しなかった場合に、コンテンツ部分取得部２０２は当該取得対象コンテンツの特長部位の取得を中止できるので、サーバー装置２００は、クライアント機器からのデータ転送量をさらに抑制することができる。
【０１６９】
また、サーバー装置２００は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、及びハードディスクなどを備えるコンピュータによって実現されてもよい。
【０１７０】
また、上記実施の形態におけるサーバー装置２００が備える構成要素の一部または全部は、１個のシステムＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ：大規模集積回路）から構成されているとしてもよい。例えば、図１４に示すように、サーバー装置２００は、部位決定部２０１とコンテンツ部分取得部２０２と重複判定部２０４とコンテンツ取得部２０８とを有するシステムＬＳＩ２５０から構成されてもよい。
【０１７１】
システムＬＳＩ２５０は、複数の構成部を１個のチップ上に集積して製造された超多機能ＬＳＩであり、具体的には、マイクロプロセッサ、ＲＯＭ、ＲＡＭなどを含んで構成されるコンピュータシステムである。前記ＲＡＭには、コンピュータプログラムが記憶されている。前記マイクロプロセッサが、前記コンピュータプログラムに従って動作することにより、システムＬＳＩは、その機能を達成する。
【０１７２】
なお、ここでは、システムＬＳＩとしたが、集積度の違いにより、ＩＣ、ＬＳＩ、スーパーＬＳＩ、ウルトラＬＳＩと呼称されることもある。また、集積回路化の手法はＬＳＩに限るものではなく、専用回路又は汎用プロセッサで実現してもよい。ＬＳＩ製造後に、プログラムすることが可能なＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）、あるいはＬＳＩ内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用してもよい。
【０１７３】
さらには、半導体技術の進歩又は派生する別技術によりＬＳＩに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適用等が可能性としてありえる。
【０１７４】
また、本発明は、このような特徴的な処理部を備えるサーバー装置として実現することができるだけでなく、サーバー装置に含まれる特徴的な処理部をステップとするコンテンツ取得方法として実現することもできる。また、コンテンツ取得方法に含まれる特徴的な各ステップをコンピュータに実行させるコンピュータプログラムとして実現することもできる。そして、そのようなコンピュータプログラムを、ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）等のコンピュータ読取可能な記録媒体あるいはインターネット等の通信ネットワークを介して流通させることができるのは、言うまでもない。
【産業上の利用可能性】
【０１７５】
本発明の一態様に係るサーバー装置は、クライアント機器から取得対象コンテンツの全体データではなく部分データを取得するだけで、取得対象コンテンツが未取得コンテンツであるか否かを判定することができるので、クライアント機器からコンテンツを取得して一元管理するサーバー装置等として有用である。
【符号の説明】
【０１７６】
１００  ディスプレイ
２００  サーバー装置
２０１  部位決定部
２０２  コンテンツ部分取得部
２０３  部位ＩＤ生成部
２０４  重複判定部
２０５  コンテンツ取得順序決定部
２０６  クライアント機器情報取得部
２０７  コンテンツリスト取得部
２０８  コンテンツ取得部
２０９  通信制御部
２１０  表示制御部
２１１  蓄積部
３００  クライアント機器
３０１  コンテンツ撮像部
３０５  クライアント機器情報送信部
３０６  コンテンツリスト送信部
３０７  コンテンツ送信部
３０８  通信制御部
３０９  表示制御部
３１０  蓄積部
４００  特長部位定義テーブル
５００  コンテンツデータベース
６００  第一のコンテンツリスト
７００  第二のコンテンツリスト
【図１】
2011161934.tif 000003
【図２】
2011161934.tif 000004
【図３】
2011161934.tif 000005
【図４】
2011161934.tif 000006
【図５】
2011161934.tif 000007
【図６】
2011161934.tif 000008
【図７】
2011161934.tif 000009
【図８】
2011161934.tif 000010
【図９】
2011161934.tif 000011
【図１０】
2011161934.tif 000012
【図１１】
2011161934.tif 000013
【図１２】
2011161934.tif 000014
【図１３】
2011161934.tif 000015
【図１４】
2011161934.tif 000016
【国際調査報告】
2011161934.tif 000017
2011161934.tif 000018