(57)【要約】【課題】  ユーザが複製対処を指定する際の運用コストを低減し、大量のデータからの複製対象選択にかかる計算コストを低減する。【解決手段】  ネットワーク上の端末Ａで動作するデータ複製装置（複製マネージャ７０）であって、複数のデータがなんらかの関連性を持っている際に、データ間の関連性のリンク構造を解析して関連性のあるデータを纏まりとしてネットワーク上の他の端末Ｂに複製し、また、蓄積されたデータのメタデータの表から重要性の高いデータを複製対象の一次候補として抽出し、複製の一次候補の中から実際に複製するデータを選択するという２段階の複製対象データの選択動作を行う（複製対象選択部１００）。【選択図】      図１
2006243889.tif 000002
【特許請求の範囲】
【請求項１】
ネットワーク上の複製元の端末で動作し、リンク構造によって関連づけられたコンテンツ群を蓄積管理する第１のストレージ装置と、前記コンテンツ群のメタデータを蓄積管理する第２のストレージ装置とを備え、前記コンテンツ群の中から少なくとも一部のデータを選択して前記ネットワーク上の複製先となる別の端末に複製を行うデータ複製装置であって、
前記第２のストレージ装置で管理される前記コンテンツ群のメタデータの変化を検出し、予め与えられた抽出条件に従って複製対象を選択し、複製一次候補として生成するインデックス監視部と、
前記複製一次候補として選択されたコンテンツ、および前記コンテンツからのリンク構造によって関連づけられている関連コンテンツを選択し、当該選択された各コンテンツの一覧を、複製するか削除すべきデータとして複製・削除列キューに順次格納する複製対象選択部と、
前記複製先端末が前記ネットワークに接続されたことを検出し、前記複製・削除列キューに格納されているデータを、前記複製先端末に対して複製し、もしくは削除するためにデータ転送を行うデータ転送部と、
を具備することを特徴とするデータ複製装置。
【請求項２】
前記複製対象選択部は、
前記複製一次候補、および前記複製一次候補がリンクを設定しているコレクション、あるいは前記コンテンツを展開して得られるコレクションツリーを解析して関連付けられたデータを抽出して、前記複製先の端末に複製もしくは削除の可否についての指示がそれぞれの列に付加された前記複製・削除列キューに追加し、
前記第２のストレージ装置に格納されたメタデータの変更を検出し、前記メタデータに変更があった場合、もしくは前記コレクションツリーの構造が変化した場合、前記選択されたデータを前記複製先の端末に複製しあるいは削除するために、前記複製・削除列キューを更新することを特徴とする請求項１に記載のデータ複製装置。
【請求項３】
前記複製対象選択部は、
前記コレクションツリーから前記複製・削除列キューを生成する際に、複製対象として選択するコンテンツと、前記コンテンツにリンクを設定しているリンク元コンテンツの集合との関係が保持される複製済コンテンツ表が割当てられる第１の記憶部と、
前記コレクションツリーを用いて複製済として選択されたコンテンツを含む範囲が示される複製分岐線表が割当てられる第２の記憶部と、
前記複製先となる端末の空き記憶容量の値が割当てられる第３の記憶部と、
前記複製一次候補と、複製先の端末の記憶容量が通知された場合、前記複製一次候補、およびそのリンク先のコンテンツの中からリンクの重みが大きいものから順に前記複製先の端末の容量に収まるだけのコンテンツを前記複製・削除列キューに追加し、前記追加したコンテンツとリンク元コンテンツの集合を前記複製済コンテンツ表へ追加し、前記複製分岐線表に、前記複製一次候補のうち複製済として選択された中で複製重要度がもっとも低いコンテンツを追加し、前記複製分岐線表に、前記コンテンツからリンクが設定されたコンテンツのうちリンクの重みが最も少ないコンテンツを追加し、前記複製先の端末が持つ記憶容量から複製済みとして選択したコンテンツの容量を差し引いた値を前記複製先の端末の空き記憶容量の概算値とする初期複製決定部と
を具備することを特徴とする請求項２に記載のデータ複製装置。
【請求項４】
前記複製対象選択部は、
更に、前記複製一次候補、前記複製一次候補からリンクされるコンテンツの追加、削除、ならびに前記複製先の端末における記憶容量の更新が通知されたとき、前記複製先の端末の空き記憶容量の概算値に、前記通知された前記複製先の端末における記憶容量の更新を反映し、追加する必要があるコンテンツを前記複製・削除列キューに「複製」として追加し、不要なコンテンツを複製・削除列キューに「削除」として追加し、前記「複製」として追加したコンテンツとリンク元コンテンツの集合を前記複製済コンテンツ表へ追加すると共に、前記「削除」として追加したコンテンツとリンク元コンテンツの集合を前記複製済コンテンツ表から削除し、前記「複製」として追加したコンテンツが前記複製分岐線表に含まれるコンテンツと同じ親を持つコンテンツであって、前記複製分岐線表に含まれるコンテンツよりも前記複製重要度が低い、もしくはリンクの重みが軽い場合は、前記複製分岐線表のコンテンツを入れ替え、前記「削除」として追加したコンテンツが前記複製分岐線表に含まれる場合、前記コンテンツを前記複製分岐線表から削除し、前記削除したコンテンツの親から辿れる子のうち前記複製済コンテンツ表に含まれ、かつリンクの重みが最も軽いコンテンツを前記複製分岐線表に追加し、前記複製先となる端末の空き記憶容量の概算値から前記「複製」として追加したコンテンツのサイズを差引き、前記「削除」として追加したコンテンツのサイズを足した値を前記複製先の端末の空き記憶容量の概算値とする逐次複製決定部とを具備することを特徴とする請求項３に記載のデータ複製装置。
【請求項５】
前記複製対象選択部は、前記コンテンツが未選択であるか否かを示す情報を更に含む前記複製済コンテンツ表と、未選択表とを保持し、
前記初期複製決定部もしくは前記逐次複製決定部において、前記複製先の端末の容量に収まらないコンテンツの一部を前記複製済コンテンツ表に含めて未選択として設定し、前記複製・削除列キューに「複製」として追加する代わりに前記未選択表に追加し、前記未選択として設定したコンテンツは複製分岐線表の要素を設定する際に複製済と判断することを特徴とする請求項３または４に記載のデータ複製装置。
【請求項６】
前記複製対象選択部は、
前記コンテンツ、および前記コンテンツにリンクが設定されているリンク元コンテンツが枝刈り対象であるか否かを示す情報を更に含む前記複製済コンテンツ表を保持し、
前記初期複製決定部は、ある条件にあてはまるコンテンツについては、前記コンテンツの識別情報を前記複製・削除列キューに「複製」として追加する代わりに、前記複製済コンテンツ表において枝刈りと設定し、前記枝刈りと設定されたコンテンツは前記複製分岐線表の要素を設定する際には複製済と判断し、
前記逐次複製決定部は、ある条件にあてはまるコンテンツについては、前記複製済コンテンツ表において枝刈りと設定し、前記枝刈りと設定したコンテンツを、前記複製・削除列キューに「削除」として追加し、前記枝刈りと設定したコンテンツは、前記複製分岐線表の要素を設定する際に複製済と判断することを特徴とする請求項３〜５のいずれか１項に記載のデータ複製装置。
【請求項７】
ネットワーク上の複製元の端末で動作し、リンク構造によって関連づけられたコンテンツ群を蓄積管理する第１のストレージ装置と、前記コンテンツ群のメタデータを蓄積管理する第２のストレージ装置とを備え、制御装置が、前記コンテンツ群の中から少なくとも一部のデータを選択して前記ネットワーク上の複製先となる別の端末に複製を行うデータ複製装置における複製対象選択方法であって、
前記制御装置は、
前記第２のストレージ装置で管理される前記コンテンツ群のメタデータの変化を検出し、予め与えられた抽出条件に従って複製対象を選択し、複製一次候補として作成、更新するステップと、
前記複製一次候補として選択されたコンテンツ、および前記コンテンツからのリンク構造によって関連づけられている関連コンテンツを選択し、当該選択された各コンテンツの一覧を、複製するか削除すべきデータとして複製・削除列キューに順次格納するステップと、
前記複製先端末が前記ネットワークに接続されたことを検出し、前記複製・削除列キューに格納されているデータを、前記複製先端末に対して複製し、もしくは削除するためにデータ転送を行うステップと、
を実行することを特徴とするデータ複製装置における複製対象選択方法。
【請求項８】
ネットワーク上の複製元の端末で動作し、リンク構造によって関連づけられたコンテンツ群を蓄積管理する第１のストレージ装置と、前記コンテンツ群のメタデータを蓄積管理する第２のストレージ装置とを備え、前記コンテンツ群の中から少なくとも一部のデータを選択して前記ネットワーク上の複製先となる別の端末に複製を行うデータ複製装置のコンピュータに、
前記第２のストレージ装置で管理される前記コンテンツ群のメタデータの変化を検出し、予め与えられた抽出条件に従って複製対象を選択し、複製一次候補として作成、更新する処理と、
前記複製一次候補として選択されたコンテンツ、および前記コンテンツからのリンク構造によって関連づけられている関連コンテンツを選択し、当該選択された各コンテンツの一覧を、複製するか削除すべきデータとして複製・削除列キューに順次格納する処理と、
前記複製先端末が前記ネットワークに接続されたことを検出し、前記複製・削除列キューに格納されているデータを、前記複製先端末に対して複製し、もしくは削除するためにデータ転送を行う処理と、
を実行させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の端末が接続されるネットワークにおいて、複製元の端末に蓄積されたデータの集合を複製先となる他の端末に複製し、両者の同期をとる用途に用いて好適な、データ複製装置、および同装置における複製対象選択方法、ならびにコンピュータプログラムに関する。
【背景技術】
【０００２】
従来から、複数のＰＣ（Personal Computer）の間でファイルを複製して共有するためにファイル同期ソフトが利用されてきた。例えば、ＷｉｎｄｏｗｓＸＰ（登録商標）は、標準でファイル同期ソフトウェアの機能を持ち、ネットワーク共有された複製元ＰＣのフォルダに対して「オフラインで利用する」と指定すれば、指定されたフォルダ以下の全てのファイルを複製先ＰＣに複製して保持することができる（例えば、非特許文献１参照）。
【０００３】
これらのファイル同期ソフトは、「指定されたフォルダ以下に含まれる」という条件下で複製対象ファイルを決定し、他の端末に複製するという機能を持つ。ファイル同期ソフトは、また、指定された任意のタイミングあるいは定期的に、複製元と複製先のファイルが同じ内容を持つように同期処理を行う。同期処理の実行時には、複製対象のファイル全てについて、複製元と複製先のファイルのタイムスタンプを比較して、新しいファイルを複製先に複製する。
【０００４】
ファイル同期ソフトの中には、「ｒｓｙｎｃ」のように、複製元と複製先におけるデータの新旧比較の際、ファイル単位ではなく、より細かなデータブロック単位で比較し、複製先が既に持っているデータブロックを送らないように制御することで、同期のために必要なネットワークトラフィックをできるだけ削減することが可能なものが存在する（例えば、非特許文献２参照）。
【非特許文献１】「ネットワーク未接続時のオンラインファイルの使用」，２００５年２月２０日閲覧，＜インターネットＵＲＬ＞，”http://www.microsoft.com/japan/ windowsxp/pro/using/howto/gomobile/offlinefiles.asp”
【非特許文献２】「Ｔｈｅ ｒｓｙｎｃ ａｌｇｏｒｉｔｈｍ」２００５年２月２０日閲覧，＜インターネットＵＲＬ＞，”http://rsync.samba.org/tech_report/”
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ところで、写真や電子メールなどの個人の体験に関わるデジタル情報を個人所有のＰＣに永続的に蓄積していくことが徐々に一般的になりつつある。現在、ユーザは、写真、電子メールやオフィス文書など、個人の活動履歴に関わる電子データを個人所有のＰＣに蓄積しているが、ＰＣの利用歴が長くなるにつれて蓄積されるデータの量は徐々に大きくなってくる。１０年以上に渡ってＰＣを使い続ければ、個人が蓄積しているファイルの量は１０ＧＢ以上の程度の大きさになると予想される。
【０００６】
さらに近い将来、デジタルカメラを初めとするウェアラブルなセンサーデバイスの発展によって、ユーザはセンサーから取得される種類のデータを収集し、行動や体験に関わるコンテンツとして蓄積していくことが予想される。その際には、個人が蓄積するコンテンツの量は膨大な数や容量になることが確実である。
ここではそのように蓄積されるコンテンツを複数の端末に複製して利用することを考える。ユーザの全ての履歴データは、ホームサーバのような単一のストレージに蓄積されていることを前提とし、その上の蓄積データをモバイル端末に複製して利用することとする。将来においても蓄積データの全てをモバイル端末に複製することは難しいと予想されるため、蓄積データの中から適当な部分集合を選択してモバイル端末に複製することになる。この部分集合選択の機能をここでは仮に複製対象選択システムと呼ぶ。
【０００７】
多種多様なメディアからなる蓄積コンテンツの選択複製を行う将来の複製対象選択システムでは、各コンテンツ間の関連性を考慮することが非常に重要となる。ある一つのコンテンツを選択してモバイル端末に複製する場合は、そのコンテンツと関連性の高いコンテンツも当然選択され、複製されていることが望まれる。
一例とし、ユーザがある「出来事」を経験したときに記録したコンテンツについて考える。この「出来事」は、写真データや、ボイスメモ、日記テキスト、ＧＰＳ（Global Positioning System）による移動履歴情報など数種類の情報のパッケージとして構成される。この時、ある出来事の写真データがモバイル端末に複製される場合は、その写真データを含む出来事を構成する他の種類の情報も一緒に複製される必要がある。
【０００８】
しかし、従来のファイル同期ソフトでは以下に（１）（２）として列挙する問題があったため、上記の要求を満たす複製対象選択システムとして利用することができない。
（１） 効率的で柔軟な複製対象選択が不可能である。
ファイル同期ソフトは複製対象の選択にフォルダ構造を利用するが、蓄積コンテンツは「出来事」のような関連性に従ったフォルダ構成で保存されているとは限らない。例えば、図３４に示されるように、蓄積コンテンツがメディア種類別のフォルダ構成によって保存されている場合、ある一つの「出来事」に関連するデータを複製対象として指定したい場合においても、ルートに近いフォルダ（「活動記録」フォルダ）を指定しなければ「出来事」に関連する全てのデータを複製対象として指定することができない。この指定方法では結果として全てのデータを複製対象とせざるを得ず、効率的な複製対象選択が不可能である。
仮に「出来事」の単位のフォルダ構成によってコンテンツが保存されていたとしても、「出来事」とは別の、例えば、特定メディア種類のファイルだけを複製など、関連づけ単位を考慮して複製したいという要求があった場合に対応することができない。
【０００９】
（２） 同期の際の差分抽出コストが増大してしまう。
ファイル同期ソフトは、同期が行われる際に複製対象となるファイル全てについてタイムスタンプを調べる走査検査を行い、複製元と複製先の差分を抽出する必要がある。この走査検査には、複製対象のファイルの数が膨大な量になるとそれに比例した膨大な時間がかかってしまう。上記したファイル同期ソフト「ｒｓｙｎｃ」は、ネットワークトラフィックを削減することはできる一方で、ファイル単位よりもさらに細かい単位で新旧のチェックを行うため、差分抽出のコストはさらに増大してしまう。
【００１０】
上記したように、従来のファイル同期ソフトには、（１）柔軟で効率的な複製対象選択が不可能である、（２）複製対象数が膨大になると差分抽出コストが増大してしまう、という問題が存在する。
【００１１】
本発明は上記事情に基づいてなされたものであり、複数のデータがなんらかの関連性を持っている際に、データ間の関連性のリンク構造を解析して関連性のあるデータを纏まりとして複製することによって、ユーザが複製対象を指定する際の運用コストを低減する、データ複製装置、および同装置における複製対象選択方法、ならびにコンピュータプログラムを提供することを目的とする。
また、蓄積されたデータのメタデータの表から重要性の高いデータを複製対象の一次候補として抽出し、複製の一次候補の中から実際に複製するデータを選択するという二段階の複製対象選択動作によって、大量のデータからの複製対象選択にかかる計算コストを低減する、データ複製装置、および同装置における複製対象選択方法、ならびにコンピュータプログラムを提供することも目的とする。
【課題を解決するための手段】
【００１２】
上記した課題を解決するために本発明は、ネットワーク上の複製元の端末で動作し、リンク構造によって関連づけられたコンテンツ群を蓄積管理する第１のストレージ装置と、前記コンテンツ群のメタデータを蓄積管理する第２のストレージ装置とを備え、前記コンテンツ群の中から少なくとも一部のデータを選択して前記ネットワーク上の複製先となる別の端末に複製を行うデータ複製装置であって、前記第２のストレージ装置で管理される前記コンテンツ群のメタデータの変化を検出し、予め与えられた抽出条件に従って複製対象を選択し、複製一次候補として生成するインデックス監視部と、前記複製一次候補として選択されたコンテンツ、および前記コンテンツからのリンク構造によって関連づけられている関連コンテンツを選択し、当該選択された各コンテンツの一覧を、複製するか削除すべきデータとして複製・削除列キューに順次格納する複製対象選択部と、前記複製先端末が前記ネットワークに接続されたことを検出し、前記複製・削除列キューに格納されているデータを、前記複製先端末に対して複製し、もしくは削除するためにデータ転送を行うデータ転送部と、を具備することを特徴とする。
【００１３】
また、本発明において、前記複製対象選択部は、前記複製一次候補、および前記複製一次候補がリンクを設定しているコレクション、あるいは前記コンテンツを展開して得られるコレクションツリーを解析して関連付けられたデータを抽出して、前記複製先の端末に複製もしくは削除の可否についての指示がそれぞれの列に付加された前記複製・削除列キューに追加し、前記第２のストレージ装置に格納されたメタデータの変更を検出し、前記メタデータに変更があった場合、もしくは前記コレクションツリーの構造が変化した場合、前記選択されたデータを前記複製先の端末に複製しあるいは削除するために、前記複製・削除列キューを更新することを特徴とする。
【００１４】
また、本発明において、前記複製対象選択部は、前記コレクションツリーから前記複製・削除列キューを生成する際に、複製対象として選択するコンテンツと、前記コンテンツにリンクを設定しているリンク元コンテンツの集合との関係が保持される複製済コンテンツ表が割当てられる第１の記憶部と、前記コレクションツリーを用いて複製済として選択されたコンテンツを含む範囲が示される複製分岐線表が割当てられる第２の記憶部と、前記複製先となる端末の空き記憶容量の値が割当てられる第３の記憶部と、前記複製一次候補と、複製先の端末の記憶容量が通知された場合、前記複製一次候補、およびそのリンク先のコンテンツの中からリンクの重みが大きいものから順に前記複製先の端末の容量に収まるだけのコンテンツを前記複製・削除列キューに追加し、前記追加したコンテンツとリンク元コンテンツの集合を前記複製済コンテンツ表へ追加し、前記複製分岐線表に、前記複製一次候補のうち複製済として選択された中で複製重要度がもっとも低いコンテンツを追加し、前記複製分岐線表に、前記コンテンツからリンクが設定されたコンテンツのうちリンクの重みが最も少ないコンテンツを追加し、前記複製先の端末が持つ記憶容量から複製済みとして選択したコンテンツの容量を差し引いた値を前記複製先の端末の空き記憶容量の概算値とする初期複製決定部とを具備することを特徴とする。
【００１５】
また、本発明において、前記複製対象選択部は、前記複製一次候補、前記複製一次候補からリンクされるコンテンツの追加、削除、ならびに前記複製先の端末における記憶容量の更新が通知されたとき、前記複製先の端末の空き記憶容量の概算値に、前記通知された前記複製先の端末における記憶容量の更新を反映し、追加する必要があるコンテンツを前記複製・削除列キューに「複製」として追加し、不要なコンテンツを複製・削除列キューに「削除」として追加し、前記「複製」として追加したコンテンツとリンク元コンテンツの集合を前記複製済コンテンツ表へ追加すると共に、前記「削除」として追加したコンテンツとリンク元コンテンツの集合を前記複製済コンテンツ表から削除し、前記「複製」として追加したコンテンツが前記複製分岐線表に含まれるコンテンツと同じ親を持つコンテンツであって、前記複製分岐線表に含まれるコンテンツよりも前記複製重要度が低い、もしくはリンクの重みが軽い場合は、前記複製分岐線表のコンテンツを入れ替え、前記「削除」として追加したコンテンツが前記複製分岐線表に含まれる場合、前記コンテンツを前記複製分岐線表から削除し、前記削除したコンテンツの親から辿れる子のうち前記複製済コンテンツ表に含まれ、かつリンクの重みが最も軽いコンテンツを前記複製分岐線表に追加し、逐次複製決定部とを具備することを特徴とする。
【００１６】
また、本発明において、前記複製対象選択部は、前記コンテンツが未選択であるか否かを示す情報を更に含む前記複製済コンテンツ表と、未選択表とを保持し、前記初期複製決定部もしくは前記逐次複製決定部において、前記複製先の端末の容量に収まらないコンテンツの一部を前記複製済コンテンツ表に含めて未選択として設定し、前記複製・削除列キューに「複製」として追加する代わりに前記未選択表に追加し、前記未選択として設定したコンテンツは複製分岐線表の要素を設定する際に複製済と判断することを特徴とする。
【００１７】
また、本発明において、前記複製対象選択部は、前記コンテンツ、および前記コンテンツにリンクが設定されているリンク元コンテンツが枝刈り対象であるか否かを示す情報を更に含む前記複製済コンテンツ表を保持し、前記初期複製決定部は、ある条件にあてはまるコンテンツについては、前記コンテンツの識別情報を前記複製・削除列キューに「複製」として追加する代わりに、前記複製済コンテンツ表において枝刈りと設定し、前記枝刈りと設定されたコンテンツは前記複製分岐線表の要素を設定する際には複製済と判断し、前記逐次複製決定部は、ある条件にあてはまるコンテンツについては、前記複製済コンテンツ表において枝刈りと設定し、前記枝刈りと設定したコンテンツを、前記複製・削除列キューに「削除」として追加し、前記枝刈りと設定したコンテンツは、前記複製分岐線表の要素を設定する際に複製済と判断することを特徴とする。
【００１８】
また、本発明は、ネットワーク上の複製元の端末で動作し、リンク構造によって関連づけられたコンテンツ群を蓄積管理する第１のストレージ装置と、前記コンテンツ群のメタデータを蓄積管理する第２のストレージ装置とを備え、制御装置が、前記コンテンツ群の中から少なくとも一部のデータを選択して前記ネットワーク上の複製先となる別の端末に複製を行うデータ複製装置における複製対象選択方法であって、前記制御装置は、前記第２のストレージ装置で管理される前記コンテンツ群のメタデータの変化を検出し、予め与えられた抽出条件に従って複製対象を選択し、複製一次候補として作成、更新するステップと、前記複製一次候補として選択されたコンテンツ、および前記コンテンツからのリンク構造によって関連づけられている関連コンテンツを選択し、当該選択された各コンテンツの一覧を、複製するか削除すべきデータとして複製・削除列キューに順次格納するステップと、前記複製先端末が前記ネットワークに接続されたことを検出し、前記複製・削除列キューに格納されているデータを、前記複製先端末に対して複製し、もしくは削除するためにデータ転送を行うステップと、を実行することを特徴とする。
【００１９】
また、本発明は、ネットワーク上の複製元の端末で動作し、リンク構造によって関連づけられたコンテンツ群を蓄積管理する第１のストレージ装置と、前記コンテンツ群のメタデータを蓄積管理する第２のストレージ装置とを備え、前記コンテンツ群の中から少なくとも一部のデータを選択して前記ネットワーク上の複製先となる別の端末に複製を行うデータ複製装置に用いられるプログラムであって、前記第２のストレージ装置で管理される前記コンテンツ群のメタデータの変化を検出し、予め与えられた抽出条件に従って複製対象を選択し、複製一次候補として作成、更新する処理と、前記複製一次候補として選択されたコンテンツ、および前記コンテンツからのリンク構造によって関連づけられている関連コンテンツを選択し、当該選択された各コンテンツの一覧を、複製するか削除すべきデータとして複製・削除列キューに順次格納する処理と、前記複製先端末が前記ネットワークに接続されたことを検出し、前記複製・削除列キューに格納されているデータを、前記複製先端末に対して複製し、もしくは削除するためにデータ転送を行う処理と、をコンピュータに実行させることを特徴とする。
【発明の効果】
【００２０】
本発明によれば、コンテンツデータの関連性を記述したリンク構造（コレクションツリー）を解釈して複製対象データを選択する際に考慮することで、関連性のあるデータを纏めて複製することが可能になる。
上記したコレクションツリーは柔軟性の高いリンク構造であるため、第１のストレージ装置内のデータを利用する任意のアプリケーションは、データの関連性をコレクションツリーとして自由に、また従来のファイルシステムのフォルダ構造とは独立に表現可能である。本発明によれば、コレクションツリーを解析して関連性のある付随データを一緒に複製するため、フォルダ構造に縛られて柔軟性が低いという従来の問題を解決することができる。また、コレクションツリーの各リンクには、関連性の大きさを示す値として重みを付与することができる。これにより、複製一次候補中のあるデータについて、そのデータからの関連性がより高い付随データを優先して複製するという、従来不可能であったことも可能になる。
【００２１】
更に、本発明のデータ複製装置によれば、メタデータのインデックスから複製一次候補を抽出し、さらに複製一次候補から実際に複製するデータを選択することで、同期の際の差分抽出コストを低減することができる。
本発明のデータ複製装置によれば、インデックス監視部がメタデータインデックスの変更を検出したことを契機に複製一次候補を変更する。そして、複製対象選択部は、複製一次候補あるいは蓄積データそのものの変更を検出して、複製・削除列キューを更新する。このため、膨大なデータ量を対象とした走査検査を行う必要がなくなり、それに伴うコストが発生しない。従って、低コストでの複製対象の選択および複製が可能である。
【発明を実施するための最良の形態】
【００２２】
図１は、本発明実施形態にかかわるデータ複製装置の内部構成を示すブロック図である。本発明実施形態にかかわるデータ複製装置は、複製元の端末Ａによって実現され、端末装置Ａは、図示せぬネットワーク経由で複製先の端末Ｂに接続される。
端末Ａは、ストレージマネージャ９７、ＤＢ（Data Base）マネージャ６０、および複製マネージャ７０によって構成される。ストレージマネージャ９７は、ハードウェア的にはコンテンツ群が蓄積されるハードディスク装置（別紙特許請求の範囲に記載の第１のストレージ装置）に実装され、また、ＤＢマネージャ６０は、蓄積コンテンツのそれぞれに対応して構築されるメタデータが保持されるハードディスク装置（別紙特許請求の範囲に記載の第２のストレージ装置）に実装される。また、複製マネージャ７０は、端末Ａに実装される主記憶装置に実装され、上記したストレージマネージャ９７、ＤＢマネージャ６０と共に端末Ａの制御中枢となるＣＰＵ（別紙特許請求の範囲に記載の制御装置）によって管理される。
【００２３】
複製マネージャ７０は、機能的には、インデックス監視部９８と、複製対象選択部１００と、データ転送部９０と、記憶容量管理部９９で構成される。
インデックス監視部９８は、ＤＢマネージャ６０で管理されるコンテンツ群のメタデータの変化を検出し、予め与えられた抽出条件に従って複製対象を選択し、複製一次候補としてインデックスを生成する機能を持つ。また、複製対象選択部１００は、複製一次候補として選択されたコンテンツ、およびコンテンツからのリンク構造によって関連づけられている関連コンテンツを選択し、当該選択された各コンテンツの一覧を、複製するか削除すべきデータとして複製・削除列キュー８０に順次格納する機能を持つ。
一方、データ転送部９０は、複製先となる端末Ｂがネットワークに接続されたことを検出し、複製・削除列キュー８０に格納されているデータを、複製先の端末Ｂに対して複製し、もしくは削除するためにデータ転送を行う機能を持つ。また、記憶容量管理部９９は、データ転送に伴い更新される複製先の端末Ｂの記憶容量を管理する機能を持つ。
【００２４】
図１に示すデータ複製装置において、複数のコンテンツデータがなんらかの関連性を待っている場合、それらのデータをリンク構造によって関連性を表現した形でストレージマネージャ９７に保存する。このリンク構造のことを、ここではコレクションツリーと呼ぶ。コレクションツリーは、従来のファイルシステムでのフォルダ構造とは独立する形で、任意の枠組みで作ることが可能である。また、あるデータが複数のデータからリンクされることもあり得る。
また、蓄積された各コンテンツのメタデータはＤＢマネージャ６０に保管される。ここでいうメタデータとは、データの作成日時やサイズなどの基本的な情報から、データの重要度や被参照頻度など、アプリケーションによって自由に付加される情報も含む。なお、メタデータは、ＤＢマネージャ６０にインデックス（表）形式で格納される。
【００２５】
インデックス監視部９８は、ＤＢマネージャ６０に格納されたインデックスの変更を検出し、インデックスから「複製一次候補」と呼ぶデータ一覧への変換を行う。この時の変換ルールは、外部のアプリケーション５０によって指定される。複製一次候補には、変換ルールに記述された指示に従って、複製すべきコンテンツデータの一覧が格納される。
例えば、変換ルールとして「最近参照されたデータ１００個」という指定があった場合、インデックス監視部９８は、１００個の直近の被参照データをメタデータのインデックスから抽出し、複製一次候補のリストに反映させる。
【００２６】
複製対象選択部１００は、「複製一次候補」を読み込み、読み込んだ「複製一次候補」に含まれる各データについてその関連するデータを抽出する。この抽出はコレクションツリーの解析によって行われる。「複製一次候補」に含まれるデータ、およびそれに関連づけられたデータは、複製・削除列キュー８０にデータの一覧として追加される。
複製・削除列キュー８０はデータの一覧であり、ある特定の複製先端末に複製する、あるいは複製先となる端末Ｂから削除すべきデータを順番に並べたキュー（列）である。列中の各データは、複製先の端末Ｂに複製すべきか、削除すべきかの指示が付加されている。
複製対象選択部１００はまた、ストレージマネージャ９７に格納された各データの変更を検出し、データの内容の変化があった場合やコレクションツリーの構造が変わった場合に、対象データを改めて複製先の端末Ｂに複製あるいは削除するために、複製・削除列キュー８０を更新する。
【００２７】
データ転送部９０は、複製先の端末Ｂとのネットワーク接続を検出したとき、複製・削除列キュー８０に格納さている順にデータを複製先の端末Ｂに対して複製する、あるいは複製先の端末Ｂから削除する。
【００２８】
本発明は、特徴的には、コレクションツリーと呼ぶコンテンツデータの関連性を記述したリンク構造を解釈し、それを複製対象選択の際に反映させることにある。
図２に、コレクションツリーの一例を示す。こでは、コレクションツリーは、一意なデータ識別子によってそれぞれ区別されるコレクションあるいはドキュメントによって構成される。コレクションは、従来のファイルシステムのディレクトリあるいはフォルダに相当し、内包するドキュメントあるいは別のコレクションへのリンクを持つ。
【００２９】
例えば、図２のコレクション“１１”からドキュメント“０１”への矢印がリンクである。リンクには重みの数字が付加されていても良く、あるいは付加されていなくても良い。リンクが重みを持つ場合、重みは例えば“０”から“１”の範囲で設定され、“１”に近い方がより関連性が高いと判断される。また、一つのコレクションあるいはドキュメントは、複数のコレクションからリンクされることが可能である。例えば、図２のドキュメント“０４”はコレクション“１２”とコレクション“２１”の両方からリンクされている。
【００３０】
コレクションは、内包するドキュメントあるいは別のコレクションへのポインタとしてそれぞれの識別子の情報を単純なテーブルとして保持する。このためコレクションは、テーブル構造を持つ特殊なデータとして実現出来る。
一方、ドキュメントはコレクション以外のデータであり、実際の写真データや動画データなどのコンテンツデータを保持する。これらのデータ（コレクションあるいはドキュメント）は、ハードディスク上における一般のファイルシステムの上にファイルとして保存される。例えば、あるコレクションは、そのデータの識別子を名前として持つファイルとしてファイルシステム上の特定ディレクトリに保存される。このように本発明実施形態においてコレクションツリーはファイルシステム上に保存されるが、他にもＲＤＢＭＳ（Relational Data Base Management System）に保存することも考えられる。
【００３１】
ストレージマネージャ９７は、上記のようなコレクションツリーの形で関連づけられたコンテンツデータを蓄積する。例えば、図３に示されるように、「出来事」という単位で関連づけられたデータの例である。
ストレージマネージャ９７には、出来事のような単位で整理された多数のデータが格納される。図４は、複数の出来事データを格納しているストレージマネージャ９７の一例である。
【００３２】
ＤＢマネージャ６０は、ストレージマネージャ９７に格納された様々なデータに関するメタデータを保存する。
一例として、図５に示されるストレージマネージャ９７のように複数の出来事データがストレージマネージャ９７に格納されている時、ＤＢマネージャ６０のような出来事インデックスを保存する。これらのメタデータは、アプリケーション５０がストレージマネージャ９７へデータ保存する際にアプリケーション５０によって並行して保存される。ＤＢマネージャ６０は、ストレージマネージャ９７に保存された様々なデータに関する多様なメタデータを保存することができる。一例として、図５では、出来事インデックスと並行して、各出来事に含まれる写真データのメタデータのみをインデックス化した写真インデックスも保持している。ＤＢマネージャ６０が格納するデータは一般の表形式のデータであるため、ＲＤＢＭＳなどの既存のソフトウェアを用いて実現できる。
【００３３】
図６は、本発明実施形態にかかわるデータ複製装置の動作を説明するために引用した動作シーケンス図である。
以下、図６に示す動作シーケンス図を参照しながら、図１〜図５に示す本発明実施形態の動作について詳細に説明する。
【００３４】
まず、アプリケーション５０が複製マネージャ７０に対し所定の抽出条件を与える（Ｓ００）。抽出条件には、後述の変換ルールと、複製先の端末Ｂのネットワークアドレスが含まれる。
抽出条件を受け取った複製マネージャ７０は、記憶容量管理部９９を用いて複製先の端末Ｂと通信し、端末Ｂがコンテンツの複製を格納できる空き容量を問い合わせる（Ｓ０１）。その後、複製マネージャ７０のインデックス監視部９８は、Ｓ００で指定された抽出条件に含まれる変換ルールで指定される特定のインデックスをＤＢマネージャ６０から参照し（Ｓ０２、Ｓ０３）、「複製一次候補」と呼ぶデータ一覧への変換を行う（Ｓ０４）。
【００３５】
図７はそのときのインデックス監視部９８の動作概念を示す図である。この例では、「出来事インデックスにおける重要度上位４位中におけるそれぞれの出来事に対して、重要度“１００”の優先度で複製一次候補へ追加」という変換ルールがアプリケーション５０から抽出条件として指定されているのとする。
この変換ルールは、例えば、ＳＱＬ（Structured Query Language）を用いて、「ＳＥＬＥＣＴ／対象／重要度／１００／ＦＲＯＭ／出来事インデックス／ＯＲＤＥＲＢＹ／重要度／ＬＩＭＩＴ４」のように表現出来る。
【００３６】
図７に示す例では、インデックス監視部９８は、ＤＢマネージャ６０に格納されている出来事インデックスに対してＳＱＬを入力し、複製一次候補を作成する。複製一次候補には、ストレージマネージャ９７に保存されたコンテンツの一部が一覧として格納される。
典型的には、コレクションツリーの形で特定の単位（例えば出来事）に関連付けられたコンテンツのトップのコレクション（図５の“コレクション１０”、“コレクション２０”など）を格納する。図７に示す例では４つの出来事についてのトップのコレクションが複製一次候補に含まれる。また、複製一次候補には複製優先度として各データの重みが付加される。
【００３７】
変換ルールに指定されるＤＢマネージャ６０は、特定のインデックスの変更を検出した場合に変更検出をインデックス監視部９８に送信する（Ｓ０９）。変更検出を受信したインデックス監視部９８は、複製一次候補を更新する（Ｓ１２）。変更の検出は、ＲＤＢＭＳにおけるトリガプロシージャの機能などを用いて実現できる。インデックス監視部９８は、変更されたインデックスに変換ルールを再適用（例えば、ＳＱＬを再入力）して複製一次候補を更新する。
このように、本発明のデータ複製装置（複製マネージャ７０）は、ＤＢマネージャ６０に格納されたメタデータのインデックスを元に複製対象を一次選択する。このためハードディスク装置に実際に保存されているフォルダ構造とは独立に複製候補を選択可能である。
【００３８】
上記した本発明実施形態によれば、出来事インデックスを元に複製対象を選択する例を示したが、他にも、例えば図５の写真インデックスを元に複製対象を選択することも、変換ルールの記述を変更することによって容易に可能である。このように、本発明のデータ複製装置では、ストレージのフォルダ構造に束縛されない柔軟な複製対象指定が可能である。
【００３９】
次に、複製対象選択部１００の基本動作を説明する。ここではまず概略を説明し、詳細については後述する。
複製対象選択部１００は、複製一次候補の作成を検出した通知を受信した場合（Ｓ０５）、複製一次候補を読み込み、含まれる各コンテンツデータ（以降、トップレベル要素とする）についてその関連するコンテンツを抽出し、抽出結果を複製・削除列を作成し、複製・削除列キュー８０に記録する（Ｓ０６）。
トップレベル要素に関連するコンテンツの抽出は後述するようにコレクションツリーの展開によって行われる。コレクションツリー展開の一実施形態を以下に示す。
【００４０】
複製対象選択部１００は、各トップレベル要素からのコレクションツリーを読み込み、木構造を展開しながら各ノードのデータ（コレクションあるいはドキュメント）を複製・削除列キュー８０に順に「複製」として追加する。この時コレクションからのリンクの重みは考慮されない。
例えば、図８のように、コレクション“１０”から“４０”までの要素を格納する複製一次候補を読み込んだ複製対象選択部１００は、コレクション“１０”をトップとするコレクションツリーを展開して得られたドキュメントあるいはコレクション“１０”から“１４”までを複製・削除列キュー８０に追加し、次に、コレクション“２０“をトップとするコレクションツリーを展開して同様に複製・削除列キュー８０に追加していく。
【００４１】
複製・削除列キュー８０に記録される複製・削除列はデータ（ドキュメントあるいは−コレクション）の一覧であり、複製先の端末Ｂに複製する、あるいは複製先の端末Ｂから削除すべきデータを順番に並べたキュー（列）である。列中の各データには、複製先の端末Ｂに複製すべきか、削除すべきかの指示が情報として付加されている。
また複製対象選択部１００は、複製一次候補が更新されたことを検出した通知を受信した場合（Ｓ１１）や、ストレージマネージャ９７に格納されたコンテンツの変更を検出した通知を受信した場合（Ｓ１７）に、対象データを改めて複製先の端末Ｂに複製あるいは削除するため、複製・削除列キュー８０を更新（Ｓ１５あるいはＳ１９)する。
【００４２】
例えば、図８において、データ“１１”が削除された場合、あるいはコレクション“１０”からデータ“１１”へのリンクが削除された場合は、複製・削除列キュー８０の最後にデータ“１１”を「削除」として追加する。また、コレクション“１０”の配下に新しいデータが追加されたことを検出した場合、新しいデータを複製・削除列キュー８０に「複製」として追加する。
なお、複製対象選択部１００は、コレクションツリー内のリンクの重みを考慮した複製対象選択を行うことも可能である。詳細は後述する。
【００４３】
以上説明した本発明実施形態は、コンテンツデータの関連性を記述したリンク構造（コレクションツリー）を解釈して複製対象データを選択する際に反映させるもので、このことにより、関連性のあるデータを纏めて複製することが可能になる。
上記したコレクションツリーは柔軟性の高いリンク構造であるため、ストレージマネージャ９７のデータを利用する任意のアプリケーションは、データの関連性をコレクションツリーとして自由に、また従来のファイルシステムのフォルダ構造とは独立に表現可能である。本発明実施形態によれば、コレクションツリーを解析して関連性のある付随データを一緒に複製するため、フォルダ構造に縛られて柔軟性が低いという従来の問題を解決することができる。
【００４４】
また、本発明実施形態によれば、インデックス監視部９８がメタデータのインデックスから複製一次候補を抽出し、さらに複製一次候補から実際に複製するデータを選択するというように、複製対象選択を二段階で実行する。このことにより、同期の際の差分抽出コストを低減することができる。すなわち、インデックス監視部９８がメタデータインデックスの変更を検出したことを契機に複製一次候補を変更し、複製対象選択部１００は、複製一次候補あるいは蓄積データそのものの変更を検出して、複製・削除列キュー８０を更新する。このため、従来、問題であった膨大な量を対象とした走査検査を行わず、それに伴うコストが発生しない。このため低コストでの複製対象の選択および複製が可能である。
【００４５】
次に、複製対象選択部１００が、コレクションツリー内のリンクの重みを考慮して複製対象選択を行う場合の動作について詳細に説明する。
【００４６】
図９は、複製対象選択部１００に与えられる複製一次候補の例であり，複製一次候補（ここでは符号９００）には、コレクションであるコンテンツ９１０と９３０と９５０が合まれており、複製優先度はそれぞれ０．９、０．８、０．７である。これらのコンテンツを展開すると図１０に示すようになり、コンテンツ９１０は、コレクションであるコンテンツ９１２を重み０．９で、コンテンツ９２２を重み０．５でそれぞれリンクしており、コンテンツ９３０は、コレクションであるコンテンツ９３２を重み０．９で、コンテンツ９４２を重み０．５でそれぞれリンクしており、コンテンツ９５０はコレクションであるコンテンツ９５２を重み０．９で、コンテンツ９６２を重み０．８でそれぞれリンクしている。
【００４７】
また，コンテンツ９１２は、ドキュメントであるコンテンツ９１４を重み０．９で、 コンテンツ９１６を重み０．５でそれぞれリンクしており、コンテンツ９２２はドキュメントであるコンテンツ９２４を重み０．９でリンクしており、コンテンツ９３２はドキュメントであるコンテンツ９３４を重み０．９で、コンテンツ９１６を重み０．５でそれぞれリンクしており、コンテンツ９４２はドキュメントであるコンテンツ９４４を重み０．９でリンクしており、コンテンツ９５２はドキュメントであるコンテンツ９５４を重み０．９で、コンテンツ９５６を重み０．８で、コンテンツ９１６を重み０．５でそれぞれリンクしており、コンテンツ９６２はドキュメントであるコンテンツ９６４を重み０．５でリンクしている。
なお全てのコレクションのサイズは１ＭＢであり、コンテンツ９５４のサイズは２ＭＢ、コンテンツ９１４と９３４と９５６のサイズは４ＭＢ、コンテンツ９１６と９４４と９６４のサイズは８ＭＢ、コンテンツ９２４のサイズは１６ＭＢとする。
【００４８】
図１０は本発明の他の実施形態にかかわる複製対象選択部１００の内部構成を示すブロック図である。
ここでは、複製対象選択部１００は、複製済コンテンツ表１０１０と、複製分岐線表１０２０と、複製先の端末Ｂの空き記憶容量の概算値１０３０と、制御部１０４０で構成される。複製済コンテンツ表１０１０と、複製分岐線表１０２０と、複製先の端末Ｂの空き記憶容量の概算値１０３０は内蔵する記憶装置（図示せず）に保持される。
なお、上記した記憶装置中、複製済コンテンツ表１０１０を記憶している記憶領域は、別紙特許請求の範囲に記載の第１の記憶部に対応し、複製分岐線表１０２０を記憶している記憶領域は、別紙特許請求の範囲に記載の第２の記憶部に対応し、複製先の端末Ｂの空き記憶容量の概算値１０３０を記憶している領域は、別紙特許請求の範囲に記載の第３の記憶部に対応する。
【００４９】
複製済コンテンツ表１０１０は、複製済コンテンツＩＤと、当該コンテンツにリンクを設定している親コンテンツＩＤからなるエントリから構成される表であり、複製分岐線表１０２０は、コンテンツＩＤと重みとサイズと当該コンテンツがコレクションの場合、リンクを設定しているコンテンツの全体サイズからなるエントリから構成される表である。
制御部１０４０は、後述する初期複製決定部と逐次複製決定部で構成される。初期複製決定部と逐次複製決定部が持つ機能等詳細については後述する。
【００５０】
次に、上述した図６を参照しつつ図１０の複製対象選択部１００の動作について説明する。複製対象選択部１００の制御部１０４０（初期複製決定部）は、インデックス監視部９８が複製一次候補を作成し、記憶容量管理部９９が複製先の端末Ｂの空き記憶容量を設定した後、複製一次候補から複製するコンテンツを決定し、複製・削除列キュー８０に「複製」として追加する（図６のＳ１５）とともに、複製済コンテンツ表１０１０と複製分岐線表１０２０と複製先端末の空き記憶容量の概算値１０３０を操作する。
また複製対象選択部１００の制御部１０４０（逐次複製決定部）は、インデックス監視部９８からの変更検出の通知（図６のＳ１１）やストレージマネージャ９７からの変更検出の通知（図６のＳ１７）や記憶容量管理部９９からの記憶容量変更の通知（図６のＳ１８）を受けて、追加する必要があるコンテンツを複製・削除列キュー８０に「複製」として追加し、不要なコンテンツを複製・削除列キュー８０に「削除」として追加する（図６のＳ１９）とともに、複製済コンテンツ表１０１０と複製分岐線表１０２０と複製先の端末Ｂの空き記憶容量の概算値１０３０を操作する。
【００５１】
ここで、インデックス監視部９８が複製一次候補９００を生成し、記憶容量管理部９９が複製先の端末Ｂの空き容量として３０ＭＢを設定した時の本発明実施形態における複製対象選択部１００（制御部１０４０）の初期複製決定の動作を図９の複製一次候補９００を参照しつつ説明する。
複製対象選択部１００の制御部１０４０（初期複製決定部）は、最初に複製・削除列キュー８０を初期化して空にする。また、複製先の端末Ｂの空き記憶容量の概算値１０３０を上記通知された３０ＭＢに設定する。次に、複製一次候補９００の要素を複製優先度の大きいものから順番に選択する。ここでは、最初に重み０．９を持つコンテンツ９１０が選択される。制御部１０４０（初期複製決定部）は、コンテンツ９１０のサイズ１ＭＢが複製先の端末Ｂの空き記憶容量の概算値１０３０の３０ＭＢ以下であるため、コンテンツ９１０のＩＤを複製・削除列キュー８０に「複製」として追加し、複製先の端末Ｂの空き記憶容量の概算値１０３０をコンテンツ９１０の容量分だけ減算して２９ＭＢとし、複製済コンテンツ表１０１０にコンテンツ９１０のＩＤからなるエントリを追加する。
【００５２】
続いて、複製対象選択部１００の制御部１０４０（初期複製決定部）は、コンテンツ９１０からリンクが設定されているコンテンツをリンクの重みの大きいものから順番に選択する。
最初に重みが０．９であるコンテンツ９１２が選択される。複製対象選択部１００の制御部１０４０（初期複製決定部）は、コンテンツ９１２のサイズ１ＭＢが複製先の端末Ｂの空き記憶容量の概算値１０３０の２９ＭＢ以下であるため、コンテンツ９１２のＩＤを複製・削除列キュー８０に「複製」として追加し、複製先の端末Ｂの空き記憶容量の概算値１０３０をコンテンツ９１２の容量分だけ減算して２８ＭＢとし、複製済コンテンツ表１０１０にコンテンツ９１２のＩＤとコンテンツ９１２にリンクを設定しているコンテンツ９１０のＩＤからなるエントリを追加する。
【００５３】
複製対象選択部１００の制御部１０４０（初期複製決定部）は、コンテンツ９１２からリンクが設定されているコンテンツに対しても同様の処理を行い、コンテンツ９１４とコンテンツ９１６のＩＤが複製・削除列キュー８０に「複製」として追加され、複製先の端末Ｂの空き記憶容量の概算値１０３０が１６ＭＢとなり、複製済コンテンツ表１０１０にはコンテンツ９１４のＩＤとコンテンツ９１２のＩＤからなるエントリ、およびコンテンツ９１６のＩＤとコンテンツ９１２のＩＤからなるエントリが追加される。
なお、コンテンツ９３２やコンテンツ９５２もコンテンツ９１６にリンクを設定しているが、コンテンツ９３２やコンテンツ９５２はこの時点ではまだ複製対象として選択されるか否か不明であるためコンテンツ９１６のエントリには追加されない。
【００５４】
複製対象選択部１００の制御部１０４０（初期複製決定部）は、次にコンテンツ９２２に対しても同様の処理を行い、コンテンツ９２２のＩＤが複製・削除列キュー８０に「複製」として追加され、複製先の端末Ｂの空き記憶容量の概算値１０３０が１５ＭＢとなり、複製済コンテンツ表１０１０にはコンテンツ９２２のＩＤとコンテンツ９１０のＩＤからなるエントリが追加される。
複製対象選択部１００の制御部１０４０（初期複製決定部）は、次にコンテンツ９２４についてはサイズ１６ＭＢが複製先の端末Ｂの空き記憶容量の概算値１０３０の１５ＭＢより大きいため、複製対象の選択を終了する。この時点で複製・削除列キュー８０は、図１１に示す複製・削除列キューのように、複製済コンテンツ表１０１０は、図１２に示す複製済コンテンツ表のように、それぞれなっている。
【００５５】
一方、複製対象選択部１００の制御部１０４０（初期複製決定部）は、最後に複製一次候補の中で複製候補として選択したコンテンツのうち、最も複製優先度の小さいものを選択して複製分岐線表１０２０に追加する。ここでは、複製対象選択部１００の制御部（初期複製決定部）１０４０はコンテンツ９１０しか選んでいないため、コンテンツ９１０のＩＤと重みとサイズとコンテンツ９１０からリンクを辿れるコンテンツのうち複製候補として選択したコンテンツのサイズの合計からなるエントリを複製分岐線表１０２０に追加する。
なお複製優先度を重みとして解釈する複製対象選択部１００の制御部１０４０（初期複製決定部）は、同様にコンテンツ９１０からリンクを設定しているコンテンツの中で複製候補として選択したコンテンツのうち、最も複製優先度の小さいコンテンツ９２２についても複製分岐線表１０２０にエントリを追加するコンテンツ９２２からリンクを設定しているコンテンツの中で複製候補として選択したコンテンツは存在しないため、この時点で複製分岐線表１０２０への操作は終了し、その結果、複製分岐線表１０２０は、図１３に示す複製分岐線表１０２０のようになる。
【００５６】
一方、複製対象選択部１００の制御部１０４０（初期複製決定部）は、コンテンツ９２４のサイズ１６ＭＢが複製先の端末Ｂの空き記憶容量の概算値１０３０の１５ＭＢより大きくても複製対象の選択を終了せず、複製済コンテンツ表１０１０にコンテンツ９２４のＩＤとコンテンツ９２２のＩＤと未選択フラグからなるエントリを追加して処理を継続する。
すなわち、複製一次候補の次の要素であるコンテンツ９３０以下についてもコンテンツ９１０以下と同様の処理を行っていく。その結果、コンテンツ９３０からリンクが辿れるコンテンツは全て複製候補として選択し、複製・削除列キュー８０を図１４に示す複製・削除列キューのように、複製済コンテンツ表１０１０を図１５に示す複製済コンテンツ表のように、複製分岐線表１０２０を図１６に示す複製分岐線表のように、複製先の端末Ｂの空き記憶容量の概算値１０３０を０ＭＢに、それぞれ設定する。
【００５７】
なお、複製対象選択部１００の制御部１０４０（初期複製決定部）は、コンテンツ９３２を複製候補として選択したため、複製済コンテンツ表１０１２中でコンテンツ９１６にリンクを設定している親コンテンツＩＤとしてコンテンツ９３２のＩＤを追加している。
【００５８】
また、複製対象選択部１００の制御部１０４０（初期複製決定部）は、複製済コンテンツ表１０１０の各エントリ及び親コンテンツＩＤの各要素に枝刈りフラグを含めることができる。そしてある条件にあてはまるコンテンツには該枝刈りフラグにＯＮ設定する。ここでは、条件として経路の重みがある閾値未満の場合について以下に説明する。
ここで経路の重みとは、複製一次候補中の要素からリンクを辿ってあるコンテンツまで辿りついた時に、そのリンクの列を経路とみなし、最初の要素の複製重要度と経路上のリンクの重みを全て掛け合わせた値のことを指し、仮に、あるコンテンツが複数の経路を持つ場合は、それら経路の重みの中で最大の値を指す。ここでは、経路の重みで条件を判断できるように、複製済コンテンツ表１０１０の各エントリが経路の重みを含むようにし、複製対象選択部１００の制御部１０４０（初期複製決定部）は、複製済コンテンツ表１０１０にエントリを追加する際に経路の重みを計算して記録する。
【００５９】
ここで、経路の重みが０．４００未満のコンテンツを枝刈り対象とする場合の動作について説明する。複製対象選択部１００の制御部１０４０（初期複製決定部）は、コンテンツ９４２を複製候補として選択するとろまでは上記同様の処理を実行するが、複製済コンテンツ表１０１０にエントリを追加する時に経路の重みを計算して記録しておく。
次に複製対象選択部１００の制御部１０４０（初期複製決定部）は、コンテンツ９４４の経路の重みは０．３６０であり、条件にあてはまるためコンテンツ９４４のＩＤを複製・削除列キュー８０には追加せず、複製済コンテンツ表１０１０におけるコンテンツ９４４のエントリの枝刈りフラグにＯＮ設定する。この時点で複製先の端末Ｂの空き記憶容量の概算値１０３０は８ＭＢになる。複製対象選択部１００の制御部１０４０（初期複製決定部）は、その後、コンテンツ９５０以下についても同様の処理を行い、コンテンツ９５０、９５２、９５４、９５６を複製対象として選択する。
【００６０】
なお、上記した本発明実施形態では、複製対象選択部１００の制御部１０４０（初期複製決定部）は、複製選択の処理を複製先の端末Ｂの空き記憶容量の概算値１０３０が“０”になるまで、あるいは全てのコンテンツを複製済コンテンツ表１０１０に記録するまで続けるが、複製先の端末Ｂの空き記憶容量の概算値１０３０がある閾値以下になった場合に複製選択の処理を終了しても良い。
この結果、複製・削除列キュー８０は、図１７の複製・削除列キューに示されるように、また、複製済コンテンツ表１０１０は図１８に示される複製済コンテンツ表のように、複製分岐線表１０２０は図１９に示される複製分岐線表のように、複製先の端末Ｂの空き記憶容量の概算値１０３０は０ＭＢに、それぞれなる。
【００６１】
次に、複製対象選択部１００の制御部１０４０（逐次複製決定部）が、複製一次候補からリンクされたコンテンツの追加を変更検出したストレージマネージャ９７から通知を受信した場合（図６のＳ１７）、あるいは複製一次候補の追加を変更検出したインデックス監視部９８から通知を受信した場合（図６のＳ１１）の動作について説明する。
図２０に示されるように、コンテンツ９３２からリンクの重み０．８でサイズ４ＭＢのコンテンツ９３６が追加されたとする。このことを通知された複製対象選択部１００の制御部１０４０（逐次複製決定部）は、まずコンテンツ９３６の経路を確認し、コンテンツ９３０−９３２−９３６という経路を得て、この経路が、複製分岐線表１０２０が示している経路よりも図中左側にあるか否かを判断し、もし左側なら複製候補とすべきであると判断する。ここでは、経路の先頭であるコンテンツ９３０の重み０．８が複製分岐線表１０２０の先頭であるコンテンツ９５０の重み０．７よりも大きいため、複製対象選択部１００の制御部１０４０（逐次複製決定部）はコンテンツ９３６を複製候補とすべきであると判断する。
【００６２】
次に複製対象選択部１００の制御部１０４０（逐次複製決定部）は、コンテンツ９３６のサイズ４ＭＢと複製先の端末Ｂの空き記憶容量の概算値１０３０の０ＭＢとを比較し、コンテンツ９３６の容量が複製先の端末Ｂの空き記憶容量の概算値１０３０よりも大きいため、既に複製候補として選択しているコンテンツの中から複製分岐線表１０２０が示している経路に近いコンテンツを削除して空き容量を確保する。
具体的には、複製対象選択部１００の制御部１０４０（逐次複製決定部）は、複製分岐線表１０２０を下から走査していき、コンテンツ９１６とコンテンツ９５２を発見し、コンテンツ９１６の全体容量８ＭＢとコンテンツ９３６の容量４ＭＢとを比較し、コンテンツ９１６の全体容量がコンテンツ９３６のサイズよりも大きいため、コンテンツ９１６を削除すれば良いと判断する。
【００６３】
そこで複製対象選択部１００の制御部１０４０（逐次複製決定部）は、複製済コンテンツ表１０１０におけるコンテンツ９１６のエントリ中のリンクを設定している親コンテンツからコンテンツ９５２を削除し、複製分岐線表１０２０のコンテンツ９１６のエントリをコンテンツ９５６のエントリで置き換える。
次に、複製対象選択部１００の制御部１０４０（逐次複製決定部）は、コンテンツ９１６にコンテンツ９５２以外の親コンテンツが存在するか否かを確認する。ここではコンテンツ９１６にコンテンツ９５２以外の親コンテンツが存在するため、複製対象選択部１００の制御部１０４０（逐次複製決定部）は、コンテンツ９１６を削除できないと判断し、複製・削除列キュー８０や複製先の端末Ｂの空き記憶容量の概算値１０３０には何の操作も行わない。図２１は、この時点での複製分岐線表１０２０の内容を示したものである。
【００６４】
同様に、複製対象選択部１００の制御部１０４０（逐次複製決定部）は、複製分岐線表１０２０を下から走査して、コンテンツ９５６とコンテンツ９５２を発見し、コンテンツ９５６の全体容量がコンテンツ９３６の容量よりも大きいことを確認し、コンテンツ９５６について、複製済コンテンツ表１０１０におけるコンテンツ９５６のエントリ中のリンクを設定している親コンテンツからコンテンツ９５２を削除し、複製分岐線表１０２０のコンテンツ９５６のエントリをコンテンツ９５４のエントリで置き換える。
【００６５】
次に、複製対象選択部１００の制御部１０４０（逐次複製決定部）は、コンテンツ９５６にコンテンツ９５２以外の親コンテンツは存在しないことを確認し、更に、複製済コンテンツ表１０１０のコンテンツ９５６のエントリに未選択、あるいは枝刈りフラグが設定されているか否かを確認する。ここではどちらも設定されていないため、複製対象選択部１００の制御部１０４０（逐次複製決定部）は、複製済コンテンツ表１０１０からコンテンツ９５６のエントリを削除し、複製・削除列キュー８０にコンテンツ９５６を削除として追加し、複製先の端末Ｂの空き記憶容量の概算値１０３０にコンテンツ９５６のサイズ４ＭＢを加算する。
【００６６】
この時点で、コンテンツ９３６の容量４ＭＢが確保できたため、複製対象選択部１００の制御部１０４０（逐次複製決定部）は、複製済コンテンツ表１０１０にコンテンツ９３６のエントリを、親コンテンツをコンテンツ９３２として追加し、複製・削除列キュー８０にコンテンツ９３６を複製として追加し、複製先の端末Ｂの空き記憶容量の概算値１０３０からコンテンツ９３６の容量４ＭＢを減算して０ＭＢとして処理を終了する。
この結果、複製・削除列キュー８０は、図２２に示す複製・削除列キューのように、複製済コンテンツ表１０１０は図２３に示す複製済コンテンツ表のように、複製分岐線表１０２０は図２４に示す複製分岐線表のように、複製先の端末Ｂの空き記憶容量の概算値１０３０は２ＭＢにそれぞれなる。
【００６７】
なお、複製対象選択部１００の制御部１０４０（逐次複製決定部）が、複製・削除列キュー８０にコンテンツ９５４を削除として追加する際に、複製・削除列キュー８０中にコンテンツ９５４が複製として追加されていることを検知し、両者を相殺しても良い。この場合、複製・削除列キュー８０は、図２５に示す複製・削除列キューのようになる。
【００６８】
次に、複製対象選択部１００の制御部１０４０（逐次複製決定部）が、複製一次候補からリンクされたコンテンツの削除を変更検出したストレージマネージャ９７から通知された場合（図６のＳ１７）、あるいは複製一次候補の削除を変更検出したインデックス監視部９８から通知を受信した場合（図６のＳ１１）の動作について説明する。
【００６９】
ここでは、図２６に示されるように、コンテンツ９４２が削除された場合を考える。削除の検出の通知を受信した複製対象選択部１００の制御部１０４０（逐次複製決定部）は、まずコンテンツ９４２の経路を確認し、コンテンツ９３０−９４２という経路を得て、この経路が、複製分岐線表１０２０が示している経路よりも図中左側にあるか否かを判断し、仮に、左側なら削除すべきであると判断する。ここでは、経路の先頭であるコンテンツ９３０の重み０．８が複製分岐線表１０２０の先頭であるコンテンツ９５０の重み０．７よりも大きいため、複製対象選択部１００の制御部１０４０（逐次複製決定部）は、コンテンツ９４２を削除すべきであると判断する。
【００７０】
次に、複製対象選択部１００の制御部１０４０（逐次複製決定部）は、複製済コンテンツ表１０１０のコンテンツ９４２のエントリを削除し、当該エントリに未選択フラグも枝刈りフラグも設定されていないため、複製・削除列キュー８０にコンテンツ９４２を削除として追加し、複製先の端末Ｂの空き記憶容量の概算値１０３０にコンテンツ９４２の容量１ＭＢを加算する。
そして、複製対象選択部１００の制御部１０４０（逐次複製決定部）は、複製済コンテンツ表１０１０のうち親コンテンツＩＤとしてコンテンツ９４２を持つエントリからコンテンツ９４２のＩＤを削除し、その結果、親コンテンツＩＤが空になったエントリを削除し、これを繰り返す。ここではコンテンツ９４４のみが対象となる。なお、コンテンツ９４４には枝刈りフラグが設定されているため、複製対象選択部１００の制御部１０４０（逐次複製決定部）は、コンテンツ９４４については複製済コンテンツ表１０１０からエントリを削除するのみで、複製・削除列キュー８０や複製先の端末Ｂの空き記憶容量の概算値１０３０の操作は行わない。
【００７１】
この結果、複製先の端末Ｂの空き記憶容量の概算値１０３０は、１ＭＢと増えたため、複製対象選択部１００の制御部１０４０（逐次複製決定部）は、複製対象を選択する動作を行う。
まず、複製対象選択部１００の制御部１０４０（逐次複製決定部）は、複製済コンテンツ表１０１０のうち、未選択のフラグが設定されているコンテンツを検索し、それらのうちで容量が複製先の端末Ｂの空き記憶容量の概算値１０３０以下のものを探し、未選択のフラグをＯＦＦ設定して複製・削除列キュー８０に複製として追加する。但し、ここでは、該当するコンテンツは存在しない。
【００７２】
そこで、複製対象選択部１００の制御部１０４０（逐次複製決定部）は、複製分岐線表１０２０が示すコンテンツ９５４からリンクが設定されたコンテンツを順番に走査し、複製対象として選択できるか否かを判断する。ここでは、コンテンツ９５４はドキュメントであるため、リンクが設定されたコンテンツは存在しない。
次に、複製対象選択部１００の制御部１０４０（逐次複製決定部）は、コンテンツ９５４の親コンテンツ９５２からリンクが設定されたコンテンツで、コンテンツ９５４よりもリンクの重みが小さいコンテンツを順番に走査し、複製候補を選択していく。ここでは、コンテンツ９５６が該当するが、コンテンツ９５６の容量４ＭＢは複製先の端末Ｂの空き記憶容量の概算値１０３０の１ＭＢよりも大きいため、複製対象選択部１００の制御部１０４０（逐次複製決定部）は、複製済コンテンツ表１０１０にコンテンツ９５６のエントリを追加して未選択フラグを設定し、複製分岐線表１０２０からコンテンツ９５４のエントリを削除し、コンテンツ９５６のエントリを追加する。
【００７３】
この時点で、複製分岐線表１０２０の最下層に位置するコンテンツ９５６は、その親コンテンツ９５２からリンクが設定されたコンテンツの中でリンクの重みが最も小さいため、次に、複製対象選択部１００の制御部１０４０（逐次複製決定部）は、コンテンツ９５２の親コンテンツ９５０からリンクが設定されたコンテンツについて、コンテンツ９５２よりもリンクの重みが小さいコンテンツを順番に走査していく。
ここでは、コンテンツ９６２が該当し、コンテンツ９６２の容量１ＭＢは複製先の端末Ｂの空き記憶容量の概算値１０３０の１ＭＢ以下であるため、複製対象選択部１００の制御部１０４０（逐次複製決定部）は、複製済コンテンツ表１０１０にコンテンツ９６２のエントリを追加し、複製・削除列キュー８０にコンテンツ９６２を複製として追加し、複製分岐線表１０２０のコンテンツ９５２および９５４のエントリを削除して、コンテンツ９６２のエントリを追加し、複製先の端末Ｂの空き記憶容量の概算値１０３０からコンテンツ９６２のサイズを減算する。
【００７４】
この結果、複製済コンテンツ表１０１０は、図２７に示される複製済コンテンツ表のように、複製分岐線表１０２０は、図２８に示される複製分岐線表のように、複製・削除列キュー８０は図２９に示される複製・削除列のように、それぞれなる。また、複製先の端末Ｂの空き記憶容量の概算値１０３０は０ＭＢになるため、複製対象選択部１００の制御部１０４０（逐次複製決定部）は処理を終了する。
【００７５】
次に、複製対象選択部１００の制御部１０４０（逐次複製決定部）が複製先の端末Ｂの空き容量の変更を記憶容量管理部９９から記憶容量変更による通知を受信した場合（図６のＳ１８）の動作を説明する。ここでは、複製先の端末Ｂの空き容量が４ＭＢになったとして通知された場合を考える。
複製先の端末Ｂの空き容量が４ＭＢになったと通知された複製対象選択部１００の制御部１０４０（逐次複製決定部）は、まず複製先の端末Ｂの空き記憶容量の概算値１０３０を通知された４ＭＢに設定する。次に、複製対象選択部１００の制御部１０４０（逐次複製決定部）は、この結果複製済コンテンツ表１０１０を確認して未選択フラグの設定されたコンテンツのうち、容量が複製先の端末Ｂの空き記憶容量の概算値１０３０以下のものを探索する。ここでは、コンテンツ９５６が該当するため、複製対象選択部１００の制御部１０４０（逐次複製決定部）は、コンテンツ９５６の未選択のフラグをＯＦＦ設定し、複製・削除列キュー８０にコンテンツ９５６を複製として追加する。
【００７６】
この結果、複製済コンテンツ表１０１０は、図３０に示される複製済コンテンツ表のように、複製・削除列キュー８０は、図３１に示される複製・削除列キューのように、それぞれなる。また、複製先の端末Ｂの空き記憶容量の概算値１０３０は、０ＭＢになるため、複製対象選択部１００の制御部１０４０（逐次複製決定部）は、処理を終了する。
仮に、複製済コンテンツ表１０１０のエントリで、複製先の端末Ｂの空き記憶容量の概算値１０３０以下の容量で、かつ未選択フラグが設定されたエントリが無ければ、複製対象選択部１００の制御部１０４０（逐次複製決定部）は、複製一次候補からリンクされたコンテンツが削除された場合の処理と同様に、複製分岐線表１０２０が示すコンテンツから複製対象として選択すべきコンテンツを順番に探索して処理を継続する。
【００７７】
また、仮に、複製対象選択部１００の制御部１０４０（逐次複製決定部）が、複製先の端末Ｂの空き容量として負の値を通知された場合には、複製一次候補からリンクされたコンテンツが追加された場合の処理と同様に、既に複製候補として選択しているコンテンツの中から複製分岐線表１０２０が示している経路に近いコンテンツを削除して通知された空き容量を確保する。
【００７８】
なお、複製対象選択部１００の制御部１０４０（逐次複製決定部）が、複製一次候補からリンクされたコンテンツにおけるリンクの重みの変更を変更検出したストレージマネージャ９７から通知を受信した（図６のＳ１７）場合、あるいは複製一次候補の複製優先度の変更を変更検出したインデックス監視部９８から通知を受信した場合（図６のＳ１１）には、複製対象選択部１００の制御部１０４０（逐次複製決定部）は、まずそのリンクの重みが変更されたコンテンツが削除された場合の処理を実行し、次に変更後のリンクの重みで当該コンテンツが追加された場合の処理を実行する。
【００７９】
以上説明のように、複製対象選択部１００が、複製一次候補として選択されたコンテンツ、および当該コンテンツからのリンク構造によって関連づけられている関連コンテンツを選択し、当該選択された各コンテンツの一覧を、複製するか削除すべきデータとして複製・削除列キュー８０に順次格納した後、後述するデータ転送部９０は、複製・削除列キュー８０に格納されたデータを複製先の端末Ｂに対し複製もしくは削除するためのデータ転送を行う。
具体的に、データ転送部９０は、抽出条件（図６のＳ００）で指定される複製先の端末Ｂとの間のネットワーク接続状況を監視する機能を持つ。図３２にデータ転送部９０の動作シーケンスが示されている。ここでは上記した監視は、接続状況の監視に定期的なハートビートメッセージのやりとりを用いることとする。ここで、端末Ｂとのネットワーク接続を検出したとき（Ｓ９１）、複製・削除列キュー８０に格納されている順にデータを端末Ｂに対して複製する、あるいは端末Ｂから削除するためのデータ転送を行う（Ｓ９２）。複製あるいは削除が完了した場合は、複製・削除列キュー８０から該当データの項目を取り除く。
【００８０】
複製・削除列キュー８０にて「複製」と指示されていたデータが複製先の端末Ｂに既に複製されているというケースでは、お互いの端末Ａ、Ｂが持っているデータの新旧を、タイムスタンプを比較するなどして判断し、既に複製先の端末Ｂが同じデータを持っているならば複製されたとみなして実際のデータの転送は行ず、そのデータを複製・削除列キュー８０から取り除く。同様に「削除」と指示されたデータが複製先の端末Ｂから既に削除されている場合、削除されたとみなして複製・削除列キュー８０から取り除く。
【００８１】
データの複製あるいは削除自体は、ＦＴＰ（File Transfer Protocol）などの既存のファイル転送プログラムによって実現可能である。
例えば図３３に示されるように、複製・削除列キュー８０に格納された順にＦＴＰコマンドを端末Ｂに対して発行する。図３３において、ストレージマネージャ９７が格納するデータの識別子（例えばデータ“１０”）とファイルシステム上におけるファイルの名前との対応関係は、複製先と複製元の両端末Ａ、Ｂ間で事前に了解済みの枠組みを用いるものとし、各端末Ａ、Ｂ間で相互に設定されているものとする。例えば、データ“１０”は、ファイルシステムの中で常に特定ディレクトリ以下のデータ“１０“という名前で保存されている、などの枠組みで実施出来る。
【００８２】
データ転送部９０は、複製・削除列キュー８０に格納された内容順にデータを複製あるいは削除するが、複製先の端末Ｂとの接続が維持されている時間内にこれらの複製・削除が完了するとは一般に限らない。仮に、複製・削除列キュー８０に未完了の分のデータが残っていた場合、その分の処理は次回の接続検出時に行われる。
【００８３】
ところで、将来的に、個人はユビキタスに設置されたセンサー等から得られる膨大な量の情報を、個人的に管理するストレージ領域に蓄えることになる。しかしながら、普段個人が携帯する端末に蓄積された情報の全てを複製して持ち運ぶことは依然として困難であると予想されるため、膨大な量の蓄積データの内、必要な部分集合を適宜選択して複製させることが必要となる。
しかしながら、従来は将来想定されるような膨大な量の蓄積データを対象とすることは想定されていないため、部分集合を低コストに選択する事が困難であった。このため、大量の貴報を対象としても、ユーザの運用コストや計算コストを小さく保ったまま、複製対象を選択することが課題となっていた。
本発明は、複数のデータがなんらかの関連性を持っている際に、データ間の関連性のリンク構造を解析して関連性のあるデータを纏まりとして複製することにより、ユーザが複製対処を指定する際の運用コストを低減する。また、蓄積されたデータのメタデータの表から重要性の高いデータを複製対象の一次候補として抽出し、複製の一次候補の中から実際に複製するデータを選択するという二段階の複製対象選択動作によって、大量のデータからの複製対象選択にかかる計算コストを低減するものである。
【００８４】
本発明によれば、コンテンツデータの関連性を記述したリンク構造（コレクションツリー）を解釈して複製対象データを選択する際に考慮することで、データを纏めて複製することが可能になる。また、メタデータのインデックスから複製一次候補を抽出し、さらに複製一次候補から実際に複製するデータを選択することで、同期の際の差分抽出コストを低減することができる。さらに、膨大なデータ量を対象とした走査検査を行う必要がなくなり、それに伴うコストが発生しない。従って、低コストでの複製対象の選択および複製が可能である。
【００８５】
なお、図１に示すデータ転送部９０、インデックス監視部９８、記憶容量管理部９９、複製候補選択部１００のそれぞれで実行される手順をコンピュータ読み取り可能な記録媒体に記録し、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによって本発明のデータ複製装置を実現することができる。ここでいうコンピュータシステムとは、ＯＳ（Operating System）や周辺装置等のハードウェアを含む。
【００８６】
また、「コンピュータシステム」は、ＷＷＷ（World Wide Web）システムを利用している場合であれば、ホームページ提供環境（あるいは表示環境）も含むものとする。
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク（通信網）や電話回線等の通信回線（通信線）のように情報を伝送する機能を有する媒体のことをいう。
また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組合せで実現できるもの、いわゆる差分ファイル（差分プログラム）であっても良い。
【００８７】
以上、この発明の実施形態につき、図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【図面の簡単な説明】
【００８８】
【図１】本発明実施形態にかかわるデータ複製装置の内部構成を説明するために引用したブロック図である。
【図２】本発明実施形態にかかわるコレクションツリーの構造を示す図である。
【図３】本発明実施形態にかかわるコレクションツリーの一例を示す図である。
【図４】本発明実施形態にかかわる複数コレクションツリーを保存するストレージマネージャの一例を示す図である。
【図５】本発明実施形態にかかわるＤＢマネージャに格納されるインデックスの一例を示す図である。
【図６】本発明実施形態にかかわるデータ複製装置の動作を説明するために引用した動作シーケンス図である。
【図７】本発明実施形態にかかわるインデックス監視部の動作を説明するために引用した動作概念図である。
【図８】本発明実施形態にかかわる複製対象選択部の動作を説明するために引用した動作概念図である。
【図９】本発明実施形態にかかわる複製一次候補とそのリンク先の例を示す図である。
【図１０】本発明実施形態にかかわる複製対象選択部の内部構成を示すブロック図である。
【図１１】本発明実施形態にかかわる複製・削除列キューのデータ構造の一例を示す図である。
【図１２】本発明実施形態にかかわる複製済コンテンツ表のデータ構造の一例を示す図である。
【図１３】本発明実施形態にかかわる複製分岐線表のデータ構造の一例を示す図である。
【図１４】本発明実施形態にかかわる複製・削除列キューのデータ構造の一例を示す図である。
【図１５】本発明実施形態にかかわる複製済コンテンツ表のデータ構造の一例を示す図である。
【図１６】本発明実施形態にかかわる複製分岐線表のデータ構造の一例を示す図である。
【図１７】本発明実施形態にかかわる複製・削除列キューのデータ構造の一例を示す図である。
【図１８】本発明実施形態にかかわる複製済コンテンツ表のデータ構造の一例を示す図である。
【図１９】本発明実施形態にかかわる複製分岐線表のデータ構造の一例を示す図である。
【図２０】本発明実施形態にかかわる複製一次候補のリンク先が追加された場合の一例を示す図である。
【図２１】本発明実施形態にかかわるコンテンツのエントリを削除した場合における複製分岐線表のデータ構造の一例を示す図である。
【図２２】本発明実施形態にかかわる複製一次候補のリンク先が追加された場合における複製・削除列キューのデータ構造の一例を示す図である。
【図２３】本発明実施形態にかかわる複製一次候補のリンク先が追加された場合における複製済コンテンツ表のデータ構造の一例を示す図である。
【図２４】本発明実施形態にかかわる複製一次候補のリンク先が追加された場合における複製分岐線表のデータ構造の一例を示す図である。
【図２５】本発明実施形態にかかわる相殺した場合における複製・削除列キューのデータ構造の一例を示す図である。
【図２６】本発明実施形態にかかわる複製一次候補のリンク先が削除された場合のデータ構造の一例を示す図である。
【図２７】本発明実施形態にかかわる複製一次候補のリンク先が削除された場合における複製済コンテンツ表のデータ構造の一例を示す図である。
【図２８】本発明実施形態にかかわる複製一次候補のリンク先が削除された場合における複製分岐線表のデータ構造の一例を示す図である。
【図２９】本発明実施形態にかかわる複製一次候補のリンク先が削除された場合における複製・削除列キューのデータ構造の一例を示す図である。
【図３０】本発明実施形態にかかわる複製先端末の容量が変更された場合における複製済コンテンツ表のデータ構造の一例を示す図である。
【図３１】本発明実施形態にかかわる複製先端末の容量が変更された場合における複製・削除列キューのデータ構造の一例を示す図である。
【図３２】本発明実施形態にかかわるデータ転送部の動作を説明するために引用した動作シーケンス図である。
【図３３】本発明実施形態にかかわるデータ転送部の動作を説明するために引用した動作概念図である。
【図３４】従来の蓄積コンテンツにおけるフォルダ構造の一例を示す図である。
【符号の説明】
【００８９】
６０…ＤＢマネージャ、７０…複製マネージャ、８０…複製・削除列キュー、９０…データ転送部、９７…ストレージマネージャ、９８…インデックス監視部、９９…記憶容量管理部、１００…複製対象選択部、１０１０…複製済コンテンツ表、１０２０…複製分岐線表、１０４０…制御部（初期複製決定部、逐次複製決定部）
【図１】
2006243889.tif 000003
【図２】
2006243889.tif 000004
【図３】
2006243889.tif 000005
【図４】
2006243889.tif 000006
【図５】
2006243889.tif 000007
【図６】
2006243889.tif 000008
【図７】
2006243889.tif 000009
【図８】
2006243889.tif 000010
【図９】
2006243889.tif 000011
【図１０】
2006243889.tif 000012
【図１１】
2006243889.tif 000013
【図１２】
2006243889.tif 000014
【図１３】
2006243889.tif 000015
【図１４】
2006243889.tif 000016
【図１５】
2006243889.tif 000017
【図１６】
2006243889.tif 000018
【図１７】
2006243889.tif 000019
【図１８】
2006243889.tif 000020
【図１９】
2006243889.tif 000021
【図２０】
2006243889.tif 000022
【図２１】
2006243889.tif 000023
【図２２】
2006243889.tif 000024
【図２３】
2006243889.tif 000025
【図２４】
2006243889.tif 000026
【図２５】
2006243889.tif 000027
【図２６】
2006243889.tif 000028
【図２７】
2006243889.tif 000029
【図２８】
2006243889.tif 000030
【図２９】
2006243889.tif 000031
【図３０】
2006243889.tif 000032
【図３１】
2006243889.tif 000033
【図３２】
2006243889.tif 000034
【図３３】
2006243889.tif 000035
【図３４】
2006243889.tif 000036