(57)【要約】  クライアント機器（３００）は複数のコンテンツ取得サーバ（２００）に対して１種類のコンテンツリストを管理し、コンテンツリストに掲載された情報を、コンテンツ取得サーバ（２００）から受信した情報に基づき更新する。これにより、クライアント機器（３００）が低い処理負荷で無駄の少ないコンテンツリストをホームサーバに提供できるので、ホームサーバがクライアント機器からコンテンツを取得する処理時間を短くできる。
2012144214.tif 000002
【特許請求の範囲】
【請求項１】
クライアント機器に蓄積された複数のコンテンツを１つ以上のサーバ装置が取得するコンテンツ取得システムのクライアント機器であって、
複数のコンテンツを蓄積する蓄積部と、
蓄積されている前記コンテンツを、１つ以上の前記サーバ装置に取得させるコンテンツ管理部と、
蓄積されている前記コンテンツのうちで１つ以上の前記サーバ装置のいずれかが前記クライアント機器から取得していないコンテンツに関するコンテンツ情報が記録された差分情報を、１つ以上の前記サーバ装置に共通する情報として作成し、１つ以上の前記サーバ装置それぞれの要求に応じて前記差分情報を提供する差分情報管理部と、
前記サーバ装置がすでに取得したコンテンツに関する前記コンテンツ情報である取得済みコンテンツ情報を、１つ以上の前記サーバ装置のそれぞれから受信する取得済みコンテンツ管理部と、を備え、
前記差分情報管理部は、受信した前記取得済みコンテンツ情報に基づいて、すべての前記サーバ装置において取得済みとなったコンテンツに関する前記コンテンツ情報を前記差分情報から削除する
クライアント機器。
【請求項２】
前記クライアント機器は、さらに、
１つ以上の前記サーバ装置を識別するためのサーバ識別子を１つ以上記憶するサーバ管理部を備え、
前記差分情報管理部は、前記蓄積部に蓄積されている前記コンテンツに新たなコンテンツが追加され、または、蓄積されている前記コンテンツが更新、もしくは削除された場合、追加、更新、または削除された前記コンテンツに関する前記コンテンツ情報を新たなコンテンツ情報として前記差分情報に追加し、
前記取得済みコンテンツ管理部は、前記サーバ装置から、前記サーバ識別子と前記取得済みコンテンツ情報とを受信し、受信した前記サーバ識別子と前記取得済みコンテンツ情報とを関連付けて記録し、
前記差分情報管理部は、前記取得済みコンテンツ管理部が記録した前記取得済みコンテンツ情報のうちで、前記サーバ管理部により記憶されたすべての前記サーバ識別子に関連付けられた前記取得済みコンテンツ情報で示される前記コンテンツ情報を前記差分情報から削除する
請求項１記載のクライアント機器。
【請求項３】
前記差分情報管理部は、前記クライアント機器に新たなコンテンツが追加され、または、蓄積されている前記コンテンツが更新、もしくは削除された場合、前記追加、更新、または削除された前記コンテンツに関する前記コンテンツ情報を前記差分情報に記録した後、前記差分情報が更新されたことを前記サーバ管理部にサーバ識別子が記憶されたすべての前記サーバ装置へ通知する
請求項２記載のクライアント機器。
【請求項４】
前記差分情報管理部は、さらに、前記差分情報に、前記追加、更新、または削除された前記コンテンツに関する前記コンテンツ情報を記録した後、前記差分情報に記録されている前記コンテンツ情報の総数を、前記サーバ管理部にサーバ識別子が記憶されたすべての前記サーバ装置へ通知する
請求項３記載のクライアント機器。
【請求項５】
前記差分情報管理部は、前記サーバ装置のいずれかが前記クライアント機器から取得していないコンテンツに関するコンテンツ情報に関連付けて、大小関係によりコンテンツの追加、更新、または削除を含む状態変化の時系列を示す差分番号を管理し、前記クライアント機器に新たなコンテンツが追加され、またはすでに蓄積されている前記コンテンツが更新、もしくは削除される都度、前記差分番号を増加させ、増加させた前記差分番号を、前記状態変化のあったコンテンツに関するコンテンツ情報に関連付け、
前記取得済みコンテンツ管理部は、前記サーバ装置から、前記サーバ識別子と前記取得済みコンテンツ情報とに関連付けられた前記差分番号の中で最大の差分番号を受信し、
前記サーバ管理部は、受信した前記サーバ識別子と前記最大の差分番号とが関連付けられたサーバ管理テーブルを管理し、
前記差分情報管理部は、前記サーバ管理部により記憶されているすべての前記サーバ装置の前記サーバ識別子に関連付けられた前記差分番号の中で最小の差分番号を選択し、前記差分情報の中で前記最小の差分番号以下の差分番号に関連付けられた前記コンテンツ情報を前記差分情報から削除する
請求項２記載のクライアント機器。
【請求項６】
前記差分情報管理部は、前記差分情報に前記状態変化のあったコンテンツに関するコンテンツ情報を記録した後、前記差分情報に記録されている差分番号の中で最大の前記差分番号を、前記サーバ管理部にサーバ識別子が記憶されたすべての前記サーバ装置へ通知する
請求項５記載のクライアント機器。
【請求項７】
前記差分情報管理部は、前記差分情報に前記状態変化のあったコンテンツに関するコンテンツ情報を記録した後、前記差分情報に記録されている差分番号の中で最小の前記差分番号を、前記サーバ管理部にサーバ識別子が記憶されたすべての前記サーバ装置へ通知する
請求項６記載のクライアント機器。
【請求項８】
前記差分情報管理部は、（１）前記差分番号に関連付けられた前記コンテンツ情報を第一の差分情報に記録し、前記第一の差分情報に記録された前記差分番号の中で最大の差分番号と前記第一の差分情報に関する情報とを関連付けて、前記第一の差分情報の上位の階層の第二の差分情報に記録し、
さらに前記差分情報管理部は、（２）前記コンテンツ情報を前記第一の差分情報に記録する際、前記第一の差分情報に記録された前記コンテンツ情報の数が予め定められた数に達していた場合、新たに前記第一の差分情報と同じ階層の第三の差分情報を作成し、前記あらかじめ定められた数を超えた前記コンテンツ情報を前記第三の差分情報に記録し、前記第三の差分情報に記録された前記差分番号の中で最大の差分番号と前記第三の差分情報に関する情報とを関連付けて前記第二の差分情報に記録し、
前記サーバ装置の要求に応じて前記第一の差分情報を提供するか、または前記第二の差分情報と、前記第一の差分情報もしくは前記第三の差分情報のいずれか１つ以上を提供する
請求項５記載のクライアント機器。
【請求項９】
前記差分情報管理部は、前記サーバ管理部によりサーバ識別子が記憶された前記サーバ装置が存在する場合のみ、前記コンテンツ情報を前記差分情報に記録する
請求項２記載のクライアント機器。
【請求項１０】
前記サーバ管理部は、記憶する前記サーバ識別子の中で指定された前記サーバ識別子を削除し、
前記差分情報管理部は、前記サーバ管理部が記憶する前記サーバ識別子が存在しなくなった場合、前記差分情報に記録されたすべての前記コンテンツ情報および前記差分情報を削除する
請求項２記載のクライアント機器。
【請求項１１】
前記サーバ管理部は、前記サーバ装置から前記サーバ識別子を含むサーバ登録要求を受信し、受信した前記サーバ識別子を記憶する
請求項２記載のクライアント機器。
【請求項１２】
前記クライアント機器は、当該クライアント機器のクライアント識別子を含む、当該クライアント機器に関する情報を記載したクライアント機器情報を、前記サーバ装置へ提供する機器情報提供部を備え、
前記機器情報提供部は、前記クライアント機器情報に、前記差分情報を取得するための情報を記載する
請求項２記載のクライアント機器。
【請求項１３】
クライアント機器に蓄積された複数のコンテンツを１つ以上のサーバ装置が取得するコンテンツ取得システムにおけるサーバ装置であって、
前記クライアント機器から、前記クライアント機器に蓄積されたコンテンツに関するコンテンツ情報が記録された、１つ以上の前記サーバ装置のいずれかが前記クライアント機器から取得していないコンテンツを示す差分情報を取得する差分情報取得部と、
前記差分情報に記録された前記コンテンツ情報に基づき、未取得のコンテンツのみを前記クライアント機器から取得するコンテンツ取得部と、
前記コンテンツ取得部が取得したコンテンツに関するコンテンツ情報を記録する取得済みコンテンツ管理部とを備え、
前記差分情報には、前記コンテンツ情報がコンテンツ毎に記録され、さらに前記コンテンツ情報には大小関係によりコンテンツの追加、更新、または削除を含む状態変化の時系列を示す差分番号が関連付けられており、
前記取得済みコンテンツ管理部は、前記コンテンツ取得部が取得したコンテンツに関する前記コンテンツ情報に関連付けられた前記差分番号の中で最大の差分番号を第一の差分番号として記録し、
前記コンテンツ取得部は、前記差分情報の中で前記第一の差分番号より大きな前記差分番号が関連付けられた前記コンテンツ情報に対応するコンテンツのみを前記クライアント機器から取得し、
さらに前記サーバ装置は、前記サーバ装置の識別子であるサーバ識別子と前記第一の差分番号を前記クライアント機器へ通知する取得済みコンテンツ通知部とを備える
サーバ装置。
【請求項１４】
前記サーバ装置は、前記クライアント機器から最新の差分番号を受信する差分番号受信部を備え、
前記差分情報取得部は、前記差分番号受信部が受信した前記最新の差分番号と前記第一の差分番号とを比較し、前記差分番号受信部が受信した前記最新の差分番号が前記第一の差分番号より大きい場合のみ、前記クライアント機器から前記差分情報を取得する
請求項１３記載のサーバ装置。
【請求項１５】
前記差分情報取得部は、前記クライアント機器から取得した第一の差分情報に前記第一の差分情報よりも下位の階層の第二の差分情報に関する情報が記載されていた場合、前記第二の差分情報に関する情報から前記第二の差分情報に記録されているコンテンツ情報に関連付けられた差分番号を取得して前記第一の差分番号と比較し、前記第二の差分情報に記録されているコンテンツ情報に関連付けられた前記差分番号が前記第一の差分番号より大きい場合にのみ、前記第二の差分情報を取得する
請求項１３記載のサーバ装置。
【請求項１６】
前記サーバ装置は、前記クライアント機器から前記差分情報を取得するための情報が記載された、クライアント識別子を含むクライアント機器情報を取得する機器情報取得部を備え、
前記差分情報取得部は、前記クライアント機器情報に記載された前記情報に基づき前記差分情報を取得する
請求項１３記載のサーバ装置。
【請求項１７】
クライアント機器に蓄積された複数のコンテンツを１つ以上のサーバ装置が取得するコンテンツ取得システムにおいて、複数のコンテンツを蓄積する蓄積部を備えるクライアント機器でのコンテンツ取得方法であって、
蓄積されている前記コンテンツを、１つ以上の前記サーバ装置に取得させ、
蓄積されている前記コンテンツのうちで、１つ以上の前記サーバ装置のいずれかが前記クライアント機器から取得していないコンテンツに関するコンテンツ情報が記録された差分情報を、１つ以上の前記サーバ装置に共通する情報として作成し、１つ以上の前記サーバ装置それぞれの要求に応じて前記差分情報を提供し、
前記サーバ装置がすでに取得したコンテンツに関する前記コンテンツ情報である取得済みコンテンツ情報を、１つ以上の前記サーバ装置のそれぞれから受信し、
受信した前記取得済みコンテンツ情報に基づいて、すべての前記サーバ装置において取得済みとなったコンテンツに関する前記コンテンツ情報を前記差分情報から削除する
コンテンツ取得方法。
【請求項１８】
クライアント機器に蓄積された複数のコンテンツをサーバ装置が取得するコンテンツ取得システムにおけるサーバ装置でのコンテンツ取得方法であって、
前記クライアント機器から、前記クライアント機器に蓄積されたコンテンツに関するコンテンツ情報が記録された、１つ以上の前記サーバ装置のいずれかが前記クライアント機器から取得していないコンテンツを示す差分情報を取得し、
前記差分情報に記録された前記コンテンツ情報に基づき、未取得のコンテンツのみを前記クライアント機器から取得し、
取得したコンテンツに関するコンテンツ情報を記録し、
前記差分情報には、前記コンテンツ情報がコンテンツ毎に記録され、さらに前記コンテンツ情報には大小関係によりコンテンツの追加、更新、または削除を含む状態変化の時系列を示す差分番号が関連付けられており、
前記未取得のコンテンツのみを取得するステップにおいて取得したコンテンツに関する前記コンテンツ情報に関連付けられた前記差分番号の中で最大の差分番号を第一の差分番号として記録し、
前記未取得のコンテンツのみを取得するステップでは、前記差分情報の中で前記第一の差分番号より大きな前記差分番号が関連付けられた前記コンテンツ情報に対応するコンテンツのみを前記クライアント機器から取得し、
さらに前記サーバ装置では、前記サーバ装置の識別子であるサーバ識別子と前記第一の差分番号を前記クライアント機器へ通知する
コンテンツ取得方法。
【請求項１９】
複数のコンテンツを蓄積する蓄積部に蓄積された複数のコンテンツを１つ以上のサーバ装置が取得するコンテンツ取得システムにおけるクライアント機器の、コンピュータ用非一時的コンピュータ読み取り可能な記録媒体に記録されたプログラムであって、コンピュータを、
蓄積されている前記コンテンツを、１つ以上の前記サーバ装置に取得させるコンテンツ管理部と、
蓄積されている前記コンテンツのうちで１つ以上の前記サーバ装置のいずれかが前記クライアント機器から取得していないコンテンツに関するコンテンツ情報が記録された差分情報を、１つ以上の前記サーバ装置に共通する情報として作成し、１つ以上の前記サーバ装置それぞれの要求に応じて前記差分情報を提供する差分情報管理部と、
前記サーバ装置がすでに取得したコンテンツに関する前記コンテンツ情報である取得済みコンテンツ情報を、１つ以上の前記サーバ装置のそれぞれから受信する取得済みコンテンツ管理部として動作させ、
前記差分情報管理部に、受信した前記取得済みコンテンツ情報に基づいて、すべての前記サーバ装置において取得済みとなったコンテンツに関する前記コンテンツ情報を前記差分情報から削除させるプログラム。
【請求項２０】
クライアント機器に蓄積された複数のコンテンツをサーバ装置が取得するコンテンツ取得システムにおけるサーバ装置の、コンピュータ用非一時的コンピュータ読み取り可能な記録媒体に記録されたプログラムであって、コンピュータを、
前記クライアント機器から、前記クライアント機器に蓄積されたコンテンツに関するコンテンツ情報が記録された、１つ以上の前記サーバ装置のいずれかが前記クライアント機器から取得していないコンテンツを示す差分情報を取得する差分情報取得部と、
前記差分情報に記録された前記コンテンツ情報に基づき、未取得のコンテンツのみを前記クライアント機器から取得するコンテンツ取得部と、
前記コンテンツ取得部が取得したコンテンツに関するコンテンツ情報を記録する取得済みコンテンツ管理部として動作させ、
前記差分情報には、前記コンテンツ情報がコンテンツ毎に記録され、さらに前記コンテンツ情報には大小関係によりコンテンツの追加、更新、または削除を含む状態変化の時系列を示す差分番号が関連付けられており、
前記取得済みコンテンツ管理部に、前記コンテンツ取得部が取得したコンテンツに関する前記コンテンツ情報に関連付けられた前記差分番号の中で最大の差分番号を第一の差分番号として記録させ、
前記コンテンツ取得部に、前記差分情報の中で前記第一の差分番号より大きな前記差分番号が関連付けられた前記コンテンツ情報に対応するコンテンツのみを前記クライアント機器から取得させ、
さらに前記サーバ装置において、前記サーバ装置の識別子であるサーバ識別子と前記第一の差分番号とを前記クライアント機器へ通知する取得済みコンテンツ通知部として動作させるプログラム。
【請求項２１】
クライアント機器に蓄積された複数のコンテンツを１つ以上のサーバ装置が取得するコンテンツ取得システムにおけるクライアント機器を実装する集積回路であって、
複数のコンテンツを蓄積する蓄積部と、
蓄積されている前記コンテンツを、１つ以上の前記サーバ装置に取得させるコンテンツ管理部と、
蓄積されている前記コンテンツのうちで１つ以上の前記サーバ装置のいずれかが前記クライアント機器から取得していないコンテンツに関するコンテンツ情報が記録された差分情報を、１つ以上の前記サーバ装置に共通する情報として作成し、１つ以上の前記サーバ装置それぞれの要求に応じて前記差分情報を提供する差分情報管理部と、
前記サーバ装置がすでに取得したコンテンツに関する前記コンテンツ情報である取得済みコンテンツ情報を、１つ以上の前記サーバ装置のそれぞれから受信する取得済みコンテンツ管理部と、を備え、
前記差分情報管理部は、受信した前記取得済みコンテンツ情報に基づいて、すべての前記サーバ装置において取得済みとなったコンテンツに関する前記コンテンツ情報を前記差分情報から削除する
集積回路。
【請求項２２】
クライアント機器に蓄積された複数のコンテンツをサーバ装置が取得するコンテンツ取得システムにおけるサーバ装置を実装する集積回路であって、
前記クライアント機器から、前記クライアント機器に蓄積されたコンテンツに関するコンテンツ情報が記録された、１つ以上の前記サーバ装置のいずれかが前記クライアント機器から取得していないコンテンツを示す差分情報を取得する差分情報取得部と、
前記差分情報に記録された前記コンテンツ情報に基づき、未取得のコンテンツのみを前記クライアント機器から取得するコンテンツ取得部と、
前記コンテンツ取得部が取得したコンテンツに関するコンテンツ情報を記録する取得済みコンテンツ管理部を備え、
前記差分情報には、前記コンテンツ情報がコンテンツ毎に記録され、さらに前記コンテンツ情報には大小関係によりコンテンツの追加、更新、または削除を含む状態変化の時系列を示す差分番号が関連付けられており、
前記取得済みコンテンツ管理部は、前記コンテンツ取得部が取得したコンテンツに関する前記コンテンツ情報に関連付けられた前記差分番号の中で最大の差分番号を第一の差分番号として記録し、
前記コンテンツ取得部は、前記差分情報の中で前記第一の差分番号より大きな前記差分番号が関連付けられた前記コンテンツ情報に対応するコンテンツのみを前記クライアント機器から取得し、
さらに前記サーバ装置は、前記サーバ装置の識別子であるサーバ識別子と前記第一の差分番号を前記クライアント機器へ通知する取得済みコンテンツ通知部とを備える
集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンテンツ取得システムに、サーバ装置と共に設けられる、前述のサーバ装置により取得される複数のコンテンツを蓄積するクライアント機器に関する。
【背景技術】
【０００２】
従来より、クライアント機器に蓄積された複数のコンテンツを１つ以上のサーバ装置が取得するコンテンツ取得システムがある（特許文献１〜４参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第３４９０６４１号公報
【特許文献２】特開２００１−１８４３５５号公報
【特許文献３】特許第４５５１９５１号公報
【特許文献４】特開２００７−２９９２６６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、クライアント機器により行われる処理の処理負荷が大きくなってしまうことがある。【０００５】
そこで、本発明は、処理負荷を小さくできるクライアント機器、サーバ装置及びコンテンツ取得方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するために、本発明の一態様に係るクライアント機器は、クライアント機器に蓄積された複数のコンテンツを１つ以上のサーバ装置が取得するコンテンツ取得システムのクライアント機器であって、複数のコンテンツを蓄積する蓄積部と、蓄積されている前記コンテンツを、１つ以上の前記サーバ装置に取得させるコンテンツ管理部と、蓄積されている前記コンテンツのうちで１つ以上の前記サーバ装置のいずれかが前記クライアント機器から取得していないコンテンツに関するコンテンツ情報が記録された差分情報を、１つ以上の前記サーバ装置に共通する情報として作成し、１つ以上の前記サーバ装置それぞれの要求に応じて前記差分情報を提供する差分情報管理部と、前記サーバ装置がすでに取得したコンテンツに関する前記コンテンツ情報である取得済みコンテンツ情報を、１つ以上の前記サーバ装置のそれぞれから受信する取得済みコンテンツ管理部と、を備え、前記差分情報管理部は、受信した前記取得済みコンテンツ情報に基づいて、すべての前記サーバ装置において取得済みとなったコンテンツに関する前記コンテンツ情報を前記差分情報から削除するクライアント機器である。【０００７】
なお、全般的または具体的な態様は、システム、方法、集積回路、コンピュータプログラムまたは記録媒体で実現されてもよく、システム、方法、集積回路、コンピュータプログラムおよび記録媒体の任意な組み合わせで実現されてもよい。
【発明の効果】
【０００８】
本発明のクライアント機器によれば、処理負荷を小さくできる。
【図面の簡単な説明】
【０００９】
【図１】図１は、本発明の実施の形態におけるコンテンツ取得システムの全体構成を示す図である。
【図２】図２は、本発明の実施の形態におけるコンテンツ取得サーバの主要な構成を示すブロック図である。
【図３】図３は、本発明の実施の形態におけるクライアント機器の主要な構成を示すブロック図である。
【図４】図４は、本発明の実施の形態における取得済みコンテンツテーブルのデータ構成を示す図である。
【図５】図５は、本発明の実施の形態における取得済み最大差分番号管理テーブルのデータ構成を示す図である。
【図６】図６は、本発明の実施の形態におけるコンテンツリストの階層構造を示す図である。
【図７】図７は、本発明の実施の形態におけるルートリストのデータ構成を示す図である。
【図８】図８は、本発明の実施の形態における画像リストのデータ構成を示す図である。
【図９】図９は、本発明の実施の形態における差分ルートリストのデータ構成を示す図である。
【図１０】図１０は、本発明の実施の形態における分割差分リストのデータ構成を示す図である。
【図１１】図１１は、本発明の実施の形態におけるコンテンツテーブルのデータ構成を示す図である。
【図１２】図１２は、本発明の実施の形態におけるサーバ管理テーブルのデータ構成を示す図である。
【図１３】図１３は、本発明の実施の形態における差分番号管理テーブルのデータ構成を示す図である。
【図１４】図１４は、本発明の実施の形態において蓄積するコンテンツの状態が変わった場合のクライアント機器の処理の流れの一部を示すフロー図である。
【図１５】図１５は、本発明の実施の形態においてクライアント機器が分割差分リストを生成する処理の流れを示すフロー図である。
【図１６】図１６は、本発明の実施の形態においてコンテンツ取得サーバがクライアント機器からコンテンツを取得する初回の処理の流れを示すシーケンス図である。
【図１７】図１７は、本発明の実施の形態においてコンテンツ取得サーバがクライアント機器からコンテンツを取得する２回目以降の処理の流れを示すシーケンス図である。
【図１８】図１８は、本発明の実施の形態においてコンテンツ取得サーバがクライアント機器から分割差分リストを取得する処理の流れを示すフロー図である。
【図１９】図１９は、本発明の実施の形態においてコンテンツ取得サーバから取得済み最新差分番号通知を受信したクライアント機器の処理の流れを示すフロー図である。
【図２０】図２０は、本発明の実施の形態においてコンテンツ取得サーバからサーバ登録解除要求を受信したクライアント機器の処理の流れを示すフロー図である。
【発明を実施するための形態】
【００１０】
（本発明の基礎となった知見）
初めに、以下では、本発明の基礎となった知見について述べられる。すなわち、パーソナルコンピュータ（ＰＣ）やデジタルカメラ、ビデオカメラなどの多様な機器のそれぞれにコンテンツが蓄積されていることがある。そこで、それらのコンテンツを管理する処理の煩わしさを解消するため、これらの機器からコンテンツを取得して一元管理するホームサーバ製品が存在する。ホームサーバがコンテンツを取得する機器を本書類では、クライアント機器という。
【００１１】
また、ホームサーバ機能は、ＰＣやレコーダー製品などの多様な製品に搭載される。このため、クライアント機器に蓄積されたコンテンツを、複数のホームサーバが取得するケースが多い。家族全員で使うホームサーバと、個人で使うホームサーバとなど、個人が複数のホームサーバを使い分けているケースがある。このようなケースも、クライアント機器に蓄積されたコンテンツを複数のホームサーバが取得するケースの代表例である。
【００１２】
なお、ホームサーバとクライアント機器とは、イーサネット（登録商標）ケーブルや無線ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）などで接続されたネットワークを介して、クライアント機器からホームサーバへ、コンテンツを転送する。これらのネットワーク以外にも、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）ケーブルなどの通信ケーブルを介して、クライアント機器からホームサーバへコンテンツを転送することもある。
【００１３】
従来、ホームサーバがクライアント機器からコンテンツを取得する方法の一つとして、次の方法がある。その方法では、クライアント機器が蓄積する全てのコンテンツに関する情報を記録したコンテンツリストを用いる（例えば、特許文献１および特許文献２参照）。このクライアント機器が蓄積する全てのコンテンツに関する情報を記録したコンテンツリストを、以下では、「全コンテンツリスト」という。全コンテンツリストを用いた方法では、ホームサーバがクライアント機器から全コンテンツリストを取得して、取得した全コンテンツリストと、ホームサーバが取得済みのコンテンツのリストとを比較する。これにより、ホームサーバは、そのホームサーバが未取得のコンテンツとして、取得された全コンテンツリストにより示される一方で、取得済みのコンテンツのリストには示されないコンテンツを特定する。そして、ホームサーバは、特定された未取得のコンテンツのみをクライアント機器から取得する。
【００１４】
その他にも、ホームサーバがクライアント機器からコンテンツを取得する方法の一つとして、クライアント機器が複数のホームサーバのそれぞれについて、未取得のコンテンツリストを作成する方法があった（例えば、特許文献３および特許文献４参照）。クライアント機器がホームサーバ毎に作成したこのコンテンツリストを、以下では、「個別コンテンツリスト」という。個別コンテンツリストを用いた方法では、クライアント機器は、次の管理をする。その管理では、蓄積するコンテンツそれぞれに対応付けて、そのコンテンツが各ホームサーバへ転送済みか未転送かを表す情報を管理する。これにより、クライアント機器は、ホームサーバから要求されたタイミングもしくは所定のタイミングで、ホームサーバに対応する個別コンテンツリストを生成し、そのホームサーバへと通知する。ホームサーバは、クライアント機器から通知された個別コンテンツリストに基づいて未取得コンテンツを特定し取得する。
【００１５】
しかしながら、全コンテンツリストには、ホームサーバがクライアント機器から未取得のコンテンツに関する情報だけでなく、取得済みのコンテンツに関する情報も記録されている。これら取得済みのコンテンツに関する情報はホームサーバに必要のない情報である。ホームサーバは、クライアント機器からコンテンツを取得して一元管理するという目的のためには、クライアント機器から未取得のコンテンツに関する情報だけ取得できればよい。
【００１６】
つまり、ホームサーバがクライアント機器からコンテンツを取得する方法として、全コンテンツリストを用いる方法がある。この方法では、ホームサーバが取得するコンテンツリストに無駄な情報が多く含まれてしまう。このため、この方法では、コンテンツリストの取得時間や、取得したコンテンツリストから、未取得のコンテンツを特定する処理の処理時間が長くなるというという問題があった。なお、クライアント機器に、ホームサーバが未取得のコンテンツが存在しない場合、全コンテンツリストに記録された情報はすべてホームサーバに必要のない情報であり、特に無駄が多い。
【００１７】
また、ホームサーバがクライアント機器からコンテンツを取得する方法として、個別コンテンツリストを用いる先述の方法は、次の通りである。つまり、この方法では、クライアント機器が蓄積するコンテンツそれぞれに対応付けて、各ホームサーバへ転送済みか未転送かを表す情報を管理する。このため、ホームサーバ毎に個別コンテンツリストを作成する必要がある。このため、クライアント機器の処理負荷が高くなるという課題があった。特に、個別コンテンツリストを作成するホームサーバの数が多いほど、処理負荷がより高くなる。デジタルカメラやビデオカメラなどのクライアント機器は一般的に処理能力が低く、個別コンテンツリストを作成できるホームサーバの数に制限があることが多い。また、個別コンテンツリスト作成の処理負荷が高まるほど、通常の撮影処理などに影響をおよぼす可能性が高まる。
【００１８】
本技術は、これら従来の問題を解決するもので、個別コンテンツリストを用いた方法に比べ、クライアント機器の処理負荷が低く、全コンテンツリストを用いた方法に比べ、無駄な情報の少ないコンテンツリストを用いたコンテンツ取得方法およびコンテンツ取得システムを提供する。
【００１９】
前記問題を解決するために、本発明の一態様に係るクライアント機器は、クライアント機器に蓄積された複数のコンテンツを１つ以上のサーバ装置が取得するコンテンツ取得システムのクライアント機器であって、複数のコンテンツを蓄積する蓄積部と、蓄積されている前記コンテンツを、１つ以上の前記サーバ装置に取得させるコンテンツ管理部と、蓄積されている前記コンテンツのうちで１つ以上の前記サーバ装置のいずれかが前記クライアント機器から取得していないコンテンツに関するコンテンツ情報が記録された差分情報を、１つ以上の前記サーバ装置に共通する情報として作成し、１つ以上の前記サーバ装置それぞれの要求に応じて前記差分情報を提供する差分情報管理部と、前記サーバ装置がすでに取得したコンテンツに関する前記コンテンツ情報である取得済みコンテンツ情報を、１つ以上の前記サーバ装置のそれぞれから受信する取得済みコンテンツ管理部と、を備え、前記差分情報管理部は、受信した前記取得済みコンテンツ情報に基づいて、すべての前記サーバ装置において取得済みとなったコンテンツに関する前記コンテンツ情報を前記差分情報から削除する。
【００２０】
このように、クライアント機器が管理する差分情報を、１つ以上のサーバ装置に対して共通の情報として作成する。このことで、１つ以上のサーバ装置に対してそれぞれ個別の差分リストを提供する先述の方法に比べて、クライアント機器の処理負荷を比較的低くすることができる。
【００２１】
さらに、サーバ装置から受信した取得済みコンテンツ情報に基づき、対象とするすべてのサーバ装置において取得済みであるコンテンツに関するコンテンツ情報を差分情報から削除する。ここで、差分情報が、サーバ装置のいずれかが取得していないコンテンツを示す差分情報であるのには、その差分情報に、このコンテンツ情報が含まれることが不要である。このような、不要なコンテンツ情報を削除することができ、差分情報のサイズを必要最小限に保つことができる。つまり、サーバ装置が差分情報を取得する時間や、差分情報から、未取得のコンテンツを特定する時間を短くすることができる。
【００２２】
また、前記クライアント機器は、さらに、１つ以上の前記サーバ装置を識別するためのサーバ識別子を１つ以上記憶するサーバ管理部を備え、前記差分情報管理部は、前記蓄積部に蓄積されている前記コンテンツに新たなコンテンツが追加され、または、蓄積されている前記コンテンツが更新、もしくは削除された場合、追加、更新、または削除された前記コンテンツに関する前記コンテンツ情報を新たなコンテンツ情報として前記差分情報に追加し、前記取得済みコンテンツ管理部は、前記サーバ装置から、前記サーバ識別子と前記取得済みコンテンツ情報とを受信し、受信した前記サーバ識別子と前記取得済みコンテンツ情報とを関連付けて記録し、前記差分情報管理部は、前記取得済みコンテンツ管理部が記録した前記取得済みコンテンツ情報のうちで、前記サーバ管理部により記憶されたすべての前記サーバ識別子に関連付けられた前記取得済みコンテンツ情報で示される前記コンテンツ情報を前記差分情報から削除してもよい。
【００２３】
このようにすることで、サーバ装置では、取得済みコンテンツに対して、クライアント機器内で更新または削除が行われた場合であっても、新たなコンテンツが追加された場合と同様にして、コンテンツの取得処理を行う。このことにより、取得済みコンテンツに対して、クライアント機器におけると同様の、更新または削除に対応する処理を行うことができる。
【００２４】
また、前記差分情報管理部は、前記クライアント機器に新たなコンテンツが追加され、または、蓄積されている前記コンテンツが更新、もしくは削除された場合、前記追加、更新、または削除された前記コンテンツに関する前記コンテンツ情報を前記差分情報に記録した後、前記差分情報が更新されたことを前記サーバ管理部にサーバ識別子が記憶されたすべての前記サーバ装置へ通知してもよい。
【００２５】
このようにすることで、サーバ装置は差分情報が更新されたことを知ることができ、サーバ装置が、差分情報が更新されたことをクライアント機器へ確認する処理を省くことができる。
【００２６】
また、前記差分情報管理部は、さらに、前記差分情報に、前記追加、更新、または削除された前記コンテンツに関する前記コンテンツ情報を記録した後、前記差分情報に記録されている前記コンテンツ情報の総数を、前記サーバ管理部にサーバ識別子が記憶されたすべての前記サーバ装置へ通知してもよい。
【００２７】
このようにすることで、サーバ装置は、差分情報に記録された情報の総数を知ることができ、サーバ装置は、差分情報の取得にかかる時間を、事前に見積もることができる。さらに、サーバ装置は、事前に見積もった時間をユーザに提示することもできる。
【００２８】
また、前記差分情報管理部は、前記サーバ装置のいずれかが前記クライアント機器から取得していないコンテンツに関するコンテンツ情報に関連付けて、大小関係によりコンテンツの追加、更新、または削除を含む状態変化の時系列を示す差分番号を管理し、前記クライアント機器に新たなコンテンツが追加され、またはすでに蓄積されている前記コンテンツが更新、もしくは削除される都度、前記差分番号を増加させ、増加させた前記差分番号を、前記状態変化のあったコンテンツに関するコンテンツ情報に関連付け、前記取得済みコンテンツ管理部は、前記サーバ装置から、前記サーバ識別子と前記取得済みコンテンツ情報とに関連付けられた前記差分番号の中で最大の差分番号を受信し、前記サーバ管理部は、受信した前記サーバ識別子と前記最大の差分番号とが関連付けられたサーバ管理テーブルを管理し、前記差分情報管理部は、前記サーバ管理部により記憶されているすべての前記サーバ装置の前記サーバ識別子に関連付けられた前記差分番号の中で最小の差分番号を選択し、前記差分情報の中で前記最小の差分番号以下の差分番号に関連付けられた前記コンテンツ情報を前記差分情報から削除してもよい。
【００２９】
このように、コンテンツに対して、大小関係により、コンテンツの追加、更新、または削除を含む状態変化の時系列を示す差分番号を関連付ける。ことで、コンテンツの変更順を管理することができる。そのため、クライアント機器は、サーバ装置からすべての取得済みコンテンツに関する情報を取得する必要がない。つまり、クライアント機器は、単に、取得済みコンテンツ情報に関連付けられた差分番号の中で最大の差分番号を取得するだけで、サーバ装置が取得済みのコンテンツをすべて把握することができる。つまり、サーバ装置からクライアント機器へ通知する情報量を削減すると共に、双方の処理負荷を削減することができる。
【００３０】
さらに、管理するすべてのサーバ装置が取得済みとなったコンテンツに関する情報は、どのサーバ装置にとっても不要な情報である。そうであるから、これらの情報をクライアント機器が差分情報から削除することで、差分情報への、不要な情報の掲載を防ぐことができる。つまり、サーバ装置が差分情報を取得する時間や、差分情報から、未取得のコンテンツを特定する時間を短くすることができる。さらに、クライアント機器が、差分情報から、不要な情報を削除する処理において、差分番号を利用する。このことにより、削除すべき情報を精査することなく、差分番号の大小関係だけで、差分リストから削除する情報を決定でき、クライアント機器の処理負荷を削減することができる。
【００３１】
また、前記差分情報管理部は、前記差分情報に前記状態変化のあったコンテンツに関するコンテンツ情報を記録した後、前記差分情報に記録されている差分番号の中で最大の前記差分番号を、前記サーバ管理部にサーバ識別子が記憶されたすべての前記サーバ装置へ通知してもよい。
【００３２】
このようにすることで、サーバ装置は、差分情報が更新されたことを知ることができ、サーバ装置は、差分情報が更新されたことをクライアント機器へ確認する処理を省くことができる。さらに、サーバ装置は、クライアント機器から取得済みのコンテンツに関連付けられた差分番号と、クライアント機器から通知された差分番号とを比較する。この比較をすることで、クライアント機器に、未取得のコンテンツが蓄積されているか否かを判断することができる。そして、サーバ装置は、クライアント機器に、未取得のコンテンツが蓄積されている場合にだけ、クライアント機器から差分情報を取得することができる。これにより、クライアント機器に、未取得のコンテンツが蓄積されていない場合に、クライアント機器から差分情報を取得することを防止することができる。
【００３３】
また、前記差分情報管理部は、前記差分情報に前記状態変化のあったコンテンツに関するコンテンツ情報を記録した後、前記差分情報に記録されている差分番号の中で最小の前記差分番号を、前記サーバ管理部にサーバ識別子が記憶されたすべての前記サーバ装置へ通知してもよい。
【００３４】
このように、サーバ装置は、クライアント機器から、差分情報に記録されている中で最大の差分番号と最小の差分番号とを通知される。このことで、事前に設定された、差分番号の定義に基づいた演算により、差分情報に記録されたコンテンツ情報の総数を見積もることができる（例えば、最大の差分番号から最小の差分番号を減算して１加えた値を総数とすることができる）。このため、サーバ装置は、見積もられた総数から、差分情報の取得にかかる時間を、事前に見積もることができる。さらに、サーバ装置は、事前に見積もった時間をユーザに提示することもできる。
【００３５】
また、前記差分情報管理部は、（１）前記差分番号に関連付けられた前記コンテンツ情報を第一の差分情報に記録し、前記第一の差分情報に記録された前記差分番号の中で最大の差分番号と前記第一の差分情報に関する情報とを関連付けて、前記第一の差分情報の上位の階層の第二の差分情報に記録し、さらに前記差分情報管理部は、（２）前記コンテンツ情報を前記第一の差分情報に記録する際、前記第一の差分情報に記録された前記コンテンツ情報の数が予め定められた数に達していた場合、新たに前記第一の差分情報と同じ階層の第三の差分情報を作成し、前記あらかじめ定められた数を超えた前記コンテンツ情報を前記第三の差分情報に記録し、前記第三の差分情報に記録された前記差分番号の中で最大の差分番号と前記第三の差分情報に関する情報とを関連付けて前記第二の差分情報に記録し、前記サーバ装置の要求に応じて前記第一の差分情報を提供するか、または前記第二の差分情報と、前記第一の差分情報もしくは前記第三の差分情報のいずれか１つ以上を提供してもよい。
【００３６】
このように、クライアント機器が差分情報を複数に分割して階層構造を持たせ、各差分情報と、差分情報に掲載された差分番号とを関連付ける。このことで、差分情報に記録された情報の中に、あるサーバ装置にとって不要な情報が記録されていた場合でも、このサーバ装置は、次の部分だけを取得できる。その部分とは、差分情報の中で必要な情報が記録された部分である。つまり、サーバ装置がクライアント機器から、差分情報の不要な部分を取得する必要がなくなる。このことで、サーバ装置の処理時間を短くすることができる。
【００３７】
また、前記差分情報管理部は、前記サーバ管理部によりサーバ識別子が記憶された前記サーバ装置が存在する場合のみ、前記コンテンツ情報を前記差分情報に記録してもよい。
【００３８】
このようにすることで、差分情報を必要とするサーバ装置が存在しない場合、クライアント機器は差分情報を生成しないので、クライアント機器の処理負荷を削減することができる。
【００３９】
また、前記サーバ管理部は、記憶する前記サーバ識別子の中で指定された前記サーバ識別子を削除し、前記差分情報管理部は、前記サーバ管理部が記憶する前記サーバ識別子が存在しなくなった場合、前記差分情報に記録されたすべての前記コンテンツ情報および前記差分情報を削除してもよい。
【００４０】
前記サーバ管理部が記憶する前記サーバ識別子が存在しないということは、差分情報を必要とするサーバ装置が存在しないことである。そうであるので、このように、必要のない差分情報と、その差分情報に記録された情報とを削除する。このことで、クライアント機器の記憶領域の消費量を削減できる。
【００４１】
また、前記サーバ管理部は、前記サーバ装置から前記サーバ識別子を含むサーバ登録要求を受信し、受信した前記サーバ識別子を記憶してもよい。
【００４２】
このように、サーバ識別子をサーバ装置から受信することで、ユーザがクライアント機器へサーバ識別子を設定する手間などを省くことができる。
【００４３】
また、前記クライアント機器は、当該クライアント機器のクライアント識別子を含む、当該クライアント機器に関する情報を記載したクライアント機器情報を、前記サーバ装置へ提供する機器情報提供部を備え、前記機器情報提供部は、前記クライアント機器情報に、前記差分情報を取得するための情報を記載してもよい。
【００４４】
このようにすることで、サーバ装置はクライアント機器情報を取得するだけで差分情報を直接取得できるようになる。
【００４５】
また、本発明の一態様に係るサーバ装置は、クライアント機器に蓄積された複数のコンテンツを１つ以上のサーバ装置が取得するコンテンツ取得システムにおけるサーバ装置であって、前記クライアント機器から、前記クライアント機器に蓄積されたコンテンツに関するコンテンツ情報が記録された、１つ以上の前記サーバ装置のいずれかが前記クライアント機器から取得していないコンテンツを示す差分情報を取得する差分情報取得部と、前記差分情報に記録された前記コンテンツ情報に基づき、未取得のコンテンツのみを前記クライアント機器から取得するコンテンツ取得部と、前記コンテンツ取得部が取得したコンテンツに関するコンテンツ情報を記録する取得済みコンテンツ管理部とを備え、前記差分情報には、前記コンテンツ情報がコンテンツ毎に記録され、さらに前記コンテンツ情報には大小関係によりコンテンツの追加、更新、または削除を含む状態変化の時系列を示す差分番号が関連付けられており、前記取得済みコンテンツ管理部は、前記コンテンツ取得部が取得したコンテンツに関する前記コンテンツ情報に関連付けられた前記差分番号の中で最大の差分番号を第一の差分番号として記録し、前記コンテンツ取得部は、前記差分情報の中で前記第一の差分番号より大きな前記差分番号が関連付けられた前記コンテンツ情報に対応するコンテンツのみを前記クライアント機器から取得し、さらに前記サーバ装置は、前記サーバ装置の識別子であるサーバ識別子と前記第一の差分番号を前記クライアント機器へ通知する取得済みコンテンツ通知部とを備える。
【００４６】
このように、差分情報に記録されたコンテンツ情報を差分番号に関連付けて管理する。このことで、サーバ装置は、差分番号の大小関係を比較するだけで、差分情報の中から、未取得のコンテンツに関するコンテンツ情報を取得することができる。さらに、サーバ装置は、取得済みのコンテンツ情報に関連付けられた差分番号の中で最大の差分番号１つをクライアント機器へ送信するだけで、すべての取得済みコンテンツに関するコンテンツ情報をクライアント機器へ通知することができる。さらに、クライアント機器は、通知された差分番号に基づいて差分情報から不要な情報を削除することができる。
【００４７】
また、前記サーバ装置は、前記クライアント機器から最新の差分番号を受信する差分番号受信部を備え、前記差分情報取得部は、前記差分番号受信部が受信した前記最新の差分番号と前記第一の差分番号とを比較し、前記差分番号受信部が受信した前記最新の差分番号が前記第一の差分番号より大きい場合のみ、前記クライアント機器から前記差分情報を取得してもよい。
【００４８】
このように、サーバ装置は、クライアント機器から受信した差分番号に基づいて差分情報を取得する。このことで、クライアント機器に差分情報が更新されたか否かを常に確認する必要がなくされる。さらに、サーバ装置は、クライアント機器から受信した差分番号と前記第一の差分番号との比較により、未取得のコンテンツがクライアント機器に蓄積されているか否かを判断できる。そうであるので、未取得のコンテンツがクライアント機器に蓄積されていない場合にサーバ装置がクライアント機器から不要な差分情報を取得することを防止することができる。
【００４９】
また、前記差分情報取得部は、前記クライアント機器から取得した第一の差分情報に前記第一の差分情報よりも下位の階層の第二の差分情報に関する情報が記載されていた場合、前記第二の差分情報に関する情報から前記第二の差分情報に記録されているコンテンツ情報に関連付けられた差分番号を取得して前記第一の差分番号と比較し、前記第二の差分情報に記録されているコンテンツ情報に関連付けられた前記差分番号が前記第一の差分番号より大きい場合にのみ、前記第二の差分情報を取得してもよい。
【００５０】
このようにすることで、差分情報が分割されて提供される場合に、サーバ装置は、差分情報のすべてを取得することなく、次の部分だけを取得できる。その部分とは、未取得のコンテンツに関する情報が記載されている部分である。つまり、サーバ装置がクライアント機器から差分情報を取得する時間を短くすることができる。
【００５１】
また、前記サーバ装置は、前記クライアント機器から前記差分情報を取得するための情報が記載された、クライアント識別子を含むクライアント機器情報を取得する機器情報取得部を備え、前記差分情報取得部は、前記クライアント機器情報に記載された前記情報に基づき前記差分情報を取得してもよい。
【００５２】
このようにすることで、サーバ装置は、クライアント機器情報を取得するだけで、差分情報を、クライアント機器から直接取得することができるようになる。
【００５３】
なお、本発明は、装置として実現するだけでなく、このような装置が備える処理手段を備える集積回路として実現したり、その装置を構成する処理手段をステップとする方法として実現したり、それらステップをコンピュータに実行させるプログラムとして実現したり、そのプログラムを示す情報、データまたは信号として実現したりすることもできる。そして、それらプログラム、情報、データおよび信号は、ＣＤ−ＲＯＭ等の記録媒体やインターネット等の通信媒体を介して配信してもよい。
【００５４】
上記の技術によれば、クライアント機器は複数のホームサーバに対して共通の１種類のコンテンツリストを管理するだけでよい。さらに、クライアント機器は、各ホームサーバから、そのホームサーバがこのクライアント機器から取得済みのコンテンツに関する情報を受信し、すべてのホームサーバが取得済みのコンテンツに関する情報をコンテンツリストから削除する。このことで、無駄な情報の少ないコンテンツリストとすることができる。つまり、クライアント機器は個別コンテンツリストを用いた方法に比べ小さな処理負荷でコンテンツリストを作成することができる。さらに、ホームサーバは、全コンテンツリストを用いた方法に比べ、無駄な情報の少ないコンテンツリストをクライアント機器から取得できる。これにより、ひいては、クライアント機器からコンテンツリストを取得する処理の処理時間や、コンテンツリストから、未取得のコンテンツを特定する時間を短くできる。
【００５５】
なお、これらの全般的または具体的な態様は、システム、方法、集積回路、コンピュータプログラムまたは記録媒体で実現されてもよく、システム、方法、集積回路、コンピュータプログラムまたは記録媒体の任意な組み合わせで実現されてもよい。
【００５６】
以下、本発明の実施の形態について、図面を参照しながら説明する。なお、各図面において、同じ構成要素については同じ符号が用いられている。
【００５７】
本実施の形態のコンテンツ取得システムでは、複数のホームサーバが、１つのクライアント機器からクライアント機器に蓄積されたコンテンツ（以下、「取得対象コンテンツ」という。）を取得するコンテンツ取得システムについて説明する。クライアント機器の具体例としては、デジタルカメラやビデオカメラなどが挙げられるがこれらに限るものではない。また、取得対象コンテンツの種類は、画像、動画、音声、文書などいずれでもよく、いずれかに限定しない。
【００５８】
図１は、実施の形態におけるコンテンツ取得システムの全体構成を示す図である。
【００５９】
図１に示すように、複数のコンテンツ取得サーバ２００がクライアント機器３００から、ネットワークを介してコンテンツを取得する。また、コンテンツ取得サーバ２００は、ディスプレイ１００を備えることができ、クライアント機器３００から取得したコンテンツを表示したり、ユーザへの通知情報を表示したりすることができる。ネットワークとしては、有線や無線ネットワーク、もしくは通信ケーブルなどが挙げられるが、本実施の形態では、無線ＬＡＮで接続されたネットワークを利用する。
【００６０】
本実施の形態のコンテンツ取得システムでは、クライアント機器３００が、ネットワークを介して接続されるコンテンツ取得サーバ２００に、差分リスト（図６の差分リスト５０２ｄを参照）を取得させる。このことは、そのコンテンツ取得サーバ２００に、当該クライアント機器３００内の未取得のコンテンツを特定させるために行われる。上述の差分リストは、いずれのコンテンツ取得サーバ２００に対しても共通するリストである。このような差分リストを作成し、取得させることが、本技術の特徴である。差分リストとは、いずれかのコンテンツ取得サーバ２００がまだ取得していないコンテンツのコンテンツ情報を記録したリストである。つまり、すべてのコンテンツ取得サーバ２００が取得したコンテンツについては、そのコンテンツ情報は、差分リストから削除される。
【００６１】
図２は、コンテンツ取得サーバ２００（図１）の構成を示すブロック図である。
【００６２】
図２に示すように、コンテンツ取得サーバ２００は、クライアント機器情報取得部２０１、サーバ登録申請部２０２、コンテンツリスト取得部２０３、コンテンツ取得部２０４、取得済みコンテンツ申請部２０５、通信制御部２０６、表示制御部２０７、蓄積部２０８を備える。
【００６３】
クライアント機器情報取得部２０１は、クライアント機器３００からクライアント機器情報を取得する。クライアント機器情報には、クライアント機器３００に関する情報が記載されている。記載される情報は、例えば、クライアント機器３００毎に固有の識別子であるクライアントＩＤ、および、クライアント機器３００が提供する機能などである。
【００６４】
サーバ登録申請部２０２は、サーバ登録要求をクライアント機器３００へ送信し、このコンテンツ取得サーバ２００の登録を、送信されるクライアント機器３００に申請する。送信されるサーバ登録要求は、このコンテンツ取得サーバ２００のサーバＩＤを含む。
【００６５】
サーバ登録要求を受信したクライアント機器３００（図１）は、そのサーバ登録要求に含まれる、そのサーバ登録要求を送信したコンテンツ取得サーバ２００のサーバＩＤをそのクライアント機器３００に登録する。そして、登録結果を、サーバ登録要求を送信したコンテンツ取得サーバ２００へ通知する。
【００６６】
また、サーバ登録申請部２０２は、クライアント機器３００から受信した登録結果に基づき、登録が完了したクライアント機器３００のクライアントＩＤを、図示しない登録完了済みクライアントリストに記録する。サーバ登録申請部２０２は、この登録完了済みクライアントリストを蓄積部２０８へ記録して管理する。
【００６７】
なお、サーバＩＤは、コンテンツ取得サーバ２００の工場出荷時または初期設定時に、蓄積部２０８に記録される。
【００６８】
図４は、取得済みコンテンツテーブル４００を示す図である。
【００６９】
コンテンツリスト取得部２０３は、クライアント機器３００からコンテンツリストを取得する。そして、コンテンツリスト取得部２０３は、取得したコンテンツリストと、図４に示す取得済みコンテンツテーブル４００とを比較し、未取得のコンテンツを特定する。コンテンツリスト取得部２０３が取得する上述のコンテンツリストについては、図６から図１０を用いて具体例を後で詳しく説明する。
【００７０】
コンテンツ取得部２０４は、コンテンツリスト取得部２０３が特定した、このコンテンツ取得サーバ２００がまだ取得してない未取得コンテンツを取得する。コンテンツ取得部２０４は、コンテンツリストに記載された情報に基づき、クライアント機器３００から未取得コンテンツを取得し、蓄積部２０８へ蓄積する。
【００７１】
例えば、後述の図１０に示す分割差分リスト５０３において、ＩＤが「ＲＥＦ−ＩＭＧ０９」のコンテンツ（第２行）が、未取得のコンテンツとして特定された場合が考えられる。この場合、コンテンツ取得部２０４は、リソースパスに記載された「ｈｔｔｐ：／／１０．０．０．２／ＲＥＦ−ＩＭＧ０９」（第２行第５列）に基づき、ＨＴＴＰ（ＨｙｐｅｒＴｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）を用いてクライアント機器３００へアクセスし、このリソースパスのコンテンツを取得する。
【００７２】
また、コンテンツ取得部２０４は、取得したコンテンツのＩＤ及び差分番号と、そのコンテンツの保存先ファイルパスなどを、図４に示す取得済みコンテンツテーブル４００へ記録する。取得したコンテンツのＩＤと差分番号は、コンテンツリスト取得部２０３が取得したコンテンツリスト（先述）から得られる。
【００７３】
図５は、取得済み最大差分番号管理テーブル４５０を示す図である。
【００７４】
さらに、コンテンツ取得部２０４は、クライアント機器３００内のコンテンツを取得する都度、取得したすべてのコンテンツに付与された差分番号のうちで最大の差分番号を、上述の取得済みコンテンツテーブル４００（図４）から特定する。そして、コンテンツ取得部２０４は、特定した最大差分番号を、図５に示す取得済み最大差分番号管理テーブル４５０に記録する。なお、取得済みコンテンツテーブル４００の詳細については図４を用いて、取得済み最大差分番号管理テーブル４５０の詳細については図５を用いて、それぞれ後で詳述する。
【００７５】
取得済みコンテンツ申請部２０５は、このコンテンツ取得サーバ２００のサーバＩＤが含まれる取得済み最新差分番号通知をクライアント機器３００へ送信する。この取得済み最新差分番号通知は、クライアント機器３００から取得した１つ以上のコンテンツに関連付けられた差分番号の中で最大の差分番号を含む。なお、含まれるこの最大の差分番号は、上述の取得済み最大差分番号管理テーブル４５０から得られる、最大差分番号管理テーブル４５０へと記録される上述の最大差分番号である。
【００７６】
例えば、図４に示す取得済みコンテンツテーブル４００、および、図５に示す取得済み最大差分番号管理テーブル４５０の場合が考えられる。この場合、取得済みコンテンツ申請部２０５は、クライアントＩＤが「ＣＬＩＥＮＴ０１」（図４の第２〜第９列）であるクライアント機器３００に対しては、差分番号として、このクライアントＩＤ「ＣＬＩＥＮＴ０１」に対応付けられる各差分番号のうちで最大の差分番号である「８」（第９行第４列）を送信する。そして、取得済みコンテンツ申請部２０５は、クライアントＩＤが「ＣＬＩＥＮＴ０２」（第１０行）であるクライアント機器３００に対しては、差分番号として、この「ＣＬＩＥＮＴ０２」に対応する各差分番号のうちの最大の差分番号「１」（第１０行第４列）を送信する。
【００７７】
通信制御部２０６は、コンテンツ取得サーバ２００がネットワークを介して行う通信を制御する。
【００７８】
表示制御部２０７は、蓄積部２０８に蓄積されたコンテンツや、ユーザへの通知情報をディスプレイ１００へ表示するための制御を行う。
【００７９】
蓄積部２０８は、コンテンツ取得サーバ２００の蓄積機能を提供する部であり、コンテンツ取得部２０４が取得したコンテンツや、図４に示す取得済みコンテンツテーブル４００などを蓄積する。
【００８０】
図３は、クライアント機器３００（図１）の構成を示すブロック図である。
【００８１】
図３に示すように、クライアント機器３００は、クライアント機器情報管理部３０１、サーバ管理部３０２、コンテンツ管理部３０３、差分リスト管理部３０４、通信制御部３０５、蓄積部３０６を備える。
【００８２】
クライアント機器情報管理部３０１は、上述のクライアント機器情報を管理する。そして、クライアント機器情報管理部３０１は、コンテンツ取得サーバ２００からの要求に応じて、そのコンテンツ取得サーバ２００へと、管理するクライアント機器情報を提供する。なお、クライアント機器情報に掲載されるクライアントＩＤは、クライアント機器３００の工場出荷時または初期設定時に、蓄積部３０６に記録される。
【００８３】
サーバ管理部３０２は、コンテンツ取得サーバ２００から、先述のサーバ登録申請部２０２により送信される、そのコンテンツ取得サーバ２００のサーバＩＤを含むサーバ登録要求を受信する。サーバ登録要求を受信したサーバ管理部３０２は、コンテンツ取得サーバ２００をこのクライアント機器３００に登録してよいかをユーザへ尋ねる。尋ねられたのに応じて、ユーザから、登録をすることの許可がされると、そのサーバ登録要求をしたコンテンツ取得サーバ２００をこのクライアント機器３００へ登録する。
【００８４】
図１２は、サーバ管理テーブル１１００を示す図である。
【００８５】
また、サーバ管理部３０２は、受信されたサーバ登録要求に含まれるサーバＩＤ（上述）を、図１２（後述）に示すサーバ管理テーブル１１００へ記録する。このことで、サーバ管理部３０２は、そのサーバ登録要求を送信したコンテンツ取得サーバ２００をクライアント機器３００へ登録する。
【００８６】
図１１は、コンテンツテーブル１０００を示す。
【００８７】
コンテンツ管理部３０３は、蓄積部３０６に蓄積されたコンテンツに関する情報が記録されたコンテンツテーブル１０００（図１１）の生成や更新を行う。さらに、コンテンツ管理部３０３は、コンテンツ取得サーバ２００からの、クライアント機器３００への要求に応じて、次の動作をする。その動作では、コンテンツテーブル１０００からコンテンツリストを生成し、コンテンツ取得サーバ２００へ送信する。コンテンツテーブルの詳細については、図１１を用いて後述する。また、コンテンツリストの詳細については図６から図１０を用いて後述する。
【００８８】
コンテンツ管理部３０３はさらに、差分リスト管理部３０４（図３）を備える。差分リスト管理部３０４は、コンテンツ管理部３０３の各機能のうちの、特に次の機能を果たす。つまり、差分リスト管理部３０４は、先述のサーバ管理テーブル１１００（図１２）に記録された、いずれかのコンテンツ取得サーバ２００が未取得であるコンテンツに関する情報を管理する。例えば、そのようなコンテンツが１つ以上あり、そのような情報が１つ以上管理される。そして、コンテンツ管理部３０３は、これらの１つ以上の情報を掲載した差分リストを生成する。
【００８９】
この差分リストは、サーバ管理テーブル１１００に記録された、すべてのコンテンツ取得サーバ２００が取得済みのコンテンツに関する情報は掲載されない。このため、この差分リストは、先述の全コンテンツリストに比べ、コンテンツ取得サーバ２００にとって無駄な情報が比較的少ないリストである。つまり、コンテンツ取得サーバ２００は、クライアント機器３００からまだ取得していない未取得のコンテンツを特定するために、この差分リストを取得する。このことで、全コンテンツリストを取得する場合に比べ、取得する情報量を削減し、未取得のコンテンツを特定する処理にかかる時間を短くできる。以下、特に明示しない限り、差分リストと表記した場合は、差分リスト管理部３０４が生成する差分リストのことを指す。
【００９０】
なお、差分リストとしては、複数のリストがあってもよい。これらの複数のリストにおける個々のリスト内に記載されるコンテンツ情報の上限数が定められていてもよい。リストに記載されるコンテンツ情報の数が、その上限数を超えると、そのリストが、複数の差分リストに分割される。以下では、この分割された差分リストを分割差分リストという。また、差分リストではない他のコンテンツリストと同様に、差分リストも、階層構造を有してもよい。つまり、分割差分リストの上位に親リストとして、差分ルートリストが作成される。本実施の形態においては、分割差分リストと、差分ルートリストとを総称して、差分リストという。
【００９１】
さらに差分リスト管理部３０４は、差分番号とよぶ数値を管理する。差分番号とは、コンテンツのそれぞれがサーバに取得されたか否かを示す指標であり、大小関係により、コンテンツの状態変化（例えば、コンテンツの追加、更新、削除など）の時系列を示すものである。
【００９２】
例えば、差分番号は、「０」から始まり、状態変化の都度、「１」ずつ増加する番号と定めてもよい。
【００９３】
このように、コンテンツに対して、状態変化の時系列が一意に定まるように、差分番号を定めておく。このことによって、クライアント機器３００ごとに、一通りの差分番号を定めておくだけで事が足りる。すなわち、それぞれのコンテンツ取得サーバ２００は、クライアント機器３００において生成された最新の差分番号と、１つ以上の取得済みコンテンツに付与された差分番号のうちの最大の差分番号との大小比較を行う。この大小比較をするだけで、未取得のコンテンツがあるか否かを簡単に識別することができる。
【００９４】
なお、差分番号は、本実施の形態では「１」ずつ繰り上がる連続番号とした。一方、差分番号は、何らかの大小関係を有することによって一意に並び順が特定できるものであれば、連続番号に限られない。つまり、差分番号は、所定の規則を持って並ぶ数列、文字列、タイムスタンプなど、システムで合意がとれていればどのようなデータであってもよい。
【００９５】
差分リスト管理部３０４は、状態が変わる都度、差分番号の付与をする。つまり、クライアント機器３００に新たにコンテンツが追加される、もしくは蓄積済みのコンテンツが更新、削除されるなどして、クライアント機器３００に蓄積されたコンテンツの状態が変わる。差分リスト管理部３０４は、こうして状態が変わる都度、その時点での差分番号を、状態が変わったコンテンツに付与して、その時点における最大の差分番号を「１」だけ増加させる。状態が変わったコンテンツの情報と、付与された差分番号とは、差分コンテンツ情報として、差分リスト管理部３０４が、コンテンツテーブル１０００（後述の図１１）に記録する。差分リスト管理部３０４は、この差分コンテンツ情報を基に分割差分リストを生成する。以下、特に明示しない限り、差分番号と表記した場合は、差分リスト管理部３０４が管理する差分番号のことを指す。
【００９６】
さらに差分リスト管理部３０４は、コンテンツ取得サーバ２００から、先述の取得済み最新差分番号通知を受信する。取得済み最新差分番号通知には、先述の通り、そのコンテンツ取得サーバ２００のサーバＩＤと、先述の最大差分番号（取得済み最新差分番号）とが含まれる。この取得済み最新差分番号は、先述の通り、コンテンツ取得サーバ２００がクライアント機器３００から取得した各コンテンツに関連付けられた差分番号の中で最大の差分番号を表す。
【００９７】
取得済み最新差分番号通知を受信した差分リスト管理部３０４は、図１２に示すサーバ管理テーブル１１００の各エントリの中で、受信された取得済み最新差分番号通知に含まれるサーバＩＤに対応する取得済み最新差分番号を更新後の番号へと更新する。更新後の番号は、その取得済み最新差分番号通知に含まれる取得済み最新差分番号である。
【００９８】
さらに差分リスト管理部３０４は、任意のタイミングでコンテンツ取得サーバ２００から、そのコンテンツ取得サーバ２００のサーバＩＤを含む差分番号通知要求を受信する。
【００９９】
図１３は、差分番号管理テーブル１２００を示す図である。
【０１００】
差分番号通知要求を受信した差分リスト管理部３０４は、図１３に示す差分番号管理テーブル１２００（後述）に記録された最新差分番号と、このクライアント機器３００のクライアントＩＤとを、差分番号通知要求を受信したコンテンツ取得サーバ２００に通知する。
【０１０１】
また、差分リスト管理部３０４は、受信された差分番号通知要求に含まれるサーバＩＤを揮発性メモリに記憶する。そして、差分リスト管理部３０４は、この差分リスト管理部３０４が管理する差分番号が更新された場合、記憶するそれぞれのサーバＩＤに対応するコンテンツ取得サーバ２００へ、差分番号管理テーブル１２００の最新差分番号と、このクライアント機器３００のクライアントＩＤとを通知する。
【０１０２】
さらに、差分リスト管理部３０４は、クライアント機器３００に蓄積されたコンテンツの状態が変わる都度、上述の最新差分番号とともに、後述の総数も通知してもよい。通知される総数は、複数の分割差分リスト５０３それぞれに記載された情報（差分コンテンツ情報）の総数である。状態が変わる都度、この総数を、記憶するそれぞれのサーバＩＤに対応するコンテンツ取得サーバ２００へ通知するとしてもよい。これにより、コンテンツ取得サーバ２００において、未取得のコンテンツを取得するために必要な時間を見積もることができる。
【０１０３】
通信制御部３０５は、クライアント機器３００がネットワークを介して行う通信を制御する。
【０１０４】
蓄積部３０６は、クライアント機器３００の蓄積機能を提供する部である。つまり、蓄積部３０６は、コンテンツや、図１１に示すコンテンツテーブル１０００、図１２に示すサーバ管理テーブル１１００、図１３に示す差分番号管理テーブル１２００などを蓄積する。
【０１０５】
先述の図４により、コンテンツ取得サーバ２００が蓄積する取得済みコンテンツテーブル４００のデータ構成が示される。
【０１０６】
図４に示すように、取得済みコンテンツテーブル４００には、クライアントＩＤ、コンテンツＩＤ、ファイルパス、および差分番号が記録される。
【０１０７】
図４のそれぞれの行における、クライアントＩＤの項目（第１列）には、その行のコンテンツをこのコンテンツ取得サーバ２００が取得したクライアント機器３００の識別子が記録される。なお、このクライアントＩＤは、図２のクライアント機器情報取得部２０１が取得する先述のクライアント機器情報に掲載されている。
【０１０８】
コンテンツＩＤの項目（第２列）には、クライアント機器３００から取得した、その項目の行のコンテンツの識別子が記録される。なお、このコンテンツＩＤは、コンテンツリスト取得部２０３が取得するコンテンツリスト（上述）に掲載されている。
【０１０９】
ファイルパスの項目（第３列）には、コンテンツ取得サーバ２００内における、その項目の行のコンテンツが蓄積されている場所が記録される。
【０１１０】
差分番号の項目（第４列）には、差分番号が記録される。記録される差分番号は、コンテンツ取得サーバ２００がクライアント機器３００から取得した、その項目の行のコンテンツである取得済みのコンテンツに関連付けられていた差分番号である。この差分番号は、コンテンツリスト取得部２０３が取得するコンテンツリストに掲載されている。
【０１１１】
例えば、図４の例における取得済みコンテンツテーブル４００には、９つのコンテンツに関する情報（第２行〜第１０行）が記録されている。これら９つのコンテンツのうちの１つ目のコンテンツに関する情報（第２行）は、次のことを示す。つまり、その情報は、クライアントＩＤが「ＣＬＩＥＮＴ０１」のクライアント機器３００からそのコンテンツを取得したこと、そのコンテンツのコンテンツＩＤが「ＩＭＧ０１」であること、コンテンツ取得サーバ２００の、「／Ｄａｔａ／ＩＭＧ０１．ｊｐｇ」が示す場所にそのコンテンツが蓄積されていること、そのコンテンツの差分番号は「１」であることをそれぞれ示す。但し、取得済みコンテンツテーブル４００に記録する情報は、これらに限らず、コンテンツのサイズなどの情報を記録してもよい。
【０１１２】
図５は、取得済み最大差分番号管理テーブル４５０のデータ構成を示す図である。
【０１１３】
図５に示すように、取得済み最大差分番号管理テーブル４５０のそれぞれの行には、クライアントＩＤ（第１列）と、そのクライアントＩＤに対応する最大差分番号（第２列）とが記録される。取得済み最大差分番号管理テーブル４５０に記録されるクライアントＩＤの一覧（第１列）は、サーバ登録申請部２０２によって管理される、図示しない登録完了済みクライアントリスト（先述）に記録される、クライアントＩＤの一覧と同じものである。
【０１１４】
なお、この取得済み最大差分番号管理テーブル４５０は、コンテンツ取得サーバ２００がクライアント機器３００と最初に紐付けられたときに作成される。この作成では、この最大差分番号管理テーブル４５０の行における、クライアントＩＤの項目（第１列）には、最初に紐付けられた上述のクライアント機器３００の識別子が記録される。また、この作成では、その行における、最大差分番号の項目（第２列）には初期値として「０」が設定される。
【０１１５】
この取得済みコンテンツテーブル４００は、例えば、コンテンツ取得サーバ２００が、クライアント機器３００からコンテンツを取得し、図４の取得済みコンテンツテーブル４００を更新するごとに更新される。
【０１１６】
なお、図５の取得済み最大差分番号管理テーブル４５０は必ずしも作成される必要はない。つまり、例えば、クライアント機器３００から最新差分番号の通知（先述）を受ける都度、図４の取得済みコンテンツテーブル４００から最大差分番号を検索するようにしてもよい。
【０１１７】
図６は、クライアント機器３００がコンテンツ取得サーバ２００に提供するコンテンツリスト（コンテンツリスト５００ａ）の階層構造を例示した図である。
【０１１８】
このコンテンツリストを構成する各エントリ（要素）は、リスト（図６の四角型）もしくはコンテンツ情報（丸型）の何れか一方に分類される。このため、コンテンツリストは複数のエントリ（リストやコンテンツ情報）から構成される。つまり、コンテンツリストは、図６に示すように、階層構造を持つ。コンテンツ情報（丸型）は、コンテンツに関する情報から構成される。
【０１１９】
コンテンツリストの各エントリは、そのエントリが、リストとコンテンツ情報とのどちらである場合にも、コンテンツ管理部３０３がコンテンツテーブル１０００（図１１）に記録した情報から生成される。
【０１２０】
図６において、リストは四角型で表され、コンテンツ情報は丸型で表される。また、括弧書きで表された文字は、リストとコンテンツ情報の識別子を示す。
【０１２１】
例えば、図６において、コンテンツリストは、ルートリスト５００から始まる。ルートリスト５００は、画像リスト５０１と、音楽リストと、差分ルートリスト５０２とを含む。さらに、画像リスト５０１は、画像に関するコンテンツ情報を３０個（「ＩＭＧ０１」から「ＩＭＧ３０」まで）含む。
【０１２２】
差分ルートリスト５０２は、３つの分割差分リスト５０３を含む。これらの３つの分割差分リスト５０３のうちで、分割差分リスト「ＤＩＦＦ−ＬＩＳＴ０１」は、２つの差分コンテンツ情報（「ＲＥＦ−ＬＩＳＴ０９」および「ＲＥＦ−ＬＩＳＴ１０」）を含む。なお、分割差分リスト「ＤＩＦＦ−ＬＩＳＴ０２」と、分割差分リスト「ＤＩＦＦ−ＬＩＳＴ０３」とは、いずれも、１０個の差分コンテンツ情報を含んでいるが、ここでは、その点の図示を省略する。
【０１２３】
また、以下では、図６において破線で囲んで示すように、差分ルートリスト５０２、各分割差分リスト５０３、および、差分コンテンツ情報をまとめて「差分リスト」という。また、差分コンテンツ情報（「ＲＥＦ−ＩＭＧ０９」など）は、コンテンツ取得サーバ２００の未取得コンテンツを特定するためだけに存在し、実態がないコンテンツである。このため、分割差分リストには必ずしも、丸型で示される下位のエントリを記述する必要はない。一方、図示されるケースでのように、差分リストにおいても、リストの最下位の階層において、差分コンテンツ情報を記述する構成とすることによって、差分エントリを、「画像」および「音楽」等の通常の他のエントリと同様に取り扱うことができるという効果がある。図６におけるルートリスト５００と、画像リスト５０１と、差分ルートリスト５０２と、分割差分リスト５０３との具体例については、図７から図１０を用いて後述する。なお、説明の便宜のため、差分ルートリスト５０２と、分割差分リスト５０３とを区別するが、それぞれの構成要素に本質的な違いはない。
【０１２４】
図７は、図６におけるルートリスト５００のデータ構造を示した図である。
【０１２５】
図７に示すように、ルートリスト５００には、コンテンツＩＤ、参照先ＩＤ、タイプ、子数、リソースパス、差分番号、および差分状態が記録される。エントリの種類がリストであっても、コンテンツ情報であっても、データ構成は同じである。つまり、例えば、後述のように、この図７における構成は、何れのリストの構成にも共通する共通の構成である（後述の図８〜図１０を参照）。
【０１２６】
なお、各構成要素の値に「−１」が設定されている場合、値が設定されていないことを示す。以降、特に明示しない限り、ルートリスト５００の構成要素に限らず、値として「−１」が設定されている場合、当該項目に値が設定されていないことを示すものとする。
【０１２７】
ルートリスト５００のそれぞれの行における、コンテンツＩＤの項目（第１列）には、コンテンツリストを構成するすべてのエントリのうちから、その行のエントリを特定する、エントリ毎に固有の識別子が記録される。
【０１２８】
参照先ＩＤの項目（第２列）には、その行のコンテンツＩＤで示されるコンテンツ情報（例えば、図６のＲＥＦ−ＩＭＧ０９）が、コンテンツリストに含まれる他のコンテンツ情報（ＩＭＧ０９）を参照している場合に、参照先のコンテンツ情報のコンテンツＩＤが記録される（図１０の第２行第２列など）。コンテンツリストに、関連するコンテンツ情報を複数掲載する場合（図６のＲＥＦ−ＩＭＧ０９、ＩＭＧ０９など参照）、参照先ＩＤを用いることで、オリジナルのコンテンツ情報を特定することができる。但し、エントリがリストである場合と、コンテンツ情報であっても他のコンテンツ情報を参照していない場合とにおいて、参照先ＩＤの項目には「−１」が設定される（図７など参照）。
【０１２９】
タイプの項目（第３列）には、エントリの種類が記録される。タイプの項目に設定される値には、「ルートリスト」、「画像リスト」、「音楽リスト」、「差分ルートリスト」、「分割差分リスト」、「画像」、「音楽」、および「差分」がある。それぞれ、次のリストを表す。つまり、「ルートリスト」は、コンテンツリストにおける最上位の階層のリスト（図６のルートリスト５００）を表す。「画像リスト」は、画像コンテンツ情報を含むリスト（図７の第２行第３列、図８を参照）を表し、「音楽リスト」は、音楽コンテンツ情報を含むリストを表し（図７の第３行第３列、など参照）、「分割差分リスト」は分割差分リストを表し（図９の第３列、図１０を参照）、「画像」は画像のコンテンツ情報を表し（図８）、「音楽」は音楽のコンテンツ情報を表し、「差分」は差分コンテンツ情報を表す（図１０）。但し、タイプの項目に設定される種類はこれらに限るものではなく、例えば動画コンテンツ情報をコンテンツリストに掲載する場合には、「動画リスト」や「動画」が設定されてもよい。なお、差分コンテンツ情報とは、上で述べた通り、クライアント機器３００における、削除、追加などの変更があったコンテンツのコンテンツ情報を表し、差分リスト管理部３０４がコンテンツテーブル１０００（図１１）に記録する。
【０１３０】
子数の項目（第４列）には、その項目が含まれる行（エントリ）がリストである場合（図７の第２行、第４行など）、そのリストに掲載されているエントリの数が記録される。但し、エントリがコンテンツ情報である場合（第３行）、それより下位のエントリがないので「−１」が設定される。
【０１３１】
リソースパスの項目（第５列）には、リストもしくはコンテンツを取得するためのアクセス先パスとしてＨＴＴＰアドレスが記録される。
【０１３２】
差分番号の項目（第６列）には、上で述べた通り、差分リスト管理部３０４が管理する数値が設定される。ただし、エントリのタイプが「差分ルートリスト」、「分割差分リスト」もしくは「差分」の場合にのみ、設定がされる。エントリのタイプがそれら以外である場合、「−１」が設定される。
【０１３３】
また、差分番号の項目には、エントリのタイプが「差分」である場合、該エントリが示す差分コンテンツ情報に関連付けられた差分番号が設定される。一方、差分番号の項目には、エントリのタイプが「分割差分リスト」である場合、該エントリが示す分割差分リストに掲載される差分コンテンツ情報に関連付けられた差分番号の中で最大の差分番号が記録される。
【０１３４】
差分状態の項目（第７列）には、差分コンテンツ情報が示すコンテンツの状態が記録され、エントリのタイプが「差分」の場合にのみ設定される。エントリのタイプが「差分」以外の場合、「−１」が設定される。差分状態の項目に設定される値には「追加」、「更新」、「削除」がある。これらの値は、それぞれ、差分コンテンツ情報が示すコンテンツが、新たに追加されたこと、更新されたこと、削除されたことを示す。差分状態が「削除」のエントリの、参照先ＩＤの項目と、リソースパスの項目とには「−１」が設定される。
【０１３５】
例えば、図７においてルートリスト５００は、３つのエントリ（第２行〜第４行）を持つことがわかる。また、１つ目のエントリでは、コンテンツＩＤが「ＩＭＧ−ＬＩＳＴ０１」で、タイプが、「画像リスト」のリストであり、このリストのエントリ数は「３０」、そして「ｈｔｔｐ：／／１０．０．０．２／ＩＭＧ−ＬＩＳＴ０１」にアクセスすることで、このエントリのコンテンツが取得できることがわかる。
【０１３６】
なお、ルートリスト５００のリソースパスは、クライアント機器情報管理部３０１が管理するクライアント機器情報（先述）に掲載される。但し、このような、ルートリスト５００のリソースパスを、クライアント機器情報に掲載する方法に限定されない。リソースパスを、コンテンツ収集システムに事前に設定しておいてもよい。
【０１３７】
なお、ルートリスト５００の構成や各構成要素が表す意味は、ルートリスト５００に限らず、コンテンツリストに含まれるすべてのリストで共通である。但し、コンテンツリストの構成要素はこれらに限らず、例えばコンテンツのサイズを示す情報などがあってもよい。
【０１３８】
図８は、図６における画像リスト５０１の構成を示した図である。
【０１３９】
上で述べたように、画像リスト５０１の構成は、ルートリスト５００と共通であるので詳しい説明は省略される。図８において、画像リスト５０１は「ＩＭＧ０１」から「ＩＭＧ３０」までの３０のエントリを持つことがわかる。また、１つ目のエントリでは、コンテンツＩＤが「ＩＭＧ０１」で、タイプが、「画像」のコンテンツ情報であり、「ｈｔｔｐ：／／１０．０．０．２／ＩＭＧ０１．ｊｐｇ」にアクセスすることで、このエントリのコンテンツである画像を取得できることがわかる。
【０１４０】
図９は、図６における差分ルートリスト５０２の構成を示した図である。
【０１４１】
上で述べたように、差分ルートリスト５０２の構成は、ルートリスト５００と共通であるので詳しい説明は省略される。図９において、差分ルートリスト５０２は「ＤＩＦＦ−ＬＩＳＴ０１」から「ＤＩＦＦ−ＬＩＳＴ０３」までの３つのエントリを持つことがわかる。また、１つ目のエントリでは、コンテンツＩＤが「ＤＩＦＦ−ＬＩＳＴ０１」で、タイプが、「分割差分リスト」の分割差分リストであり、この分割差分リストのエントリ数は「２」、差分番号は「１０」、そして「ｈｔｔｐ：／／１０．０．０．２／ＤＩＦＦ−ＬＩＳＴ０１」にアクセスすることで、このエントリのコンテンツを取得できることがわかる。
【０１４２】
なお、この例では、この差分ルートリスト５０２のリソースパスは、ルートリスト５００に掲載されている（図７の第４行第５列）。一方、このリソースパスを、クライアント機器情報管理部３０１が管理するクライアント機器情報に掲載してもよい。このように、クライアント機器情報に、差分ルートリスト５０２のリソースパスを掲載してもよい。こうすることで、コンテンツ取得サーバ２００は、ルートリスト５００を取得することなく、差分ルートリスト５０２を直接取得することができ、コンテンツリストを取得するのにかかる処理時間を更に短くできる。
【０１４３】
図１０は、図６における分割差分リスト５０３の構成を示した図である。
【０１４４】
上で述べたように、分割差分リスト５０３の構成は、ルートリスト５００と共通であるので詳しい説明は省略される。図１０において、分割差分リスト５０３は、「ＲＥＦ−ＩＭＧ０９」および「ＲＥＦ−ＩＭＧ１０」の２つのエントリを持つことがわかる。また、１つ目のエントリでは、コンテンツＩＤが「ＲＥＦ−ＩＭＧ０９」で、参照先ＩＤが「ＩＭＧ０９」、タイプが、「差分」の差分コンテンツ情報であり、差分番号が「９」、差分状態が「追加」、そして「ｈｔｔｐ：／／１０．０．０．２／ＲＥＦ−ＩＭＧ０９」にアクセスすることで、このエントリのコンテンツを取得できることがわかる。また、第７列の「追加」により、このエントリは、コンテンツＩＤが「ＩＭＧ０９」のコンテンツが、クライアント機器３００に新たに追加されたことを示す差分コンテンツ情報であるともわかる。
【０１４５】
図１１は、クライアント機器３００が蓄積するコンテンツに関する情報を記録したコンテンツテーブル１０００の構成を示した図である。
【０１４６】
コンテンツテーブル１０００は、コンテンツ管理部３０３により生成される。コンテンツ管理部３０３は、クライアント機器３００においてコンテンツが追加され、変更され、削除される都度、このコンテンツテーブル１０００を更新する。また、コンテンツ管理部３０３は、コンテンツ取得サーバ２００からの要求に応じて、このコンテンツテーブル１０００の情報に基づき、コンテンツリストを生成する。
【０１４７】
図１１において、コンテンツテーブル１０００は、コンテンツＩＤ、参照先ＩＤ、タイプ、親リスト、子数、ファイルパス、差分番号、差分状態を備える（第１列〜第８列）。但し、親リスト（第４列）とファイルパス（第６列）以外の構成要素については、図７から図１０に示すコンテンツリストにおける、その構成要素の名前と同じ名前の構成要素と同じ意味を持つため詳しい説明は省略される。
【０１４８】
コンテンツテーブル１０００のそれぞれの行（例えば第６行）における、親リストの項目（「ＩＭＧ−ＬＩＳＴ０１」）は、その行のコンテンツ（図８の画像リスト５０１）のエントリ（図７の第２行）が掲載される、コンテンツリストに含まれるリスト（図７のルートリスト５００）のコンテンツＩＤ（ＲＯＯＴ−ＬＩＳＴ）を表す。例えば、上述のように、コンテンツＩＤが「ＩＭＧ−ＬＩＳＴ０１」のリスト（図８）のエントリ（図７の第２行）は、コンテンツＩＤが「ＲＯＯＴ」（図７のＲＯＯＴ−ＬＩＳＴ）のリストに掲載されることが表される（図１１の第６行第４列）。コンテンツ管理部３０３は、この親リストの情報を基に、コンテンツリストの階層構造を生成する。
【０１４９】
ファイルパスの項目（図１１の第６列）は、蓄積部３０６における、コンテンツの保存先を表す。ここで、コンテンツリストのリソースパスの項目（図７の第５列など）には、コンテンツ取得サーバ２００がクライアント機器３００からリストもしくはコンテンツを取得するためのアクセス先パス（クライアント機器３００のネットワークホスト名もしくはＩＰアドレスを含む）が記録されている。これに対し、ファイルパスの項目には、クライアント機器３００の内部における、コンテンツの保存先（ディレクトリ名やファイル名から構成される）が記録される。コンテンツ管理部３０３は、コンテンツ取得サーバ２００からの要求に応じて、コンテンツテーブル１０００のファイルパスから、コンテンツリストのリソースパスを生成する。
【０１５０】
図１２は、クライアント機器３００が管理するサーバ管理テーブル１１００の構成を示した図である。
【０１５１】
サーバ管理テーブル１１００は、上で述べたように、クライアント機器３００がコンテンツ取得サーバ２００から受信した取得済み最新差分番号通知（先述）に関する情報を記録するテーブルである。図１２において、サーバ管理テーブル１１００は、サーバＩＤ（第１列）と取得済み最新差分番号（第２列）とを記録する。
【０１５２】
サーバＩＤの項目（第１列）には、コンテンツ取得サーバ２００毎に固有の識別子であるサーバＩＤが記録される。
【０１５３】
取得済み最新差分番号の項目（第２列）には、コンテンツ取得サーバ２００がクライアント機器３００から取得したコンテンツに関連付けられた各差分番号の中で最大の差分番号が記録される。なお、取得済み最新差分番号の項目に「−１」が記録されている場合、その「−１」に対応するサーバＩＤのコンテンツ取得サーバ２００から取得済み最新差分番号通知を受信していないことを示す。このとき、クライアント機器３００は、対応するコンテンツ取得サーバ２００がクライアント機器３００から、差分リストに記載されたコンテンツを取得していないものとして扱う。
【０１５４】
サーバ管理テーブル１１００において、例えば１つ目のエントリ（第２行）は、サーバＩＤが「ＳＥＲＶＥＲ０１」であり、このサーバＩＤが示すコンテンツ取得サーバ２００は、「８」以下の差分番号が関連付けられたコンテンツをすべて取得済みであることを示す。また、サーバ管理テーブル１１００の３つ目のエントリ（第４行）は、サーバＩＤが「ＳＥＲＶＥＲ０３」であり、このサーバＩＤが示すコンテンツ取得サーバ２００から取得済み最新差分番号通知を受信していないことを示す。
【０１５５】
図１３は、クライアント機器３００が管理する差分番号管理テーブル１２００の構成を示した図である。
【０１５６】
図１３において、差分番号管理テーブル１２００は、クライアント機器３００における最新差分番号を記録する。最新差分番号の項目（第１列）には、差分リスト管理部３０４が管理する差分番号の現在の値が記録される。先述のように、差分リスト管理部３０４は、この差分番号管理テーブル１２００の情報に基づいて、クライアント機器３００に新たに追加されたコンテンツ、もしくは更新、削除されたコンテンツに対して新たな差分番号を付与する。
【０１５７】
次に、クライアント機器３００に新たにコンテンツが追加された場合、蓄積済みのコンテンツが更新された場合、削除された場合のそれぞれについて、クライアント機器３００の動作を説明する。
【０１５８】
クライアント機器３００に新たにコンテンツが追加された場合、クライアント機器３００において、コンテンツ管理部３０３は、状態が変わったコンテンツに関する情報をコンテンツテーブル１０００（図１１）に記録する。このとき、コンテンツテーブル１０００の、コンテンツＩＤの項目には、コンテンツ管理部３０３が自動的に割り当てた識別子を記録する。そして、タイプの項目には、追加されたコンテンツの種類に応じて、「画像」または「音楽」などを記録する。また、親リストの項目には、追加されたコンテンツの種類が「画像」であれば画像リスト、「音楽」であれば「音楽リスト」といったように、コンテンツの種類に応じたタイプであるリストのコンテンツＩＤを記録する。また、ファイルパスの項目には、蓄積部３０６における、コンテンツの保存先を記録し、参照先ＩＤ、子数、差分番号、および差分状態の項目にはそれぞれ「−１」を記録する。
【０１５９】
クライアント機器３００に蓄積済みのコンテンツが更新された場合、コンテンツ管理部３０３は、コンテンツテーブル１０００を更新せず処理を終了する。但し、コンテンツテーブル１０００の構成要素に、最終更新日時などの情報があった場合には、該当する情報を更新する。
【０１６０】
クライアント機器３００に蓄積済みのコンテンツが削除された場合、コンテンツ管理部３０３は、コンテンツテーブル１０００から、当該コンテンツの情報を削除する。
【０１６１】
図１４は、本発明の実施の形態においての、蓄積するコンテンツの状態が変わった場合の、クライアント機器の処理の流れの一部を示すフロー図である。
【０１６２】
具体的には、クライアント機器３００に蓄積済みのコンテンツの状態が変わった場合とは、すなわち、クライアント機器３００に新たにコンテンツが追加された場合、蓄積済みのコンテンツが更新された場合、または、削除された場合である。それぞれの場合に、クライアント機器３００が、削除の処理などの上述の処理を行った後に、差分リスト管理部３０４が、図１４のフロー図に示される共通の処理をする。なお、以降、コンテンツが、クライアント機器３００において追加されたコンテンツであるか、更新されたコンテンツであるか、削除されたコンテンツであるかを区別しない場合、そのコンテンツを、状態が変わったコンテンツと言う。
【０１６３】
図１４について説明する。まず、コンテンツ管理部３０３は、クライアント機器３００において、状態が変わったコンテンツがあるかを一定間隔で監視する（Ｓ１３００）。
【０１６４】
状態が変わったコンテンツがあった場合（Ｓ１３００でＹＥＳ）、差分リスト管理部３０４は、サーバ管理テーブル１１００（図１２）を参照し、登録済みのコンテンツ取得サーバ２００が１台以上存在するか確認する（Ｓ１３０１）。登録済みのコンテンツ取得サーバ２００が存在しない場合（Ｓ１３０１でＮＯ）、処理を終了する。
【０１６５】
登録済みのコンテンツ取得サーバ２００が存在する場合（Ｓ１３０１でＹＥＳ）、差分リスト管理部３０４は、状態が変わったコンテンツに応じて生成した差分コンテンツ情報をコンテンツテーブル１０００（図１１）に記録する（Ｓ１３０２）。
【０１６６】
次に、差分リスト管理部３０４は、クライアント機器３００がネットワークに接続済みか否か確認する（Ｓ１３０３）。クライアント機器３００がネットワークに接続済みでない場合（Ｓ１３０３でＮＯ）、処理を終了する。
【０１６７】
クライアント機器３００がネットワークに接続済みである場合（Ｓ１３０３でＹＥＳ）、差分リスト管理部３０４は、次の動作をする。その動作では、各コンテンツ取得サーバ２００のうちに、クライアント機器３００が、そのコンテンツ取得サーバ２００から差分番号通知要求（先述）を受信したコンテンツ取得サーバ２００が存在するか確認する（Ｓ１３０４）。上で述べたように、差分リスト管理部３０４は、任意のタイミングで、コンテンツ取得サーバ２００から差分番号通知要求を受信し、受信した差分番号通知要求に含まれるサーバＩＤを揮発性メモリに記憶しておく。
【０１６８】
差分番号通知要求を受信したコンテンツ取得サーバ２００が存在しない場合（Ｓ１３０４でＮＯ）、処理を終了する。差分番号通知要求を受信したコンテンツ取得サーバ２００が存在する場合（Ｓ１３０４でＹＥＳ）、差分リスト管理部３０４は、差分番号通知要求を受信したすべてのコンテンツ取得サーバ２００に対して、差分番号管理テーブル１２００の最新差分番号を通知する（Ｓ１３０５）。
【０１６９】
なお、差分リスト管理部３０４は、この差分リスト管理部３０４などに対して、時間間隔を設定してもよい。差分リスト管理部３０４は、設定される時間間隔で、コンテンツ取得サーバ２００に対して最新の差分番号を通知してもよい。この場合、前回の通知から設定された時間間隔が経っていないと、差分リスト管理部３０４は、Ｓ１３０５の処理を実行しない。例えば、通知の時間間隔は２００ミリ秒と設定することができる。このように、通知に時間間隔を設定することにより、クライアント機器３００において、短時間の間に、状態が変わったコンテンツが複数発生した場合に、不適切な動作がされてしまうことが防がれる。つまり、差分リスト管理部３０４がコンテンツ取得サーバ２００に短時間に複数の通知を連続的に送信することを防ぐことができる。これにより、コンテンツ取得サーバ２００の処理負荷を削減できる。
【０１７０】
図１５は、本発明の実施の形態における、クライアント機器が分割差分リストを生成する処理の流れを示すフロー図である。図１５は、図１４のＳ１３０２における処理に対応する。以下、図１５について説明する。
【０１７１】
まず、差分リスト管理部３０４は、コンテンツテーブル１０００を参照し、最も新しい分割差分リストを選択する（Ｓ１４０１）。ここで、最も新しい分割差分リストとは、コンテンツテーブル１０００における、タイプが「分割差分リスト」の各エントリの中で、差分番号の値が最大のエントリの分割差分リストである。但し、コンテンツテーブル１０００に、タイプが「分割差分リスト」のエントリが存在しない場合、タイプが「分割差分リスト」のエントリを新たに作成する。そして、作成したエントリの親リストにルートリストを示す「ＲＯＯＴ」を設定する。
【０１７２】
次に、差分リスト管理部３０４は、最も新しい分割差分リストの子数を確認し、確認された子数が、事前に定められた数以上であるか確認する（Ｓ１４０２）。本実施の形態において、この事前に定められた数は１０である。分割差分リストの子数が、事前に定められた数以上でない場合（Ｓ１４０２でＮＯ）、Ｓ１４０４に進む。分割差分リストの子数が事前に定められた数以上である場合（Ｓ１４０２でＹＥＳ）、差分リスト管理部３０４は、コンテンツテーブル１０００に、新たな分割差分リストを追加する（Ｓ１４０３）。差分リスト管理部３０４は、差分番号管理テーブル１２００（図１３）の最新差分番号を、１加算した値に更新する（Ｓ１４０４）。差分リスト管理部３０４は、状態が変化したコンテンツに基づいて差分コンテンツ情報を生成し、コンテンツテーブル１０００に追加する（Ｓ１４０５）。このとき、差分コンテンツ情報の親リストの値は、Ｓ１４０１で選択した最新の分割差分リストのコンテンツＩＤとする。但し、親リストの値は、Ｓ１４０３を実行した場合には、Ｓ１４０３で追加した分割差分リストのコンテンツＩＤとする。なお、差分リスト管理部３０４は、差分コンテンツ情報をコンテンツテーブル１０００に追加した場合、追加した差分コンテンツ情報の親リストが指すリストの差分番号の値を、追加したコンテンツ情報の差分番号の値に更新する。
【０１７３】
このように、差分リスト管理部３０４は、図１５で示した処理を行うことで、クライアント機器３００における、状態が変わったコンテンツに関する情報を、コンテンツテーブル１０００に記録する。
【０１７４】
図１６は、本発明の実施の形態における、コンテンツ取得サーバがクライアント機器からコンテンツを取得する、初回の処理の流れを示すシーケンス図である。
【０１７５】
ここで初回の動作とは、クライアント機器３００のクライアントＩＤが、コンテンツ取得サーバ２００に蓄積された登録完了済みクライアントリストに存在しない場合の動作を指す。具体的には、コンテンツ取得サーバ２００がクライアント機器情報を取得したとき（図１６のＳ１５０２）に、初回の動作であるか２回目以降の動作であるかを決定（判定）することができる。なお、この点については、下記のＳ１５０２の説明で、詳しく述べられる。
【０１７６】
図１６について説明する。まず、クライアント機器３００は、ネットワークに接続すると、ネットワーク接続済み通知を、ネットワーク上のすべての端末へ送信する（Ｓ１５０１）。但し、ネットワーク上のすべての端末へ情報を送信するための方法は、ネットワーク毎に定められた方法に従う。また、コンテンツ取得サーバ２００がネットワークに接続した場合もある。この場合には、コンテンツ取得サーバ２００が、ネットワーク上のすべての端末へ、ネットワーク接続済み通知を要求する。コンテンツ取得サーバ２００は、この要求をすることで、クライアント機器３００からネットワーク接続済み通知を得る。
【０１７７】
ネットワーク接続済み通知を受信したコンテンツ取得サーバ２００のクライアント機器情報取得部２０１は、クライアント機器情報管理部３０１からクライアント機器情報を取得する（Ｓ１５０２）。
【０１７８】
次に、サーバ登録申請部２０２は、Ｓ１５０２で取得したクライアント機器情報に掲載されたクライアントＩＤが、蓄積部２０８に記録した登録完了済みクライアントリスト（先述）に存在するか確認する。クライアントＩＤが登録完了済みクライアントリストに存在する場合、クライアント機器情報が取得された上述のクライアント機器３００からのコンテンツ取得は２回目以降である。この場合における、上述の確認がされて以降の処理は、図１７で説明する。一方、クライアントＩＤが登録完了済みクライアントリストに存在しない場合、サーバ登録申請部２０２（図２）は、自動的に、もしくはユーザの許可を得て、サーバＩＤを含むサーバ登録要求（先述）をサーバ管理部３０２へ送信する（Ｓ１５０３）。
【０１７９】
サーバ登録要求を受信したサーバ管理部３０２は、ユーザの許可が得られた場合、サーバ登録要求に含まれるサーバＩＤをサーバ管理テーブル１１００に記録し（図１２の第１列）、登録が成功した旨をサーバ登録申請部２０２へ通知する。このとき、サーバ管理部３０２は、サーバ管理テーブル１１００における、記録された上述のサーバＩＤ（図１２の第１列）に対応する取得済み最新差分番号（第２列）には、「−１」を設定する。ユーザの許可が得られなかった場合、サーバ管理部３０２は、登録が失敗した旨をサーバ登録申請部２０２へ通知する。なお、サーバ登録要求を受信したサーバ管理部３０２は、ユーザに許可を得ることなく、自動的に、サーバＩＤをサーバ管理テーブル１１００に記録してもよい。こうして、自動的に記録することで、ユーザの手間を省くことができる。
【０１８０】
サーバ登録要求が成功した場合、サーバ登録申請部２０２は、登録が成功したクライアント機器３００のクライアントＩＤを登録完了済みクライアントリスト（先述）に追記する。サーバ登録要求が失敗した場合、コンテンツ取得サーバ２００は、その旨をユーザに通知して処理を終了する。
【０１８１】
次に、コンテンツリスト取得部２０３（図２）は、コンテンツ管理部３０３（図３）からコンテンツリストを取得する（Ｓ１５０４）。このとき、例えばコンテンツリストの構造が図６のようである場合、コンテンツリスト取得部２０３は、まずルートリストを取得する。そして、ルートリストに掲載された情報に基づき、画像リストと音楽リストを取得する。このように、一方のリストに他方のリストが掲載されていた場合、コンテンツリスト取得部２０３は、再帰的に他方のリストを取得する。但し、クライアント機器３００からコンテンツを取得する、初回の動作においては、差分ルートリストや分割差分リストは取得しない。
【０１８２】
次に、コンテンツ取得部２０４は、Ｓ１５０４で取得したコンテンツリストに基づきコンテンツ管理部３０３からコンテンツを取得する（Ｓ１５０５）。コンテンツ取得部２０４は、取得したコンテンツに関する情報を取得済みコンテンツテーブル４００（図４）に記録する。このとき、コンテンツ取得部２０４は、コンテンツリストに掲載されたすべてのコンテンツを取得する。
【０１８３】
次に、コンテンツリスト取得部２０３（図２）は、差分リスト管理部３０４（図３）へ、サーバＩＤを含む最新の差分番号通知要求（先述）を送信する（Ｓ１５０６）。最新の差分番号通知要求を受信した差分リスト管理部３０４は、受信した差分番号通知要求に含まれるサーバＩＤを揮発性メモリに記憶し、また、次の通知を行う。その通知では、差分番号管理テーブル１２００（図１３）に記録された最新差分番号を、このクライアント機器３００のクライアントＩＤと共にコンテンツリスト取得部２０３へ通知する（Ｓ１５０７）。
【０１８４】
さらに、これ以後、差分リスト管理部３０４は、差分番号が更新された場合、サーバＩＤが記憶されたコンテンツ取得サーバ２００の各々へ、差分番号管理テーブル１２００の最新差分番号を通知する。この通知では、最新差分番号を、このクライアント機器３００のクライアントＩＤと共に通知する。最新差分番号を受信した差分リスト管理部３０４は、図１７で示すＳ１６０５以降の処理を行う。
【０１８５】
なお、差分リスト管理部３０４は、Ｓ１５０７において、差分番号管理テーブル１２００に記録された最新差分番号とクライアントＩＤとに加え、次の数を通知してもよい。つまり、コンテンツテーブル１０００（図１１）における、タイプ（第３列）が「差分」のエントリのエントリ数（分割差分リストに掲載される差分コンテンツ情報の総数）がある。最新差分番号などに加えて、このエントリ数を、コンテンツリスト取得部２０３へ通知してもよい。タイプが「差分」のエントリ数を通知することで、コンテンツリスト取得部２０３は、分割差分リストの取得に必要な時間を見積もることができ、見積もった時間をユーザに提示するなどもできる。例えば、図１１に示すコンテンツテーブル１０００において、タイプが「差分」のエントリ数は２２である。
【０１８６】
また、本実施の形態では差分番号は「１」ずつ増加すると予め定めている。このような、差分番号の設定規則が予め定められている場合には、タイプが「差分」のエントリ数を通知する代わりに、次の番号を通知してもよい。つまり、コンテンツテーブル１０００における、タイプが「差分」の各エントリがある。これらの各エントリに設定された差分番号のうちで最小の差分番号を、コンテンツリスト取得部２０３へ、上述のエントリ数の代わりに通知してもよい。本実施の形態のように、差分番号が「１」ずつ増加することが予め定められている場合には、受信した最新差分番号（図１３の「３０」を参照）から、この最小の差分番号を減算し、１を加えた値が、分割差分リストに掲載されるエントリ数となる。つまり、この最小の差分番号から、上述のエントリ数が特定される。このため、このような、最小の差分番号を通知する場合にも、タイプが「差分」のエントリ数を通知した先述の場合と同等の効果を得られる。
【０１８７】
例えば、図１３に示す差分番号管理テーブル１２００において最新差分番号は３０である。一方、図１１に示すコンテンツテーブル１０００において、タイプが「差分」のエントリに設定された最小の差分番号は９である。これらの３０及び９より、タイプが「差分」のエントリ数は、式「３０−９＋１」により２２と計算できる。
【０１８８】
図１７は、本発明の実施の形態における、コンテンツ取得サーバがクライアント機器からコンテンツを取得する、２回目以降の処理の流れを示すシーケンス図である。
【０１８９】
ここで、２回目以降の動作がされる場合とは、クライアント機器３００のクライアントＩＤが、コンテンツ取得サーバ２００に蓄積された登録完了済みクライアントリスト（先述）に存在している場合を指す。具体的には、コンテンツ取得サーバ２００がクライアント機器情報を取得したとき（図１６のＳ１５０２、図１７のＳ１６０２）に、初回の動作であるか２回目以降の動作であるか決定（判定）することができる。
【０１９０】
なお、図１７のＳ１６０１およびＳ１６０２における処理は、図１６のＳ１５０１およびＳ１５０２における処理と同じである。また、図１７のＳ１６０３およびＳ１６０４における処理は、図１６のＳ１５０６およびＳ１５０７の処理と同じであり、図１７のＳ１６０９における処理は図１６のＳ１５０５における処理と同じである。図１６の各ステップにおける処理についてはすでに説明しているので、図１６と同じ処理については、詳しい説明を適宜、省略する。
【０１９１】
図１７について説明する。まず、クライアント機器３００はネットワークに接続すると、ネットワーク接続済み通知を、ネットワーク上のすべての端末へ送信する（Ｓ１６０１）。ネットワーク接続済み通知を受信したコンテンツ取得サーバ２００のクライアント機器情報取得部２０１は、クライアント機器情報管理部３０１からクライアント機器情報を取得する（Ｓ１６０２）。
【０１９２】
サーバ登録申請部２０２は、Ｓ１６０２で取得したクライアント機器情報に掲載されたクライアントＩＤが、蓄積部２０８に記録した登録完了済みクライアントリストに存在するか確認する。クライアントＩＤが登録完了済みクライアントリストに存在しない場合、対応するクライアント機器３００からのコンテンツ取得は初回であるので、以降の処理は図１６で説明した通りである。クライアントＩＤが登録完了済みクライアントリストに存在する場合、コンテンツリスト取得部２０３は、差分リスト管理部３０４へ、サーバＩＤを含む最新の差分番号通知要求を送信する（Ｓ１６０３）。最新の差分番号通知要求を受信した差分リスト管理部３０４は、受信したサーバＩＤを揮発性メモリに記憶し、差分番号管理テーブル１２００に記録された最新差分番号を、クライアントＩＤと共にコンテンツリスト取得部２０３へ通知する（Ｓ１６０４）。
【０１９３】
クライアントＩＤと最新差分番号とを受信したコンテンツリスト取得部２０３は、取得済み最大差分番号管理テーブル４５０から、クライアントＩＤの項目に、受信したクライアントＩＤの値と同じ値が設定された最大差分番号の項目を読み出す。そして、コンテンツリスト取得部２０３は、この読み出した最大差分番号と、受信した最新差分番号とを比較する（Ｓ１６０５）。コンテンツリスト取得部２０３は、この比較により、読み出した最大差分番号が、受信した最新差分番号以上と特定される場合、クライアント機器３００に、コンテンツ取得サーバ２００が未取得のコンテンツは蓄積されていないと判断する。この判断がされる場合、コンテンツ取得サーバ２００は、クライアント機器３００からのコンテンツ取得処理を終了する。
【０１９４】
コンテンツリスト取得部２０３は、上述の比較により、読み出した最大差分番号が、受信した最新差分番号より小さいと特定される場合、クライアント機器３００に、コンテンツ取得サーバ２００が未取得のコンテンツが蓄積されていると判断する。この判断がされる場合、コンテンツ取得サーバ２００は、コンテンツ取得処理を継続する。
【０１９５】
コンテンツリスト取得部２０３は、差分リスト取得要求を、差分リスト管理部３０４に送信する（Ｓ１６０６）。差分リスト取得要求を受信した差分リスト管理部３０４は、図１１に示したコンテンツテーブル１０００から、図９に示す差分ルートリスト５０２、および、図１０に示す分割差分リスト５０３を動的に生成する（Ｓ１６０７）。差分リスト管理部３０４は、生成した差分ルートリスト５０２および分割差分リスト５０３を、コンテンツリスト取得部２０３に送信する。
【０１９６】
コンテンツリスト取得部２０３は、差分リスト管理部３０４から、差分ルートリスト５０２および分割差分リスト５０３を取得する（Ｓ１６０８）。なお、Ｓ１６０５からＳ１６０８における、コンテンツリスト取得部２０３の処理の詳細については、図１８を用いて後述する。
【０１９７】
次に、コンテンツ取得部２０４は、Ｓ１６０８で取得した差分リストに基づき、コンテンツ管理部３０３からコンテンツを取得する（Ｓ１６０９）。コンテンツ取得部２０４は、取得したコンテンツに関する情報を、取得済みコンテンツテーブル４００（図４）に記録する。コンテンツ取得部２０４は、この記録をするとともに、取得済みエントリの差分番号の中で最大の差分番号を、取得済み最大差分番号管理テーブル４５０（図５）に記録する（Ｓ１６１０）。このとき、コンテンツ取得部２０４は、分割差分リスト５０３に掲載されたすべてのコンテンツを取得する。但し、差分状態（図１０の第７列）が「削除」に設定されたコンテンツについては、リソースパス（第５列）に「−１」が設定されている。このため実際には取得しないものの、取得したものと見なして以降の処理を行う。
【０１９８】
次に、取得済みコンテンツ申請部２０５は、取得済み最大差分番号管理テーブル４５０の最大差分番号（図５の第２列）を参照する。つまり、先述の取得済み最新差分番号通知は、この最大差分番号である、Ｓ１６０９で取得したすべてのコンテンツの中で最大の差分番号と、サーバＩＤとを含む。取得済みコンテンツ申請部２０５は、上述の参照をして、この取得済み最新差分番号通知を、差分リスト管理部３０４へ送信する（Ｓ１６１１）。
【０１９９】
取得済み最新差分番号通知を受信した差分リスト管理部３０４は、受信した情報を、サーバ管理テーブル１１００に記録し、サーバ管理テーブル１１００を更新する（Ｓ１６１２）。Ｓ１６１２の処理の詳細については、図１９を用いて後述する。
【０２００】
次に差分リスト管理部３０４は、取得済みコンテンツ申請部２０５へ、取得済み最新差分番号通知の受信完了通知を送信する（Ｓ１６１３）。
【０２０１】
なお、Ｓ１６０９において、コンテンツ取得部２０４は、次の動作をする。つまり、Ｓ１６０８で取得した分割差分リスト（図１０）において、差分状態の項目（第６列）に「削除」と設定されたエントリがあることがある。その動作では、このようなエントリのコンテンツが、取得済みコンテンツテーブル４００（図４）に記録されている場合、当該コンテンツに関する情報を取得済みコンテンツテーブル４００から削除する。その動作では、この削除をした上で、蓄積部２０８からも当該コンテンツのファイルを削除したり、何も、この削除以外の他の処理を行わなかったり、ユーザに通知したり、システムにより事前に設定された情報に基づき処理を行ったりする。なお、これらの処理のうちの１つの処理だけ実行してもよいし、複数の処理を実行してもよい。コンテンツ取得部２０４が、当該コンテンツに関する情報やファイルを削除した場合、コンテンツ取得サーバ２００に蓄積されるコンテンツを、クライアント機器３００に蓄積されたコンテンツと一致させることができる。
【０２０２】
図１８は、本発明の実施の形態においてコンテンツ取得サーバがクライアント機器から分割差分リストを取得する処理の流れを示すフロー図である。図１８は、図１７のＳ１６０５からＳ１６０８において、コンテンツリスト取得部２０３が分割差分リストを取得する処理に対応する。
【０２０３】
図１８について説明する。まず、コンテンツリスト取得部２０３は、取得済み最大差分番号管理テーブル４５０（図５）から、Ｓ１６０４で受信したクライアントＩＤの値（第２列）に対応する最大差分番号を読み出す。
【０２０４】
コンテンツリスト取得部２０３は、この読み出した最大差分番号と、Ｓ１６０４で受信した最新差分番号とを比較する（Ｓ１７００、Ｓ１６０５と同等）。
【０２０５】
コンテンツリスト取得部２０３は、読み出した最大差分番号が、受信した最新差分番号以上の場合（Ｓ１７００でＮＯ）、クライアント機器３００に、コンテンツ取得サーバ２００が未取得のコンテンツは蓄積されていないと判断し、図１８の処理を終了する。つまり、この場合、図１７を用いて説明したように、コンテンツ取得サーバ２００は、クライアント機器３００からのコンテンツ取得処理を終了する。
【０２０６】
コンテンツリスト取得部２０３は、読み出した最大差分番号が、受信した最新差分番号より小さい場合（Ｓ１７００でＹＥＳ）、クライアント機器３００に、コンテンツ取得サーバ２００が未取得のコンテンツが蓄積されていると判断する。この判断をした場合、コンテンツ管理部３０３からルートリスト５００を取得する（Ｓ１７０１）。
【０２０７】
次に、コンテンツリスト取得部２０３は、次のリストについての動作をする。そのリストとは、Ｓ１７０１で取得したルートリスト５００、もしくは、後述のＳ１７０３で取得した差分リスト（差分ルートリストと分割差分リストの総称）である。そのリストには差分リストが記載される。その動作では、記載されたすべての差分リストの差分番号の値と、Ｓ１７００で読み出した最大差分番号とを比較する（Ｓ１７０２）。
【０２０８】
その動作では、すべての差分リストの差分番号の値が、Ｓ１７００で読み出した最大差分番号以下の値であれば（Ｓ１７０２でＮＯ）、クライアント機器３００に、コンテンツ取得サーバ２００が未取得のコンテンツは蓄積されていないと判断し、図１８の処理を終了する。
【０２０９】
その動作では、Ｓ１７００で読み出した最大差分番号より大きな値を持つ差分リストが１つでもあれば（Ｓ１７０２でＹＥＳ）、その差分リストに、コンテンツ取得サーバ２００が、クライアント機器３００から未取得のコンテンツに関する情報が掲載されていると判断する。そして、その動作では、Ｓ１７００で読み出した最大差分番号より大きな値を持つ差分リストをすべて取得する（Ｓ１７０３）。そして、その動作では、Ｓ１７０３で取得したすべての差分リストに対して再度Ｓ１７０２を実行する。このように、Ｓ１７００で読み出した最大差分番号より大きな値を持つ差分リスト（コンテンツ取得サーバ２００がクライアント機器３００から未取得のコンテンツに関する情報が掲載されている分割差分リストや差分ルートリスト）が無くなるまで、Ｓ１７０２を繰り返し実行する。
【０２１０】
ここで、例えば、コンテンツ取得サーバ２００が、クライアントＩＤが「ＣＬＩＥＮＴ０１」（図５の第２行）であるクライアント機器３００から差分リストを取得する場合を考える。但し、クライアントＩＤが「ＣＬＩＥＮＴ０１」のクライアント機器３００は図６に示す構造のコンテンツリストを持ち、コンテンツ取得サーバ２００の取得済みコンテンツテーブル４００（図４）は、図４に示す情報を記録しているものとする。また、図１７のＳ１６０４において、クライアントＩＤが「ＣＬＩＥＮＴ０１」であるクライアント機器３００が、コンテンツ取得サーバ２００へ、最新の差分番号として「３０」を通知したものとする。
【０２１１】
このとき、コンテンツリスト取得部２０３は、図１８の処理を次のように実行する。まず、コンテンツリスト取得部２０３は、取得済み最大差分番号管理テーブル４５０（図５）から、「ＣＬＩＥＮＴ０１」が設定された、クライアントＩＤの項目に対応する、最大差分番号の項目として「８」を読み出す（図５参照）。そして、コンテンツリスト取得部２０３は、この「８」を、受信した差分番号である上述の「３０」と比較する（Ｓ１７００）。読み出した最大差分番号「８」は、受信した差分番号「３０」より小さいため（Ｓ１７００でＹＥＳ）、コンテンツリスト取得部２０３は、ルートリスト５００を取得する（Ｓ１７０１）。
【０２１２】
そして、コンテンツリスト取得部２０３は、ルートリスト５００に記載された差分ルートリスト５０２（ＤＩＦＦ−ＲＯＯＴ）の差分番号「３０」（図７の第４行第７列）と、Ｓ１７００で読み出した最大の差分番号「８」とを比較する（Ｓ１７０２）。そして、コンテンツリスト取得部２０３は、差分ルートリスト５０２の差分番号がＳ１６０５で読み出した最大の差分番号より大きいので（Ｓ１７０２でＹＥＳ）、差分ルートリスト５０２（図９）を取得する（Ｓ１７０３）。
【０２１３】
次に、コンテンツリスト取得部２０３は、差分ルートリスト５０２に記載された、３つの分割差分リスト（第２行の「ＤＩＦＦ−ＬＩＳＴ０１」から、第４行の「ＤＩＦＦ−ＬＩＳＴ０３」）それぞれの差分番号と、Ｓ１７００で読み出した最大の差分番号「８」とを比較する（Ｓ１７０２）。コンテンツリスト取得部２０３は、これらの比較により、いずれの分割差分リストの差分番号も、Ｓ１６０５で読み出した最大の差分番号より大きいことを特定するので（Ｓ１７０２でＹＥＳ）、３つの分割差分リストをすべて取得する（Ｓ１７０３）。そして、取得した３つの分割差分リストのいずれについても、それよりも下位の分割差分リストがないので処理を終了する（Ｓ１７０２でＮＯ）。但し、３つの分割差分リスト（「ＤＩＦＦ−ＬＩＳＴ０１」から「ＤＩＦＦ−ＬＩＳＴ０３」）のいずれについても、それより下位の分割差分リストがないとする。
【０２１４】
なお、上で述べたように、例えば、差分ルートリスト５０２のリソースパスは、ルートリスト５００に掲載されている。一方、このリソースパスは、クライアント機器情報管理部３０１が管理するクライアント機器情報に掲載されてもよい。このとき、コンテンツリスト取得部２０３は、ルートリスト５００を取得することなく差分ルートリスト５０２を直接取得する。これにより、コンテンツリスト取得部２０３がコンテンツリスト取得をするのにかかる処理時間を短くできる。
【０２１５】
図１９は、本発明の実施の形態における、コンテンツ取得サーバから取得済み最新差分番号通知を受信したクライアント機器の処理の流れを示すフロー図である。
【０２１６】
つまり、図１７のＳ１６１２において、取得済み最新差分番号通知を受信した差分リスト管理部３０４が、次の処理をする。その処理では、受信した情報をサーバ管理テーブル１１００（図１２）に記録し、分割差分リストを更新する。図１９は、この処理に対応する。
【０２１７】
図１９について説明する。まず、差分リスト管理部３０４は、サーバ管理テーブル１１００（図１２）における、受信した取得済み最新差分番号通知のサーバＩＤ（第１列）に対応する取得済み最新差分番号（第２列）を、置き換え後の番号に置き換える。置き換え後の番号とは、受信した取得済み最新差分番号通知の差分番号である（Ｓ１８０１）。
【０２１８】
次に差分リスト管理部３０４は、サーバ管理テーブル１１００に記録されたすべてのサーバＩＤに対応する取得済み最新差分番号の中で最小の差分番号を取得する（Ｓ１８０２）。次に差分リスト管理部３０４は、コンテンツテーブル１０００（図１１）における次のようなエントリを削除する。削除されるエントリは、タイプが「差分」であり、Ｓ１８０２で取得した最小の差分番号以下の差分番号を持つエントリである。すべてのこのようなエントリをコンテンツテーブル１０００から削除する（Ｓ１８０３）。ここで、タイプが「差分」のエントリは、差分コンテンツ情報を示すので、Ｓ１８０３において削除対象となるのは差分コンテンツ情報だけである。さらに、タイプが「差分」のエントリを削除したことにより、子数が「０」となった分割差分リスト（タイプが「分割差分リスト」のエントリ）も削除する。
【０２１９】
ここで、Ｓ１８０２で選択した最小の差分番号は、次のような１個以上の差分コンテンツ情報の差分番号の中で最小の差分番号である。つまり、分割差分リストに掲載された各差分コンテンツ情報の中には、サーバ管理テーブル１１００に登録されたすべてのコンテンツ取得サーバ２００が取得済みとなった差分コンテンツ情報が含まれる。選択される最小の差分番号は、１個以上の、このような、すべてのコンテンツ取得サーバ２００が取得済みの差分コンテンツ情報の差分番号の中で最小の差分番号を表す。
【０２２０】
つまり、Ｓ１８０２で選択した最小の差分番号以下の差分番号を持つ何れの差分コンテンツ情報についても、次の通りである。つまり、その差分コンテンツ情報は、どのコンテンツ取得サーバ２００にも必要とされない。よって、Ｓ１８０３の処理において、このような、選択された最小の差分番号以下の差分番号のそれぞれの差分コンテンツ情報を、コンテンツテーブル１０００から削除できる。
【０２２１】
また、どのコンテンツ取得サーバ２００も必要としない差分コンテンツ情報を削除することで、この削除をして以降、分割差分リストに、不要な差分コンテンツ情報が掲載されることが防がれる。これにより、コンテンツ取得サーバ２００が取得する分割差分リストの情報量を削減し、このシステムで行われる処理の処理時間を短くできる。
【０２２２】
さらに、図１６のＳ１５０７において、差分リスト管理部３０４は、コンテンツの追加、更新または削除により、コンテンツの状態が変化する都度、次の動作をするものとした。その動作では、クライアント機器３００における最新の差分番号をすべてのコンテンツ取得サーバ２００に通知する。
【０２２３】
一方、差分リスト管理部３０４は、さらに、次の通知もしてもよい。つまり、図１９のＳ１８０３における処理がされる。この処理では、すべてのコンテンツ取得サーバ２００の取得済み最新差分番号の中で最小の差分番号以下の差分番号が関連付けられた差分エントリをすべて差分リストから削除する。この削除をした後、差分リスト管理部３０４は、すべてのコンテンツ取得サーバ２００から受信した取得済み最新差分番号の中で最小の差分番号を、このクライアント機器３００のクライアントＩＤと共に、コンテンツリスト取得部２０３へ通知するとしてもよい。これにより、コンテンツリスト取得部２０３では、現在、差分リストに記録されている差分エントリの数を算出することができる。これにより、分割差分リストを取得するために要する時間、および未取得のコンテンツを取得するために要する時間を、算出された上述の数から概算することができる。
【０２２４】
図２０は、本発明の実施の形態においての、コンテンツ取得サーバからサーバ登録解除要求を受信したクライアント機器の処理の流れを示すフロー図である。
【０２２５】
具体的には、その処理では、コンテンツ取得サーバ２００のサーバ登録申請部２０２がサーバ登録解除要求をクライアント機器３００に送信した場合に、クライアント機器３００が、当該コンテンツ取得サーバ２００の登録を解除する。
【０２２６】
コンテンツ取得サーバ２００は、サーバ登録要求を送信した（図１６のＳ１５０３）後、サーバ登録解除要求をクライアント機器３００に送信する。このことで、クライアント機器３００へ登録の解除を要求することができる。サーバ登録解除要求は、ユーザの指示や、コンテンツ取得サーバ２００の初期設定により送信される。なお、サーバ登録解除要求には、登録を解除するコンテンツ取得サーバ２００のサーバＩＤが含まれる。
【０２２７】
図２０について説明する。まず、サーバ管理部３０２は、サーバ管理テーブル１１００（図１２）から、受信したサーバ登録解除要求に含まれるサーバＩＤを持つエントリを削除する（Ｓ１９０１）。
【０２２８】
次に、差分リスト管理部３０４は、サーバ管理テーブル１１００を参照し、登録済みのコンテンツ取得サーバ２００が１台以上存在するか確認する（Ｓ１９０２）。登録済みのコンテンツ取得サーバ２００が存在する場合（Ｓ１９０２でＹＥＳ）、処理を終了する。登録済みのコンテンツ取得サーバ２００が存在しない場合（Ｓ１９０２でＮＯ）、差分リスト管理部３０４は、コンテンツテーブル１０００から差分コンテンツ情報（タイプが「差分」のエントリ）と差分リスト（タイプが「差分ルートリスト」または「分割差分リスト」のエントリ）をすべて削除する（Ｓ１９０３）。
【０２２９】
サーバ管理テーブル１１００に記録された、コンテンツ取得サーバ２００のエントリが削除され、そのエントリが存在しないということは、次のことを表わす。つまり、そのコンテンツ取得サーバ２００が、分割差分リストを必要とせず、その分割差分リストを必要とするコンテンツ取得サーバ２００が存在しないということを表す。したがって、サーバ登録解除要求により、サーバ管理テーブル１１００に記録された、コンテンツ取得サーバ２００のエントリが存在しなくなった場合、クライアント機器３００は、次の削除ができる。つまり、コンテンツテーブル１０００から、差分コンテンツ情報と差分リスト（差分ルートリストおよび分割差分リスト）を削除できる。このように、必要のない差分コンテンツ情報や差分リストを削除することで、クライアント機器３００の記憶領域の消費量を削減できる。また、これ以降、サーバ登録要求により、サーバ管理テーブル１１００にコンテンツ取得サーバ２００が記録されるまで、クライアント機器３００は、差分コンテンツ情報をコンテンツテーブル１０００に記録しない。このように、必要のない差分コンテンツ情報をコンテンツテーブル１０００に記録しないことで、クライアント機器３００の処理量を削減できる。
【０２３０】
なお、図２０では、コンテンツ取得サーバ２００のサーバ登録申請部２０２がサーバ登録解除要求をクライアント機器３００に送信した場合に次の解除がされる例について説明した。つまり、その場合に、クライアント機器３００が当該コンテンツ取得サーバ２００の登録を解除する例について説明した。一方、ユーザがクライアント機器３００に備えられた図示しない入力部を操作することによって、次の指定をしてもよい。つまり、その指定により、登録を解除するコンテンツ取得サーバ２００が指定されてもよい。例えば、デジタルカメラなどでは、液晶パネルに表示されるメニュー画面などから、登録されたコンテンツ取得サーバ２００の一覧を表示させることができる。このような、登録コンテンツ取得サーバ２００の一覧の中から上下ボタンなどにより、ユーザの選択を受け付けてもよい。この選択でユーザが選択したコンテンツ取得サーバ２００の登録を解除するようにしてもよい。
【０２３１】
なお、ブロック図（図２、図３など）の各機能ブロックは典型的には集積回路であるＬＳＩとして実現される。これらは個別に１チップ化されても良いし、一部又は全てを含むように１チップ化されても良い。
【０２３２】
例えばメモリ以外の機能ブロックが１チップ化されていても良い。
【０２３３】
ここでは、ＬＳＩとしたが、集積度の違いにより、ＩＣ、システムＬＳＩ、スーパーＬＳＩ、ウルトラＬＳＩと呼称されることもある。
【０２３４】
また、集積回路化の手法はＬＳＩに限るものではなく、専用回路又は汎用プロセッサで実現してもよい。ＬＳＩ製造後に、プログラムすることが可能なＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）や、ＬＳＩ内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用しても良い。
【０２３５】
さらには、半導体技術の進歩又は派生する別技術によりＬＳＩに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適応等が可能性としてありえる。
【０２３６】
また、各機能ブロックのうち、コンテンツを格納する手段だけ１チップ化せずに別構成としても良い。
【０２３７】
以上、図面を参照してこの発明の実施の形態を説明したが、この発明は、図示した実施の形態のものに限定されない。図示した実施の形態に対して、この発明と同一の範囲において、あるいは均等の範囲内において、種々の修正や変形を加えることが可能である。
【０２３８】
なお、上記各実施の形態において、各構成要素は、専用のハードウェアで構成されるか、各構成要素に適したソフトウェアプログラムを実行することによって実現されてもよい。各構成要素は、ＣＰＵまたはプロセッサなどのプログラム実行部が、ハードディスクまたは半導体メモリなどの記録媒体に記録されたソフトウェアプログラムを読み出して実行することによって実現されてもよい。ここで、上記各実施の形態のクライアント機器などを実現するソフトウェアは、次のようなプログラムである。
【０２３９】
例えば、そのプログラムは、複数のコンテンツを蓄積する蓄積部に蓄積された複数のコンテンツを１つ以上のサーバ装置が取得するコンテンツ取得システムにおけるクライアント機器の、コンピュータ用非一時的コンピュータ読み取り可能な記録媒体に記録されたプログラムであって、コンピュータを、蓄積されている前記コンテンツを、１つ以上の前記サーバ装置に取得させるコンテンツ管理部と、蓄積されている前記コンテンツのうちで１つ以上の前記サーバ装置のいずれかが前記クライアント機器から取得していないコンテンツに関するコンテンツ情報が記録された差分情報を、１つ以上の前記サーバ装置に共通する情報として作成し、１つ以上の前記サーバ装置それぞれの要求に応じて前記差分情報を提供する差分情報管理部と、前記サーバ装置がすでに取得したコンテンツに関する前記コンテンツ情報である取得済みコンテンツ情報を、１つ以上の前記サーバ装置のそれぞれから受信する取得済みコンテンツ管理部として動作させ、前記差分情報管理部に、受信した前記取得済みコンテンツ情報に基づいて、すべての前記サーバ装置において取得済みとなったコンテンツに関する前記コンテンツ情報を前記差分情報から削除させるプログラムである。
【０２４０】
また、例えば、そのプログラムは、クライアント機器に蓄積された複数のコンテンツをサーバ装置が取得するコンテンツ取得システムにおけるサーバ装置の、コンピュータ用非一時的コンピュータ読み取り可能な記録媒体に記録されたプログラムであって、コンピュータを、前記クライアント機器から、前記クライアント機器に蓄積されたコンテンツに関するコンテンツ情報が記録された、１つ以上の前記サーバ装置のいずれかが前記クライアント機器から取得していないコンテンツを示す差分情報を取得する差分情報取得部と、前記差分情報に記録された前記コンテンツ情報に基づき、未取得のコンテンツのみを前記クライアント機器から取得するコンテンツ取得部と、前記コンテンツ取得部が取得したコンテンツに関するコンテンツ情報を記録する取得済みコンテンツ管理部として動作させ、前記差分情報には、前記コンテンツ情報がコンテンツ毎に記録され、さらに前記コンテンツ情報には大小関係によりコンテンツの追加、更新、または削除を含む状態変化の時系列を示す差分番号が関連付けられており、前記取得済みコンテンツ管理部に、前記コンテンツ取得部が取得したコンテンツに関する前記コンテンツ情報に関連付けられた前記差分番号の中で最大の差分番号を第一の差分番号として記録させ、前記コンテンツ取得部に、前記差分情報の中で前記第一の差分番号より大きな前記差分番号が関連付けられた前記コンテンツ情報に対応するコンテンツのみを前記クライアント機器から取得させ、さらに前記サーバ装置において、前記サーバ装置の識別子であるサーバ識別子と前記第一の差分番号とを前記クライアント機器へ通知する取得済みコンテンツ通知部として動作させるプログラムである。
【産業上の利用可能性】
【０２４１】
本発明のコンテンツ取得システムによれば、クライアント機器は複数のコンテンツ取得サーバに対して、１種類のコンテンツリストを管理するだけでよい。さらに、クライアント機器は、各コンテンツ取得サーバから、そのコンテンツ取得サーバがこのクライアント機器から取得した取得済みのコンテンツに関する情報を受信する。そして、クライアント機器は、すべてのコンテンツ取得サーバが取得済みのコンテンツに関する情報を、コンテンツリストから削除する。このことで、コンテンツリストにおける無駄な情報を少なくすることができる。これにより、クライアント機器は、個別コンテンツリストを用いた方法に比べ少ない処理負荷で、コンテンツリストを作成することができる。さらに、コンテンツ取得サーバは、全コンテンツリストを用いた方法に比べ無駄な情報の少ないコンテンツリストをクライアント機器から取得できる。このような取得がされるので、クライアント機器からコンテンツリストを取得する時間やコンテンツリストから未取得のコンテンツを特定する時間を短くできる。そのため、本発明に係るコンテンツ取得システムは、コンテンツを蓄積したクライアント機器からコンテンツを取得してサーバ装置で一元管理するコンテンツ取得システム等として有用である。
【符号の説明】
【０２４２】
１００  ディスプレイ
２００  コンテンツ取得サーバ
２０１  クライアント機器情報取得部
２０２  サーバ登録申請部
２０３  コンテンツリスト取得部
２０４  コンテンツ取得部
２０５  取得済みコンテンツ申請部
２０６  通信制御部
２０７  表示制御部
２０８、３０６  蓄積部
３００  クライアント機器
３０１  クライアント機器情報管理部
３０２  サーバ管理部
３０３  コンテンツ管理部
３０４  差分リスト管理部
３０５  通信制御部
４００  取得済みコンテンツテーブル
４５０  取得済み最大差分番号管理テーブル
５００  ルートリスト
５０１  画像リスト
５０２  差分ルートリスト
５０３  分割差分リスト
１０００  コンテンツテーブル
１１００  サーバ管理テーブル
１２００  差分番号管理テーブル
【図１】
2012144214.tif 000003
【図２】
2012144214.tif 000004
【図３】
2012144214.tif 000005
【図４】
2012144214.tif 000006
【図５】
2012144214.tif 000007
【図６】
2012144214.tif 000008
【図７】
2012144214.tif 000009
【図８】
2012144214.tif 000010
【図９】
2012144214.tif 000011
【図１０】
2012144214.tif 000012
【図１１】
2012144214.tif 000013
【図１２】
2012144214.tif 000014
【図１３】
2012144214.tif 000015
【図１４】
2012144214.tif 000016
【図１５】
2012144214.tif 000017
【図１６】
2012144214.tif 000018
【図１７】
2012144214.tif 000019
【図１８】
2012144214.tif 000020
【図１９】
2012144214.tif 000021
【図２０】
2012144214.tif 000022
【国際調査報告】
2012144214.tif 000023
2012144214.tif 000024
2012144214.tif 000025
2012144214.tif 000026