(57)【要約】【課題】ファイルを共有する複数のコンピュータ間においてシステム時間が同期していない場合でも、同一ファイルに対するコピーや新しいファイルを古いファイルで上書きすることを防止する。【解決手段】記憶装置に保存している共有ファイルが他のコンピュータに保存されている共有ファイルより新しければ、該保存している共有ファイルで該他のコンピュータに保存されている共有ファイルを更新するに当たって、該保存している共有ファイルの保存経過時間ＬＴＳＬＭを取得し（４４）、他のコンピュータに保存されている共有ファイルの保存経過時間ＲＴＳＬＭを取得し、これらを比較してＬＴＳＬＭの方が小さければ（４６）、記憶装置に保存している共有ファイルをコピーして他のコンピュータに保存されている共有ファイルを更新する（４７）。【選択図】　　　　　　図４
2004127004.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介して接続された複数のコンピュータ間で共有されるとともにそれぞれのコンピュータに保存される共有ファイルが、いずれかのコンピュータで更新されると、それ以外のコンピュータに保存されている共有ファイルを同期して更新する共有ファイル同期システムにおいて、一のコンピュータに保存されている共有ファイルが任意の他のコンピュータに保存されている共有ファイルより新しければ、該一のコンピュータに保存されている共有ファイルで該任意の他のコンピュータに保存されている共有ファイルを更新する共有ファイル同期方法であって、
同期対象の共有ファイルが一のコンピュータに保存されてから現在までの時間である第１の保存経過時間と、該同期対象の共有ファイルが任意の他のコンピュータにおいて保存されてから現在までの時間である第２の保存経過時間とを比較し、
第１の保存経過時間の方が小さい場合、一のコンピュータに保存されている共有ファイルで任意の他のコンピュータに保存されている共有ファイルを更新する
ことを特徴とする共有ファイル同期方法。
【請求項２】
ネットワークを介して接続された複数のコンピュータ間で共有されるとともにそれぞれのコンピュータに保存される共有ファイルが、いずれかのコンピュータで更新されると、それ以外のコンピュータに保存されている共有ファイルを同期して更新する共有ファイル同期システムにおいて、一のコンピュータに保存されている共有ファイルより任意の他のコンピュータに保存されている共有ファイルが新しければ、該一のコンピュータに保存されている共有ファイルを該任意の他のコンピュータに保存されている共有ファイルで更新する共有ファイル同期方法であって、
同期対象の共有ファイルが一のコンピュータに保存されてから現在までの時間である第１の保存経過時間と、該同期対象の共有ファイルが任意の他のコンピュータにおいて保存されてから現在までの時間である第２の保存経過時間とを比較し、
第１の保存経過時間の方が大きい場合、一のコンピュータに保存されている共有ファイルを任意の他のコンピュータに保存されている共有ファイルで更新する
ことを特徴とする共有ファイル同期方法。
【請求項３】
請求項１または２記載の共有ファイル同期方法において、
第１の保存経過時間と第２の保存経過時間とを比較する場合、これらのデータをネットワークを介して取得する際に発生する伝達遅延時間を考慮して行う
ことを特徴とする共有ファイル同期方法。
【請求項４】
ネットワークを介して接続された複数のコンピュータ間で共有されるとともにそれぞれのコンピュータに保存される共有ファイルが、いずれかのコンピュータで更新されると、それ以外のコンピュータに保存されている共有ファイルを同期して更新する共有ファイル同期システムにおいて、
各コンピュータは、
共有ファイルを蓄積する記憶装置と、
前記記憶装置内に保存されている共有ファイルの読み込みや書き込みの処理、共有ファイルが前記記憶装置に保存されてから現在までの時間である保存経過時間の取得処理を行う記憶装置制御部と、
どの共有ファイルを同期させるのかといった同期構成情報を蓄積する同期構成情報蓄積部と、
ネットワークを介して任意の他のコンピュータに対してデータを要求して取得し、あるいは任意の他のコンピュータからの要求を受け付けてデータを供与する通信制御部と、
前記同期構成情報蓄積部に蓄積されている情報をもとに前記記憶装置内に保存されている共有ファイルの同期更新処理を行う同期制御部とをそれぞれ備え、
各コンピュータの同期制御部は、
任意の時点において、
自コンピュータにおける同期対象の共有ファイルの保存経過時間ＬＴＳＬＭを前記記憶装置制御部を介して取得し、任意の他のコンピュータにおける同期対象の共有ファイルの保存経過時間ＲＴＳＬＭを前記通信制御部を介して取得し、これらを比較してＬＴＳＬＭの方が小さければ、自コンピュータに保存されている共有ファイルで任意の他のコンピュータに保存されている共有ファイルを更新する処理、又は、
自コンピュータにおける同期対象の共有ファイルの保存経過時間ＬＴＳＬＭを前記記憶装置制御部を介して取得し、任意の他のコンピュータにおける同期対象の共有ファイルの保存経過時間ＲＴＳＬＭを前記通信制御部を介して取得し、これらを比較してＬＴＳＬＭの方が大きければ、自コンピュータに保存されている共有ファイルを任意の他のコンピュータに保存されている共有ファイルで更新する処理のいずれか一方もしくは両方を行う
ことを特徴とする共有ファイル同期システム。
【請求項５】
請求項４記載の共有ファイル同期システムにおいて、
各コンピュータは、前記に加え、
ネットワークを介して任意の他のコンピュータとデータをやりとりする際に生じる伝送遅延時間ＲＴＴを監視するＲＴＴ監視部を備え、
各コンピュータの同期制御部は、
任意の時点において、
自コンピュータにおける同期対象の共有ファイルの保存経過時間ＬＴＳＬＭを前記記憶装置制御部を介して取得し、任意の他のコンピュータにおける同期対象の共有ファイルの保存経過時間ＲＴＳＬＭを前記通信制御部を介して取得し、自コンピュータと任意の他のコンピュータとの間の伝送遅延時間ＲＴＴを前記ＲＴＴ監視部から取得し、ＲＴＳＬＭにＲＴＴを１／２倍したものを加えた値とＬＴＳＬＭとを比較してＬＴＳＬＭの方が小さければ、自コンピュータに保存されている共有ファイルで任意の他のコンピュータに保存されている共有ファイルを更新する処理、又は、
自コンピュータにおける同期対象の共有ファイルの保存経過時間ＬＴＳＬＭを前記記憶装置制御部を介して取得し、任意の他のコンピュータにおける同期対象の共有ファイルの保存経過時間ＲＴＳＬＭを前記通信制御部を介して取得し、自コンピュータと任意の他のコンピュータとの間の伝送遅延時間ＲＴＴを前記ＲＴＴ監視部から取得し、ＲＴＳＬＭにＲＴＴを１／２倍したものを加えた値とＬＴＳＬＭとを比較してＬＴＳＬＭの方が大きければ、自コンピュータに保存されている共有ファイルを任意の他のコンピュータに保存されている共有ファイルで更新する処理のいずれか一方もしくは両方を行う
ことを特徴とする共有ファイル同期システム。
【請求項６】
請求項４または５記載の共有ファイル同期システムにおいて、
各コンピュータは、前記に加え、
前記記憶装置内に保存されている共有ファイルをもとにそのファイルの唯一性を保証する固定長の擬似乱数を計算し、管理する乱数管理部と、
前記乱数管理部により計算された擬似乱数を保存する乱数蓄積部とを備え、
各コンピュータの同期制御部は、共有ファイルの保存経過時間の比較に先立って、自コンピュータにおける同期対象の共有ファイルの擬似乱数を前記乱数管理部を介して取得し、任意の他のコンピュータにおける同期対象の共有ファイルの擬似乱数を前記通信制御部を介して取得し、これらを比較して同一であれば同期対象の共有ファイルは同一であると判断し、以降の処理を停止する
ことを特徴とする共有ファイル同期システム。
【請求項７】
ネットワークを介して接続された任意の他のコンピュータとの間で共有するファイルを保存し、該保存している共有ファイルが任意の他のコンピュータに保存されている共有ファイルより新しければ、該保存している共有ファイルで該任意の他のコンピュータに保存されている共有ファイルを更新するコンピュータであって、
共有ファイルを蓄積する記憶装置と、
前記記憶装置内に保存されている共有ファイルの読み込みや書き込みの処理、共有ファイルが前記記憶装置に保存されてから現在までの時間である保存経過時間の取得処理を行う記憶装置制御部と、
どの共有ファイルを同期させるのかといった同期構成情報を蓄積する同期構成情報蓄積部と、
ネットワークを介して任意の他のコンピュータに対してデータを要求して取得し、あるいは任意の他のコンピュータからの要求を受け付けてデータを供与する通信制御部と、
前記同期構成情報蓄積部に蓄積されている情報をもとに前記記憶装置内に保存されている共有ファイルの同期更新処理を行う同期制御部とを備え、
前記同期制御部は、
任意の時点において、
前記記憶装置に保存されている同期対象の共有ファイルの保存経過時間ＬＴＳＬＭを前記記憶装置制御部を介して取得し、任意の他のコンピュータにおける同期対象の共有ファイルの保存経過時間ＲＴＳＬＭを前記通信制御部を介して取得し、これらを比較してＬＴＳＬＭの方が小さければ、前記記憶装置に保存されている共有ファイルで任意の他のコンピュータに保存されている共有ファイルを更新する処理を行う
ことを特徴とするコンピュータ。
【請求項８】
請求項７記載のコンピュータにおいて、
前記に加え、
ネットワークを介して任意の他のコンピュータとデータをやりとりする際に生じる伝送遅延時間ＲＴＴを監視するＲＴＴ監視部を備え、
前記同期制御部は、
任意の時点において、
前記記憶装置に保存されている同期対象の共有ファイルの保存経過時間ＬＴＳＬＭを前記記憶装置制御部を介して取得し、任意の他のコンピュータにおける同期対象の共有ファイルの保存経過時間ＲＴＳＬＭを前記通信制御部を介して取得し、任意の他のコンピュータとの間の伝送遅延時間ＲＴＴを前記ＲＴＴ監視部から取得し、ＲＴＳＬＭにＲＴＴを１／２倍したものを加えた値とＬＴＳＬＭとを比較してＬＴＳＬＭの方が小さければ、前記記憶装置に保存されている共有ファイルで任意の他のコンピュータに保存されている共有ファイルを更新する処理を行う
ことを特徴とするコンピュータ。
【請求項９】
ネットワークを介して接続された任意の他のコンピュータとの間で共有するファイルを保存し、該保存している共有ファイルより任意の他のコンピュータに保存されている共有ファイルが新しければ、該保存している共有ファイルを該任意の他のコンピュータに保存されている共有ファイルで更新するコンピュータであって、
共有ファイルを蓄積する記憶装置と、
前記記憶装置内に保存されている共有ファイルの読み込みや書き込みの処理、共有ファイルが前記記憶装置に保存されてから現在までの時間である保存経過時間の取得処理を行う記憶装置制御部と、
どの共有ファイルを同期させるのかといった同期構成情報を蓄積する同期構成情報蓄積部と、
ネットワークを介して任意の他のコンピュータに対してデータを要求して取得し、あるいは任意の他のコンピュータからの要求を受け付けてデータを供与する通信制御部と、
前記同期構成情報蓄積部に蓄積されている情報をもとに前記記憶装置内に保存されている共有ファイルの同期更新処理を行う同期制御部とを備え、
前記同期制御部は、
任意の時点において、
前記記憶装置に保存されている同期対象の共有ファイルの保存経過時間ＬＴＳＬＭを前記記憶装置制御部を介して取得し、任意の他のコンピュータにおける同期対象の共有ファイルの保存経過時間ＲＴＳＬＭを前記通信制御部を介して取得し、これらを比較してＬＴＳＬＭの方が大きければ、前記記憶装置に保存されている共有ファイルを任意の他のコンピュータに保存されている共有ファイルで更新する処理を行う
ことを特徴とするコンピュータ。
【請求項１０】
請求項９記載のコンピュータにおいて、
前記に加え、
ネットワークを介して任意の他のコンピュータとデータをやりとりする際に生じる伝送遅延時間ＲＴＴを監視するＲＴＴ監視部を備え、
前記同期制御部は、
任意の時点において、
前記記憶装置に保存されている同期対象の共有ファイルの保存経過時間ＬＴＳＬＭを前記記憶装置制御部を介して取得し、任意の他のコンピュータにおける同期対象の共有ファイルの保存経過時間ＲＴＳＬＭを前記通信制御部を介して取得し、任意の他のコンピュータとの間の伝送遅延時間ＲＴＴを前記ＲＴＴ監視部から取得し、ＲＴＳＬＭにＲＴＴを１／２倍したものを加えた値とＬＴＳＬＭとを比較してＬＴＳＬＭの方が大きければ、前記記憶装置に保存されている共有ファイルを任意の他のコンピュータに保存されている共有ファイルで更新する処理を行う
ことを特徴とするコンピュータ。
【請求項１１】
請求項７乃至１０いずれか記載のコンピュータにおいて、
前記に加え、
前記記憶装置内に保存されている共有ファイルをもとにそのファイルの唯一性を保証する固定長の擬似乱数を計算し、管理する乱数管理部と、
前記乱数管理部により計算された擬似乱数を保存する乱数蓄積部とを備え、
前記同期制御部は、
共有ファイルの保存経過時間の比較に先立って、前記記憶装置に保存されている同期対象の共有ファイルの擬似乱数を前記乱数管理部を介して取得し、任意の他のコンピュータにおける同期対象の共有ファイルの擬似乱数を前記通信制御部を介して取得し、これらを比較して同一であれば同期対象の共有ファイルは同一であると判断し、以降の処理を停止する
ことを特徴とするコンピュータ。
【請求項１２】
ネットワークを介して接続された任意の他のコンピュータとの間で共有するファイルを保存し、該保存している共有ファイルが任意の他のコンピュータに保存されている共有ファイルより新しければ、該保存している共有ファイルで該任意の他のコンピュータに保存されている共有ファイルを更新するコンピュータにおける共有ファイル同期プログラムであって、
該プログラムは、
共有ファイルを蓄積する記憶装置と、
前記記憶装置内に保存されている共有ファイルの読み込みや書き込みの処理、共有ファイルが前記記憶装置に保存されてから現在までの時間である保存経過時間の取得処理を行う記憶装置制御部と、
どの共有ファイルを同期させるのかといった同期構成情報を蓄積する同期構成情報蓄積部と、
ネットワークを介して任意の他のコンピュータに対してデータを要求して取得し、あるいは任意の他のコンピュータからの要求を受け付けてデータを供与する通信制御部と、
前記同期構成情報蓄積部に蓄積されている情報をもとに前記記憶装置内に保存されている共有ファイルの同期更新処理を行う同期制御部とを用い、
前記同期制御部に、
任意の時点において、
前記記憶装置に保存されている同期対象の共有ファイルの保存経過時間ＬＴＳＬＭを前記記憶装置制御部を介して取得し、任意の他のコンピュータにおける同期対象の共有ファイルの保存経過時間ＲＴＳＬＭを前記通信制御部を介して取得し、これらを比較してＬＴＳＬＭの方が小さければ、前記記憶装置に保存されている共有ファイルで任意の他のコンピュータに保存されている共有ファイルを更新する処理を実行させる
ことを特徴とする共有ファイル同期プログラム。
【請求項１３】
請求項１２記載の共有ファイル同期プログラムにおいて、
コンピュータは前記に加え、
ネットワークを介して任意の他のコンピュータとデータをやりとりする際に生じる伝送遅延時間ＲＴＴを監視するＲＴＴ監視部を備え、
該プログラムは、前記同期制御部に、
任意の時点において、
前記記憶装置に保存されている同期対象の共有ファイルの保存経過時間ＬＴＳＬＭを前記記憶装置制御部を介して取得し、任意の他のコンピュータにおける同期対象の共有ファイルの保存経過時間ＲＴＳＬＭを前記通信制御部を介して取得し、任意の他のコンピュータとの間の伝送遅延時間ＲＴＴを前記ＲＴＴ監視部から取得し、ＲＴＳＬＭにＲＴＴを１／２倍したものを加えた値とＬＴＳＬＭとを比較してＬＴＳＬＭの方が小さければ、前記記憶装置に保存されている共有ファイルで任意の他のコンピュータに保存されている共有ファイルを更新する処理を実行させる
ことを特徴とする共有ファイル同期プログラム。
【請求項１４】
ネットワークを介して接続された任意の他のコンピュータとの間で共有するファイルを保存し、該保存している共有ファイルより任意の他のコンピュータに保存されている共有ファイルが新しければ、該保存している共有ファイルを該任意の他のコンピュータに保存されている共有ファイルで更新するコンピュータにおける共有ファイル同期プログラムであって、
該プログラムは、
共有ファイルを蓄積する記憶装置と、
前記記憶装置内に保存されている共有ファイルの読み込みや書き込みの処理、共有ファイルが前記記憶装置に保存されてから現在までの時間である保存経過時間の取得処理を行う記憶装置制御部と、
どの共有ファイルを同期させるのかといった同期構成情報を蓄積する同期構成情報蓄積部と、
ネットワークを介して任意の他のコンピュータに対してデータを要求して取得し、あるいは任意の他のコンピュータからの要求を受け付けてデータを供与する通信制御部と、
前記同期構成情報蓄積部に蓄積されている情報をもとに前記記憶装置内に保存されている共有ファイルの同期更新処理を行う同期制御部とを用い、
前記同期制御部に、
任意の時点において、
前記記憶装置に保存されている同期対象の共有ファイルの保存経過時間ＬＴＳＬＭを前記記憶装置制御部を介して取得し、任意の他のコンピュータにおける同期対象の共有ファイルの保存経過時間ＲＴＳＬＭを前記通信制御部を介して取得し、これらを比較してＬＴＳＬＭの方が大きければ、前記記憶装置に保存されている共有ファイルを任意の他のコンピュータに保存されている共有ファイルで更新する処理を実行させる
ことを特徴とする共有ファイル同期プログラム。
【請求項１５】
請求項１４記載の共有ファイル同期プログラムにおいて、
コンピュータは前記に加え、
ネットワークを介して任意の他のコンピュータとデータをやりとりする際に生じる伝送遅延時間ＲＴＴを監視するＲＴＴ監視部を備え、
該プログラムは、前記同期制御部に、
任意の時点において、
前記記憶装置に保存されている同期対象の共有ファイルの保存経過時間ＬＴＳＬＭを前記記憶装置制御部を介して取得し、任意の他のコンピュータにおける同期対象の共有ファイルの保存経過時間ＲＴＳＬＭを前記通信制御部を介して取得し、任意の他のコンピュータとの間の伝送遅延時間ＲＴＴを前記ＲＴＴ監視部から取得し、ＲＴＳＬＭにＲＴＴを１／２倍したものを加えた値とＬＴＳＬＭとを比較してＬＴＳＬＭの方が大きければ、前記記憶装置に保存されている共有ファイルを任意の他のコンピュータに保存されている共有ファイルで更新する処理を実行させる
ことを特徴とする共有ファイル同期プログラム。
【請求項１６】
請求項１２乃至１５いずれか記載の共有ファイル同期プログラムにおいて、
コンピュータは前記に加え、
前記記憶装置内に保存されている共有ファイルをもとにそのファイルの唯一性を保証する固定長の擬似乱数を計算し、管理する乱数管理部と、
前記乱数管理部により計算された擬似乱数を保存する乱数蓄積部とを備え、
該プログラムは、前記同期制御部に、
共有ファイルの保存経過時間の比較に先立って、前記記憶装置に保存されている同期対象の共有ファイルの擬似乱数を前記乱数管理部を介して取得し、任意の他のコンピュータにおける同期対象の共有ファイルの擬似乱数を前記通信制御部を介して取得し、これらを比較して同一であれば同期対象の共有ファイルは同一であると判断し、以降の処理を停止する処理を実行させる
ことを特徴とする共有ファイル同期プログラム。
【請求項１７】
請求項１２乃至１６いずれか記載の共有ファイル同期プログラムを記録したことを特徴とするコンピュータ読み取り可能な媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、複数のコンピュータ間で共有されるとともにそれぞれのコンピュータに保存される共有ファイルを同期して最新版に更新する技術に関する。
【０００２】
【従来の技術】
従来、ネットワークを介して接続された複数のコンピュータ間で共有されるとともにそれぞれのコンピュータに保存される共有ファイルが、いずれかのコンピュータで最新版に更新された際、それ以外のコンピュータに保存されている共有ファイルを同期して該最新版に更新するためには、各コンピュータに保存されている共有ファイルが属性として持つ最終更新日時をコンピュータ間で比較することにより、最終更新日時のより新しいものを最新版と判断し、該最新版を各コンピュータにコピーして、該同期を実現していた。代表的な技術に、ＵＮＩＸ（登録商標）のコマンドであるｒｓｙｎｃが挙げられる。
【０００３】
【発明が解決しようとする課題】
しかしながら、ファイルが属性として持つ最終更新日時は、そのファイルを保存するコンピュータのシステム時間に従って付与されるものであり、比較する任意のコンピュータ間でそのシステム時間が同期されていない場合は、それらを正しく比較することができなかった。これは、以下のような問題を引き起こす。
【０００４】
（１）相対的に時間が進んでいるコンピュータから、ある任意の時点で相対的に時間が遅れているコンピュータに対して、共有ファイルを最新版としてコピーしても、後者のコンピュータで保存される時に該最新版に対して付与される最終更新日時は、前者のコンピュータで保存された時に該最新版に対して付与された最終更新日時よりも相対的に前の値になってしまい、結果として、前者のコンピュータから後者のコンピュータに対して、該最新版のコピーが再度行われるという非効率的な処理が行われることがあった。
【０００５】
（２）相対的に時間が遅れているコンピュータで共有ファイルを更新し、該共有ファイルの最終更新日時が変更されても、ある任意の時点で相対的に時間が進んでいるコンピュータの最新版でない共有ファイルの更新日時とそれを比較して、後者のコンピュータの共有ファイルの最終更新日時の方が相対的に後の値であった場合、その最新版でない共有ファイルで、前者のコンピュータの最新版である共有ファイルを上書きコピーしてしまうという誤った処理が行われることがあった。
【０００６】
（３）更に、任意のコンピュータの間で通信を行う時に、ネットワークにおけるデータ伝送遅延が発生すると、各コンピュータから最終更新日時をデータとして取得する時に遅延が発生してしまい、上記の比較を正確に行うことができなかった。
【０００７】
本発明は、上記事情を鑑みてなされたものであり、その目的とするところは、ファイルを共有する複数のコンピュータ間においてシステム時間が同期していない場合でも、同一ファイルに対するコピーや新しいファイルを古いファイルで上書きすることを防止することにある。
【０００８】
また、本発明は、上記事情を鑑みてなされたものであり、その目的とするところは、ファイルを共有する複数のコンピュータ間においてデータ伝送遅延が発生する場合でも、同一ファイルに対するコピーや新しいファイルを古いファイルで上書きすることを防止することにある。
【０００９】
【課題を解決するための手段】
上記目的を達成するため、本発明では、以下のような共有ファイル同期方法を提案する。
【００１０】
即ち、ネットワークを介して接続された複数のコンピュータ間で共有されるとともにそれぞれのコンピュータに保存される共有ファイルが、いずれかのコンピュータで更新されると、それ以外のコンピュータに保存されている共有ファイルを同期して更新する共有ファイル同期システムにおいて、一のコンピュータに保存されている共有ファイルが任意の他のコンピュータに保存されている共有ファイルより新しければ、該一のコンピュータに保存されている共有ファイルで該任意の他のコンピュータに保存されている共有ファイルを更新する共有ファイル同期方法であって、同期対象の共有ファイルが一のコンピュータに保存されてから現在までの時間である第１の保存経過時間と、該同期対象の共有ファイルが任意の他のコンピュータにおいて保存されてから現在までの時間である第２の保存経過時間とを比較し、第１の保存経過時間の方が小さい場合、一のコンピュータに保存されている共有ファイルで任意の他のコンピュータに保存されている共有ファイルを更新することを特徴とする。
【００１１】
また、本発明では、以下のような共有ファイル同期方法を提案する。
【００１２】
即ち、ネットワークを介して接続された複数のコンピュータ間で共有されるとともにそれぞれのコンピュータに保存される共有ファイルが、いずれかのコンピュータで更新されると、それ以外のコンピュータに保存されている共有ファイルを同期して更新する共有ファイル同期システムにおいて、一のコンピュータに保存されている共有ファイルより任意の他のコンピュータに保存されている共有ファイルが新しければ、該一のコンピュータに保存されている共有ファイルを該任意の他のコンピュータに保存されている共有ファイルで更新する共有ファイル同期方法であって、同期対象の共有ファイルが一のコンピュータに保存されてから現在までの時間である第１の保存経過時間と、該同期対象の共有ファイルが任意の他のコンピュータにおいて保存されてから現在までの時間である第２の保存経過時間とを比較し、第１の保存経過時間の方が大きい場合、一のコンピュータに保存されている共有ファイルを任意の他のコンピュータに保存されている共有ファイルで更新することを特徴とする。
【００１３】
また、本発明では、前述したいずれかの共有ファイル同期方法において、第１の保存経過時間と第２の保存経過時間とを比較する場合、これらのデータをネットワークを介して取得する際に発生する伝達遅延時間を考慮して行うことを特徴とする。
【００１４】
また、本発明では、前述した共有ファイル同期方法を用いたシステムとして、以下のような共有ファイル同期システムを提案する。
【００１５】
即ち、ネットワークを介して接続された複数のコンピュータ間で共有されるとともにそれぞれのコンピュータに保存される共有ファイルが、いずれかのコンピュータで更新されると、それ以外のコンピュータに保存されている共有ファイルを同期して更新する共有ファイル同期システムにおいて、
各コンピュータは、共有ファイルを蓄積する記憶装置と、前記記憶装置内に保存されている共有ファイルの読み込みや書き込みの処理、共有ファイルが前記記憶装置に保存されてから現在までの時間である保存経過時間の取得処理を行う記憶装置制御部と、どの共有ファイルを同期させるのかといった同期構成情報を蓄積する同期構成情報蓄積部と、ネットワークを介して任意の他のコンピュータに対してデータを要求して取得し、あるいは任意の他のコンピュータからの要求を受け付けてデータを供与する通信制御部と、前記同期構成情報蓄積部に蓄積されている情報をもとに前記記憶装置内に保存されている共有ファイルの同期更新処理を行う同期制御部とをそれぞれ備え、
各コンピュータの同期制御部は、任意の時点において、自コンピュータにおける同期対象の共有ファイルの保存経過時間ＬＴＳＬＭを前記記憶装置制御部を介して取得し、任意の他のコンピュータにおける同期対象の共有ファイルの保存経過時間ＲＴＳＬＭを前記通信制御部を介して取得し、これらを比較してＬＴＳＬＭの方が小さければ、自コンピュータに保存されている共有ファイルで任意の他のコンピュータに保存されている共有ファイルを更新する処理、又は、自コンピュータにおける同期対象の共有ファイルの保存経過時間ＬＴＳＬＭを前記記憶装置制御部を介して取得し、任意の他のコンピュータにおける同期対象の共有ファイルの保存経過時間ＲＴＳＬＭを前記通信制御部を介して取得し、これらを比較してＬＴＳＬＭの方が大きければ、自コンピュータに保存されている共有ファイルを任意の他のコンピュータに保存されている共有ファイルで更新する処理のいずれか一方もしくは両方を行うことを特徴とする。
【００１６】
また、本発明では、以下のような共有ファイル同期システムを提案する。
【００１７】
即ち、前述した共有ファイル同期システムにおいて、各コンピュータは、前記に加え、ネットワークを介して任意の他のコンピュータとデータをやりとりする際に生じる伝送遅延時間ＲＴＴを監視するＲＴＴ監視部を備え、
各コンピュータの同期制御部は、任意の時点において、自コンピュータにおける同期対象の共有ファイルの保存経過時間ＬＴＳＬＭを前記記憶装置制御部を介して取得し、任意の他のコンピュータにおける同期対象の共有ファイルの保存経過時間ＲＴＳＬＭを前記通信制御部を介して取得し、自コンピュータと任意の他のコンピュータとの間の伝送遅延時間ＲＴＴを前記ＲＴＴ監視部から取得し、ＲＴＳＬＭにＲＴＴを１／２倍したものを加えた値とＬＴＳＬＭとを比較してＬＴＳＬＭの方が小さければ、自コンピュータに保存されている共有ファイルで任意の他のコンピュータに保存されている共有ファイルを更新する処理、又は、自コンピュータにおける同期対象の共有ファイルの保存経過時間ＬＴＳＬＭを前記記憶装置制御部を介して取得し、任意の他のコンピュータにおける同期対象の共有ファイルの保存経過時間ＲＴＳＬＭを前記通信制御部を介して取得し、自コンピュータと任意の他のコンピュータとの間の伝送遅延時間ＲＴＴを前記ＲＴＴ監視部から取得し、ＲＴＳＬＭにＲＴＴを１／２倍したものを加えた値とＬＴＳＬＭとを比較してＬＴＳＬＭの方が大きければ、自コンピュータに保存されている共有ファイルを任意の他のコンピュータに保存されている共有ファイルで更新する処理のいずれか一方もしくは両方を行うことを特徴とする。
【００１８】
また、本発明では、以下のような共有ファイル同期システムを提案する。
【００１９】
即ち、前述したいずれかの前記共有ファイル同期システムにおいて、各コンピュータは、前記に加え、前記記憶装置内に保存されている共有ファイルをもとにそのファイルの唯一性を保証する固定長の擬似乱数を計算し、管理する乱数管理部と、前記乱数管理部により計算された擬似乱数を保存する乱数蓄積部とを備え、各コンピュータの同期制御部は、共有ファイルの保存経過時間の比較に先立って、自コンピュータにおける同期対象の共有ファイルの擬似乱数を前記乱数管理部を介して取得し、任意の他のコンピュータにおける同期対象の共有ファイルの擬似乱数を前記通信制御部を介して取得し、これらを比較して同一であれば同期対象の共有ファイルは同一であると判断し、以降の処理を停止することを特徴とする。
【００２０】
【発明の実施の形態】
本発明の一実施の形態にかかる共有ファイル同期システムについて図面を参照して説明する。
【００２１】
図１は本発明の共有ファイル同期システム全体を示す構成図である。図２は本システムにおけるコンピュータの詳細を示す構成図である。図３は同期構成情報蓄積部の記憶内容の一例を示す説明図である。図４は送信同期アルゴリズムに関する処理の流れ図である。図５は受信同期アルゴリズムに関する処理の流れ図である。
【００２２】
図１に示すように、本発明の共有ファイル同期システムは、共有ファイルの実体をそれぞれ保存している複数のコンピュータ１０がネットワーク２０を介して接続されて構成されている。
【００２３】
図２に示すように、コンピュータ１０は、記憶装置１１と、記憶装置制御部１２と、乱数管理部１３と、乱数蓄積部１４と、ＲＴＴ監視部１５と、同期構成情報蓄積部１６と、通信制御部１７と、同期制御部１８とを備えている。
【００２４】
記憶装置１１は、共有ファイルを保存（蓄積）する。なお、記憶装置１１は複数の共有ファイルを蓄積可能である。記憶装置制御部１２は、記憶装置１１に保存されている共有ファイルに対し、該共有ファイルの読み込みや書き込みの処理を行う。
【００２５】
乱数管理部１３は、記憶装置１１内に保存されている共有ファイルをもとに、そのファイルの唯一性を保証できるような固定長の擬似乱数（メッセージダイジェスト）を、不可逆な一方向関数を使って計算する。乱数蓄積部１４は、乱数管理部１３により計算されたメッセージダイジェストを対応する共有ファイルのファイル識別子と対にして保存する。
【００２６】
ＲＴＴ監視部１５は、ネットワーク２０を介して任意の他のコンピュータとデータをやりとりする際に生じるデータ伝送遅延を逐一監視し、その伝送遅延時間ＲＴＴ（データ取得要求を出し、これに対する応答を受信するまでの往復時間）を対応する任意の他のコンピュータのコンピュータ識別子と対にして保存する。
【００２７】
同期構成情報蓄積部１６は、どの共有ファイルを同期させるのかといった同期構成情報を蓄積する。通信制御部１７は、ネットワーク２０を介して任意の他のコンピュータに対してデータを要求して取得し、あるいは任意の他のコンピュータからの要求を受け付けてデータを供与する。
【００２８】
同期制御部１８は、同期構成情報蓄積部１６に保存された情報をもとに記憶装置１１内に保存されている共有ファイルの同期更新処理を行う。
【００２９】
本実施の形態では、記憶装置制御部１２、乱数管理部１３、ＲＴＴ監視部１５、通信制御部１７及び同期制御部１８を、ＣＧＩプログラムやサーブレットとして実装した例を説明する。また、他のコンピュータと通信を行うプロトコルとしてはＨＴＴＰを、乱数管理部１３がメッセージダイジェストを生成するためのアルゴリズムとしてはＭＤ５を、そしてコンピュータ識別子としてＩＰアドレスを用いている。更に、同期する対象の共有ファイルにはディレクトリも含まれているものとする。同期する対象の共有ファイルにディレクトリが指定されていたら、該ディレクトリに含まれる全てのファイルやディレクトリが同期の対象となる。以下では、同期する対象の共有ファイルやディレクトリを単に共有ファイルと呼ぶ。
【００３０】
記憶装置制御部１２は、記憶装置１１内に蓄積された共有ファイルに対する読み込み処理、書き込み処理を実行する機能を提供する。即ち、記憶装置制御部１２は、同期制御部１８から任意のファイル識別子に対する読み込み命令があると、記憶装置１１内に蓄積された該ファイル識別子に対応するファイルを読み込んで同期制御部１８に渡す。また、記憶装置制御部１２は、同期制御部１８から任意のファイル識別子に対する書き込み命令があると、同期制御部１８から渡されたファイルを、記憶装置１１内に蓄積された該ファイル識別子に対応するファイルに上書きする。さらにまた、記憶装置制御部１２は、同期制御部１８から記憶装置１１内に存在しないファイルに対する書き込み命令があると、同期制御部１８から渡されたファイルを、該ファイルに対応して指定されたファイル識別子とともに記憶装置１１内に書き込む。
【００３１】
また、記憶装置制御部１２は、記憶装置１１に蓄積されている共有ファイルの保存経過時間を取得する処理を実行する機能を提供する。即ち、記憶装置制御部１２は、同期制御部１８から任意のファイル識別子に対する保存経過時間の取得命令があると、ＯＳと連携して、対応する共有ファイルの保存経過時間（当該共有ファイルが記憶装置１１に保存されてから現在までの時間）を計算（具体的には、該当ファイルの最終更新日時と現在のシステム時間との差を計算）し、同期制御部１８に供与する。
【００３２】
乱数管理部１３は、記憶装置１１内に保存されている共有ファイルのバイト配列をもとに、ＭＤ５を用いて、そのメッセージダイジェストを計算し、ファイル識別子と対応付けて乱数蓄積部１４に保存する。また、乱数管理部１３は、同期制御部１８から任意のファイル識別子に対する乱数取得命令があると、対応する乱数を乱数蓄積部１４から取得し、同期制御部１８に供与する。
【００３３】
ＲＴＴ監視部１５は、同期を行う他のコンピュータと自コンピュータの間のデータ伝送遅延を常に監視し、伝送遅延時間ＲＴＴを他のコンピュータを表すコンピュータ識別子と対にして保持する。他のいずれのコンピュータとの伝送遅延時間ＲＴＴを監視するかは同期制御部１８から指定される。また、伝送遅延時間ＲＴＴの測定は、通信制御部１７と連携して、通信制御部１７が他のコンピュータに対して要求を送り、その応答が返ってくるまでの時間を監視することにより行う。
【００３４】
通信制御部１７は、同期制御部１８からの命令により、他のコンピュータに対して、同期の対象となっている共有ファイルのメッセージダイジェストの取得要求、共有ファイルの保存経過時間の取得要求、そして共有ファイルの取得要求を送信し、その回答を受け取り、該回答を同期制御部１８に供与する。また、通信制御部１７は、他のコンピュータから、同期の対象となっている共有ファイルのメッセージダイジェストの取得要求、共有ファイルの保存経過時間の取得要求、共有ファイルの取得要求を受信し、該要求を同期制御部１８に転送する。
【００３５】
また、通信制御部１７は、前記要求に対する回答を同期制御部１８から受け取り、要求を送信した他のコンピュータに対して回答を送信する。更に、通信制御部１７は、他のコンピュータに上記要求を送信し、該要求に対する回答を受信するまでの時間を、自コンピュータと他のコンピュータとの間のデータ伝送遅延として、ＲＴＴ監視部１５に対して供与する。
【００３６】
同期構成情報蓄積部１６は、図３に示されているような、同期構成情報３０を蓄積する。図３に示されているように、同期構成情報３０は、同期対象の共有ファイルについて、他コンピュータのコンピュータ識別子３１、自コンピュータのファイル識別子３２、他コンピュータのファイル識別子３３、同期の方向３４、そして同期更新処理の周期３５が一つの組となったリストである。該組は同期対象の共有ファイル毎で、かつ同期対象の他のコンピュータ毎に設定される。つまり、ファイルを共有する他のコンピュータが２つ以上ある場合は、該２つ以上の他のコンピュータ毎に前述した同期構成情報の組（自コンピュータのファイル識別子３２は同一）が設定されることになる。
【００３７】
他コンピュータのコンピュータ識別子３１には、ファイル同期を行う他のコンピュータが指定される。自コンピュータのファイル識別子３２には、記憶装置１１に蓄積されている同期対象の共有ファイルに対応したファイル識別子が指定される。他コンピュータのファイル識別子３３には、他のコンピュータの記憶装置１１に蓄積されている同期対象の共有ファイルに対応した、他コンピュータにおけるファイル識別子が指定される。
【００３８】
この際、自コンピュータのファイル識別子３２が表す共有ファイルがファイルの場合、他コンピュータのファイル識別子３３が表す共有ファイルもファイルである必要がある。自コンピュータのファイル識別子３２が表す共有ファイルがディレクトリの場合、他コンピュータのファイル識別子３３が表す共有ファイルもディレクトリである必要がある。
【００３９】
同期の方向３４には、「送信のみ」、「受信のみ」、そして「送信かつ受信」が指定される。
【００４０】
「送信のみ」が指定されると、同期は、自コンピュータから他のコンピュータへ対象ファイルをコピーするだけである。この場合、同期の対象となっている他のコンピュータの記憶装置１１に蓄積されている共有ファイルが更新されても、同期の対象となっている自コンピュータ内の共有ファイルは更新されない。
【００４１】
「受信のみ」が指定されると、同期は、他のコンピュータから自コンピュータへ対象ファイルをコピーするだけである。この場合、同期の対象となっている自コンピュータの記憶装置１１に蓄積されている共有ファイルが更新されても、同期の対象となっている他のコンピュータ内の共有ファイルは更新されない。
【００４２】
「送信かつ受信」が指定されると、同期は、自コンピュータから他のコンピュータへ対象ファイルをコピーし、また、他のコンピュータから自コンピュータへ対象ファイルをコピーする。この場合、同期の対象となっている自コンピュータ内の共有ファイルが更新されると、同期の対象となっている他のコンピュータ内の共有ファイルが更新され、また逆に、同期の対象となっている他のコンピュータ内の共有ファイルが更新されると、同期の対象となっている自コンピュータ内の共有ファイルが更新される。
【００４３】
最後に、同期更新処理の周期３５には、同期を行う周期時間が指定される。同期制御部１８は、該周期時間毎に同期更新処理を行う。
【００４４】
同期構成情報蓄積部１６に蓄積される同期構成情報３０は、ウェブブラウザ等のＧＵＩを使ってユーザが設定する。同期制御部１８は、同期構成情報蓄積部１６に蓄積されている同期構成情報３０に従って、同期更新処理を行う。同期制御部１８は、該同期更新処理を、該同期構成情報３０の組毎に、その指定されている周期時間３５毎に行う。
【００４５】
同期制御部１８は、対象となる同期構成情報３０に指定されている同期の方向が送信の場合は、同期更新処理を、図４に示されたアルゴリズムに従って行う。
【００４６】
該アルゴリズムでは、まず、同期更新処理を行う時点において、同期対象の共有ファイルが同期対象の他のコンピュータ内に存在するかどうかを判断する（４１）。
【００４７】
同期対象の共有ファイルが同期対象の他のコンピュータ内に存在しない場合、同期制御部１８は、記憶装置制御部１２に対して、当該共有ファイルの自コンピュータ内のファイル識別子を指定して読み込み要求を送信し、その回答として当該共有ファイルを受信し、さらに、通信制御部１７に対して、当該共有ファイルを同期対象の他のコンピュータに送信するように要求する（４７）。
【００４８】
同期対象の共有ファイルが同期対象の他のコンピュータ内に存在する場合、同期制御部１８は、乱数管理部１３に対して、自コンピュータ内の当該共有ファイルのファイル識別子を指定して当該共有ファイルのメッセージダイジェストの取得要求を送信し、その回答としてメッセージダイジェストを受信する。また、同期制御部１８は、通信制御部１７に対して、同期対象の他のコンピュータにおける前記共有ファイルのファイル識別子を指定して当該共有ファイルのメッセージダイジェストの取得要求を送信し、その回答としてメッセージダイジェストを受信する（４２）。
【００４９】
そして、手順４２で取得した２つのメッセージダイジェストを比較し、それらが異なるかどうかを判定する（４３）。
【００５０】
２つのメッセージダイジェストが異ならない場合、同期制御部１８は、同期対象の共有ファイルが同一であると判断し、それ以上何もしない。
【００５１】
２つのメッセージダイジェストが異なる場合、同期制御部１８は、記憶装置制御部１２に対して、当該共有ファイルの自コンピュータ内のファイル識別子を指定して保存経過時間の取得要求を送信し、その回答として保存経過時間ＬＴＳＬＭを受信する。また、同期制御部１８は、通信制御部１７に対して、同期対象の他のコンピュータにおける前記共有ファイルのファイル識別子を指定して保存経過時間の取得要求を送信し、その回答として保存経過時間ＲＴＳＬＭを受信する（４４）。
【００５２】
更にまた、同期制御部１８は、ＲＴＴ監視部１５に対して、同期対象の他のコンピュータのコンピュータ識別子を指定して伝送遅延時間の取得要求を送信し、その回答としてデータ伝送遅延時間ＲＴＴを取得する（４５）。そして、ＲＴＳＬＭにＲＴＴを１／２倍したものを加えた値とＬＴＳＬＭとを比較する（４６）。
【００５３】
この際、ＬＴＳＬＭの方が大きい場合、同期制御部１８はそれ以上何もしない。ＬＴＳＬＭの方が小さい場合、同期制御部１８は、上記手順４７を実行する。
【００５４】
また、同期制御部１８は、対象となる同期構成情報３０に指定されている同期の方向が受信の場合は、同期更新処理を、図５に示されたアルゴリズムに従って行う。
【００５５】
該アルゴリズムでは、まず、同期更新処理を行う時点において、同期対象の共有ファイルが自コンピュータ内に存在するかどうかを判断する（５１）。
【００５６】
同期対象の共有ファイルが自コンピュータ内に存在しない場合、同期制御部１８は、通信制御部１７に対して、当該共有ファイルの同期対象の他のコンピュータにおけるファイル識別子を指定して当該共有ファイルを他のコンピュータから受信するように要求し、その回答として当該共有ファイルを受信し、さらに、記憶装置制御部１２に対して、当該共有ファイルを自コンピュータの記憶装置１１に書き込むように、当該共有ファイルの自コンピュータにおけるファイル識別子を指定して要求する（５７）。
【００５７】
同期対象の共有ファイルが自コンピュータ内に存在する場合、同期制御部１８は、通信制御部１７に対して、同期対象の他のコンピュータにおける当該共有ファイルのファイル識別子を指定して当該共有ファイルのメッセージダイジェストの取得要求を送信し、その回答としてメッセージダイジェストを受信する。また、同期制御部１８は、乱数管理部１３に対して、自コンピュータ内の前記共有ファイルのファイル識別子を指定して当該共有ファイルのメッセージダイジェストの取得要求を送信し、その回答としてメッセージダイジェストを受信する（５２）。
【００５８】
そして、手順５２で取得した２つのメッセージダイジェストを比較し、それらが異なるかどうかを判定する（５３）。
【００５９】
２つのメッセージダイジェストが異ならない場合、同期制御部１８は、同期対象の共有ファイルが同一であると判断し、それ以上何もしない。
【００６０】
２つのメッセージダイジェストが異なる場合、同期制御部１８は、記憶装置制御部１２に対して、当該共有ファイルの自コンピュータ内のファイル識別子を指定して保存経過時間の取得要求を送信し、その回答として保存経過時間ＬＴＳＬＭを受信する。また、同期制御部１８は、通信制御部１７に対して、同期対象の他のコンピュータにおける前記共有ファイルのファイル識別子を指定して保存経過時間の取得要求を送信し、その回答として保存経過時間ＲＴＳＬＭを受信する（５４）。
【００６１】
更にまた、同期制御部１８は、ＲＴＴ監視部１５に対して、同期対象の他のコンピュータのコンピュータ識別子を指定して伝送遅延時間の取得要求を送信し、その回答としてデータ伝送遅延時間ＲＴＴを取得する（５５）。そして、ＲＴＳＬＭにＲＴＴを１／２倍したものを加えた値とＬＴＳＬＭとを比較する（５６）。
【００６２】
この際、ＬＴＳＬＭの方が小さい場合、同期制御部１８はそれ以上何もしない。ＬＴＳＬＭの方が大きい場合、同期制御部１８は、上記手順５７を実行する。
【００６３】
なお、図４、図５の処理は、ファイルを共有する他のコンピュータが２つ以上ある場合には、該２つ以上の他のコンピュータ毎に設定された同期構成情報３０の組に対応して、それぞれ同様に行われる。
【００６４】
また、対象となる同期構成情報３０に指定されている同期の方向が送信かつ受信の場合、同期制御部１８は、図４及び図５に示されたアルゴリズムの双方を並行して行う。また、同期制御部１８は、対象となる同期構成情報３０に指定されているファイル識別子で表される共有ファイルがディレクトリの場合、該ディレクトリに含まれるファイルとディレクトリの全てに対して、上記同期更新処理を行う。
【００６５】
以上、本発明の実施の形態について説明したが、本発明はこれに限定されるものではない。例えば、コンピュータ１０はＣＧＩプログラムやサーブレットとして実装し、他のコンピュータとの通信にＨＴＴＰを介して通信を行っているが、コンピュータ１０はＣＧＩプログラムやサーブレットのようなＨＴＴＰベースの通信を行うもので実装を行わず、独自の通信プロトコルで通信を行うように実装を行うことも可能である。また、ＲＴＴ監視部１５は、通信制御部１７と連携して、自コンピュータと他のコンピュータの間のデータ伝送遅延時間を測定しているが、該連携を行わず、例えば、ＲＴＴ監視部１５が独自にＰＩＮＧ等のダミーパケットを他のコンピュータに対して送ってその回答を取得し、データ伝送遅延時間として保存することも可能である。さらにまた、乱数管理部１３でメッセージダイジェストを生成するためのアルゴリズムとしてＭＤ５を用いているが、これ以外のアルゴリズム、例えばＳＨＡ−１を用いても良い。
【００６６】
【発明の効果】
以上詳述したように、本発明によれば、ネットワークを介して接続された複数のコンピュータ間でファイルを共有し、かつそれぞれ保存する時、以下のような効果を得ることができる。
【００６７】
（１）各コンピュータのファイルが最も新しく保存されてから経過した時間をそれぞれ計算して比較し、保存されてから経過した時間が最も短いものを最新版と判断するため、結果として、それらのコンピュータのシステム時間が互いに同期されていなくても、任意のコンピュータの記憶装置内に保存されたファイルは常に最新版に保つことが期待できる。
【００６８】
（２）各コンピュータの記憶装置に保存されている共有ファイルのうち、どのファイルが最新版であるかを判断する際に、それらのコンピュータ間通信におけるデータ伝送遅延を考慮して、上述の保存されてから経過した時間を比較するため、結果として、ネットワークを介して接続されたコンピュータの物理的な距離に依存せず、正確にその時間を計算し、比較することが期待できる。
【００６９】
（３）各コンピュータの共有ファイルをもとに、そのファイルの唯一性を保証できるような擬似乱数をそれぞれ計算して比較し、計算された乱数値が同一であれば対応するファイルも同一のものであると判断するため、任意のコンピュータの記憶装置内に保存されたファイルを同一のファイルで更新するといった無駄な処理を回避することができ、結果としてコンピュータのＣＰＵ処理負荷の軽減や、ネットワーク伝送帯域の節約が期待できる。
【図面の簡単な説明】
【図１】本発明の共有ファイル同期システム全体を示す構成図
【図２】本システムにおけるコンピュータの詳細を示す構成図
【図３】同期構成情報蓄積部の記憶内容の一例を示す説明図
【図４】送信同期アルゴリズムに関する処理の流れ図
【図５】受信同期アルゴリズムに関する処理の流れ図
【符号の説明】
１０：コンピュータ、１１：記憶装置、１２：記憶装置制御部、１３：乱数管理部、１４：乱数蓄積部、１５：ＲＴＴ監視部、１６：同期構成情報蓄積部、１７：通信制御部、１８：同期制御部、２０：ネットワーク。
【図１】
2004127004.tif 000003
【図２】
2004127004.tif 000004
【図３】
2004127004.tif 000005
【図４】
2004127004.tif 000006
【図５】
2004127004.tif 000007