JP4497983B2 - ファイル共有制御システム、共有制御サーバおよび共有制御プログラム - Google Patents

ファイル共有制御システム、共有制御サーバおよび共有制御プログラム Download PDF

Info

Publication number
JP4497983B2
JP4497983B2 JP2004102454A JP2004102454A JP4497983B2 JP 4497983 B2 JP4497983 B2 JP 4497983B2 JP 2004102454 A JP2004102454 A JP 2004102454A JP 2004102454 A JP2004102454 A JP 2004102454A JP 4497983 B2 JP4497983 B2 JP 4497983B2
Authority
JP
Japan
Prior art keywords
file
client computer
directory
name
information table
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2004102454A
Other languages
English (en)
Other versions
JP2005292868A (ja
Inventor
昭男 作山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Japan Research Institute Ltd
Original Assignee
Japan Research Institute Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Japan Research Institute Ltd filed Critical Japan Research Institute Ltd
Priority to JP2004102454A priority Critical patent/JP4497983B2/ja
Publication of JP2005292868A publication Critical patent/JP2005292868A/ja
Application granted granted Critical
Publication of JP4497983B2 publication Critical patent/JP4497983B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、ファイルのバックアップおよびその共有を制御するシステム、共有制御サーバおよびプログラムに関する。
近年のコンピュータ機器の性能向上によりパーソナルコンピュータの小型化が進み、 オフィス内で使用されるパーソナルコンピュータが小型化しつつある。また、オフィススペースの制約により、使用されるパーソナルコンピュータも、デスクトップ型のものからノート型の物にシフトしつつある。さらにまた、当然のように、ローカルエリアネットワーク(LAN)によってネットワーク接続され、仕事の成果物である各種ファイル(ドキュメントファイルや表計算ソフトのデータファイル等)は、ファイルサーバーに格納するという業務運用が一般化してきている。
特開2003−296175号公報
しかしながら、ノート型のパーソナルコンピュータが利用されるようになってくると、つぎのような事態が多々発生するようになってきた。
(1)オフィス内のLAN接続できない場所での作業時にノート型パーソナルコンピュータ(以下、「ノートPC」とも称する。)をLANから切り離して移動し作業する。
(2)オフィス内にとどまらず、出先にもノートPCを持ち出して作業する。
このような利用方法を取る場合、以下のような作業方法をとるケースが頻繁に発生している。
タイプ1
業務に使用する各種のファイルはファイルサーバーから一旦ノートPCのローカルディスクにコピーして使用する。
作業終了後、ローカルディスクからファイルサーバーに書き戻す
タイプ2
新規に作成するファイルは、ローカルディスク内にて作成し、作業完了後ファイルサーバーに書き出す。
しかしながら、このような使用方法では、以下のようなトラブルが生じたときに、業務に必要とするファイルが永遠に失われてしまう事態となりかねない。
(1)使用しているノートPCが故障した場合
(2)誤操作により必要ファイルを削除してしまった場合
(3)ノートPCを紛失(盗難)した場合
上述した状況が発生する背景として、主として以下のような原因があると言われている。
(1)ファイルサーバーへのコピー作業が人間の手作業に依存している。
(2)ノートPCのローカルディスクのバックアップ手段になかなかよい物がない。
また、コストの問題と、使用場所を選ばなくても作業できるノートPCという特性上、 各ノートPCにバックアップ装置をつけるというのも現実的に無理という問題点もある。
その結果、一旦ノートPCに障害が発生した場合には、ファイルを復旧できないという致命的な事態となる確率が大きくなってきている。そして、コンピュータ性能の向上によりより大きなローカルディスクが標準的に装着されるようになってきており、その被害影響度合いはますます深刻度を増している。
また、システム設計などにおいて、1つのプロジェクトを複数人で実現することが一般化している。この場合、自己の担当箇所について、パーソナルコンピュータにて作業し、その成果物である各種ファイルを、サーバにも格納し、他の者がこれを閲覧し、場合によっては、更新できるようにしておく。
たとえば、特許文献1には、プロセス定義情報により、グループ名の羅列による処理経路が表わされ、あるグループが処理を終了すると、次のグループが処理を開始できるような協同作業支援システムが開示されている。しかしながら、各作業者が自由に作業を進めることで、全体を進行される場合には、上記システムを利用するのは困難である。また、予めプロセス定義情報を作成しておくという手順も必要となる。
本発明は、ユーザによる煩雑な操作なくファイルのバックアップができ、また、煩雑な操作なく、複数のコンピュータ間で、ファイルを共有することができるシステムを提供することを目的とする。
本発明の目的は、自己が所有するファイルが格納されたディレクトリパス、ディレクトリ名を含むレコードを有する所有ディレクトリ情報テーブル、および、前記ファイルのネットワークを介したアップロードおよびダウンロードを管理するローカルファイル管理手段を有するクライアントコンピュータと、ネットワークを介して送付された所有ディレクトリ情報テーブルのレコードに基づき生成された、前記ファイル所有者のノード名、当該クライアントコンピュータのファイルを格納するディレクトリ名、および、アップデート時刻を含むレコードを格納する所有者パス情報テーブル、ファイル所有者のノード名、ファイル名、当該ファイルが格納されたディレクトリパスを含むレコードを有する実ファイル情報テーブル、ファイル名、ファイルのタイムスタンプ、ファイルの内容を示す情報を含むレコードを有する実ファイル世代情報テーブル、前記ローカル管理手段からネットワークを介して送付された、ファイル名、ディレクトリパス、ファイルのタイムスタンプ、および、ファイルの内容を示す情報を含むファイル基本属性情報に基づき、前記実ファイル情報テーブルおよび実ファイル世代情報テーブルを参照して、前記ファイルに関するダウンロード或いはアップロードの条件を判断し、判断結果を、前記クライアントコンピュータに送信するセンター条件判断手段、並びに、前記クライアントコンピュータからの要求にしたがって、アップロードされたファイルを、記憶装置中、所定のディレクトリパスに格納し、また、所定のディレクトリパスに格納されたファイルを、前記クライアントコンピュータにダウンロードするセンターファイル管理手段を有する制御サーバとを備え、前記クライアントコンピュータが、前記判断結果にしたがって、前記ファイルのダウンロード或いはアップロードを、前記制御サーバに対して要求するローカル条件判断手段を有することを特徴とするファイル共有制御システムにより達成される。
本発明によれば、センター条件判断手段が、ファイルのタイムスタンプやファイルの内容の一致などに基づいて、判断結果を、クライアントコンピュータに送信し、クライアントコンピュータのローカル条件判断手段が、ファイルのダウンロード或いはアップロードの是非を判断する。これにより、ユーザが煩雑な操作をすることなく、ファイルのバックアップ(制御サーバへのファイルのアップロード)、バックアップされたファイルの取得(制御サーバからのファイルのダウンロード)を実現することができる。
好ましい実施態様においては、さらに、クライアントコンピュータが、利用したいファイルを所有する他のクライアントコンピュータのノード名、ディレクトリ名を含むレコードを有する利用ディレクトリ情報テーブルを有し、前記ローカルファイル管理手段が、利用ディレクトリ情報テーブルに基づいて、利用するファイルのファイル名、ディレクトリパス、ファイルのタイムスタンプ、および、ファイルの内容を示す情報を含むファイル基本情報を送信し、前記制御サーバのセンター条件判断手段が、ローカル管理手段からネットワークを介して送付された、ファイル名、ディレクトリパス、ファイルのタイムスタンプ、および、ファイルの内容を示す情報を含むファイル基本属性情報に基づき、前記実ファイル情報テーブル、および、実ファイル世代情報テーブルを参照して、前記ファイルに関するダウンロード或いはアップロードの条件を判断し、判断結果を送信し、前記クライアントコンピュータのローカル条件判断手段が、前記判断結果にしたがって、前記ファイルのダウンロード或いはアップロードを、前記制御サーバに対して要求する。
本実施の形態によれば、クライアントコンピュータにおいて、他のクライアントコンピュータが所有するファイル中、利用したいものの情報を、利用ディレクトリ情報テーブルのレコードとして用意しておけば、センター条件判断手段およびセンター条件判断手段により、当該他のクライアントコンピュータのファイルのダウンロードなどの是非が判断される。これにより、他のクライアントコンピュータが所有するファイルを、利用者が共有することが可能となる。
別の実施態様においては、さらに、クライアントコンピュータが、利用したいファイルを所有する他のクライアントコンピュータのノード名、ディレクトリ名を含むレコードを有する利用ディレクトリ情報テーブルを有し、前記ローカルファイル管理手段が、利用ディレクトリ情報テーブルに基づいて、利用するファイルのファイル名、ディレクトリパス、ファイルのタイムスタンプ、および、ファイルの内容を示す情報を含むファイル基本情報を送信し、前記制御サーバのセンター条件判断手段が、ローカル管理手段からネットワークを介して送付された、ファイル名、ディレクトリパス、ファイルのタイムスタンプ、および、ファイルの内容を示す情報を含むファイル基本属性情報に基づき、前記ファイルに関するダウンロード或いはアップロードの条件を判断し、判断結果を送信し、前記クライアントコンピュータのローカル条件判断手段が、前記判断結果にしたがって、前記ファイルのダウンロード或いはアップロードを、前記ファイルを所有するクライアントコンピュータに対して要求する。
より好ましい実施態様においては、前記所有ディレクトリテーブルのレコードが、ファイルの公開の可否を示す公開フラグ、公開が可能である場合のファイルの更新の可否を示す公開タイプ情報を含み、前記所有者パス情報テーブルが、前記公開フラグおよび公開タイプ情報を含み、前記センター条件判断手段が、前記所有者パス情報テーブルの、公開フラグおよび公開タイプ情報を参照して、前記ファイルに関するダウンロード或いはアップロードの条件を判断する。
また、好ましい実施態様においては、前記ファイルの内容を示す情報が、ファイルのハッシュ値であり、前記センター条件判断手段が、ハッシュ値を比較することにより、ファイルの内容の一致を判断する。
また、本発明の目的は、クライアントコンピュータが有する、自己が所有するファイルが格納されたディレクトリパス、ディレクトリ名を含むレコードを有する所有ディレクトリ情報テーブルに基づき、前記クライアントコンピュータにて生成され、かつ、ネットワークを介して送信された、クライアントコンピュータ名、当該クライアントコンピュータのファイルを格納するディレクトリ名、および、アップデート時刻を含むレコードを格納する所有者パス情報テーブル、ファイル所有者のノード名、ファイル名、当該ファイルが格納されたディレクトリパスを含むレコードを有する実ファイル情報テーブル、ファイル名、ファイルのタイムスタンプ、ファイルの内容を示す情報を含むレコードを有する実ファイル世代情報テーブル、ネットワークを介して送付された、ファイル名、ディレクトリパス、ファイルのタイムスタンプ、および、ファイルの内容を示す情報を含むファイル基本属性情報に基づき、前記実ファイル情報テーブルおよび実ファイル世代情報テーブルを参照して、前記ファイルに関するダウンロード或いはアップロードの条件を判断し、判断結果を、前記クライアントコンピュータに送信するセンター条件判断手段、並びに、前記クライアントコンピュータからの要求にしたがって、アップロードされたファイルを、記憶装置中、所定のディレクトリパスに格納し、また、所定のディレクトリパスに格納されたファイルを、前記クライアントコンピュータにダウンロードするセンターファイル管理手段を備え、前記クライアントコンピュータから前記判断結果にしたがった前記ファイルのダウンロード或いはアップロードの要求に応じて、前記センターファイル管理手段が、前記ファイルをダウンロード或いはアップロードすることを特徴とするファイル共有制御サーバによっても達成される。
好ましい実施態様においては、前記センター条件判断手段が、クライアントコンピュータが有する、利用したいファイルを所有する他のクライアントコンピュータのノード名、ディレクトリ名を含むレコードを有する利用ディレクトリ情報テーブルに基づき、前記クライアントコンピュータにて生成され、かつ、ネットワークを介して送信された、利用するファイルのファイル名、ディレクトリパス、ファイルのタイムスタンプ、および、ファイルの内容を示す情報を含むファイル基本情報に基づき、前記実ファイル情報テーブルおよび実ファイル世代情報テーブルを参照して、前記ファイルに関するダウンロード或いはアップロードの条件を判断し、判断結果を、前記クライアントコンピュータに送信する。
また、本発明の目的は、クライアントコンピュータが有する、自己が所有するファイルが格納されたディレクトリパス、ディレクトリ名を含むレコードを有する所有ディレクトリ情報テーブルに基づき、前記クライアントコンピュータにて生成され、かつ、ネットワークを介して送信された、クライアントコンピュータ名、当該クライアントコンピュータのファイルを格納するディレクトリ名、および、アップデート時刻を含むレコードを格納する所有者パス情報テーブルと、ファイル所有者のノード名、ファイル名、当該ファイルが格納されたディレクトリパスを含むレコードを有する実ファイル情報テーブルと、ファイル名、ファイルのタイムスタンプ、ファイルの内容を示す情報を含むレコードを有する実ファイル世代情報テーブルとを備えたコンピュータにより読み出し可能なプログラムであって、前記コンピュータを、ネットワークを介して送付された、ファイル名、ディレクトリパス、ファイルのタイムスタンプ、および、ファイルの内容を示す情報を含むファイル基本属性情報に基づき、前記実ファイル情報テーブルおよび実ファイル世代情報テーブルを参照して、前記ファイルに関するダウンロード或いはアップロードの条件を判断し、判断結果を、前記クライアントコンピュータに送信するセンター条件判断手段、並びに、前記クライアントコンピュータからの要求にしたがって、アップロードされたファイルを、記憶装置中、所定のディレクトリパスに格納し、また、所定のディレクトリパスに格納されたファイルを、前記クライアントコンピュータにダウンロードするセンターファイル管理手段であって、クライアントコンピュータから前記判断結果にしたがった前記ファイルのダウンロード或いはアップロードの要求に応じて、前記ファイルをダウンロード或いはアップロードするセンターファイル管理手段として機能させることを特徴とするファイル共有制御プログラムによっても達成される。
好ましい実施態様においては、前記コンピュータを、センター条件判断手段として機能させる際に、クライアントコンピュータが有する、利用したいファイルを所有する他のクライアントコンピュータのノード名、ディレクトリ名を含むレコードを有する利用ディレクトリ情報テーブルに基づき、前記クライアントコンピュータにて生成され、かつ、ネットワークを介して送信された、利用するファイルのファイル名、ディレクトリパス、ファイルのタイムスタンプ、および、ファイルの内容を示す情報を含むファイル基本情報に基づき、前記実ファイル情報テーブルおよび実ファイル世代情報テーブルを参照して、前記ファイルに関するダウンロード或いはアップロードの条件を判断し、判断結果を、前記クライアントコンピュータに送信するように、前記コンピュータを動作させる。
本発明によれば、ユーザによる煩雑な操作なくファイルのバックアップができ、また、煩雑な操作なく、複数のコンピュータ間で、ファイルを共有することができるシステムを提供することが可能となる。
以下、添付図面を参照して、本発明の実施の形態について説明する。図1は、本発明の実施の形態にかかるファイルバックアップ・共有制御サーバ(以下、「制御サーバ」或いは場合によって「センターコントローラ」と称する。)を含むシステム全体の構成を示すブロックダイヤグラムである。図1に示すように、ファイルバックアップ・共有制御サーバ10と、複数のクライアント・パーソナルコンピュータ(以下、「クライアントPC」或いは場合によって「ノード」と称する)12−1、12−2、・・・、12−nは、ネットワーク14を介して接続可能となっている。また、ネットワーク14には、制御サーバ10におけるファイルバックアップやファイル共有の処理について、クライアントPCに通知するメールサーバ16が接続されていても良い。本実施の形態において、ネットワークとして、TCP/IPを利用しているが、これに限定されるものではなく、任意の有線或いは無線のネットワークを利用することができる。
図2(a)に示すように、制御サーバ10は、後述するオンラインノード管理テーブル200、所有者パス(path)情報テーブル201、実ファイル情報テーブル202および実ファイル世代情報テーブル203を含むデータベース20を有する。また、制御サーバ10は、クライアントPC12からの送信された電文の内容およびテーブルの内容に基づいて、ファイルのダウンロード或いはアップロードに関して、どの条件に合致するかを判断する条件判断部(センター条件判断部)22と、ファイルの読み出し/書き込みおよび送信/受信を管理するファイル管理部(センターファイル管理部)24とを有している。条件判断部22およびファイル管理部24の機能は、制御サーバ10のメモリなどの記憶装置に記憶されたエージェントプログラム(以下、単に「エージェント」と称する。)により実現される。
図2(b)に示すように、各クライアントPC12の記憶装置30には、ノード基本情報テーブル211、所有ディレクトリ情報テーブル212および利用ディレクトリ情報テーブル213が記憶される。また、各クライアントPC12は、ファイルのダウンロード或いはアップロードに関しての条件を判断する条件判断部(ローカル条件判断部)32、および、ファイルをアップロード或いはダウンロードするファイル管理部(ローカルファイル管理部)34を備えている。記憶装置32には、エージェント(図示せず)が記憶されており、条件判断部32およびファイル管理部34の機能は、エージェントにより実現される。
図3は、ノード基本情報テーブル211のデータ構成を示す図である。図3に示すように、ノード基本情報テーブル211は、項目として、「自ノード名」、「ノード識別キー」、「センターコントローラIPアドレス」、「センターコントローラListenポート番号」、「E-Mailアドレス」および「ディレクトリSync間隔」から構成される。
図4は、所有ディレクトリ情報テーブル212のデータ構成を示す図である。図4に示すように、所有ディレクトリ情報テーブル212のレコードは、項目として、「所有ディレクトリPath(パス)」、「所有ディレクトリ呼称」、「最大保存世代数」、「削除ファイル保存期間」、「公開フラグ」、「公開パスワード」、「公開タイプ」、「通知メール受領フラグ」、「前回同期時刻(ノード側)」および「前回同期時刻(センター側)」を含む。所有ディレクトリ情報テーブルのレコードは、クライアントPC(たとえば、クライアントPC12−1)が所有する一群のファイルを特定するための情報である。たとえば、「所有ディレクトリPath」および「所有ディレクトリ呼称」により特定されるディレクトリに属するファイル群を特定することができる。「公開フラグ」が「ON」である場合には、そのファイル群は、他のクライアントPC(たとえば、クライアントPC12−2)と共有することができる。
図5は、利用ディレクトリ情報テーブル213のデータ構成を示す図である。図5に示すように、利用ディレクトリ情報テーブル213のレコードは、項目として、「ディレクトリ所有者ノード名」、「ディレクトリ呼称」、「公開パスワード」、「ファイル格納先基準ディレクトリPath(パス)」、「通知メール受領フラグ」、「変更結果反映フラグ」、「前回同期時刻(ノード側)」および「前回同期時刻(センター側)」を含む。「ディレクトリ所有者ノード名」および「ディレクトリ呼称」により、クライアントPC(たとえば、クライアントPC12−1)が、ファイルの共有を希望する他のクライアントPC(たとえば、クライアントPC12−2)のファイル群が特定される。「公開パスワード」により、そのファイル群の共有が許可される。また、「ファイル格納先基準ディレクトリパス」により、クライアントPC(たとえば、クライアントPC12−1)が、他のクライアントPC(たとえば、クライアントPC12−2)から共有を希望するファイル群をダウンロードした際の、クライアントPC(たとえば、クライアントPC12−1)における格納場所が特定される。
図6(a)は、オンラインノード管理テーブル200のデータ構成を示す図である。図6(a)に示すように、オンラインノード管理テーブル200のレコードは、項目として、「ノード名」、「ノード識別コード」、「ノードIPアドレス」、「ノードポート番号」、「ノード状態」、「Online(オンライン)開始日時」、「Offline(オフライン)日時」、「ノード管理者アドレス」を含む。このレコードに含まれる項目の値により、制御サーバ10は、ネットワーク14を介して接続したクライアントPC12を特定することができる。
図6(b)は、所有者パス情報テーブル201のデータ構成を示す図である。図6(b)に示すように、所有者パス情報テーブルのレコードは、項目として、「ノード名」、「所有ディレクトリ呼称」、「最大保存世代数」、「削除ファイル保存期間」、「公開フラグ」、「公開パスワード」、「公開タイプ」、「通知メール受領フラグ」、「Path内Syncフラグ」、「更新者ノード名」、「最終Upload(アップロード)時刻」および「削除フラグ」を含む。
このレコードは、クライアントPC12の所有ディレクトリ情報テーブルのレコードが、制御サーバ10に登録される際に新規に作成される。したがって、「ノード名」は、クライアントPCのノード名に相当し、また、所有者パス情報テーブルのレコード中、「所有ディレクトリ呼称」、「最大保存世代数」、「削除ファイル保存期間」、「公開フラグ」、「公開パスワード」、「公開タイプ」、「通知メール受領フラグ」の値が、所有ディレクトリ情報のレコード中、対応する項目の値として格納される。
図7(a)は、実ファイル情報テーブル202のデータ構成を示す図である。図7(a)に示すように、実ファイル情報テーブル202のレコードは、項目として、「ノード名」、「所有ディレクトリ呼称」、「相対Path(パス)」、「実ファイル名」、「サーバファイル名」および「削除フラグ」を有する。「ノード名」は、クライアントPC12のノード名に対応し、「所有ディレクトリ呼称」は、所有ディレクトリ情報テーブルのレコード中、「所有ディレクトリ呼称」に対応する。「相対Path」は、ファイルが、クライアントPC12において、所有ディレクトリ内のサブディレクトリに格納されている場合の、所有ディレクトリからの相対パスを示す。また、「サーバファイル名」は、当該ファイルを制御サーバ10において格納する場合のファイル名である。この実ファイル情報テーブル202のレコードにより、クライアントPC12中のファイルを特定することができる。
図7(b)は、実ファイル世代情報テーブル203のデータ構成を示す図である。図7(b)に示すように、実ファイル世代情報テーブル203のレコードは、項目として、「サーバファイル名」、「登録日時」、「登録ディレクトリ」、「登録ノード名」、「格納ファイルサイズ」、「ファイルサイズ」、「ハッシュ値」、「圧縮後ハッシュ値」および「タイムスタンプ」を有する。「登録日時」は、ファイルが制御サーバ10の記憶装置に格納された日時に相当する。「登録ディレクトリ」は、制御サーバ10にファイルを格納するときのパスに相当する。制御サーバ10は、記憶装置に、格納ファイル情報テーブル(図示せず)を記憶しておく。この格納ファイル情報テーブルのレコードには、クライアントPC12からアップロードされたファイルを、制御サーバ10にて保存する、記憶装置内のディレクトリパスに相当する「ファイルバックアップ基準Path(パス)」が含まれる。登録ディレクトリは、格納ファイル情報テーブルの何れかのレコードの値と一致する。
まず、クライアントPC(例として、クライアントPC12−1を考える。)から、当該クライアントPC12−1が所有するファイルをアップロードし、或いは、制御サーバ10からファイルをダウンロードする際の手順について説明する。本実施の形態においては、クライアントPC12−1自身のファイルを、制御サーバ10にアップロードすることにより、制御サーバ10にバックアップすることができる。バックアップされたファイルを、クライアントPC12−1がダウンロードすることで、バックアップされたファイルを取得することができる。
クライアントPC12−1のファイルを共有する場合には、クライアントPC12−1がファイルを制御サーバ10にアップロードし、そのファイルを利用する他のクライアントPC(例として、クライアントPC12−2を考える。)は、制御サーバ10から、ファイルをダウンロードする。また、他のクライアントPC12−2において一定の作業がなされ、更新されたファイルが、制御サーバ10にアップロードされ、その後、クライアントPC12−1に、更新が反映されるように、そのファイルがダウンロードされる場合もある。
図8は、クライアントPC(ノード)と、制御サーバ(センターコントローラ)との間で、ファイルを比較した結果の態様を示す表である。以下、図8を参照して、比較結果の態様にしたがった処理について概説する。
なお、所有者とは、初期的に、自己のファイルを制御サーバ10にアップロードする者をいい、利用者とは、初期的に、他人がアップロードしたファイルをダウンロードして利用する者をいう。
処理は、以下に述べる基本原則に従う。
(1)ディレクトリ内のファイルを更新してもよいノードが、センターコントローラよりも新しいファイルを持っている場合は、センターコントローラにアップロードする。
(2)ディレクトリ内のファイルを更新してもよいノードが、センターコントローラよりも 古いファイルを持っている場合は、センターコントローラから、ファイルをダウンロードして上書きする。ただし、ノード内のファイルがセンターセンターコントローラ内に履歴として存在しているかをチェックして、履歴にある場合には、センターコントローラからファイルをダウンロードして上書きする。その一方、履歴にない場合には、ノードのファイルの名称を変更(元のファイル名に追加の拡張子「.dif」を付けた名前)する。
[ケース1:所有者、非公開、ファイル一致]
所有ディレクトリは、公開されていない。つまり、当該ファイルに関する所有ディレクトリ情報のレコード中、「公開フラグ」は「OFF」である。また、ノードのファイルとセンターコントローラのファイルとは一致する。
この場合、なんらアクションは生じない。
[ケース2:所有者、非公開、ノードのファイルが旧バージョン]
所有ディレクトリは公開されておらず、また、ノードのファイルとセンターコントローラのファイルとでは、ノードのものが古い。この場合、センターコントローラのファイルをノードにダウンロードする。
なお、通常の本ケースは発生しないが、ノードで古いファイルに手動で置き換えたりした場合や、所有ディレクトリを公開・更新可の状態から非公開に切り替えた時に、その変更がセンターコントローラに反映される前にディレクトリ利用者のクライアントPCで、変更されたファイルがアップロードされた場合などで、生じる可能性がある。
[ケース3:所有者、非公開、ノードのファイルが新バージョン]
所有ディレクトリは公開されておらず、かつ、ノードのファイルが新しい場合には、ノードPCのファイルをセンターコントローラにアップロードする。アップロードされたセンターコントローラでは、アップロードされたファイルを新世代のファイルとして格納する。
[ケース4:所有者、非公開、ノードにファイルなし]
所有ディレクトリは公開されておらず、かつ、ノードにファイルが無い場合には、ノードからのファイル同期(Sync)処理終了の通知が、センターコントローラに来たタイミングで、センターコントローラは、所有者パス情報テーブルの、そのファイルに対応するレコード中、「削除フラグ」を「ON」にする。
[ケース5:所有者、非公開、センターコントローラにファイルなし]
所有ディレクトリは公開されておらず、かつ、センターコントローラにファイルがない場合には、ノードからセンターコントローラに、ファイルをアップロードする。受信したセンターコントローラはそのファイルを新規ファイルとして、記憶装置に記憶する。
[ケース6:所有者、公開、更新不可、ファイル一致]
所有ディレクトリは公開されている。その一方、利用者による更新は不可、つまり、所有者パス情報テーブルにおいて、当該ファイルについてのレコード中、「公開タイプ」が、「更新不可」となっている。また、ノードのファイルと、センターコントローラのファイルとは一致する。このような場合には、なんらアクションは生じない。
[ケース7:所有者、公開、更新不可、ノードのファイルが旧バージョン]
所有ディレクトリは公開され、かつ、利用者による更新は不可となっている。また、ノードのファイルと、センターコントローラのファイルとでは、ノードのものが古い。この場合、センターコントローラのファイルの更新者がノード所有者と同じか確認する。ここで、センターコントローラのファイルの更新者は、ノードからセンターコントローラに送信される電文中の「ノード名」により特定される。両者が同一であれば、ノードは、センターコントローラのファイルをダウンロードして上書きする。両者が異なる場合には、ノードのファイルの名称を変更した上で、センターコントローラからファイルをダウンロードする。
[ケース8:所有者、公開、更新不可、ノードのファイルが新バージョン]
所有ディレクトリは公開され、かつ、利用者による更新は不可となっている。また、ノードのファイルとセンターコントローラのファイルとでは、ノードのものが新しい。この場合には、ノードのファイルをセンターコントローラにアップロードする。ファイルをアップロードされたセンターコントローラでは、アップロードされたファイルを新世代のファイルとして格納する。
[ケース9:所有者、公開、更新不可、ノードにファイルなし]
所有ディレクトリは公開され、利用者による更新は不可となっている。また、ノードにはファイルが存在しない。この場合には、ノードからファイル同期(Sync)処理終了の通知がセンターコントローラに来たタイミングで、センターコントローラは、所有者パス情報テーブルの、そのファイルに対応するレコード中、「削除フラグ」を「ON」にする。
[ケース10:所有者、公開、更新不可、センターコントローラにファイルなし]
所有ディレクトリは公開され、利用者による更新は不可となっている。また、センターコントローラとでは、センターコントローラにファイルが存在しない。この場合には、ノードからセンターコントローラに、ファイルをアップロードする。受信したセンターコントローラはそのファイルを新規ファイルとして、記憶装置に記憶する。
[ケース11:所有者、公開、更新可、ファイル一致]
所有ディレクトリは公開され、かつ、利用者による更新は可、つまり、所有者パス情報テーブルにおいて、当該ファイルについてのレコード中、「公開タイプ」が「公開可」となっている。また、ノードのファイルとセンターコントローラのファイルとは一致する。このような場合には、なんらアクションは生じない。
[ケース12:所有者、公開、更新可、ノードのファイルが旧バージョン]
所有ディレクトリは公開され、利用者による更新は可となっている。また、ノードのファイルとセンターコントローラのファイルとでは、ノードのものが古い。この場合、センターコントローラのファイルの更新者がノード所有者と同じか確認する。両者が同一であれば、ノードは、センターコントローラのファイルをダウンロードして上書きする。両者が異なる場合には、ノードのファイルの名称を変更した上で、センターコントローラからファイルをダウンロードする。
[ケース13:所有者、公開、更新可、ノードのファイルが新バージョン]
所有ディレクトリは公開され、利用者による更新は可となっている。また、また、ノードのファイルとセンターコントローラのファイルとでは、ノードのものが新しい。この場合には、ノードのファイルをセンターコントローラにアップロードする。ファイルをアップロードされたセンターコントローラでは、アップロードされたファイルを新世代のファイルとして格納する。
[ケース14:所有者、公開、更新可、ノードにファイルなし]
所有ディレクトリは公開され、利用者による更新は可となっている。また、ノードにはファイルが存在しない。この場合には、ノードからファイル同期(Sync)処理終了の通知がセンターコントローラに来たタイミングで、センターコントローラは、所有者パス情報テーブルの、そのファイルに対応するレコード中、「削除フラグ」を「ON」にする。
[ケース15:所有者、公開、更新可、センターコントローラにファイルなし]
所有ディレクトリは公開され、利用者による更新は可となっている。また、センターコントローラにファイルが存在しない。この場合には、ノードからセンターコントローラに、ファイルをアップロードする。受信したセンターコントローラはそのファイルを新規ファイルとして、記憶装置に記憶する。
[ケース16:利用者、非公開]
所有ディレクトリは公開されていない。したがって、利用者からのファイル同期処理の開始時点で、センターコントローラからアクセスが拒否される。
[ケース17:利用者、公開、更新不可、ファイル一致]
所有ディレクトリは公開され、利用者による更新は不可となっている。また、利用者のノード(以下、「利用者ノード」と称する。)のファイルとセンターコントローラのファイルとは一致する。この場合、なんらアクションは生じない。
[ケース18:利用者、公開、更新不可、利用者ノードのファイルが旧バージョン]
所有ディレクトリは公開され、利用者による更新は不可となっている。また、利用者ノードのファイルとセンターコントローラのファイルとでは、利用者ノードのものが古い。ここで、利用者ノードのファイルが、センターコントローラの履歴に存在する場合には、利用者ノードは、センターコントローラからファイルをダウンロードして上書きする。その一方、利用者ノードのファイルがセンターコントローラの履歴に存在しない場合には、利用者ノードは、ファイルの名称を変更した後、センターコントローラからファイルをダウンロードする。なお、ファイルがセンターコントローラの履歴に存在するとは、実ファイル世代情報テーブル中に、当該ファイルに関するレコードが存在することを意味する。
[ケース19:利用者、公開、更新不可、利用者ノードのファイルが新バージョン]
所有ディレクトリは公開され、利用者による更新は不可となっている。また、利用者ノードのファイルとセンターコントローラのファイルとでは、利用者ノードのものが新しい。この場合、ファイルの更新は不可であるため、なんらアクションは生じない。
[ケース20:利用者、公開、更新不可、利用者ノードにファイルなし]
所有ディレクトリは公開され、利用者による更新は不可となっている。また、利用者ノードにはファイルが存在しない。この場合、利用者ノードは、センターコントローラからファイルをダウンロードする。
[ケース21:利用者、公開、更新不可、センターコントローラにファイルなし]
所有ディレクトリは公開され、利用者による更新は不可となっている。また、センターコントローラにファイルが存在しない。この場合にも、ファイルの更新は不可であるため、なんらアクションは生じない。
[ケース22:利用者、公開、更新可、ファイル一致]
所有ディレクトリは公開され、利用者による更新は可となっている。また、利用者ノードのファイルとセンターコントローラのファイルとは一致する。この場合には、なんらアクションは生じない。
[ケース23:利用者、公開、更新可、利用者ノードのファイルが旧バージョン]
所有ディレクトリは公開され、利用者による更新は可となっている。また、利用者ノードのファイルとセンターコントローラのファイルとでは、利用者ノードのものが古い。この場合、利用者ノードのファイルがセンターコントローラの履歴に存在している場合には、利用者ノードは、センターコントローラからファイルをダウンロードし上書きする。その一方、利用者ノードのファイルがセンターコントローラの履歴に存在しない場合には、利用者ノードは、ファイルの名称を変更した後、センターコントローラからファイルをダウンロードする。
[ケース24:利用者、公開、更新可、利用者ノードのファイルが新バージョン]
所有ディレクトリは公開され、利用者による更新は可となっている。また、利用者ノードのファイルとセンターコントローラのファイルとでは、利用者ノードのファイルが新しい。この場合、利用者ノードのファイルを、センターコントローラにアップロードする。ファイルをアップロードされたセンターコントローラは、アップロードされたファイルを新世代のファイルとして格納する。また、センターコントローラは、メールサーバ16に、利用者ノードによるファイル更新を、所有者のノードにメールにて通知するよう指示する。
[ケース25:利用者、公開、更新可、利用者ノードにファイルなし]
所有ディレクトリは公開され、利用者による更新は可となっている。また、利用者ノードにファイルが存在しない。この場合には、利用者ノードは、センターコントローラからファイルをダウンロードする。
[ケース26:利用者、公開、更新可、センターコントローラにファイルなし]
所有ディレクトリは公開され、利用者による更新は不可となっている。また、センターコントローラにファイルが存在しない。
この場合、利用者ノードがセンターコントローラにファイルをアップロードする。ファイルを受信したセンターコントローラは、そのファイルを新規ファイルとして登録する。或いは、所有者によって削除されたファイルが復活されたとして、センターコントローラがそのファイルを登録しても良い。
次に、ファイル所有者のクライアントPC(ノード)と、制御サーバ(センターコントローラ)との間の実際の情報の授受およびそれぞれにおける処理について、より詳細に説明する。初期的には、クライアントPC12のファイル管理部34は、自己の情報(ノード名、ノード識別コード)などを制御サーバ10に送信する。制御サーバ10は、受信した情報に基づいて、オンラインノード管理テーブルのレコードを生成して、これをDB20に記憶しておく。
また、ファイルの授受に先立って、クライアントPC12のファイル管理部34は、バックアップ或いは共有すべきファイルの情報を、所有ディレクトリ情報テーブル212のレコードとして用意する。このレコードの値が、ネットワーク14を介して制御サーバ10に送信されると、制御サーバ10のファイル管理部24は、このレコードの値に基づいて、所有者パス情報テーブル201のレコードを作成して、所有者パス情報テーブル201に格納する。
また、ファイル所有者のファイルを利用したい者(利用者)のクライアントPC12においては、ファイル管理部34は、利用ディレクトリ情報テーブル213のレコードを用意しておく。たとえば、クライアントPC12が制御サーバ10にアクセスして、所有者パス情報テーブルを参照し、利用したいファイルを指定して、そのレコードの情報を受信することにより、利用ディレクトリ情報テーブル213のレコードを作成することができる。
次に、図9を参照して、ファイル所有者のクライアントPC12におけるファイルのダウンロードおよびアップロードに関する同期(Sync)処理について説明する。
クライアントPC12のファイル管理部34は、制御サーバ10との間の通信を確立した後(ステップ901)、所有ディレクトリ内の各ファイルについて、そのファイルの基本属性情報を制御サーバ10に送信する(ステップ902)。ファイル基本属性情報には、以下の項目の値が含まれる。
・ファイル名
・該当ファイルの絶対Pathから所有ディレクトリを基準とした相対Path
・ファイルのタイムスタンプ
・ファイルのMD5(Message Digest 5)ハッシュ値
・ファイルサイズ(バイト数)
制御サーバ10のファイル管理部24は、クライアントPC12−1から送信されたファイル基本情報の内容と、DB20に格納されたテーブル(たとえば、所有者パス情報テーブル、実ファイル世代情報テーブル)中のレコードの値とを比較し、前述した何れのケースに該当するかを判断する(ステップ903)。ここでは、ファイルの一致、ファイルの更新者の一致などについて以下の態様が考えられる。
(1)ファイルの一致(クライアントPCの更新者および制御サーバに記録されている更新者も一致)。
(2)ファイルの一致(ただし、更新者は不一致)。
(3)クライアントPC(ノード)のファイルのバージョンが古い(クライアントPCの更新者および制御サーバに記録されている更新者は一致)。
(4)クライアントPCのファイルのバージョンが古い(更新者は不一致)。
(5)クライアントPCのファイルのバージョンが新しい(クライアントPCの更新者および制御サーバに記録されている更新者は一致)。
(6)クライアントPCのファイルのバージョンが新しい(更新者は不一致)。
(7)ファイルが制御サーバに存在しない。
更新者の一致については、クライアントPC12と制御サーバ10との間で通信を確立した際に、クライアントPC12から制御サーバ10に送られる電文中のノード名と、所有者パス情報テーブル中のノード名とを比較することにより判断できる。
また、ファイル(の内容)の一致は、以下のように判断される。
ファイルが格納されている相対Path、ファイル名(実ファイル情報テーブル:図7(a)参照)、そのファイルのタイムスタンプおよび双方のファイルのMD5ハッシュ値(実ファイル世代情報テーブル:図7(b)参照)が比較される。
同一のファイルであることを示す判定基準は、同一相対Pathで、かつ、同一ハッシュ値を持つファイルであることとする。すなわち、ファイル名、タイムスタンプが異なっていてもハッシュ値が同じであれば、双方のファイル内容は同じと識別する。ハッシュ値が異なる場合、双方のファイルのタイムスタンプを比較しどちらが新しいものかを判定する。
制御サーバ10の条件判断部32は、判断結果が上記(1)〜(7)の何れの態様であったかを、クライアントPC12に返信する(ステップ904)。
クライアントPC12の条件判断部32は、判断結果を受信し、その結果に基づいて、ファイルをアップロードすべき場合には(ステップ905でイエス(Yes))、ファイル管理部34は、ファイルを制御サーバ10に対してアップロードする(ステップ906)。その一方、ファイルをダウンロードすべき場合には(ステップ907でイエス(Yes))、ファイル管理部34は、制御サーバ10に対して、ファイルのダウンロードを求める(ステップ908)。ダウンロード要求に応じて、制御サーバ10からファイルがダウンロードされる(ステップ909)
ファイルのアップロード処理(ステップ906)についてより詳細に説明する。クライアントPC12のファイル管理部34は、次の手順で自己の記憶装置30に記憶されたファイルを加工した上で、制御サーバ10のDB20にアップロードする。図10(a)に示すように、クライアントPC12は、ファイル基本属性情報を再度収集する(ステップ1001)。これは、先にステップ901において制御サーバ10に送信したものを利用すればよい。次いで、ファイルの圧縮後の属性情報を収集する(ステップ1002)。より詳細には、ファイルを、圧縮ツールを利用して圧縮し(ステップ1003)、圧縮後のファイルのサイズ(バイト数)を算出し(ステップ1004)、かつ、圧縮後のファイルのMD5ハッシュ値を算出する(ステップ1005)。その後、ファイル基本属性情報、圧縮後の属性情報および圧縮されたファイルを、制御サーバ10に送信する(ステップ1005)。
制御サーバ10は、図10(b)に示すように、ファイル等を受信すると(ステップ1011)、DB20中、ファイル基本属性情報中の相対パスにしたがった位置にファイルを格納するとともに(ステップ1012)、ファイル基本属性情報および圧縮後の属性情報にしたがって、実ファイル世代情報テーブル203中の該当レコードの値を更新する(ステップ1013)。その後、制御サーバ10は、ファイルのアップロードを通知する電文を、クライアントPC12に送信する(ステップ1014)。
クライアントPC12が、制御サーバ10からファイルをダウンロードする際には、ダウンロードを要求する電文(ステップ908参照)中に、自己の「ノード名」、「ノード識別番号」などのほか、「相対Path」、「ファイル名」、ダウンロードするファイルの「タイムスタンプ」および「ハッシュ値」を含ませる。これにより、制御サーバ10のファイル管理部24は、ダウンロードすべきファイルを特定することが可能となる。
次に、ファイル利用者のクライアントPC12におけるファイルのダウンロードおよびアップロードに関する同期(Sync)処理について説明する。この処理も基本的には、図9を参照して説明したファイル所有者のクライアントPCにおける同期処理と類似する。
ファイル利用者のクライアントPC12のファイル管理部34は、制御サーバ10との間の通信を確立した後、利用ディレクトリ内の各ファイルについて、そのファイルの基本属性情報を制御サーバ10に送信する。
ファイル基本属性情報には、以下の項目の値が含まれる。
・ファイル名
・該当ファイルの絶対Pathから所有ディレクトリを基準とした相対Path
・ファイルのタイムスタンプ
・ファイルのMD5(Message Digest 5)ハッシュ値
・ファイルサイズ(バイト数)
制御サーバ10のファイル管理部24は、クライアントPC12−1から送信されたファイル基本情報の内容などと、DB20に格納されたテーブル中のレコードの内容とを比較し、前述した何れのケースに該当するかを判断する(ステップ903)。ここでは、ファイルの一致などについて以下の態様が考えられる。
(1)ファイルの一致
(2)クライアントPC(ノード)のファイルのバージョンが古い(実ファイル世代情報テーブルには、ファイルに関するレコードが存在する)。
(3)クライアントPC(ノード)のファイルのバージョンが古い(実ファイル世代情報テーブルには、ファイルに関するレコードが存在しない)。
(4)クライアントPC(ノード)のファイルのバージョンが新しい(所有者パス情報テーブルにおいて、ファイルに関するレコード中、ファイル更新は可能となっている)。
(5)クライアントPC(ノード)のファイルのバージョンが新しい(ファイル更新は不可となっている)。
(6)ファイルが制御サーバに存在しない。
制御サーバ10の条件判断部32は、判断結果が上記(1)〜(6)の何れの態様であったかを、クライアントPC12に返信する。クライアントPC12の条件判断部32は、判断結果を受信し、その結果に基づいて、ファイルをアップロードすべき場合には、ファイル管理部34は、ファイルを制御サーバ10に対してアップロードする。その一方、ファイルをダウンロードすべき場合には、ファイル管理部34は、制御サーバ10に対して、ファイルのダウンロードを求める。ダウンロード要求に応じて、制御サーバ10からファイルがダウンロードされる。
なお、上記例においては、利用者のクライアントPCは、制御サーバ10からファイルをダウンロードするように構成しているが、これに限定されるものではない。たとえば、制御サーバ10にダウンロードを要求する前に、利用者のクライアントPCが、所有者のクライアントPCに対して、ダウンロード要求の電文を送信し、可能な場合には、所有者のクライアントPCからファイルをダウンロードしても良い。ここで、利用者のクライアントPCから所有者のクライアントPCに対して送信されるダウンロード要求の電文には、ファイルを特定するため、タイムスタンプおよびハッシュ値を含める。所有者のクライアントPCは、自己のファイルが、要求されたファイルと異なれば、利用者クライアントPCからのダウンロード要求を拒否すればよい。この場合には、利用者のクライアントPCは、制御サーバ10に対して、ファイルのダウンロードを求めることになる。
次に、本実施の形態の適用事例について説明する。まず、制御サーバ10を、クライアントPC12のファイルバックアップ装置として使用する場合について説明する。図11に示すように、クライアントPC12において、あるファイル(クライアントPC12がファイル所有者となっているファイル)が更新されたと考える(ステップ1101)。クライアントPC12のファイル管理部34が、更新されたファイルのファイル基本属性情報を制御サーバ12に送信する(ステップ1102)。制御サーバ10の条件判断部22は、ファイル基本情報の内容と、DB20に格納されたテーブル中のレコードの値とを比較して、先に説明した(1)〜(7)の何れの態様に該当するかを判断する(ステップ1103)。この例では、
(5)クライアントPCのファイルのバージョンが新しい(クライアントPCの更新者および制御サーバに記録されている更新者は一致)。
に該当すると判断される。判断結果は、クライアントPC12に送信され(ステップ11004)。クライアントPC12の条件判断部32は、ファイルをアップロードすべきと判断し、ファイル管理部34が、当該ファイルを制御サーバ10にアップロードする(ステップ1105)。制御サーバ10のファイル管理部24は、アップロードされたファイルを、DB20中の所定の位置に格納するとともに、実ファイル世代情報テーブルのレコードを更新する(ステップ1106)。
次に、チームで作業をする場合について説明する。あるクライアントPC(たとえば、クライアントPC12−1)がライブラリアンとして機能し、他のクライアントPC(たとえば、クライアントPC12−2、12−3、・・・)が、チームのメンバーとして機能すると考える。
システム設計など、複数人で1つのプロジェクトに関する仕事をする場合などでは、いつだれがどのファイルを作成・変更したかの記録と作成・変更タイミングの衆知徹底がプロジェクト推進上重要なポイントとなる。このような場合は本機構の補助手段としてE-Mailのメーリングリスト機能をもったメールサーバ16を組み合わせることにより、ファイルを共有化した作業を実現できる。
まず、ドキュメント全体を管理する立場の人(ライブラリアン)が所有ディレクトリを定義して、ライブラリアンのクライアントPC12−1が、所有ディレクトリ情報テーブルのレコードを、制御サーバ10に登録する。これにより、制御サーバ10には、必要な所有者Path情報テーブルのレコードが生成される。ここで、メールサーバ16を介して、プロジェクトのメンバーのクライアントPCにメールが通知できるようなメーリングリストを設定しておく。
たとえば、プロジェクトのメンバーに、即時通知或いは1日1回のまとめ送りの何れかのメーリングリストに登録することにより、実際の作業に携わるプロジェクトのメンバーは他のメンバーが作成・修正したファイルを自動的に、自己のクライアントPCのローカルディスクに保管することができ、かつ、変更の都度、変更通知メールを受取ることができる。
また、実際の作業には携わらないが、全体の動向を知る必要のある人(例えばプロジェクトリーダー/サブリーダー)は、前日行われた変更内容をメールで通知を受け、その成果物である各種ファイルが、自己のクライアントPCのローカルディスクに既に保管されているというような状況を作り出す事が可能となる。
また、プロジェクトが一区切りついたとき(例えば、製品の1次リリース向けの作業完了時)には、ライブラリアンがその所有ディレクトリを公開・更新可から公開・更新不可と属性変更することにより、ドキュメントの凍結を行う事が簡単にできる。
また、そのリリース時点のファイルを固定・保管する為に、ライブラリアンが利用ディレクトリを定義し、一旦固定したファイルをローカルディスクに、ダウンロードし、その後、改めてそのローカルディスクのディレクトリを先に登録した、所有ディレクトリとは別の所有ディレクトリー(公開・更新不可)として定義する事により、特定時点のファイルを永久に保管する事が可能である。その後、元の所有ディレクトリを公開・更新可と属性変更することにより、次のリリースに向けた変更作業が継続できるようになる。
たとえば、図12に示すように、ライブラリアンのクライアントPC12−1は、共有するファイルの所有ディレクトリ情報テーブルのレコードを、制御サーバ10に送信する(ステップ1201)。ここで、レコード中、「公開フラグ」は「ON」、「公開タイプ」は「更新可」としておく。送信されたレコードは、制御サーバ10において、所有者パス情報テーブルのレコードとして登録される(ステップ1202)。また、クライアントPC12−1は、メールサーバ16に、メーリングリスト用の各メンバーのMailアドレスを登録する(ステップ1203)。
その一方、プロジェクトのメンバーのクライアントPC12−2、12−3、・・・においては、制御サーバ10の所有者パス情報テーブルのレコードを参照して、クライアントPCの記憶装置中に、利用ディレクトリ情報のレコードを作成しておく。
図13に示すように、たとえば、プロジェクトのメンバーのクライアントPC12−2は、利用ディレクトリ情報テーブルのレコードにて特定されるディレクトリのファイルを作成、更新する(ステップ1301)。ファイルが作成、更新されると、クライアントPC12−2のファイル管理部34が、ファイルの基本属性情報を、制御サーバ10に送信する(ステップ1302)。
制御サーバ10の条件判断部22は、ファイルの基本属性情報と、当該ファイルの実ファイル世代情報の該当レコードの情報とを比較して(ステップ1303)、その判断結果を、各クライアントPC12−1、12−3、・・・に送信する(ステップ1304)。また、制御サーバ10は、メールサーバ16に対して、メーリングリストを利用したMail送信を依頼する(ステップ1305)。クライアントPC12−1は、判断結果に基づいて、作成、更新にかかるファイルを制御サーバ10にアップロードする。これにより、制御サーバ10は、当該ファイルに関して、実ファイル世代情報テーブルの該当レコードを更新する。
各PC12−1、12−3、・・・の条件判断部22は、ファイルのダウンロードをすべきと判断し、制御サーバ10に対してファイルのダウンロードを要求する。これにより、メンバーがクライアントPC12−2を利用して作成、変更したファイルを取得することができる。
次に、ファイルの凍結作業と次のフェーズの作業開始について、図14を参照して、説明する。まず、ライブラリアンのクライアントPC12−1が、メールサーバ16に対して、変更作業停止の通知を、メーリングリストを利用してMail送信するように要求する(ステップ1401)。次いで、クライアントPC12−1は、所有ディレクトリ情報テーブルの該当ファイルのレコードにおいて、「公開タイプ」を「更新可」から「更新不可」に変更する(ステップ1402)。
その後、クライアントPC12−1は、凍結ファイル格納用のディレクトリを、記憶装置30中に新規作成し、そのディレクトリを、利用ディレクトリとして登録する(ステップ1403)。つまり、利用ディレクトリ情報テーブルのレコードを作成する。この基本属性情報を制御サーバ10に送信する結果、制御サーバ10から、各ファイルの最新バージョンのものが全て、クライアントPC12−1にダウンロードされる(ステップ1404)。
ダウンロード終了後、クライアントPC12−1において、利用者ディレクトリ情報テーブルのレコードを削除し、改めて、そのローカルディレクトリについて、所有ディレクトリとして定義する(ステップ1405)。つまり、そのローカルディレクトリの情報を、所有ディレクトリ情報テーグルのレコードとして格納する。ここでは、「公開タイプ」を「更新不可」としておく。これにより、このローカルディレクトリのファイルは、別途、制御サーバ10で管理されることになる。
その後、当初のディレクトリの「公開タイプ」を、「更新不可」から「更新可」に変更することで、利用者によるファイルの更新が可能となる(ステップ1406)。クライアントPC12−1は、メールサーバ16に対して、変更作業再開の通知を、メーリングリストを利用してMail送信するように要求する(ステップ1407)。
上記クライアントPC12−1の処理は、上記シーケンスにしたがって自動的に実行することができる。
上述したクライアントPC12−1の処理の結果、制御サーバ10のDB20には、各メンバーが継続して作業するための所有ディレクトリ(もともと作業に使用していたディレクトリ)と、リリースに伴って固定されたファイルが格納されている変更不可の所有ディレクトリの2つが存在することになる。
本発明は、以上の実施の形態に限定されることなく、特許請求の範囲に記載された発明の範囲内で、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。
図1は、本発明の実施の形態にかかるファイルバックアップ・共有制御サーバを含むシステム全体の構成を示すブロックダイヤグラムである。 図2(a)は制御サーバの構成を示すブロックダイヤグラム、図2(b)は、クライアントPCの構成を示すブロックダイヤグラムである。 図3は、本実施の形態にかかるノード基本情報テーブルのデータ構成を示す図である。 図4は、本実施の形態にかかる所有ディレクトリ情報テーブルのデータ構成を示す図である。 図5は、本実施の形態にかかる利用ディレクトリ情報テーブルのデータ構成を示す図である。 図6(a)は、本実施の形態にかかるオンラインノード管理テーブルのデータ構成を示す図、図6(b)は、所有者パス情報テーブルのデータ構成を示す図である。 図7(a)は、本実施の形態にかかる実ファイル情報テーブルのデータ構成を示す図、図7(b)は、実ファイル世代情報テーブルのデータ構成を示す図である。 図8は、クライアントPCと、制御サーバとの間で、ファイルを比較した結果の態様を示す表である。 図9は、ファイル所有者のクライアントPCにおけるファイルのダウンロードおよびアップロードに関する同期(Sync)処理を示すフローチャートである。 図10(a)、(b)は、それぞれ、ファイルのアップロード処理を示す風呂チャートである。 図11は、制御サーバを、クライアントPCのファイルバックアップ装置として使用する場合の処理を説明するための図である。 図12は、チームで作業をする場合の、クライアントPCおよび制御サーバにて実行される処理を説明するための図である。 図13は、チームで作業をする場合の、クライアントPCおよび制御サーバにて実行される処理を説明するための図である。 図14は、チームで作業をする場合の、クライアントPCにおけるファイルの凍結作業と次のフェーズの作業開始を示すフローチャートである。
符号の説明
10 制御サーバ
12 クライアントPC
14 ネットワーク
16 メールサーバ
20 DB
22 条件判断部(センター条件判断部)
24 ファイル管理部(センターファイル管理部)
30 記憶装置
32 条件判断部(ローカル条件判断部)
34 ファイル管理部(ローカルファイル管理部)

Claims (9)

  1. 自己が所有するファイルが格納されたディレクトリパス、ディレクトリ名を含むレコードを有する所有ディレクトリ情報テーブルと、
    前記ディレクトリパスおよびディレクトリ名にて特定されるファイルと、を格納する第1の記憶装置、並びに、
    前記ファイルのネットワークを介したアップロードおよびダウンロードを管理するローカルファイル管理手段を有するクライアントコンピュータと、
    ファイル所有者のノード名、ファイル名、当該ファイルが格納されたディレクトリパスを含むレコードを有する実ファイル情報テーブルと、
    ファイル名、ファイルのタイムスタンプ、ファイルの内容を示す情報を含むレコードを有する実ファイル世代情報テーブルと、
    前記ファイルと、を格納する第2の記憶装置、
    前記ローカルファイル管理手段からネットワークを介して送付された、ファイル名、ディレクトリパス、ファイルのタイムスタンプ、および、ファイルの内容を示す値を含むファイル基本属性情報に基づき、前記実ファイル情報テーブルおよび実ファイル世代情報テーブルのレコードの対応する値を参照して、
    ディレクトリパスおよびファイル名にて特定されるファイルについて、前記クライアントコンピュータの第1の記憶装置に格納されたファイルが、制御サーバの第2の記憶装置に格納されたファイルよりも新しい場合には、前記クライアントコンピュータが、前記制御サーバに前記ファイルをアップロードし、その一方、
    前記ファイルについて、前記クライアントコンピュータの第1の記憶装置に格納されたファイルが、前記制御サーバの第2の記憶装置に格納されたファイルよりも古い場合には、前記クライアントコンピュータが、前記制御サーバから前記ファイルをダウンロードする、という条件の下で、前記ファイルに関するダウンロード或いはアップロードの是非を判断し、判断結果を、前記クライアントコンピュータに送信するセンター条件判断手段、並びに、
    前記クライアントコンピュータからの要求にしたがって、アップロードされたファイルを、前記第2の記憶装置中、所定のディレクトリパスに格納し、また、所定のディレクトリパスに格納されたファイルを、前記クライアントコンピュータにダウンロードするセンターファイル管理手段を有する前記制御サーバとを備え、
    前記クライアントコンピュータが、前記判断結果にしたがって、前記ファイルのダウンロード或いはアップロードを、前記制御サーバに対して要求するローカル条件判断手段を有することを特徴とするファイル共有制御システム。
  2. さらに、クライアントコンピュータが、利用したいファイルを所有する他のクライアントコンピュータのノード名、ディレクトリ名を含むレコードを有する利用ディレクトリ情報テーブルを有し、
    前記ローカルファイル管理手段が、利用ディレクトリ情報テーブルに基づいて、利用するファイルのファイル名、ディレクトリパス、ファイルのタイムスタンプ、および、ファイルの内容を示す情報を含むファイル基本情報を送信し、
    前記制御サーバのセンター条件判断手段が、ローカル管理手段からネットワークを介して送付された、ファイル名、ディレクトリパス、ファイルのタイムスタンプ、および、ファイルの内容を示す情報を含むファイル基本属性情報に基づき、前記実ファイル情報テーブル、および、実ファイル世代情報テーブルを参照して、前記条件の下で、前記ファイルに関するダウンロード或いはアップロードの是非を判断し、判断結果を送信し、
    前記クライアントコンピュータのローカル条件判断手段が、前記判断結果にしたがって、前記ファイルのダウンロード或いはアップロードを、前記制御サーバに対して要求することを特徴とする請求項1に記載のファイル共有制御システム。
  3. 前記第2の記憶装置が、前記ファイル所有者のノード名、前記ディレクトリ名、ファイルの公開の可否を示す公開フラグ、および、公開が可能である場合のファイルの更新の可否を示す公開タイプ情報を含むレコードを有する所有者パス情報テーブルを格納し、
    前記第1の記憶装置の、前記所有ディレクトリ情報テーブルのレコードが、ファイルの公開の可否を示す公開フラグ、公開が可能である場合のファイルの更新の可否を示す公開タイプ情報を含み、
    前記センター条件判断手段が、前記所有者パス情報テーブルのレコード中、前記公開フラグおよび前記公開タイプ情報を参照して、前記ファイルに関するダウンロード或いはアップロードの是非を判断することを特徴とする請求項2に記載のファイル共有制御システム。
  4. 前記センター条件判断手段が、前記ファイルの内容を示す情報が一致する場合には、前記タイムスタンプが相違する場合にも、前記クライアントコンピュータの第1の記憶装置に格納されたファイルと、制御サーバの第2の記憶装置に格納されたファイルとが一致すると判断し、前記判断結果として、ダウンロード或いはアップロードが不要であることを前記クライアントコンコンピュータに送信することを特徴とする請求項1ないし3の何れか一項に記載のファイル共有情報システム。
  5. 前記ファイルの内容を示す情報が、ファイルのハッシュ値であり、前記センター条件判断手段が、ハッシュ値を比較することにより、ファイルの内容の一致を判断することを特徴とする請求項4に記載のファイル共有制御システム。
  6. ファイル所有者のノード名、ファイル名、当該ファイルが格納されたディレクトリパスを含むレコードを有する実ファイル情報テーブルと、
    前記ファイル名、前記ファイルのタイムスタンプ、前記ファイルの内容を示す情報を含むレコードを有する実ファイル世代情報テーブルと、を記憶した第2の記憶装置と、
    クライアントコンピュータが第1の記憶装置に格納した、自己が所有するファイルが格納されたディレクトリパス、ディレクトリ名を含むレコードを有する所有ディレクトリ情報テーブルに基づき、前記クライアントコンピュータにて生成され、かつ、ネットワークを介して送信された、ファイル名、ディレクトリパス、ファイルのタイムスタンプ、および、ファイルの内容を示す情報を含むファイル基本属性情報に基づき、前記実ファイル情報テーブルおよび実ファイル世代情報テーブルのレコードの対応する値を参照して、
    ディレクトリパスおよびファイル名にて特定されるファイルについて、前記クライアントコンピュータの第1の記憶装置に格納されたファイルが、制御サーバの第2の記憶装置に格納されたファイルよりも新しい場合には、前記クライアントコンピュータが、前記制御サーバに前記ファイルをアップロードし、その一方、
    前記ファイルについて、前記クライアントコンピュータの第1の記憶装置に格納されたファイルが、前記制御サーバの第2の記憶装置に格納されたファイルよりも古い場合には、前記クライアントコンピュータが、前記制御サーバから前記ファイルをダウンロードする、という条件の下で、前記ファイルに関するダウンロード或いはアップロードの是非を判断し、判断結果を、前記クライアントコンピュータに送信するセンター条件判断手段、並びに、
    前記クライアントコンピュータからの要求にしたがって、アップロードされたファイルを、前記第2の記憶装置中、所定のディレクトリパスに格納し、また、所定のディレクトリパスに格納されたファイルを、前記クライアントコンピュータにダウンロードするセンターファイル管理手段を備え、
    前記クライアントコンピュータからの、前記判断結果にしたがった前記ファイルのダウンロード或いはアップロードの要求に応じて、前記センターファイル管理手段が、前記ファイルをダウンロード或いはアップロードすることを特徴とするファイル共有制御サーバ。
  7. 前記センター条件判断手段が、クライアントコンピュータが第1の記憶装置に格納した、利用したいファイルを所有する他のクライアントコンピュータのノード名、ディレクトリ名を含むレコードを有する利用ディレクトリ情報テーブルに基づき、前記クライアントコンピュータにて生成され、かつ、ネットワークを介して送信された、利用するファイルのファイル名、ディレクトリパス、ファイルのタイムスタンプ、および、ファイルの内容を示す情報を含むファイル基本情報に基づき、前記実ファイル情報テーブルおよび実ファイル世代情報テーブルを参照して、前記条件の下で、前記ファイルに関するダウンロード或いはアップロードの是非を判断し、判断結果を、前記クライアントコンピュータに送信することを特徴とする請求項6に記載のファイル共有制御サーバ。
  8. ファイル所有者のノード名、ファイル名、当該ファイルが格納されたディレクトリパスを含むレコードを有する実ファイル情報テーブルと、前記ファイル名、前記ファイルのタイムスタンプ、前記ファイルの内容を示す情報を含むレコードを有する実ファイル世代情報テーブルと、を格納しだ第2の記憶装置を備えたコンピュータにより読み出し可能なプログラムであって、前記コンピュータを、
    クライアントコンピュータが第1の記憶装置に格納した、自己が所有するファイルが格納されたディレクトリパス、ディレクトリ名を含むレコードを有する所有ディレクトリ情報テーブルに基づき、前記クライアントコンピュータにて生成され、かつ、ネットワークを介して送信された、ファイル名、ディレクトリパス、ファイルのタイムスタンプ、および、ファイルの内容を示す情報を含むファイル基本属性情報に基づき、前記実ファイル情報テーブルおよび実ファイル世代情報テーブルのレコードの対応する値を参照して、
    ディレクトリパスおよびファイル名にて特定されるファイルについて、前記クライアントコンピュータの第1の記憶装置に格納されたファイルが、制御サーバの第2の記憶装置に格納されたファイルよりも新しい場合には、前記クライアントコンピュータが、前記制御サーバに前記ファイルをアップロードし、その一方、
    前記ファイルについて、前記クライアントコンピュータの第1の記憶装置に格納されたファイルが、前記制御サーバの第2の記憶装置に格納されたファイルよりも古い場合には、前記クライアントコンピュータが、前記制御サーバから前記ファイルをダウンロードする、という条件の下で、前記ファイルに関するダウンロード或いはアップロードの是非を判断し、判断結果を、前記クライアントコンピュータに送信するセンター条件判断手段、並びに、
    前記クライアントコンピュータからの要求にしたがって、アップロードされたファイルを、前記第2の記憶装置中、所定のディレクトリパスに格納し、また、所定のディレクトリパスに格納されたファイルを、前記クライアントコンピュータにダウンロードするセンターファイル管理手段であって、クライアントコンピュータから前記判断結果にしたがった前記ファイルのダウンロード或いはアップロードの要求に応じて、前記ファイルをダウンロード或いはアップロードするセンターファイル管理手段として機能させることを特徴とするファイル共有制御プログラム。
  9. 前記コンピュータを、センター条件判断手段として機能させる際に、クライアントコンピュータが第1の記憶装置に格納した、利用したいファイルを所有する他のクライアントコンピュータのノード名、ディレクトリ名を含むレコードを有する利用ディレクトリ情報テーブルに基づき、前記クライアントコンピュータにて生成され、かつ、ネットワークを介して送信された、利用するファイルのファイル名、ディレクトリパス、ファイルのタイムスタンプ、および、ファイルの内容を示す情報を含むファイル基本情報に基づき、前記実ファイル情報テーブルおよび実ファイル世代情報テーブルを参照して、前記条件の下で、前記ファイルに関するダウンロード或いはアップロードの是非を判断し、判断結果を、前記クライアントコンピュータに送信するように、前記コンピュータを動作させることを特徴とする請求項8に記載のファイル共有制御プログラム。

JP2004102454A 2004-03-31 2004-03-31 ファイル共有制御システム、共有制御サーバおよび共有制御プログラム Expired - Fee Related JP4497983B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004102454A JP4497983B2 (ja) 2004-03-31 2004-03-31 ファイル共有制御システム、共有制御サーバおよび共有制御プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004102454A JP4497983B2 (ja) 2004-03-31 2004-03-31 ファイル共有制御システム、共有制御サーバおよび共有制御プログラム

Publications (2)

Publication Number Publication Date
JP2005292868A JP2005292868A (ja) 2005-10-20
JP4497983B2 true JP4497983B2 (ja) 2010-07-07

Family

ID=35325776

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004102454A Expired - Fee Related JP4497983B2 (ja) 2004-03-31 2004-03-31 ファイル共有制御システム、共有制御サーバおよび共有制御プログラム

Country Status (1)

Country Link
JP (1) JP4497983B2 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5124733B2 (ja) * 2006-04-25 2013-01-23 キヤノンItソリューションズ株式会社 サーバ装置および情報共有システムおよびプログラムおよび記録媒体
WO2008010473A1 (fr) * 2006-07-19 2008-01-24 Panasonic Corporation Système de gestion de fichiers distribués
JP5217776B2 (ja) * 2008-08-25 2013-06-19 日本電気株式会社 クライアントサーバシステム、クライアントコンピュータ、ファイル管理方法及びそのプログラム
US8635373B1 (en) 2012-09-22 2014-01-21 Nest Labs, Inc. Subscription-Notification mechanisms for synchronization of distributed states
EP3039568B1 (en) * 2013-12-17 2018-03-28 Hitachi Vantara Corporation Distributed disaster recovery file sync server system
KR101623742B1 (ko) * 2015-01-23 2016-05-25 주식회사 악어스캔 파일 연관 메시지 공유 방법 및 메시지 공유 시스템
CN109241002B (zh) * 2018-09-10 2022-02-01 创新先进技术有限公司 文件上传方法、装置及设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000339211A (ja) * 1999-05-25 2000-12-08 Casio Comput Co Ltd ファイル処理装置、ファイル処理システム、及び記憶媒体
JP2003296215A (ja) * 2002-03-29 2003-10-17 Sony Corp ファイル管理システム及びファイル管理方法
JP2003316788A (ja) * 2002-04-24 2003-11-07 Aisan Technology Co Ltd 資料提供方法及びサーバシステム
JP2004078802A (ja) * 2002-08-22 2004-03-11 Matsushita Electric Ind Co Ltd デジタル画像蓄積装置及びデジタル画像蓄積方法並びに記録媒体及びプログラム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000339211A (ja) * 1999-05-25 2000-12-08 Casio Comput Co Ltd ファイル処理装置、ファイル処理システム、及び記憶媒体
JP2003296215A (ja) * 2002-03-29 2003-10-17 Sony Corp ファイル管理システム及びファイル管理方法
JP2003316788A (ja) * 2002-04-24 2003-11-07 Aisan Technology Co Ltd 資料提供方法及びサーバシステム
JP2004078802A (ja) * 2002-08-22 2004-03-11 Matsushita Electric Ind Co Ltd デジタル画像蓄積装置及びデジタル画像蓄積方法並びに記録媒体及びプログラム

Also Published As

Publication number Publication date
JP2005292868A (ja) 2005-10-20

Similar Documents

Publication Publication Date Title
US10911518B2 (en) Network folder synchronization
EP3685268B1 (en) File system point-in-time restore using recycle bin and version history
US6615405B1 (en) Method and system for distributing and maintaining software across a computer network
JP5608811B2 (ja) 情報処理システムの管理方法、及びデータ管理計算機システム
KR101169117B1 (ko) 확장 가능하고 자동으로 복제되는 서버 팜 구성 관리인프라스트럭처를 위한 서버 팜, 시스템 및 방법
US6694335B1 (en) Method, computer readable medium, and system for monitoring the state of a collection of resources
US8595381B2 (en) Hierarchical file synchronization method, software and devices
US20180150477A1 (en) System and method for content synchronization
US8972348B2 (en) Method and system for supporting off-line mode of operation and synchronization
US8069144B2 (en) System and methods for asynchronous synchronization
US7539704B2 (en) Method, apparatus, system, and program product for attaching files and other objects to a partially replicated database
US20150199414A1 (en) Locally cached file system
JP5727020B2 (ja) クラウドコンピューティングシステム及びそのデータ同期化方法
JP4794143B2 (ja) 通知ボンドを使用してキャッシュオブジェクトを管理するためのシステムおよび方法
EP2414941B1 (en) Employing user-context in connection with backup or restore of data
JP2009518757A (ja) 無線装置の最新データを維持するための方法及びシステム
JP2004265418A (ja) ピアコンピューティングデバイスの間で共用されるデータを同期させるための方法およびシステム
JP2006099730A (ja) プロジェクトデータのキャッシュおよび同期をとる方法およびシステム
JP2001188698A (ja) ファイルをバックアップするための方法、システム、プログラム及びデータ構造
TWI329278B (en) Method, system and program product for preserving and restoring mobile device user settings
EP1480130B1 (en) Method and apparatus for moving data between storage devices
JP4497983B2 (ja) ファイル共有制御システム、共有制御サーバおよび共有制御プログラム
JP2004220259A (ja) 添付ファイル管理システム、プログラム、情報記憶媒体および添付ファイル管理方法
JP4497984B2 (ja) ファイル共有制御システムおよび共有制御プログラム
JP4622300B2 (ja) 情報共有システムおよび情報共有用プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070402

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091215

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100215

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20100406

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100413

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130423

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130423

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20160423

Year of fee payment: 6

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees