(57)【特許請求の範囲】
【請求項１】
ファイルの更新を管理するファイル更新管理システムであって、
第１の時間基準と、複数の第１のローカルファイルを格納すると共に該第１のローカルファイルの追加，削除，リネームのうち少なくとも一つを含む修正に対して該第１の時間基準に基づいて現在時間に更新される第１のディレクトリ修正日付（ＤＭＤ）パラメータを有する第１の記憶領域と、を有する第１のコンピュータ装置と、
前記第１のコンピュータ装置と通信する第１の通信リンクを有し、内部に第２の時間基準を備え、前記第１のコンピュータ装置から供給された前記第１のローカルファイル上の第１の統計データとして前記第１のローカルファイルの名前，サイズ，ファイルの種類のうちの少なくとも一つと前記第１のコンピュータ装置から供給され前記第１の時間基準によって決定された前記第１のローカルファイルのいずれかの最新の修正に属する第２の修正日付を格納する第１のファイル修正日付（ＦＭＤ）パラメータとを保持し、前記第１の統計データは、前記第１の統計データに含まれるローカルファイル情報の更新に対して前記第２の時間基準に基づいて現在時間に更新される第１のパッケージ修正日付（ＰＭＤ）パラメータを含むデータである第２のコンピュータ装置と、
第３の時間基準と、第２のローカルファイルグループのための第２の統計データにより構成され該第２の統計データに含まれる第２のローカルファイル情報の更新に対して前記第３の時間基準に基づいて現在時間に更新される第２のＰＭＤパラメータを有する第２のファイルパッケージと、を備える第３のコンピュータ装置と、
前記第２のコンピュータ装置と前記第３のコンピュータ装置との間で通信するための第２の通信リンクと、
を備え、
前記第１のコンピュータ装置および第２のコンピュータ装置は、前記第１のＤＭＤパラメータと前記第１のＦＭＤパラメータとを比較し、前記第１のＦＭＤパラメータよりも最新の第１のＤＭＤパラメータである応答を受け、それに応じて統計データを更新する前記第２のコンピュータへ、前記第１のコンピュータにより決定された前記第１のローカルファイルの更新情報を転送することにより、前記第１のＦＭＤパラメータを前記第１のＤＭＤパラメータとを同じ値にリセットする第１の同期ルーチン、を選択的に実行するのに有効な装置であり、
前記第１の統計データは、前記第１のローカルファイルに対応する第１のファイルパッケージを収集的に構成するデータであり、前記第２のコンピュータ装置および前記第３のコンピュータ装置は、該両装置の相手方に対して第２の同期ルーティンを選択的に独立して実行するのに有効な装置であり、該両装置のうちの前記第２の同期ルーティンを実行する装置はソースコンピュータ装置として設定されると共に該両装置のうちの他方はターゲットコンピュータ装置として指定される装置であり、前記第２の同期ルーティンは、前記ソースコンピュータ装置および前記ターゲットコンピュータ装置のそれぞれのＰＭＤパラメータを比較し、該ソースコンピュータ装置のＰＭＤパラメータが該ターゲットコンピュータ装置のＰＭＤパラメータより最新であるときには、該ソースコンピュータ装置の統計データを該ターゲットコンピュータ装置に送ることを含むルーチンであり、
前記第２の時間基準および前記第３の時間基準の一方は、マスター時間基準として設定され、前記ターゲットコンピュータ装置は、自己の統計データが前記ソースコンピュータ装置の統計データからのデータでもって更新されるのに対応して自己のＰＭＤパラメータを前記マスター時間基準に基づいて現在時間に設定する装置である、
ファイル更新管理システム。
【請求項２】
請求項１記載のファイル更新管理システムであって、
前記第１の同期ルーティンは、前記第１のＦＭＤパラメータを前記第１のＤＭＤパラメータと等しくセットする前に、前記第１の時間基準により決定された現在時間への前記第１のＤＭＤパラメータの更新を含むルーチンである
ファイル更新管理システム。
【請求項３】
請求項１記載のファイル更新管理システムであって、
前記第１のＦＭＤパラメータは、前記第１ローカルファイルになされたいずれかの修正に対応する前記第１の時間基準に基づいて自動的に現在時間に自動的に更新されるパラメータである
ファイル更新管理システム。
【請求項４】
請求項３記載のファイル更新管理システムであって、
前記第１の統計データは、前記第１のＦＭＤパラメータの前記自動更新に伴って新しいローカルファイル統計データによって更新されるデータである
ファイル更新管理システム。
【請求項５】
請求項１記載のファイル更新管理システムであって、
前記第１の同期ルーティンは、ユーザ要求に応じて実行されるルーチンである
ファイル更新管理システム。
【請求項６】
請求項１記載のファイル更新管理システムであって、
前記第１の同期ルーティンは、前記第１のＤＭＤパラメータの更新に伴って実行されるルーチンである
ファイル更新管理システム。
【請求項７】
請求項１記載のファイル更新管理システムであって、
前記第１のローカルファイルの少なくとも一部はイメージファイルであり、
前記第１のコンピュータ装置は、前記第１のＤＭＤパラメータが前記第１のＦＭＤパラメータより最新であるときには、前記第１のコンピュータ装置は前記第１ローカルファイルの中に新しいイメージファイルがあるかどうかを判定すると共に新しいイメージファイルに対応するサムネイルファイルを作成し、該作成されたサムネイルファイルを前記第１のローカルファイルに追加する装置であり、
前記第１の同期ルーティンは、前記作成されたサムネイルイメージファイルに関する情報を含む前記更新情報を前記第１の統計データの更新のために前記第２のコンピュータ装置へ転送するルーチンである
ファイル更新管理システム。
【請求項８】
請求項１記載のファイル更新管理システムであって、
前記第１のコンピュータ装置は、前記第１のＤＭＤパラメータが前記第１のＦＭＤパラメータより最新であるときには、前記第１のローカルファイルにおいて移動したファイルを判定する装置であり、
前記第１の同期ルーティンは、前記移動したファイルの一覧情報を含む前記更新情報を前記第１の統計データの更新のために前記第２のコンピュータ装置へ転送するルーチンである
ファイル更新管理システム。
【請求項９】
請求項１記載のファイル更新管理システムであって、
前記第２のコンピュータ装置は、前記第１のコンピュータ装置および第２のコンピュータ装置の外部にある第２の時間基準へのアクセスを行なうアクセス手段を備え、
前記第１の統計データは、前記第１の統計データに含まれるローカルファイル情報の更新に対して前記第２の時間基準に基づいて現在時間に更新される第１のパッケージ修正日付（ＰＭＤ）パラメータを含むデータである
ファイル更新管理システム。
【請求項１０】
請求項１記載のファイル更新管理システムであって、
前記ソースコンピュータ装置からの前記統計データは、前記ターゲットコンピュータにおける統計データを置き換えるデータである
ファイル更新管理システム。
【請求項１１】
請求項１０記載のファイル更新管理システムであって、
前記ターゲットコンピュータ装置は、自己の統計データと前記ソースコンピュータ装置から受け取った統計データとを比較して相違を認識し、該認識した相違を用いて自己の統計データを更新する装置である
ファイル更新管理システム。
【請求項１２】
請求項１１記載のファイル更新管理システムであって、
前記ターゲットコンピュータ装置は、前記認識した相違が新規のまたは更新されたファイルを示しているかを判定し、前記ソースコンピュータ装置に対して前記判定された新規のまたは更新されたファイルを要求する装置である
ファイル更新管理システム。
【請求項１３】
請求項１２記載のファイル更新管理システムであって、
前記ソースコンピュータ装置は要求されたファイルだけを前記ターゲットコンピュータ装置に送る装置である
ファイル更新管理システム。
【請求項１４】
請求項１記載のファイル更新管理システムであって、
前記ソースコンピュータ装置は、自己のファイルパッケージにより定義されたすべてのローカルファイルを前記ターゲットコンピュータ装置に転送する装置である
ファイル更新管理システム。
【請求項１５】
請求項１記載のファイル更新管理システムであって、
前記ターゲットコンピュータ装置は、自己の統計データが前記ソースコンピュータ装置の統計データからのデータをもって更新されるのに対応して自己のＰＭＤパラメータを前記ソースコンピュータ装置のＰＭＤパラメータに等しくなるよう設定する装置である
ファイル更新管理システム。
【請求項１６】
請求項１記載のファイル更新管理システムであって、
前記ソースコンピュータ装置および前記ターゲットコンピュータ装置の外部にマスター時間基準を備え、
前記ターゲットコンピュータ装置は、自己の統計データが前記ソースコンピュータ装置の統計データからのデータでもって更新されるのに対応して自己のＰＭＤパラメータを前記マスター時間基準に基づいて現在時間に設定する装置である
ファイル更新管理システム。
【請求項１７】
請求項１６記載のファイル更新管理システムであって、
前記第２のコンピュータ装置および前記第３のコンピュータ装置はインターネットを介して前記マスター時間基準にアクセスする装置である
ファイル更新管理システム。
【請求項１８】
請求項１記載のファイル更新管理システムであって、
前記ターゲットコンピュータ装置は、自己のＰＭＤパラメータと前記ソースコンピュータ装置のＰＭＤパラメータとの相違に対応したデルタタイムを格納するオフセットタイム記憶領域を含み、前記ソースコンピュータ装置の将来のすべての処理において、自己のＰＭＤパラメータと前記デルタタイムとの合計を自己のオフィシャルＰＭＤパラメータの値として用いる装置である
ファイル更新管理システム。
【請求項１９】
請求項１８記載のファイル更新管理システムであって、
前記オフセットタイム記録領域は、レジスタ，不揮発性メモリ，ＲＡＭメモリ，磁気記録装置のいずれかにより構成されてなる
ファイル更新管理システム。
【請求項２０】
請求項１８記載のファイル更新管理システムであって、
前記オフセットタイム記録領域は、前記ターゲットコンピュータ装置の統計データの一部である
ファイル更新管理システム。
【請求項２１】
請求項２０記載のファイル更新管理システムであって、
前記デルタタイムは、前記ソースコンピュータ装置から送られた統計データによっては更新されないものである
ファイル更新管理システム。
【請求項２２】
請求項１記載のファイル更新管理システムであって、
前記ソースコンピュータ装置は、前記第２の同期ルーチンを実行している最中に、自己のＰＭＤパラメータと共に自己の時間基準の現在時間に対応したテストタイムスタンプを前記ターゲットコンピュータ装置に送る装置であり、
前記ソースコンピュータ装置および前記ターゲットコンピュータのいずれが最新のＰＭＤパラメータを有しているかの判定は、前記ターゲットコンピュータ装置による、前記テストタイムスタンプと前記ターゲットコンピュータ装置の時間基準の現在時間との時間差として決定されるオフセットタイムの認識と、前記ソースコンピュータ装置からのＰＭＤパラメータと前記認識されたオフセットタイムおよび前記ターゲットコンピュータからのＰＭＤパラメータの合計との比較とを含む判定である
ファイル更新管理システム。
【請求項２３】
請求項１記載のファイル更新管理システムであって、
前記第２の同期ルーチンを実行している最中に、
前記第１のオフセットタイムは、前記ソースコンピュータ装置のＰＭＤパラメータと前記ソースコンピュータ装置の基準クロックに対応する現在時間との偏差として作成され、
前記第２のオフセットタイムは、前記ターゲットコンピュータ装置のＰＭＤパラメータと前記ターゲットコンピュータ装置の基準クロックに対応する現在時間との偏差として作成され、
前記ターゲットコンピュータ装置のＰＭＤパラメータは、前記第２のオフセットタイムが前記第１のオフセットタイムより小さいときには、より最新であると判定される
ファイル更新管理システム。
【請求項２４】
請求項２３記載のファイル更新管理システムであって、
前記ソースコンピュータ装置のＰＭＤパラメータは、前記第２のオフセットタイムが前記第１のオフセットタイムより大きいときには、より最近であると判定されるパラメータである
ファイル更新管理システム。
【請求項２５】
請求項１記載のファイル更新管理システムであって、
前記第２のコンピュータ装置および第３のコンピュータ装置は、前回の第２の同期ルーチンからの自己のＰＭＤパラメータへの変更の記録の保持に効果的な装置であり、
前記ターゲットコンピュータ装置は、現在実行している同期ルーチンの最中に、自己のＰＭＤパラメータが前記ソースコンピュータ装置のＰＭＤパラメータと相違していると判定したときには、前回の第２の同期ルーチンから変更されていない自己のＰＭＤパラメータより前記ソースコンピュータ装置のＰＭＤパラメータの方が最新であると判定する装置である
ファイル更新管理システム。
【請求項２６】
請求項１記載のファイル更新管理システムであって、
前記第２のローカルファイルは、第４の時間基準を有する第２の記憶領域に存在し、
前記第２の記憶領域は、前記第２のローカルファイルの追加，削除，リネームのうちの少なくとも一つを含む修正に対応して前記第２の時間基準に基づいて現在時間に更新される専用の第２の修正日付（ＤＭＤ）パラメータを有し、
前記ターゲットコンピュータ装置の統計データは、前記第２のローカルファイルに対応する第２のＦＭＤパラメータを有し、
前記ターゲットコンピュータ装置は、さらに、自己のＦＭＤパラメータを最新の前記ソースコンピュータ装置のＰＭＤパラメータと等しくなるよう設定する装置である
ファイル更新管理システム。
【請求項２７】
請求項１記載のファイル更新管理システムであって、
前記第２の通信リンクは、インターネットを経由するものである
ファイル更新管理システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、インデックスデータやデータベースを有する第１のコンピュータシステムやファイルパッケージの記述データを保持する第２のコンピュータシステムにおけるファイルパッケージの変更を同期するコンピュータシステムのアーキテクチャに関する。また、本発明は、相互にファイルを保持しようとする二つの遠隔操作される独立のコンピュータサーバを同期するコンピュータシステムのアーキテクチャに関する。
【０００２】
【従来の技術および発明が解決しようとする課題】
一つまたは複数の装置に格納された複数のファイルのデータベースやインデックスデータの保持に用いられる第１の装置を有するコンピュータネットワークでは、データベースのデータが他の装置に格納された対応する複数のファイルの現在の状態を正確に反映することが重要である。即ち、他の装置に格納されているファイルへの変更は第１の装置に記憶されているデータベースに正確に反映されなければならないのである。これは、第１の装置がネットワークサーバのインターフェースとして使われ、そのジョブが他の装置に格納されているファイルの正確な情報を提供したりアクセスしたりするものであるときに特に当てはまる。例えば、こうしたネットワークサーバのアーキテクチャはイメージサーバシステムを実行するために使われるだろう。
【０００３】
従来から知られた技術では、オペレーティングシステムは、ファイルが修正されたときに更新されたタイムスタンプをそのファイルに割り当てている場合が多い。したがって、第１の装置のデータベースと他の装置に格納されているイメージファイルのミスマッチを減らす手法の一つは、各ファイルの修正されたタイムスタンプをデータベースの各ファイルに特有なデータと共に格納することである。このように、格納されたファイルのタイムスタンプと格納されたファイルの実際の修正されたタイムスタンプとを比較することによって、データベースは、特定のファイルに関連して格納された特有なデータが正確かどうかを判断することができる。しかしながら、こうした手法では、データベースは、ファイル毎に個々にタイムスタンプを比較する必要があり、ファイル数が多いときにはシステムをかなり遅いものにしてしまう。
【０００４】
さらに、イメージファイルは別々の装置で格納されているから、他の装置へのファイルの更新や消去，追加は、データベースを維持する第１の装置に知らせることなく可能である。この場合、新しいファイルが追加されると、データベースは、その追加が明確に知らされない限り、その変更を知る手段がないことになってしまう。これは、データベース中に格納されたイメージファイルに同期させる唯一の手段がファイル毎に事前に格納され修正されたタイムスタンプを用いることに基づくからである。しかし、いずれかの他の装置に新しいファイルが追加されると、この新しいファイルに関するデータはデータベースにはまだ格納されていないから、データベースはこうした変更を見いだすことができない。このため、データベースは追加された新しいファイルを無視する。
【０００５】
これは、また、ファイル名の変更のようなその他の単純な変更の場合にも当てはまる。データベースは、変更を明確に知らされない限り、その変更に同期する手段は持たない。
【０００６】
こうした従来技術は、データベースに格納されているファイルのすべての変更を明確に知らせる必要があった。さらに、データベースは、それ自体、変更の種類を認識する手法を備えないから、変更のあった他の装置とデータベースとの間の通信リンクに支障が生じた場合には、変更があったと同時に他の装置からこの変更が知らされることがないので、これらの変更の種類については無視したままになる。
【０００７】
この同期における問題は、データベース自体が多数のリモートサーバにコピーされるときに深刻なものとなる。ここで、データベースはローカルサーバの一部であってもよいし、同様に、ファイルが格納されている他の装置はそのローカルサーバに対するローカルなものであってもよい。ローカルサーバは、インターネットのようなネットワークを通して格納されたイメージファイルへのアクセスをリモートユーザに提供してもよい。しかしながら、リモートユーザの数が多くリモートユーザとローカルサーバの距離が離れている場合には、イメージファイルへのアクセスは遅くなってしまう。
【０００８】
そのような場合、リモートユーザへのサービスを支援する追加のリモートデータベースネットワークを追加することが多くの場合に効果的である。このリモートデータベースネットワークは、ミラーサイトとして働き、イメージファイルのコピーを保有するリモートサーバに格納されたリモートファイルインデックスを持つリモートデータベースにより構成される。しかしながら、ローカルサーバかリモートサーバのいずれかのファイルを独自に変更されたものとすることも可能である。それゆえ、ローカルデータベースネットワークを保持するローカルサーバと、リモートサーバのリモートデータベースネットワークとを確実に連続させるのはより困難なものとなる。この問題は、ローカルネットワークとリモートネットワークとが変更が生じたときに互いにその変更を知らせることができないようなローカルデータベースネットワークとリモートデータベースネットワークとの間に維持されるべき直接的なリンクがない場合に、さらに深刻なものとなる。さらに、ローカルネットワークとリモートネットワークは、互いに定常的な通信的なリンクが維持されているわけではないから、それぞれは各ローカルクロックによって独自にコンピュータタスクを実行している。これは、多数のサーバ間の変更に対する同期を更に複雑にしている。というのは、ローカルネットワークとリモートネットワークとには、ファイル修正のタイムスタンプを独自のクロックと比較することによってその変更を追跡する標準的なクロック指針がないからである。言い換えれば、リモートサーバはそれぞれ独自に機能すると共に異なるタイムゾーンにあるから、ファイル修正に関連する修正されたタイムスタンプはどのサーバがファイルの最新バージョンを有するかの決定するための比較としては使用することができない。
【０００９】
本発明は、第１のコンピュータ装置のデータベースに個々の変更に伴うファイルパッケージへの修正を知らせることなく、他のコンピュータ装置の関連するファイルパッケージへの変更にデータベースを同期させることができるファイル更新管理システムを提供することを目的の一つとする。
【００１０】
また、本発明は、データベース自体が関連するファイルパッケージにおけるファイルの追加や名前の変更を認識できるファイル更新管理アーキテクチャを提供することを目的の一つとする。
【００１１】
さらに、本発明は、多数のリモートサーバがどのサーバがファイルパッケージの最新バージョンを持っているのかを判断すると共にファイルパッケージの最新バージョンを持たないすべてのリモートサーバを更新することができるファイル更新管理アーキテクチャを提供することを目的の一つとする。
【００１２】
【課題を解決するための手段】
本発明のファイル更新管理システムは、上述の目的の少なくとも一部を達成するために以下の手段を採った。
【００１３】
本発明の第１のファイル更新管理システムは、
ファイルの更新を管理するファイル更新管理システムであって、
第１の時間基準と、複数の第１のローカルファイルを格納すると共に該第１のローカルファイルの追加，削除，リネームのうち少なくとも一つを含む修正に対して該第１の時間基準に基づいて現在時間に更新される第１のディレクトリ修正日付（ＤＭＤ）パラメータを有する第１の記憶領域と、を有する第１のコンピュータ装置と、
前記第１のコンピュータ装置と通信する第１の通信リンクを有し、前記第１のコンピュータ装置から供給された前記第１のローカルファイル上の第１の統計データとして前記第１のローカルファイルの名前，サイズ，ファイルの種類のうちの少なくとも一つと前記第１のコンピュータ装置から供給され前記第１の時間基準によって決定された前記第１のローカルファイルのいずれかの最新の修正に属する第２の修正日付を格納する第１のファイル修正日付（ＦＭＤ）パラメータとを保持する第２のコンピュータ装置と、
を備え、
前記第１のコンピュータ装置および第２のコンピュータ装置は、前記第１のＤＭＤパラメータと前記第１のＦＭＤパラメータとの比較と、前記第１のコンピュータ装置により決定された前記第１のローカルファイルの更新情報を前記第１の統計的データを対応させて更新すると共に前記第１のＤＭＤパラメータと等しくなるよう前記第１のＦＭＤパラメータをリセットするために第２のコンピュータ装置に転送することによる前記第１のＦＭＤパラメータに対して最新の修正日付を有する前記第１のＤＭＤパラメータに対する応答と、を含む第１の同期ルーチンを選択的に実行するのに有効な装置である
ことを要旨とする。
【００１４】
こうした本発明の第１のファイル更新管理システムにおいて、前記第1の同期ルーチンは、前記第１のＦＭＤパラメータを前記第１のＤＭＤパラメータと等しくセットする前に、前記第１の時間基準により決定された現在時間への前記第１のＤＭＤパラメータの更新を含むルーチンであるものとすることもできる。
【００１５】
また、本発明の第１のファイル更新管理システムにおいて、前記第１のＦＭＤパラメータは、前記第1ローカルファイルになされたいずれかの修正に対応する前記第１の時間基準に基づいて自動的に現在時間に更新されるパラメータであるものとすることもできる。この態様の本発明の第１のファイル更新管理システムにおいて、前記第１の統計データは、前記第１のＦＭＤパラメータの前記自動更新に伴って新しいローカルファイル統計データによって更新されるデータであるものとすることもできる。
【００１６】
本発明の第１のファイル更新管理システムにおいて、前記第１の同期ルーチンは、ユーザ要求に応じて実行されるルーチンであるものとすることもできるし、前記第１のＤＭＤパラメータの更新に伴って実行されるルーチンであるものとすることもできる。
【００１７】
本発明の第１のファイル更新管理システムにおいて、前記第１ローカルファイルの少なくとも一部はイメージファイルであり、前記第１のコンピュータ装置は、前記第１のＤＭＤパラメータが前記第１のＦＭＤパラメータより最新であるときには、前記第１のコンピュータ装置は前記第１ローカルファイルの中に新しいイメージファイルがあるかどうかを判定すると共に新しいイメージファイルに対応するサムネイルファイルを作成し、該作成されたサムネイルファイルを前記第１のローカルファイルに追加する装置であり、前記第１の同期ルーチンは、前記作成されたサムネイルイメージファイルに関する情報を含む前記更新情報を前記第１の統計データの更新のために前記第２のコンピュータ装置へ転送するルーチンであるものとすることもできる。
【００１８】
本発明の第１のファイル更新管理システムにおいて、前記第１のコンピュータ装置は、前記第１のＤＭＤパラメータが前記第１のＦＭＤパラメータより最新であるときには、前記第１のローカルファイルにおいて移動したファイルを判定する装置であり、前記第１の同期ルーチンは、前記移動したファイルの一覧情報を含む前記更新情報を前記第１の統計データの更新のために前記第２のコンピュータ装置へ転送するルーチンであるものとすることもできる。
【００１９】
本発明の第１のファイル更新管理システムにおいて、前記第２のコンピュータ装置は、前記第１のコンピュータ装置および第２のコンピュータ装置の外部にある第２の時間基準へのアクセスを行なうアクセス手段を備え、前記第１の統計データは、前記第１の統計データに含まれるローカルファイル情報の更新に対して前記第２の時間基準に基づいて現在時間に更新される第１のパッケージ修正日付（ＰＭＤ）パラメータを含むデータであるものとすることもできる。
【００２０】
本発明の第１のファイル更新管理システムにおいて、前記第２のコンピュータ装置は内部に第２の時間基準を備え、前記第１の統計データは前記第１の統計データに含まれるローカルファイル情報の更新に対して前記第２の時間基準に基づいて現在時間に更新される第１のパッケージ修正日付（ＰＭＤ）パラメータを含むデータであるものとすることもできる。この態様の本発明の第１のファイル更新管理システムにおいて、第３の時間基準と第２のローカルファイルグループのための第２の統計データにより構成され該第２の統計データに含まれる第２のローカルファイル情報の更新に対して前記第３の時間基準に基づいて現在時間に更新される第２のＰＭＤパラメータを有する第２のファイルパッケージとを備える第３のコンピュータ装置と、前記第２のコンピュータ装置と前記第３コンピュータ装置との間で通信するための第２の通信リンクと、を備え、前記第１の統計データは前記第１のローカルファイルに対応する第１のファイルパッケージを収集的に構成するデータであり、前記第２のコンピュータ装置および前記第３のコンピュータ装置は、該両装置の相手方に対して第２の同期ルーチンを選択的に独立して実行するのに有効な装置であると共に該両装置のうちの前記第２の同期ルーチンを実行する装置はソースコンピュータ装置として設定されると共に該両装置のうちの他方はターゲットコンピュータ装置として指定される装置であり、前記第２の同期ルーチンは、前記ソースコンピュータ装置および前記ターゲットコンピュータ装置のそれぞれのＰＭＤパラメータを比較し、該ソースコンピュータ装置のＰＭＤパラメータが該ターゲットコンピュータ装置のＰＭＤパラメータより最新であるときには、該ソースコンピュータ装置の統計データを該ターゲットコンピュータ装置に送ることを含むルーチンであるものとすることもできる。この態様の本発明のファイル更新管理システムにおいて、前記ソースコンピュータ装置からの前記統計データは、前記ターゲットコンピュータにおける統計データを置き換えるデータであるものとしたり、加えて、前記ターゲットコンピュータ装置は、自己の統計データと前記ソースコンピュータ装置から受け取った統計データとを比較して相違を認識し、該認識した相違を用いて自己の統計データを更新する装置であるものとしたり、更に加えて、前記ターゲットコンピュータ装置は、前記認識した相違が新規のまたは更新されたファイルを示しているかを判定し、前記ソースコンピュータ装置に対して前記判定された新規のまたは更新されたファイルを要求する装置であるものとしたり、加えて、前記ソースコンピュータ装置は要求されたファイルだけを前記ターゲットコンピュータ装置に送る装置であるものとすることもできる。
【００２１】
また、第３のコンピュータ装置を備える態様の本発明の第１のファイル更新管理システムにおいて、前記ソースコンピュータ装置は自己のファイルパッケージにより定義されたすべてのローカルファイルを前記ターゲットコンピュータ装置に転送する装置であるものとしたり、前記ターゲットコンピュータ装置は自己の統計データが前記ソースコンピュータ装置の統計データからのデータをもって更新されるのに対応して自己のＰＭＤパラメータを前記ソースコンピュータ装置のＰＭＤパラメータに等しくなるよう設定する装置であるものとしたり、前記第２の時間基準および前記第３の時間基準の一方は、マスター時間基準として設定され、前記ターゲットコンピュータ装置は、自己の統計データが前記ソースコンピュータ装置の統計データからのデータでもって更新されるのに対応して自己のＰＭＤパラメータを前記マスター時間基準に基づいて現在時間に設定する装置であるものとしたりすることもできる。
【００２２】
さらに、第３のコンピュータ装置を備える態様の本発明のファイル更新管理システムにおいて、前記ソースコンピュータ装置および前記ターゲットコンピュータ装置の外部にマスター時間基準を備え、前記ターゲットコンピュータ装置は、自己の統計データが前記ソースコンピュータ装置の統計データからのデータでもって更新されるのに対応して自己のＰＭＤパラメータを前記マスター時間基準に基づいて現在時間に設定する装置であるものとすることもできる。この態様の本発明の第１のファイル更新管理システムにおいて、前記第２のコンピュータ装置および前記第３のコンピュータ装置はインターネットを介して前記マスター時間基準にアクセスする装置であるものとすることもできる。
【００２３】
あるいは、第３のコンピュータ装置を備える態様の本発明の第１のファイル更新管理システムにおいて、前記ターゲットコンピュータ装置は、自己のＰＭＤパラメータと前記ソースコンピュータ装置のＰＭＤパラメータとの相違に対応したデルタタイムを格納するオフセットタイム記憶領域を含み、前記ソースコンピュータ装置の将来のすべての処理において、自己のＰＭＤパラメータと前記デルタタイムとの合計を自己のオフィシャルＰＭＤパラメータの値として用いる装置であるものとすることもできる。この態様の本発明の第１のファイル更新管理システムにおいて、前記オフセットタイム記録領域は、レジスタ，不揮発性メモリ，ＲＡＭメモリ，磁気記録装置のいずれかにより構成されてなるものとすることもできるし、前記オフセットタイム記録領域は、前記ターゲットコンピュータ装置の統計データの一部であるものとすることもできる。この後者の態様の本発明の第１のファイル更新管理システムにおいて、前記デルタタイムは、前記ソースコンピュータ装置から送られた統計データによっては更新されないものであるものとすることもできる。
【００２４】
また、第３のコンピュータ装置を備える態様の本発明の第１のファイル更新管理システムにおいて、前記ソースコンピュータ装置は、前記第２の同期ルーチンを実行している最中に、自己のＰＭＤパラメータと共に自己の時間基準の現在時間に対応したテストタイムスタンプを前記ターゲットコンピュータ装置に送る装置であり、前記ソースコンピュータ装置および前記ターゲットコンピュータのいずれが最新のＰＭＤパラメータを有しているかの判定は、前記ターゲットコンピュータ装置による、前記テストタイムスタンプと前記ターゲットコンピュータ装置の時間基準の現在時間との時間差として決定されるオフセットタイムの認識と、前記ソースコンピュータ装置からのＰＭＤパラメータと前記認識されたオフセットタイムおよび前記ターゲットコンピュータからのＰＭＤパラメータの合計との比較とを含む判定であるものとすることもできる。
【００２５】
第３のコンピュータ装置を備える態様の本発明の第１のファイル更新管理システムにおいて、前記第２の同期ルーチンを実行している最中に、前記第１のオフセットタイムは、前記ソースコンピュータ装置のＰＭＤパラメータと前記ソースコンピュータ装置の基準クロックに対応する現在時間との偏差として作成され、前記第２のオフセットタイムは、前記ターゲットコンピュータ装置のＰＭＤパラメータと前記ターゲットコンピュータ装置の基準クロックに対応する現在時間との偏差として作成され、前記ターゲットコンピュータ装置のＰＭＤパラメータは、前記第２のオフセットタイムが前記第１のオフセットタイムより小さいときには、より最新であると判定されるものとすることもできる。この態様の本発明の第１のファイル更新管理システムにおいて、前記ソースコンピュータ装置のＰＭＤパラメータは、前記第２のオフセットタイムが前記第１のオフセットタイムより大きいときには、より最近であると判定されるパラメータであるものとすることもできる。
【００２６】
第３のコンピュータ装置を備える態様の本発明の第１のファイル更新管理システムにおいて、前記第２のコンピュータ装置および第３のコンピュータ装置は、前回の第２の同期ルーチンからの自己のＰＭＤパラメータへの変更の記録の保持に効果的な装置であり、前記ターゲットコンピュータ装置は、現在実行している同期ルーチンの最中に、自己のＰＭＤパラメータが前記ソースコンピュータ装置のＰＭＤパラメータと相違していると判定したときには、前回の第２の同期ルーチンから変更されていない自己のＰＭＤパラメータより前記ソースコンピュータ装置のＰＭＤパラメータの方が最新であると判定する装置であるものとすることもできる。
【００２７】
第３のコンピュータ装置を備える態様の本発明の第１のファイル更新管理システムにおいて、前記第２のローカルファイルは、第４の時間基準を有する第２の記憶領域に存在し、前記第２の記憶領域は、前記第２のローカルファイルの追加，削除，リネームのうちの少なくとも一つを含む修正に対応して前記第２の時間基準に基づいて現在時間に更新される専用の第２の修正日付（ＤＭＤ）パラメータを有し、前記ターゲットコンピュータ装置の統計データは、前記第２のローカルファイルに対応する第２のＦＭＤパラメータを有し、前記ターゲットコンピュータ装置は、さらに、自己のＦＭＤパラメータを最新の前記ソースコンピュータ装置のＰＭＤパラメータと等しくなるよう設定する装置であるものとすることもできる。
【００２８】
第３のコンピュータ装置を備える態様の本発明の第１のファイル更新管理システムにおいて、前記第２の通信リンクはインターネットを経由するものであるものとすることもできる。
【００２９】
本発明の第２のファイル更新管理システムは、
ファイルの更新を管理するファイル更新管理システムであって、
第１のファイルグループの第1の記述データと、該第1の記述データの変更に対応して更新される第１のパッケージ修正日付（ＰＭＤ）パラメータとを含む第1のファイルパッケージデータ蓄積を有する第１のネットワークコンピュータシステムと、
第２のファイルグループに関する第２の記述データと、該第２の記述データの変更に対応して更新される第２のパッケージ修正日付（ＰＭＤ）パラメータとを含む第２のファイルパッケージデータ蓄積を有する第２のネットワークコンピュータシステムと、
前記第１のネットワークコンピュータシステムと前記第２のネットワークコンピュータシステムとを接続する通信リンクと、
を備え、
前記第１のネットワークコンピュータシステムおよび前記第２のネットワークコンピュータシステムは、相手方のネットワークコンピュータシステムと共にパッケージ同期ルーチンを選択的に独立に実行を開始するのに有効な装置であり、前記パッケージ同期ルーチンの実行を開始するネットワークコンピュータシステムはソースコンピュータ装置として設定されると共に他方のネットワークコンピュータシステムはターゲットコンピュータ装置として設定されるシステムであり、
前記パッケージ同期ルーチンは、前記ソースコンピュータ装置と前記ターゲットコンピュータ装置のいずれのＰＭＤパラメータが最新の時間を示すかを判定し、前記ソースコンピュータ装置のＰＭＤパラメータが前記ターゲットコンピュータ装置のＰＭＤパラメータより最新の時間を示すときには、前記ソースコンピュータ装置のファイルパッケージデータを、前記ターゲットコンピュータ装置のファイルパッケージの更新に用いられ、それに伴って前記ターゲットコンピュータ装置のＰＭＤパラメータが更新されるよう前記ターゲットコンピュータ装置に送るルーチンである
ことを要旨とする。
【００３０】
この本発明の第２のファイル更新管理システムにおいて、前記第１のネットワークコンピュータシステムおよび第２のネットワークコンピュータシステムは、リモート基準時間ソースへのアクセスが可能なシステムであり、前記第１のＰＭＤパラメータおよび前記第２のＰＭＤパラメータは、それぞれが前記リモート基準時間ソースにより決定される現在時間に設定されることにより更新されるパラメータであるものとすることもできる。この態様の本発明の第２のファイル更新管理システムにおいて、前記第１のネットワークコンピュータシステムおよび前記第２のネットワークコンピュータシステムは、それぞれはインターネットを介して前記リモート基準時間ソースにアクセス可能なシステムであるものとすることもできる。
【００３１】
また、本発明の第２のファイル更新管理システムにおいて、前記ソースコンピュータ装置および前記ターゲットコンピュータ装置は、各自のローカルクロックを有し、前記パッケージ同期ルーチンが実行されている最中に各自のローカルクロックによって決定される現在時間のテストタイムスタンプをＰＭＤパラメータと共に該両装置の相手方に送る装置であるものとすることもできる。この態様の本発明の第２のファイル更新管理システムにおいて、前記ソースコンピュータ装置および前記ターゲットコンピュータ装置のＰＭＤパラメータのいずれが最新時間を示しているかの判定は、前記ターゲットコンピュータ装置による、自己のローカルクロックによって決定される現在時間と前記ソースコンピュータ装置から受け付けたテストタイムスタンプとの時間差として決定されるオフセットタイムの認識と、前記ソースコンピュータ装置からのＰＭＤパラメータと前記認識されたオフセットタイムおよび前記ターゲットコンピュータ装置からのＰＭＤパラメータの合計との比較とを含む判定であるものとすることもできる。
【００３２】
さらに、本発明のファイル更新管理システムにおいて、前記第１のＰＭＤパラメータは、タイムスタンプを有する第１のパートと、タイムオフセットスタンプを有する第２のパートとを含むパラメータであり、前記第１のパートは、前記第１のネットワークコンピュータシステムで実行が開始された前記記述データに対する変更に対応して更新されるパートであり、前記第１のパートおよび前記第２のパートは、前記第２のネットワークコンピュータシステムが前記ソースコンピュータ装置であると共に前記第１ネットワークコンピュータシステムが前記ターゲットコンピュータ装置であることに基づく前記第２のファイルパッケージデータの受け付けから結果される前記第１の記述データに対する変更に対応して更新されるパートであるものとすることもできる。この態様の本発明の第２のファイル更新管理システムにおいて、前記第１のネットワークコンピュータシステムは、第１のローカルクロックを有するシステムであり、該第１のローカルクロックに基づく現在時間は、前記タイムオフセットスタンプと合計され、該合計は、前記第１のネットワークコンピュータシステムで実行が開始された前記第１の記述データへの変更に応答するＰＭＤパラメータの前記第１のパートの更新に用いられるものとすることもできる。更に、この態様の本発明の第２のファイル更新管理システムにおいて、前記ソースコンピュータ装置および前記ターゲットコンピュータ装置は、各自のローカルクロックを有し、該各自のローカルクロックにより決定される現在時間をＰＭＤパラメータと共に送る装置であり、前記第１のネットワークコンピュータシステムは、前記第１のＰＭＤパラメータの前記第２のパートが自己の各々のローカルクロックによって決定されるローカルタイムと前記ソースコンピュータ装置から受け付けたローカルタイムとの偏差に等しくなるよう設定することによって該第２のパートを更新するシステムであるものとすることもできる。
【００３３】
あるいは、本発明の第２のファイル更新管理システムにおいて、前記ソースコンピュータ装置および前記ターゲットコンピュータ装置は、各自のローカルクロックを有する装置であり、前記ソースコンピュータ装置および前記ターゲットコンピュータ装置のＰＭＤパラメータのいずれが最新時間を示しているかの判定は、前記ソースコンピュータ装置のＰＭＤパラメータと、前記ソースコンピュータ装置のローカルクロックに基づく現在時間との偏差として第１のオフセットタイムを生成することと、前記ターゲットコンピュータ装置のＰＭＤパラメータと、前記ターゲットコンピュータ装置のローカルクロックに基づく現在時間との偏差として第２のオフセットタイムを生成することと、前記第２のオフセットタイムが前記第２のオフセットタイムより小さいときには、前記ターゲットコンピュータ装置のＰＭＤパラメータの方が最新時間を示していると判定することを含む判定であるものとすることもできる。この態様の本発明の第２のファイル更新管理システムにおいて、前記ソースコンピュータ装置のＰＭＤパラメータは、前記第２のオフセットタイムが前記第１のオフセットタイムより大きいときには、最新時間を示していると判定されるパラメータであるものとすることもできる。
【００３４】
本発明の第３のファイル更新管理システムは、
ファイルの更新を管理するファイル更新管理システムであって、
複数の第１のローカルファイルと、少なくとも該第１のローカルファイルに対する追加，削除，リネーム，編集のいずれかを含む変更に対応して第１の時間基準に基づいて現在時間に更新される第１の修正日付を格納するための専用ディレクトリ修正日付（ＤＭＤ）パラメータとを有する第１の記憶領域と、
前記第１のローカルファイルに関して該第１のローカルファイルの名前，サイズ，ファイルの種類のうちの少なくとも一つを含む統計データとを保持すると共に前記第１のローカルファイルに存在するいずれかへの修正に対応して第２の時間基準に基づいて現在に更新される第２の修正日付を格納するフォルダ修正日付（ＦＭＤ）パラメータを有する第２の記憶領域と、
前記ＤＭＤパラメータと前記ＦＭＤパラメータとを選択的に比較する前記第１の記憶領域と前記第２の記憶領域との間の通信リンクと、
を備え、
前記第１の記憶領域および前記第２の記憶領域は、更新ファイル情報を前記第１の記憶領域から前記第２の記憶領域に転送することによって前記ＦＭＤパラメータより最新の修正日付を有するＤＭＤパラメータに対応し、転送された更新ファイル情報を前記統計データの修正に用い、前記ＦＭＤパラメータが前記時間基準に無関係な前記ＤＭＤパラメータと等しくなるよう設定する領域である
ことを要旨とする。
【００３５】
この本発明の第３のファイル更新管理システムにおいて、前記第１の記憶領域と前記第２の記憶領域は、共通のコンピュータシステム中に存在してなり、前記第１の時間基準および前記第２の時間基準は、前記共通のコンピュータシステム中のクロックを基準とするものとすることもできる。この態様の本発明の第３のファイル更新管理システムにおいて、前記第１の時間基準と前記第２の時間基準は実質的に同一であるものとすることもできる。
【００３６】
また、本発明の第３のファイル更新管理システムにおいて、前記第１の記憶領域は第１のコンピュータシステム上に存在し、前記第２の記憶領域は第２のコンピュータシステム内に存在し、前記第１の時間基準は前記第１のコンピュータシステム中の第１のクロックに基づいており、前記第２の時間基準は前記第２のコンピュータシステム中の第２のクロックに基づいているものとすることもできる。
【００３７】
この第１の記憶領域が第１のコンピュータシステム上に存在すると共に第２の記憶領域が第２のコンピュータシステム内に存在する態様の本発明の第３のファイル更新管理システムにおいて、前記第２の記憶領域はパッケージ修正日付（ＰＭＤ）パラメータを有し、前記第１のコンピュータシステムは、新規のイメージファイルが前記第１のローカルファイルに追加されているか又は前記第１のローカルファイルから移動しているかの判定によって前記ＦＭＤパラメータより最新である前記ＤＭＤパラメータに応答し、新規のイメージファイルのサムネイルイメージファイルを作成することによって前記第１のローカルファイルに追加された新規のイメージファイルに応答し、前記統計データを順に更新するために、新規に作成されたファイルおよび移動したファイルのすべての統計データを前記第２のコンピュータに送り、前記第１の時間基準に基づいて前記ＤＭＤパラメータを現在時間に設定するシステムであり、前記第２のコンピュータシステムは、前記第２の時間基準に基づいて前記ＰＭＤパラメータを現在時間に設定するシステムであるものとすることもできる。
【００３８】
また、第１の記憶領域が第１のコンピュータシステム上に存在すると共に第２の記憶領域が第２のコンピュータシステム内に存在する態様の本発明の第３のファイル更新管理システムにおいて、前記第１の記憶領域は、各々のＤＭＤパラメータと前記ローカルファイルの各々のグループを有する複数のローカル記憶領域の一つであり、前記第２の記憶領域は、別のＦＭＤパラメータと前記各ローカルファイルのグループの各々に対応した前記統計データのグループとを保持し、前記複数のローカル記憶領域は、自己の各々のＤＭＤパラメータを自己の対応するＦＭＤパラメータと比較するために比較処理を選択的に起動し、ローカルファイルの各グループのための更新ファイル情報を前記第２の記憶領域に転送することによって対応するＦＭＤパラメータより最新の各々のＤＭＤパラメータに応答し、前記第２の記憶領域は、対応する統計データのグループの修正に転送された更新データを用い、対応するＦＭＤパラメータを前記比較処理が起動された対応するローカル記憶領域のＤＭＤパラメータと等しくなるよう設定するものとすることもできる。
【００３９】
さらに、第１の記憶領域が第１のコンピュータシステム上に存在すると共に第２の記憶領域が第２のコンピュータシステム内に存在する態様の本発明の第３のファイル更新管理システムにおいて、前記第１の記憶領域は、自己のＤＭＤパラメータと前記第２の記憶領域の前記ＦＭＤパラメータとにおける最後の比較からのローカルファイルへのすべての修正記録を保持し、前記統計データを更新すると共に該統計データの更新に基づく記録の内容を消去するために前記記録にある情報を前記第２の記憶スペースに転送するものとすることもできる。
【００４０】
【発明の作用及び効果】
上述した本発明の目的は、そのアーキテクチャに２つの側面をもつファイル更新管理システムによって達成される。本発明の第１の側面は、第１のコンピュータ装置に格納されているファイルパッケージ（即ち、ファイルコレクション）になされた変更を第２のコンピュータ装置に保持され関連付けられたデータベースやインデックスデータに同期させるのに用いられるファイル修正日付（ＦＭＤ）パラメータやディレクトリ修正日付（ＤＭＤ）パラメータを提供することにある。本発明の第２の側面は、第１のコンピュータ装置および第２のコンピュータ装置がローカルな第１のファイルサーバの一部であるとみなすと共に第１のファイルサーバに格納され特定のファイルパッケージに関連付けられた第１のパッケージ修正日付（ＰＭＤ）パラメータと、リモートな第２のファイルサーバで保持された第２のデータベースに格納された第２のパッケージ修正日付（ＰＭＤ）パラメータとを提供することにある。この第１および第２のＰＭＤパラメータにより、ローカルファイルサーバおよびリモートファイルサーバは、自己のデータベースや関連するファイルパッケージを同期することができる。
【００４１】
ここで、ローカルサーバは、ファイルパッケージからなるファイルコレクションを格納する第１のコンピュータ装置と、そのファイルパッケージに関連付けられたデータベース、即ちインデックスデータやデータレコードを保持する第２のコンピュータ装置と、を備えるものを考えることができる。ファイルパッケージやデータレコードは、ハードドライブやＩＣメモリ（即ち、フラッシュ、ＥＥＰＲＯＭ，ＥＰＲＯＭ，ＤＲＡＭ，ＳＲＡＭなど），光磁気記録メディア，その他コンピュータ読込メディアなど多数のデータ記憶装置のいずれかに格納されていてもよいと考えられる。
【００４２】
各ファイルパッケージは、複数のファイルから構成され、ファイルパッケージのファイル構成が変更される毎に第１のコンピュータ装置のローカルクロックに基づいて更新されるディレクトリ修正日付（ＤＭＤ）パラメータと関連付けられる。例えば、ＤＭＤパラメータは、ファイルパッケージのファイルがリネームされたり削除される毎に、あるいは新しいファイルが追加される毎に更新される。
【００４３】
ファイルパッケージと関連する各データレコードは、様々な状況下で更新されるファイル修正日付（ＦＭＤ）パラメータを備える。ファイルパッケージのファイルが修正されると、（第２のコンピュータ装置に存在する）関連付けられたデータレコードのＦＭＤパラメータは、第１のコンピュータ装置からのローカルクロックか、より好ましくは第２のコンピュータ装置からのローカルクロックに基づいて更新されることとなる。
【００４４】
ローカル同期ルーチンがデータレコードを自己の関連付けられたファイルパッケージに同期させるために起動されると、各ＰＭＤおよびＦＭＤパラメータは、いずれが最近変更されたものであるかを判定するために検査される。ＦＭＤパラメータが最新の変更であるときには、更新する必要はない。ＤＭＤパラメータが最新の変更であるときには、第１のコンピュータ装置は第２のコンピュータ装置のデータレコードを更新する。さらに、第２のコンピュータ装置のＦＭＤパラメータは第１のコンピュータ装置からのＤＭＤパラメータを等しくさせる。
【００４５】
上述したように、パッケージ修正日付（ＰＭＤ）パラメータは、複数のファイルサーバ中のデータレコードやファイルパッケージを同期させるのに用いられる。例えば、既に説明した第１のコンピュータ装置と第２のコンピュータ装置は、ローカルファイルサーバにより構成されていると考えることができる。データレコードやファイルパッケージの複製は、インターネットのようなネットワークリンクを介してローカルファイルサーバにアクセスするリモートファイルサーバに保持されている。ローカルファイルサーバは第１のＰＭＤパラメータ（即ち、ＰＭＤ＿1）を有し、リモートファイルサーバは第２のＰＭＤパラメータ（即ち、ＰＭＤ＿2）を有する。
【００４６】
こうしたファイル更新管理システムでは、（上述した第１及び第２コンピュータ装置間のような）ローカルファイルパッケージの同期ルーチンにより作成されるデータレコードへの更新は、「ローカル同期ルーチン」として認識され、ローカルファイルサーバおよびリモートファイルサーバ間の同期ルーチンにより作成されるデータレコードへの更新は、「リモート同期ルーチン」として認識される。各ファイルサーバは、ローカルファイルパッケージとのローカル同期ルーチンにより作成される各データレコードへの変更に対応して各ローカルクロックに基づいて各ＰＭＤパラメータを更新する。さらに、各ファイルサーバは、「データレコード」と「ファイルパッケージ」とからなるペアを複数含んでいるものとしてもよい。一手法としては、各ファイルサーバは、ＰＭＤパラメータだけを有し、「データレコード」と「ファイルパッケージ」のペアのいずれかが更新される毎に、そのＰＭＤパラメータを更新する。こうして、ＰＭＤパラメータは、「データレコード」と「ファイルパッケージ」のペアのいずれかへの最新の変更に対応することができるでのある。他の手法としては、各ファイルサーバは、「データレコード」と「ファイルパッケージ」のペアごとに別のＰＭＤパラメータを保持し、これにより各「データレコード」と「ファイルパッケージ」のペアのために別のリモート同期ルーチンを実行する。
【００４７】
上述の手法のいずれかにおいて、ローカルあるいはリモートファイルサーバのいずれかがリモート同期ルーチンを起動すると、それぞれのＰＭＤパラメータが検査される。最新の変更を示すＰＭＤパラメータが、検査の結果、正しいバージョンの「データレコード」と「ファイルパッケージ」のペアを持っているとみなされる。そして、検査の結果、正しいバージョンの「データレコード」と「ファイルパッケージ」のペアを持つファイルサーバは他のファイルサーバの「データレコード」と「ファイルパッケージ」のペアを更新する。
【００４８】
リモート更新の最後では、自己の「データレコード」と「ファイルパッケージ」のペアを更新させたファイルサーバは、その自己のＰＭＤパラメータも更新する。より好ましい実施例では、ＰＭＤパラメータは、正しいバージョンの「データレコード」と「ファイルパッケージ」のペアを持っている他のファイルサーバからのＰＭＤパラメータと等しくなるよう更新される。しかし、ＰＭＤパラメータはファイルサーバのローカルクロックに基づいて現在時間と等しくなるよう更新されてもよい。
【００４９】
本発明では、ローカルファイルサーバからのＰＭＤパラメータかリモートファイルサーバからＰＭＤパラメータのいずれが対応する「データレコード」と「ファイルパッケージ」のペアへの最新の変更を示しているのかを判定するために、様々な手法を考えることができる。第１の手法では、ローカルサーバは、自己のローカルクロックに基づいて第１のテストタイムスタンプを自己のＰＭＤ＿1パラメータと共にリモートファイルサーバに送る。同様に、リモートファイルサーバは、自己のローカルクロックに基づいて第２のテストタイムスタンプを自己のＰＭＤ＿2と共にローカルファイルサーバに送る。そして、各ファイルサーバは、ローカルクロックによって決定されるローカルタイムと他のファイルサーバから受け取ったテストタイムスタンプとの偏差としてオフセットタイムを認識する。例えば、リモートファイルサーバは、自己のローカルタイムと受け取った第１のテストタイムとの偏差としてオフセットタイムを認識してもよいし、リモートファイルサーバは、第２のタイムスタンプと第１のタイムスタンプとの偏差としてオフセットタイムを認識してもよい。そして、認識したオフセットタイムは、適宜、一方のＰＭＤパラメータ（例えばＰＭＤ＿1）に追加されたり除去されして、そのパラメータを他のＰＭＤパラメータ（即ち、この場合ＰＭＤ＿2）と同じタイミング基準にシフトする。
【００５０】
あるいは、各ファイルサーバは、自己のローカルクロックに基づくローカルタイムと自己のＰＭＤパラメータとの間の差をとることによって最後に時間を変更してからの期間を決定するものとしてもよい。そして、ファイルサーバは、最後に時間を変更してからの期間の値を交換する。ＰＭＤパラメータへの最後の変更からもっとも短い期間を有するファイルサーバは、最新の「データレコード」と「ファイルパッケージ」のペアを持つものとみなされ、他のファイルサーバを更新する。
【００５１】
あるいは、ローカル及びリモートファイルサーバは、ローカル及びリモートファイルサーバ中のローカルクロック（もしくは、ネットワーク上で両方のサーバへアクセスできるその他のクロック）を、マスター基準クロックとして指定することもできる。この場合、ローカル及びリモートファイルサーバは、各ＰＭＤパラメータをローカル及びリモートの同期ルーチンの両方に対応して指定されたマスター基準クロックに基づいて更新する。こうして、すべてのファイルサーバのＰＭＤパラメータは、各ファイルサーバが別のローカルクロックを有していても、同じマスタークロックに基づくものとすることができることとなる。
【００５２】
以上説明したように、各ファイルサーバは対応するＰＭＤパラメータを自己のファイルレコードがローカル同期ルーチンの最中に更新されるのに対応して自己のローカルクロックに基づいて更新するのが望ましい。この場合、リモート同期ルーチンの最中に、ファイルレコードを更新したファイルサーバは、そのＰＭＤパラメータを最新の「データレコード」と「ファイルパッケージ」とのペアを有すると判定されたＰＭＤパラメータと等しくなるように設定する。
【００５３】
さらに他の手法としては、ローカル及びリモートファイルサーバが直接それぞれのＰＭＤパラメータを比較することにより、どちらが最新の「データレコード」と「ファイルパッケージ」とのペアを有しているを判定するものとしてもよい。最新のＰＭＤパラメータを有するファイルサーバは、最新の「データレコード」と「ファイルパッケージ」とのペアを有するものとみなされ、他のファイルサーバを更新する。
【００５４】
【発明の実施の形態】
次に、本発明の実施の形態を実施例を用いて説明する。実施例のファイル更新管理システムは、図１に示すように、複数のローカルファイルの記述レコードを維持するデータベースオルガナイザ＿1としてみなされるデータベースオルガナイザを備える。データベースオルガナイザ＿1は、第1のコンピュータ装置Ｃ１において実行されるものとして示されており、ローカルファイルPK1＿FILE＿1〜PK1＿FILE＿mは第２コンピュータ装置Ｃ２の記憶領域に例示として保持されている。ここで、ローカルファイルとそれに対応する記述レコード、即ちそれに対応するデータベースオルガナイザは、共に単一のコンピュータ装置に構成するものとしてもよい。
【００５５】
図１に示した好ましい実施例では、ローカルファイルは、複数のファイルパッケージ、ここではPACKAGE＿1〜PACKAGE＿nとして配置されている。各ファイルパッケージは、例えば、複数のローカルファイルが格納されたディレクトリやファイルフォルダとして構成されている。例えば、PACKAGE＿1は、ローカルファイルPK＿1＿FILE＿1〜PK＿1＿FILE＿iが格納されたディレクトリとして設定してもよい。同様に、PACKAGE＿2はローカルファイルPK＿2＿FILE＿1〜PK＿2＿FILE＿kが格納されたディレクトリとして設定し、これに続いてローカルファイルPK＿1＿FILE＿1〜PK＿1＿FILE＿1を保有するPACKAGE＿nについても設定するものとしてもよい。
【００５６】
本実施例では、PACKAGE＿1〜PACKAGE＿nの各々は、イメージファイルを含んでいる。各パッケージ内のイメージファイルは関連したテーマをもつことが好ましいが、それは本発明の本質ではない。関連したイメージファイルに加えて、各パッケージファイルは各イメージファイルに対応するサムネイル表示ファイルを備えているのが好ましい。従来技術として知られているように、サムネイル表示ファイルは、より大きなイメージファイルの表示を（サイズと質において）縮小したものであり、それによりより少ない記憶スペースと短いイメージ処理時間で対応する大きなイメージファイルの素早い参照を可能とする。
【００５７】
第２のコンピュータ装置Ｃ２は装置内のファイルパッケージに対する変更を追跡するのに使われるローカルクロックＣＫ２を備えている。例えば、PACKAGE＿1〜PACKAGE＿nの各々は、各パッケージの最新のファイル構成修正に対応してクロックＣＫ２により決定される日付スタンプを格納するためのディレクトリ修正日付（以下、ＤＭＤと記す。）パラメータを備えている。例えば、PACKAGE＿1のＤＭＤ＿1は、その対応するローカルファイル（PK＿1＿FILE＿1〜PK＿1＿FILE＿i）のいずれかが削除されたり名前が変更される毎にあるいはPACKAGE＿1への新しいファイルの追加や移動が生じる毎に更新されたタイムスタンプを受け付ける。こうして、ＤＭＤ＿1は、PACKAGE＿1のファイル構成に対する最新の変更に対応したタイムスタンプを保持する。さらに、第２のコンピュータ装置Ｃ２は、ＤＭＤ＿1が更新される毎に、ＤＭＤ＿1のタイムスタンプに基づくものとするのが好適である。イメージファイルの名前が変更されたことに基づいてＤＭＤ＿1が更新されるときには、それに応じてそのイメージファイルに対応するサムネイルファイルの名前を変更するか或いは名前の変更されたイメージファイルとの関係が維持されるよう修正する。また、イメージファイルが削除されたことに基づいてＤＭＤ＿1が更新されるときには、削除されたイメージファイルに対応するサムネイルファイルを同様に削除する。同様にして、PACKAGE＿1に新しいファイルイメージが追加されたことに基づいてＤＭＤ＿1が更新されるときには、第２のコンピュータ装置は、新たに追加されたイメージファイルに対応する新たなサムネイル表示ファイルを作成してPACKAGE＿１に組み込む。
【００５８】
PACKAGE＿2〜PACKAGE＿nの各々は、それぞれのファイル構成に対する同様な修正に対するクロックＣＫ２にしたがって現在時間が更新されるディレクトリ修正日付ＤＭＤ＿2〜ＤＭＤ＿nを備えている。
【００５９】
上述したように、第１のコンピュータ装置Ｃ１におけるデータベースオルガナイザ＿1は第２のコンピュータ装置Ｃ２に格納されたローカルファイルの記述レコードを保持している。第２のコンピュータ装置Ｃ２は、ローカルファイルを複数のファイルパッケージ、即ちPACKAGE＿1〜PACKAGE＿nに編成するから、データベースオルガナイザ＿1は、個々のファイルパッケージ，PACKAGE＿1〜PACKAGE＿nのために対応する個々の記述レコードＤ１〜Ｄｎを保持している。各記述レコードＤ１〜Ｄｎは、それぞれのファイルパッケージに関する同様の情報を保持することが好ましく、それゆえ記述レコードＤ１のみを詳しく説明すれば、記述レコードＤ２〜Ｄｎについては同様に理解されるものとなる。
【００６０】
記述レコードＤ１は、PACKAGE＿1のローカルファイルに関する情報を保持している。例えば、記述レコードＤ１は、PK＿1＿FILE＿1〜PK＿1＿FILE＿iのそれぞれに対応するファイルの名前やファイルサイズ，ファイルの種類，その他に要求されるデータを格納している。また、記述レコードＤ１〜Ｄｎの各々は、第２のコンピュータ装置Ｃ２により供給され対応するファイルパッケージ中のファイルに最後に修正がなされた時間を推定するのに用いられるタイムスタンプに対応するファイル修正日付（以下、ＦＭＤと記す。）パラメータを備えている。
【００６１】
本発明の第１の好ましい実施例では、ＦＭＤパラメータはファイルパッケージ中のいずれかのファイルに対する最近の修正を認識するタイムスタンプに対応するから、各ファイルパッケージに対して唯一のＦＭＤパラメータを備えるだけでよい。第１の調整では、ＦＭＤパラメータは、いずれかのファイルが修正される毎に更新される。第２の調整では、ＦＭＤパラメータは、同期ルーチンが実行されている間に更新されるが、必ずしもファイルの修正に対応するタイムスタンプを割り当てる必要はない。そのかわり、以下に詳細されるように、ＦＭＤパラメータはＤＭＤパラメータに従属するものとしてもよい。
【００６２】
好ましい実施例の一つとして、記述レコードのＦＭＤパラメータは、第１のコンピュータ装置Ｃ１や第２のコンピュータ装置Ｃ２から発生する同期要求への応答においてのみ更新されるものとすることもできる。他の実施例としては、同期要求は、データベースオルガナイザ＿1やいずれかのファイルパッケージ、即ちPACKAGE＿1〜PACKAGE＿nによって誘起されるものとしてもよい。どちらの場合でも、ファイルパッケージやそれに対応する記述レコードの同期は、個々に基づいて実行されるのが好ましい。
【００６３】
記述レコードＤ１〜Ｄｎの内容を対応するファイルパッケージ（PACKAGE＿1〜PACKAGE＿n）と調整する必要が生じたときに、第１のコンピュータ装置Ｃ１と第２のコンピュータ装置Ｃ２のうちの一方が同期ルーチンの実行を開始する。ここで、同期ルーチンは、同期ルーチンの各誘起が一つの特定の記述レコードやそれに対応するファイルパッケージを指定するようなことを対象とされることが好ましい。例えば、第２コンピュータ装置Ｃ２が記述レコードＤ２を指定する同期ルーチンの実行を開始する場合には、第１のコンピュータ装置Ｃ１はパラメータＦＭＤ＿2を第２のコンピュータ装置Ｃ２へ送り、第２のコンピュータ装置Ｃ２はパラメータＤＭＤ＿2を第１のコンピュータ装置Ｃ１へ送るようにする。ＦＭＤ＿2はＤＭＤ＿2と比較され、ＦＭＤ＿2がＤＭＤ＿2より新しいデータスタンプを持っているときにはそれ以上の同期は要求されないが、ＤＭＤ＿2がＦＭＤ＿2より新しいデータスタンプを持っているときには記述データＤ２は更新処理が実行される。
【００６４】
本発明の主旨においては、いくつかの更新処理が考えられる。更新処理は、記述データＤ２がPACKAGE＿2中のローカルファイルPK＿2＿FILE＿1〜PK＿2＿FILE＿kの現在の状態と正しく対応することを確かめることを目的とする。第１の更新処理では、第２のコンピュータ装置Ｃ２が全てのファイルパッケージのファイル構成情報を第１のコンピュータ装置Ｃ１へ送る。ファイル構成情報には、パッケージ２のPK＿2＿FILE＿1〜PK＿2＿FILE＿kといった各パッケージ内の全てのローカルファイルの名前やサイズ，種類の記述が含まれる。そして、データベースオルガナイザ＿1は受け付けたデータに対応した新しい記述レコードを作成する。
【００６５】
他の好ましい実施例では、同期ルーチンの実行を開始した第１のコンピュータ装置Ｃ１か第２のコンピュータ装置Ｃ２の一方は、更新の対象となるファイルパッケージを認識する。本例では、PACKAGE＿2が認識される。そして、第２のコンピュータ装置Ｃ２は対象となるファイルパッケージのファイル構成情報を第１のコンピュータ装置Ｃ１に送る。データベースオルガナイザ＿１は、記述データの更新や新しい記述データの作成により対応する対象となるファイルパッケージに応答する。
【００６６】
図２に示すように、本発明の他の実施例は、ファイルパッケージを格納し、第１のコンピュータ装置Ｃ１におけるデータベースオルガナイザ＿1と同様なコミュニケーションを行なう複数のローカルコンピュータ装置Ｃ２やＣ３を備える。図２における各要素は、その特徴や記述において図１における各要素と同様である。この他の実施例では、第２のコンピュータ装置Ｃ２はファイルパッケージだけ、即ちPACKAGE＿1だけを格納しており、第３のコンピュータ装置Ｃ３はPACKAGE＿2〜PACKAGE＿nを格納している。各ファイルパッケージがそれぞれ別のコンピュータ装置に格納されていたり、複数のファイルパッケージが複数のコンピュータ装置に格納されるていることは同様に理解することができる。
【００６７】
この本実施例は、ディレクトリ修正日付パラメータＤＭＤ＿2〜ＤＭＤ＿nが第３のコンピュータ装置Ｃ３のローカルクロックＣＫ３を基準としていることとパラメータＤＭＤ＿1が第２のコンピュータ装置Ｃ２のローカルクロックＣＫ２を基準としていることとを除いて、上述の図1の実施例と実質的に同様である。ここで、第２のコンピュータ装置Ｃ２および第３のコンピュータ装置Ｃ３は、第１のコンピュータ装置Ｃ１のデータベースオルガナイザ＿1と同期ルーチンの実行を開始することはできるが、各々が有するファイルパッケージのためだけに同期ルーチンの実行を開始できるようにすることが好ましい。例えば、PACKAGE＿1が第２のコンピュータ装置Ｃ２にあるから、第２のコンピュータ装置Ｃ２はPACKAGE＿1を対象として認識する同期ルーチンの実行を開始するようにする。同様に、第３のコンピュータ装置Ｃ３は、装置が有するファイルパッケージのいずれかに対する同期ルーチンの実行を開始するようにする。即ち、第３のコンピュータ装置Ｃ３はPACKAGE＿2〜PACKAGE＿nのいずれかに対する同期ルーチンの実行を開始するのである。
【００６８】
各ファイルパッケージ中のディレクトリ修正日付パラメータは、ファイルパッケージが格納されている各コンピュータ装置のローカルクロックにしたがって現在時間に更新される。例えば、PACKAGE＿1中のＤＭＤ＿1は第２のコンピュータ装置Ｃ２中のクロックCK２にしたがって更新される。同様に、ＤＭＤ＿2〜ＤＭＤ＿nは、第３のコンピュータ装置Ｃ３中のローカルクロックＣＫ３にしたがって更新される。記述レコードＤ１〜Ｄｎに対応するPACKAGE＿1〜PACKAGE＿nのすべての同期はいずれも個々に応じて行われ、全てのファイルパッケージが同じ基準クロックを使う必要はない。例えば、データベースオルガナイザ＿１が第３のコンピュータ装置のPACKAGE＿2に対応している記述レコードＤ２に対する同期ルーチンの実行を開始すると、対応するファイル修正日付パラメータＦＭＤ＿2はＤＭＤ＿2だけと比較され、ＦＭＤ＿2のすべての更新はクロックＣＫ３にしたがって行なわれる。
【００６９】
図１と図２の両方においては、第１のコンピュータ装置Ｃ１が独自のローカルクロックＣＫ１を有し、データベースオルガナイザ＿１はＰＭＤ＿１と識別されるパッケージ修正日付（ＰＭＤ）パラメータを含んでいることについて注目されるべきである。第１のコンピュータ装置Ｃ１は、自己の通常タスク処理のためと以下詳しく説明するが、クロックＣＫ１に基づく現在のタイムスタンプを有するパッケージ修正日付パラメータＰＭＤ＿1を更新するためにクロックＣＫ１を用いる。
【００７０】
データベースオルガナイザ＿1とファイルパッケージ，PACKAGE＿1〜PACKAGE＿nはネットワーク上で利用できるのが好適であり、データベースオルガナイザ＿１はファイルパッケージ，PACKAGE＿1〜PACKAGE＿nのいずれかへのアクセスをネットワーク上でコントロールできるのが好適である。さらに、ネットワークはインターネットであるのが好ましい。
【００７１】
従来技術で知られるように、多数のユーザが単一のサーバにアクセスしようとするとサーバのスピードは遅くなってしまう。さらに知られているように、インターネットには多数のユーザが接続されており、過剰な数のユーザが同時にアクセスするとデータベースオルガナイザ＿１を遅くしてしまう可能性がある。こうした問題を緩和するため、複数のサーバを用いることが知られており、複数の各サーバでは利用できるファイルのコピーを有しており、複数のサーバからユーザに配信する。
【００７２】
本発明ではこうした手法が考えられる他、更に複数のサーバが広い範囲に亘って配信することも考えられる。なお、この手法は複雑なものとなる。既に説明したように、ローカルファイルを格納するすべてのコンピュータ装置（図１と図２ではＣ２とＣ３）は、ローカルファイルの集積に対する更新や編集，削除，増加が可能である。複数のサーバは、各自のローカルコンピュータ装置に格納されているローカルファイルのコピーにアクセスできる独自のデータベースオルガナイザを有することが望ましいが、各サーバのローカルコンピュータ装置が独立して更新されるときにはすべてのサーバが正確なコピーを保持するようにすることは極めて困難なものとなる。
【００７３】
各コンピュータ装置が自己のローカルクロックを有しているから、単に各ファイルの最終の更新の日付を認識する日付スタンプを用いることは有効な解決策ではなく、全てのローカルクロックが同期される保証はない。更にその問題を複雑にしているのは、２つの異なるサーバが異なるタイムゾーンで同時に更新しても、各々は更新に対して異なるタイムスタンプを生成するように、複数のサーバが複数のタイムゾーンに亘って配置されることである。
【００７４】
パッケージ修正日付パラメータは、共通のローカルクロックを共有しない複数のイメージサーバをどうやって同期させるかという問題に対処するために、用いられる。
【００７５】
図３において、第１のコンピュータ装置Ｃ１は、図２の実施例より、ネットワーク１３を介して第４のコンピュータ装置Ｃ４と通信するよう図示されている。図２と同様な要素は全て、同様の性質を有するものとして示されている。図２と同様に、第１のコンピュータ装置Ｃ１は少なくとも一つのローカルファイル、例えばPACKAGE＿1ａを保持する第２のコンピュータ装置Ｃ２に直接アクセスできるように図示されている。同様に、第４のコンピュータ装置Ｃ４は、第２のデータベースオルガナイザとして機能し、直接アクセスする第５のコンピュータ装置Ｃ５中のローカルファイルの記述レコードを保持する。第２のコンピュータ装置Ｃ２のローカルファイルはPACKAGE＿1ａと表示され、第５のコンピュータ装置Ｃ５のローカルファイルはPACKAGE＿1ｂと表示され、PACKAGE＿1ａとPACKAGE＿1ｂは互いのコピーであることが好ましい。すなわち、PACKAGE＿1ａとPACKAGE＿1ｂは同一のローカルファイルを保有するべきである。このように、第１のコンピュータ装置Ｃ１のデータベースオルガナイザ＿1や第４のコンピュータ装置Ｃ４のデータベースオルガナイザ＿2は、リモートユーザ１５からのファイル要求にサービスを提供することができる。
【００７６】
リモートユーザ１５は、データベースオルガナイザ＿１あるいはデータベースオルガナイザ＿２のいずれかと通信してPACKAGE＿1（Ｃ２ではPACKAGE＿1ａ，Ｃ５ではPACKAGE＿1ｂと認識される）にアクセスするから、またPACKAGE＿1ａおよびPACKAGE＿1ｂのどちらもPACKAGE＿1のマスターコピーとして指定されていないから、PACKAGE＿1ａとPACKAGE＿1ｂの内容を同期することが重要となる。しかしながら、PACKAGE＿1ａとPACKAGE＿1ｂは両方とも独立して編集してもよいから、両者を同期させるのは困難である。
【００７７】
この問題に対処するため、両データベースオルガナイザは、パッケージ修正日付パラメータＰＭＤ＿1を第１のコンピュータ装置Ｃ１に、ＰＭＤ＿4を第４のコンピュータ装置Ｃ４に組み込む。第１の実施例では、ＰＭＤ＿1は第１のコンピュータ装置Ｃ１中のローカルクロックＣＫ１を基準とし、ＰＭＤ＿2は第４のコンピュータ装置Ｃ４中のローカルクロックＣＫ４を基準としている。第１のコンピュータ装置Ｃ１と第４のコンピュータ装置Ｃ４の一方にあるパッケージ修正日付パラメータは、以下に説明する様々な状況で更新され、PACKAGE＿1ａとPACKAGE＿1ｂとの同期に用いられる。
【００７８】
第1の手法において、第１のコンピュータ装置Ｃ１および第４のコンピュータ装置Ｃ４は、各々のローカルファイルパッケージ（例えばPACKAGE＿1ａやPACKAGE＿1ｂ）を伴うローカル同期ルーチンの最中に更新される各々のデータベースオルガナイザに対応して各々のＰＭＤパラメータを前もって更新する。上述したように、第１のコンピュータ装置Ｃ１は、第２のコンピュータ装置Ｃ２と通信し、自己のデータベースオルガナイザ＿１がPACKAGE＿1ａへの変更に伴って同期されるのを維持する。同様に第４のコンピュータ装置Ｃ４は、第５のコンピュータ装置Ｃ５と通信し、自己のデータベースオルガナイザ＿2がPACKAGE＿1ｂへの変更に伴って同期されるのを維持する。図１および図２に説明した手法によってデータベースオルガナイザ＿1がPACKAGE＿1ａにそれ自身が同期されるよう更新される毎に、パラメータＰＭＤ＿1はクロックＣＫ１により決定されるタイムスタンプによって更新される。同様に、図１および図２に説明した手法によってデータベースオルガナイザ＿2がPACKAGE＿1ｂ（あるいは図示されない他のローカルファイルパッケージ）にそれ自身が同期されるよう更新される毎に、ＰＭＤ＿2はクロックＣＫ４により決定されるタイムスタンプによって更新される。
【００７９】
すべてのデータベースオルガナイザは、ネットワーク１３を介してその他のデータベースオルガナイザに伴ってデータベース同期ルーチンを起動するものとしてもよい。データベースオルガナイザ＿1かデータベースオルガナイザ＿2のいずれかが、他方に伴ってデータベース同期ルーチンを起動すると、二つのデータベースオルガナイザはＰＭＤパラメータを交換する。最新のＰＭＤタイムスタンプを有するデータベースオルガナイザは、問題としている最新版のファイルパッケージ（この場合PACKAGE＿1）を持っていると考えられる。例えば、ＰＭＤ＿1がＰＭＤ＿2より最新のタイムスタンプであるときには、データベースオルガナイザ＿2はデータベースオルガナイザ＿1に適合するよう更新される。最新のＰＭＤを判定するには、異なるタイムゾーンのような様々な要因が影響するが、本発明では、これらの要因に対処するための様々な方法が考えられている。以下に詳しく説明する。
【００８０】
ＰＭＤ＿1がＰＭＤ＿2より最新の更新を示しているとすると、データベースオルガナイザ＿2の更新は種々の手法により達成される。第１の手法では、データベースオルガナイザ＿1はPACKAGE＿1ａの記述レコードをデータベースオルガナイザ＿2に送る。そして、データベースオルガナイザ＿2は受け取った記述レコードをPACKAGE＿1ｂの記述レコードと比較する。相違は見つけられ更新される。各々の記述レコードを更新させたPACKAGE＿1ｂの全てのファイルは、受け付けた記述レコードに基づいて自身を更新する。即ち、それらのファイルは、受け付けた記述レコードに示されていないときには削除されるか、ネットワーク１３を介してデータベースオルガナイザ＿1からデータベースオルガナイザ＿2に転送された対応するファイルに置き換えられる。PACKAGE＿1ｂのファイル、例えばイメージファイルの更新が必要なときには、更新が必要とされるイメージファイルだけが第１のコンピュータ装置Ｃ１や第２のコンピュータ装置Ｃ２およびネットワーク１３を介してデータベースオルガナイザ＿2へ転送されてPACKAGE＿1ｂの中に組み込まれる。すべての必要なサムネイルイメージは、第４のコンピュータ装置Ｃ４や第５のコンピュータ装置Ｃ５のいずれかによりローカル的に作成される。あるいは、PACKAGE＿1ａからのすべてのイメージファイルは、記述レコードと共にデータベースオルガナイザ＿2やPACKAGE＿1ｂに転送されるようにすることもできる。
【００８１】
既に説明したように、第１のコンピュータ装置Ｃ１および第２のコンピュータ装置Ｃ２は、異なる時間基準をもっていてもよい（例えば、異なるタイムゾーンにあるなど）。この問題に対処する手法も幾つかの他の実施例を提案することができる。第１の他の実施例では、第１のコンピュータ装置Ｃ１および第４のコンピュータ装置Ｃ４は、最初のＰＭＤパラメータの交換と共に（それぞれのローカルクロックＣＫ１，ＣＫ２に基づく）現在のタイムスタンプを交換する。第１のコンピュータ装置Ｃ１は、ローカルクロックＣＫ１により決定される自己の現在のタイムスタンプと、ローカルクロックＣＫ４に基づいて作成されて第４のコンピュータ装置Ｃ４から受け付けた現在のタイムスタンプとの時間差に着目する。そして、第１のコンピュータ装置Ｃ１は、その差をプラスあるいはマイナスにＰＭＤ＿1パラメータに追加して一時的な比較専用のＰＭＤ＿1パラメータを作成する。それ故、それは第４のコンピュータ装置Ｃ４ＰＭＤ＿2と同じタイムゾーンにシフトされる。そして、第１のコンピュータ装置Ｃ１は、比較専用のＰＭＤ＿1パラメータを第４のコンピュータ装置Ｃ４から受け付けたパラメータＰＭＤ＿2と比較する。こうしてＰＭＤ＿1とＰＭＤ＿2のタイムスタンプは共通のタイムゾーンで比較される。あるいは、ＰＭＤ＿1がＰＭＤ＿2をＰＭＤ＿1の本来のタイムゾーンにシフトする代りに、計算されたタイムゾーンの差を適宜ＰＭＤ＿2に追加したり、ＰＭＤ＿2から差し引く。そして、第４のコンピュータ装置Ｃ４は、同様のルーチンを実行し、そのローカルＰＭＤ＿2パラメータを受け付けたＰＭＤ＿1パラメータと比較する。
【００８２】
さらに他の実施例では、データベースオルガナイザ＿1かデータベースオルガナイザ＿2のいずれかがリモートサイトからの新しい記述レコードにより更新される毎に、その新しい記述レコードをリモートサイトから受け付けた現在のタイムスタンプと共に格納し、そのタイムスタンプを特定のリモートサイトと関連付ける。また、第１のコンピュータ装置Ｃ１のようなローカルコンピュータ装置がリモートサイト、即ち第４のコンピュータ装置Ｃ４から（リモートサイトからのデータレコードとＰＭＤパラメータと共に）新しい同期要求を受け付ける毎に、ローカルコンピュータ装置（第１のコンピュータ装置Ｃ１）は、リモートサイトから受け付けたＰＭＤパラメータ（この場合はＰＭＤ＿2）を前回の同期ルーチンからそのサイトに予め関連付けられて格納されたＰＭＤと比較する。新しく受け付けたＰＭＤパラメータが予め格納されているＰＭＤパラメータより最近のものであれば、リモートサイト（第４のコンピュータ装置Ｃ４）は前回の同期ルーチンからローカルファイルを更新させていたと考えられる。ローカルコンピュータ装置（第１のコンピュータ装置Ｃ１）が最後にリモートサイト（第４のコンピュータ装置Ｃ４）と同期してからそのファイルパッケージを更新していなければ、リモートサイトはより最近のファイルパッケージを持っていると考えられ、上述した方法と同様に、リモートサイト（第４のコンピュータ装置Ｃ４）からのデータによるそれ自身の更新が行なわれる。
【００８３】
本実施例では、第１のコンピュータ装置Ｃ１か第４のコンピュータ装置Ｃ４のいずれかが自己のファイルパッケージをローカル的に更新する毎に、自己のローカルクロックに基づいてタイムスタンプを更新された記述レコードに追加するのが好ましい（あるいは、ローカルクロックに基づいて自己のＰＭＤパラメータを更新してもよい）。この場合、ローカルコンピュータ装置（第１のコンピュータ装置Ｃ１）がリモートサイト（第４のコンピュータ装置Ｃ４）と共に最後に同期してからローカルコンピュータ装置（第１のコンピュータ装置Ｃ１）が自己のファイルパッケージをローカル的に更新させると、第１のタイムスパン（自己のローカル的な更新に対応して格納されたタイムスタンプとローカルクロックＣＫ１に基づく現在時間との時間差として決定される）を認識することとなり、そしてまた、新しく受け付けたリモートＰＭＤパラメータ（即ち、ＰＭＤ＿2）とリモートサイト（第４のコンピュータ装置Ｃ４）からの現在のタイムスタンプとの時間差として決定された第２のタイムスタンプを認識する。第１のタイムスパンが第２のタイムスパンより短いときには、ローカルコンピュータ装置（第１のコンピュータ装置Ｃ１）が最新版のデータレコードとファイルパッケージを持っていると判断される。
【００８４】
あるいは、リモートコンピュータサイト（第４のコンピュータ装置Ｃ４）は最新版のデータレコードとファイルパッケージを持っている判断される。最新のファイルパッケージを持っていると判断されたコンピュータ装置（第１のコンピュータ装置Ｃ１または第４のコンピュータ装置Ｃ４）は、上述した手法と同様に、他のコンピュータ装置のデータレコードとファイルパッケージを更新する。
【００８５】
上述の例において、第１のコンピュータ装置Ｃ１ようなローカル装置が第４のコンピュータ装置Ｃ４のようなリモート装置によって更新される毎に、自己のＰＭＤパラメータは更新される。ＰＭＤパラメータはリモート装置からのＰＭＤの値によって更新されてもよい。あるいは、それはローカルクロックに基づいて更新されてもよい。こうしたすべての例において、同様に、装置のＰＭＤの値は、記述レコード（例えば図１のＤ１〜Ｄｎ）のいずれかが更新される毎にローカルクロックに基づいて更新されるのが好ましい。このようにして、装置のＰＭＤパラメータは、自己の記述レコード（即ち、Ｄ１〜Ｄｎ）のいずれもが最新の変更に対応するものとなる。
【００８６】
ＰＭＤ＿1とＰＭＤ＿2を使って第１のコンピュータ装置Ｃ１や第２のコンピュータ装置Ｃ２を同期する上述のルーチンは、図１において第１のコンピュータ装置Ｃ１や第２のコンピュータ装置Ｃ２を同期するのに用いられてもよいと考えられる。この説明を第１のコンピュータ装置Ｃ１および第２のコンピュータ装置Ｃ２に適用する手法として、ＰＭＤ＿1をＦＭＤ＿1に、ＰＭＤ＿2をＤＭＤ＿1に代えるものとすることができる。
【００８７】
図４に示すように、異なるタイムゾーンに亘ってリモートコンピュータ装置を同期すると共に異なるローカルクロックを有する他のアーキテクチャは、専用の基準クロック３１を用いるものである。図２と同様の図４のすべての要素は同様の性質を有しており、既に説明されている。本実施例では、３つのリモートコンピュータ装置（第１のコンピュータ装置Ｃ１，第４のコンピュータ装置Ｃ４，第５のコンピュータ装置Ｃ５）がネットワーク１３を介してお互いに基準クロック３１と通信している。第５のコンピュータ装置Ｃ５は、第１のコンピュータ装置Ｃ１と第２のコンピュータ装置Ｃ２および第４のコンピュータ装置Ｃ４と第３のコンピュータ装置Ｃ３に関連して上述した手法と同様に、ローカルコンピュータ装置Ｃ６中のPACKAGE＿3にアクセスする。
【００８８】
基準クロック３１は、例えばインターネットを介して自由にアクセスできる米国海軍観測所の原子時計のように自由に入手できるクロック基準であってもよい。あるいは、リモートコンピュータ装置Ｃ１〜Ｃ６のうちで指定された一つのローカルクロックであってもよい。リモートコンピュータ装置（Ｃ１，Ｃ４，Ｃ６）のいずれかがローカル状態で更新するとき或いはリモート状態で更新されるときには、ＰＭＤパラメータは基準クロック３１に基づいて決定される。要するに、すべてのリモートコンピュータ装置のＰＭＤパラメータは、同じ基準クロック３１に同期している。このようにして、複数のローカルサーバと異なるタイムゾーンに関連する問題は解決される。
【００８９】
図５において、図１ないし図３と同様な要素はすべて同様の性質を有しており、既に説明されている。図５では、共通の基準クロックは使われず、複数のタイムゾーンに亘ってローカルクロックを異にするリモートコンピュータ装置（Ｃ１，Ｃ４，Ｃ５，Ｃ６）中のファイルパッケージ（１ａ，１ｂ，１ｃ）の同期は、図３を用いて説明したのと同様に行なわれる。図５の実施例において、データベースオルガナイザ＿1とPACKAGE＿1ａは両方ともひとつの第１のコンピュータ装置Ｃ１に組み込まれており、各々のＰＭＤおよびＦＭＤパラメータは両方とも一つのローカルクロックＣＫ１を基準として設定される。同様に、データベースオルガナイザ＿2とPACKAGE＿1ｂは、共に単一の第４のコンピュータ装置Ｃ４に組み込まれており、各々のＰＭＤおよびＦＭＤパラメータは共にローカルクロックＣＫ４を基準として設定される。
【００９０】
以上、本発明の実施の形態について実施例を用いて説明したが、本発明はこうした実施例に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において、種々なる形態で実施し得ることは勿論である。
【図面の簡単な説明】
【図１】  本発明のローカルファイル更新管理システムのブロック図。
【図２】  本発明のローカルファイル更新管理システムの他の構成としてブロック図。
【図３】  ２つのリモートファイルサーバにおける通信を示す本発明の編成システムのブロック図。
【図４】  ３つのリモートファイルサーバにおける通信を示す本発明の編成システムの他のブロック。
【図５】  ３つのリモートファイルサーバにおける通信を示す本発明の編成システムの更に他のブロック図。
【符号の説明】
Ｃ１  第１のコンピュータ装置、Ｃ２  第２のコンピュータ装置、Ｃ３  第３のコンピュータ装置、Ｃ４  第４のコンピュータ装置、Ｃ５  第５のコンピュータ装置、Ｃ６  第６のコンピュータ装置、１  データベースオルガナイザ、Ｄ１〜Ｄｎ  ファイルパッケージ、ＣＫ１〜ＣＫ６  クロック。
【図１】
0004254247.tif 000002
【図２】
0004254247.tif 000003
【図３】
0004254247.tif 000004
【図４】
0004254247.tif 000005
【図５】
0004254247.tif 000006