(57)【要約】【課題】複数の利用者が共有する共有ファイルを任意の世代まで遡って復元可能なように世代管理する共有ファイルの世代管理方法および装置を提供する。【解決手段】複数の利用者のいずれかによって共有ファイルが更新されたことを検出するごとに、更新の日時および更新を行った利用者の識別情報とを含む更新情報を収集する収集手順と、更新が為される直前の世代の共有ファイルに相当するバックアップファイルと、更新情報とを含む履歴情報を、バックアップファイルの世代を示す世代識別情報に対応して蓄積する蓄積手順とを備え、蓄積手順において、既に蓄積されている履歴情報に含まれるバックアップファイルのうち、現世代から予め設定された保存世代数を超えて遡った世代を示す世代識別情報に対応するバックアップファイルを、その直後の世代のバックアップファイルとの差分を表す差分情報で置き換える。【選択図】      図１
2011154503.tif 000002
【特許請求の範囲】
【請求項１】
複数の利用者が共有する共有ファイルを管理する方法であって、
前記複数の利用者のいずれかによって前記共有ファイルが更新されたことを検出するごとに、
前記更新の日時および前記更新を行った利用者の識別情報とを含む更新情報を収集する収集手順と、
前記更新が為される直前の世代の前記共有ファイルに相当するバックアップファイルと、前記更新情報とを含む履歴情報を、前記バックアップファイルの世代を示す世代識別情報に対応して蓄積する蓄積手順とを備え、
前記蓄積手順において、
既に蓄積されている履歴情報に含まれるバックアップファイルのうち、現世代から予め設定された保存世代数を超えて遡った世代を示す世代識別情報に対応するバックアップファイルを、その直後の世代のバックアップファイルとの差分を表す差分情報で置き換える
ことを特徴とする共有ファイルの世代管理方法。
【請求項２】
請求項１に記載の共有ファイルの世代管理方法において、
前記設定された保存世代数が１であり、
前記蓄積手順は、
新たな履歴情報を蓄積するごとに、直前の世代に対応して蓄積された履歴情報に含まれるバックアップファイルと新たに蓄積した履歴情報に含まれるバックアップファイルとの差分を抽出する手順と、
抽出された差分を表す差分情報によって、前記直前の世代に対応する履歴情報に含まれるバックアップファイルを置き換える置換手順とを備える
ことを特徴とする共有ファイルの世代管理方法。
【請求項３】
請求項１に記載の共有ファイルの世代管理方法において、
前記共有ファイルの更新に応じて前記履歴情報が蓄積されるごとに、前記収集手順で収集された前記更新情報を含むメッセージを作成するメッセージ作成手順と、
前記作成されたメッセージを用いて、前記共有ファイルを共有している前記複数の利用者に前記更新情報を通知する通知手順と
を備えることを特徴とする共有ファイルの世代管理方法。
【請求項４】
複数の利用者が共有する共有ファイルを管理する装置であって、
前記複数の利用者のいずれかによって前記共有ファイルが更新されたときに、前記更新の日時および前記更新を行った利用者の識別情報とを含む更新情報を収集する更新情報収集部と、
前記更新が為される直前の世代の前記共有ファイルに相当するバックアップファイルと、前記更新情報とを含む履歴情報を、前記バックアップファイルの世代を示す世代識別情報に対応して蓄積する履歴蓄積部と、
前記履歴蓄積部に蓄積されている履歴情報に含まれるバックアップファイルから、現世代から予め設定された保存世代数を超えて遡った世代を示す世代識別情報に対応するバックアップファイルを抽出するファイル抽出部と、
前記ファイル抽出部によって抽出された前記バックアップファイルとその直後の世代のバックアップファイルとの差分を表す差分情報を生成して、前記抽出されたバックアップファイルをこの差分情報で置き換える差分置換部と
を備えたことを特徴とする共有ファイルの世代管理装置。
【請求項５】
請求項４に記載の共有ファイルの世代管理装置において、
前記設定された保存世代数が１であり、
前記ファイル抽出部は、新たな履歴情報を蓄積するごとに、直前の世代に対応して蓄積された履歴情報に含まれるバックアップファイルを抽出して、前記差分置換部の処理に供する
ことを特徴とする共有ファイルの世代管理装置。
【請求項６】
請求項４に記載の共有ファイルの世代管理装置において、
前記共有ファイルの更新に応じて前記履歴情報が前記履歴蓄積部に蓄積されるごとに、前記更新情報収集部で収集された前記更新情報を含むメッセージを作成するメッセージ作成部と、
前記作成されたメッセージを含むメールを、前記共有ファイルを共有している前記複数の利用者にそれぞれ送信するメール送信部と
を備えることを特徴とする共有ファイルの世代管理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の利用者が共有するファイルが、各利用者によって更新を重ねられていく過程での世代管理を行うための共有ファイルの世代管理方法および装置に関する。
【背景技術】
【０００２】
企業のオフィスなどでは、情報の共有化が進められており、サーバ装置に置かれたファイルを、複数の利用者が共有して利用する場合がある。このようなファイルの共有を行う場合に、個々の利用者がファイルの更新履歴などを残すといったルールを定めて、他の利用者との間で共有ファイルの更新に関する情報の共有を図る場合がある。
【０００３】
また一方、共有ファイルが更新されたときに、そのファイルを共有している各利用者に、ファイルが更新されたことをメールで知らせる技術も提案されている(特許文献１参照)。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００３−１４０９５８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上述したように、更新履歴の記録を個々の利用者に任せる仕組みでは、利用者が履歴の作成などを忘れてしまった場合などに、共有ファイルの内容の変更が他の利用者に周知されないことがある。
【０００６】
また、利用者のいずれかが、共有ファイルをクライアント装置にコピーしていた場合などには、大きなトラブルが発生する可能性がある。その種のトラブルは、例えば、共有ファイルをコピーした利用者が、手元にある共有ファイルのコピーに手を加えた上で、サーバの共有ファイルを上書きしてしまう場合に発生する。このような場合には、サーバ上の共有ファイルについて別の利用者が行った更新は完全に失われてしまう可能性がある。
【０００７】
このようなトラブルは、更新が為されたことを利用者に周知させるだけでは防ぐことができない。
【０００８】
本件開示は、複数の利用者が共有する共有ファイルを任意の世代まで遡って復元可能なように世代管理する共有ファイルの世代管理方法および装置を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上述した目的は、以下に開示する共有ファイルの世代管理方法および装置によって達成することができる。
【００１０】
一つの観点による共有ファイルの世代管理方法は、複数の利用者のいずれかによって共有ファイルが更新されたことを検出するごとに、更新の日時および更新を行った利用者の識別情報とを含む更新情報を収集する収集手順と、更新が為される直前の世代の共有ファイルに相当するバックアップファイルと、更新情報とを含む履歴情報を、バックアップファイルの世代を示す世代識別情報に対応して蓄積する蓄積手順とを備え、蓄積手順において、既に蓄積されている履歴情報に含まれるバックアップファイルのうち、現世代から予め設定された保存世代数を超えて遡った世代を示す世代識別情報に対応するバックアップファイルを、その直後の世代のバックアップファイルとの差分を表す差分情報で置き換える。
【００１１】
また、別の観点による共有ファイルの世代管理装置は、複数の利用者のいずれかによって共有ファイルが更新されたときに、更新の日時および更新を行った利用者の識別情報とを含む更新情報を収集する更新情報収集部と、更新が為される直前の世代の共有ファイルに相当するバックアップファイルと、更新情報とを含む履歴情報を、バックアップファイルの世代を示す世代識別情報に対応して蓄積する履歴蓄積部と、履歴蓄積部に蓄積されている履歴情報に含まれるバックアップファイルから、現世代から予め設定された保存世代数を超えて遡った世代を示す世代識別情報に対応するバックアップファイルを抽出するファイル抽出部と、ファイル抽出部によって抽出されたバックアップファイルとその直後の世代のバックアップファイルとの差分を表す差分情報を生成して、抽出されたバックアップファイルをこの差分情報で置き換える差分置換部とを備える。
【発明の効果】
【００１２】
本件開示の方法および装置によれば、複数の利用者が共有する共有ファイルを任意の世代まで遡って復元可能なように世代管理することができる。
【図面の簡単な説明】
【００１３】
【図１】共有ファイルの世代管理装置の一実施形態を示す図である。
【図２】履歴情報を蓄積する処理を説明する図である。
【図３】履歴情報を蓄積する処理を表す流れ図である。
【図４】共有ファイルの世代管理装置の別実施形態を示す図である。
【図５】履歴情報を蓄積する処理を説明するシーケンス図である。
【図６】共有ファイルの世代管理装置の別実施形態を示す図である。
【図７】更新情報の収集および履歴情報の蓄積動作を表す流れ図である。
【図８】更新情報の収集および履歴情報の蓄積処理を説明するシーケンス図である。
【図９】履歴情報を蓄積する処理を説明する図である。
【発明を実施するための形態】
【００１４】
以下、図面に基づいて、本発明の実施形態について詳細に説明する。
(実施形態１)
図１に、共有ファイルの世代管理装置の一実施形態を示す。図１に示した実施形態では、共有ファイルの世代管理装置２００は、共有ファイル１０１を管理しているサーバ装置１０２の機能の一部を利用して実現される。
【００１５】
共有ファイル１０１は、サーバ装置１０２のファイル記憶部１０３に格納されている。このファイル記憶部１０３に格納されている各ファイルに対するアクセスは、ファイル管理部１０４によって管理されている。また、サーバ装置１０２は、共有ファイル１０１を利用する処理を実行するアプリケーション処理部１０５と、ネットワーク通信のための通信処理部１０６を備えている。そして、ネットワークを介してサーバ装置１０２に接続されたクライアント装置１００１〜１００ｎの利用者は、通信処理部１０６とアプリケーション処理部１０５の機能を利用して、上述したサーバ装置１０２内の共有ファイル１０１を共有している。
【００１６】
共有ファイルの世代管理装置２００の更新情報収集部２１１は、ファイル管理部１０４から共有ファイル１０１が更新された旨の通知を受けるごとに、更新情報を収集する。更新情報収集部２１１は、例えば、ファイル管理部１０４から共有ファイル１０１の更新を行った利用者を示すユーザＩＤと更新日時とを含む更新情報を収集する。そして、更新情報収集部２１１によって収集された更新情報は、履歴蓄積部２１２の履歴情報生成部２１３に渡される。
【００１７】
履歴情報生成部２１３は、更新情報を受け取ったときに、ファイル管理部１０４から更新前の共有ファイル１０１に相当するバックアップファイルを受け取る。そして、履歴情報生成部２１３は、このバックアップファイルと更新情報とを含む履歴情報を生成する。生成された履歴情報は、更新前の共有ファイル１０１の世代を示す世代識別情報に対応して、履歴情報保持部２１４に蓄積される。
【００１８】
図２に、履歴情報を蓄積する処理を説明する図を示す。図２の例では、第ｉ世代の共有ファイル１０１が更新されて第ｉ＋１世代となった際に、更新前の第ｉ世代の履歴情報を履歴情報保持部２１４に蓄積する処理が履歴情報生成部２１３によって行われている。
【００１９】
そして、履歴情報保持部２１４には、現世代から予め設定された保存世代数ｋを遡る世代までのバックアップファイルが、それぞれの世代に対応する履歴情報の一部として維持されている。履歴情報保持部２１４に保持されるバックアップファイルの数を示す保存世代数ｋは、履歴情報保持部２１４に割り当て可能なファイル記憶部１０２の容量に応じて、適宜決定することができる。
【００２０】
また、図１に示したファイル抽出部２１５と差分置換部２１６とは、後述するようにして、履歴情報保持部２１４に保持される情報量を抑制する処理を行う。一方、メッセージ作成部２１７は、例えば、更新情報収集部２１１によって更新情報が収集されるごとに、更新情報を含むメッセージを作成する。メール送信部２１８は、通信処理部１０６の機能を利用して、共有ファイルを共有している各利用者にこのメッセージを送信する処理を行う。
【００２１】
メール送信部２１８は、例えば、共有ファイルを共有している利用者のユーザＩＤやメールアドレスなどを登録している共有ユーザリスト２１９を備えて構成することができる。そして、サーバ装置１０２に備えられているメール処理部１０７に、この共有ユーザリスト２１９に基づくメール送信処理を依頼することにより、メール送信部２１８の機能を実現することもできる。
【００２２】
次に、履歴蓄積部２１２により、各世代に対応する履歴情報を保持する処理およびファイル抽出部２１５と差分置換部２１６とによって、履歴情報保持部２１４に保持される情報量を抑制する処理について説明する。
【００２３】
図３に、履歴情報を蓄積する処理を表す流れ図を示す。図３に示す流れ図で表される処理は、図１に示したファイル管理部１０４から共有ファイル１０１が更新された旨が通知されるごとに実行される。なお、以下の説明では、図２を併せて参照されたい。
【００２４】
ファイル管理部１０４からの通知を受けた更新情報収集部２１１は、まず、世代識別情報を更新前の共有ファイル１０１に対応する第ｉ世代から第ｉ＋１世代に更新する(ステップ３０１)。次いで、更新情報収集部２１１は、ファイル管理部１０４を介して上述した更新情報を収集して(ステップ３０２)、上述した世代識別情報とともに履歴蓄積部２１２に渡す。
【００２５】
これに応じて、履歴蓄積部２１２の履歴情報生成部２１３は、ファイル管理部１０４を介して更新前の共有ファイル１０１に相当する第ｉ世代のバックアップファイルを取得する(ステップ３０３)。そして、履歴情報生成部２１３は、このバックアップファイルと更新情報収集部２１１から受け取った更新情報とを含む第ｉ世代に対応する履歴情報を生成して、履歴情報保持部２１４に蓄積する(ステップ３０４)。
【００２６】
上述したようにして第ｉ世代に対応する履歴情報が生成されたときには、図２に示したように、第ｉ−１世代から第ｉ−ｋ世代に対応するｋ個の履歴情報が、履歴情報保持部２１４に既に保持されている。したがって、第ｉ世代に対応する履歴情報を履歴情報保持部２１４に蓄積すると、履歴情報保持部２１４に保持されているバックアップファイルの数Ｎｂがｋ個を超えることになる(図３のステップ３０５の肯定判定)。
【００２７】
この場合に、ファイル抽出部２１５は、履歴情報保持部２１４から最古のバックアップファイルを検索して抽出する(ステップ３０６)。図２に示した例では、ファイル抽出部２１５により、第ｉ−ｋ世代に対応する履歴情報に含まれるバックアップファイルが抽出され、この第ｉ−ｋ世代に対応するバックアップファイルが差分置換部２１６に渡される。
【００２８】
差分置換部２１６では、ファイル抽出部２１５から渡された最古のバックアップファイルとその次の世代に対応するバックアップファイルとの差分情報が抽出される(ステップ３０７)。図２に示した例では、差分置換部２１６により、第ｉ−ｋ世代に対応するバックアップファイルと、その次の第ｉ−(ｋ−１)世代に対応するバックアップファイルとの差分情報(ｉ−ｋ)が抽出される。差分置換部２１６は、例えば、二つのファイルの比較を行うためにオペレーティングシステムが提供している機能を利用して、上述した二つのバックアップファイルの差分情報を取得することができる。なお、差分情報を抽出する処理としては、二つのファイルの一方と差分情報とに基づいて、他方のファイルを復元することができるような差分情報を生成する処理であれば如何様なものでも適用できる。
【００２９】
次いで、差分置換部２１６は、得られた差分情報を用いて、履歴情報保持部２１４に保持された最古のバックアップファイルを置き換える処理を行う(ステップ３０８)。図２に示した例では、差分置換部２１６の処理により、第ｉ−ｋ世代に対応する履歴情報に含まれているバックアップファイルが、上述した差分情報(ｉ−ｋ)に置き換えられる。
【００３０】
このようにして、現世代の共有ファイル１０１から保存世代数を超えて遡った世代のバックアップファイルを、そのバックアップファイルの次の世代に対応するバックアップファイルとの差分情報に置き換えることができる。図２に示した履歴情報保持部２１４では、第ｉ−(ｋ＋１)世代より古い世代に対応する履歴情報において、それぞれの世代のバックアップファイルが、各世代より１世代新しいバックアップファイルとの差分情報に置き換えられている。
【００３１】
二つのバックアップファイルの間の差分情報は、個々のバックアップファイルに比べて情報量が少ない。したがって、このような置き換え処理を行うことにより、履歴情報保持部２１４に蓄積される情報量の抑制を図ることができる。
【００３２】
上述したステップ３０８の処理で差分情報(ｉ−ｋ)によって置き換えられた第ｉ−ｋ世代に対応するバックアップファイルは、差分情報(ｉ−ｋ)と第ｉ−(ｋ−１)世代に対応するバックアップファイルとに基づいて復元することができる。そして、復元された第ｉ−ｋ世代に対応するバックアップファイルと差分情報(ｉ−(ｋ＋１))とに基づいて、第ｉ−(ｋ＋１)世代に対応するバックアップファイルを復元することができる。このような処理を順次に行うことにより、上述した共有ファイルの世代管理装置２００では、履歴情報保持部２１４に蓄積された履歴情報に基づいて、現世代の共有ファイル１０１から任意の世代まで遡った世代の共有ファイルを復元することができる。例えば、履歴情報保持部２１４に、初代の共有ファイル１０１と第２世代の共有ファイル１０１との差分情報を含む履歴情報が保持されていれば、順次に遡って、初代の共有ファイル１０１を復元することも可能である。
【００３３】
このように、任意の世代まで遡って共有ファイルを復元可能としたことにより、共有ファイルの管理における様々なトラブルに柔軟に対処することができる。例えば、利用者が、クライアント装置にコピーした共有ファイルを変更した後に、この変更したファイルを用いてサーバ装置の共有ファイル１０１を上書きしてしまった場合にも有用な対処ができる。つまり、履歴情報に含まれる更新情報に基づいて、上述した上書きが行われる前の世代を特定し、その世代までの履歴情報を用いて、上書きされる前の共有ファイルを復元することができる。このような対処を可能としたことにより、共有ファイル１０１を共有している利用者のミスによって、別の利用者の作業を無駄にしてしまうといった重大なトラブルを抑止することができる。
【００３４】
また、上述した構成では、履歴情報保持部２１４に保存世代数ｋのバックアップファイルが維持されている。したがって、現世代からこの保存世代数ｋだけ遡った世代までは、履歴情報保持部２１４に保持されたバックアップファイルにより、即座に所望の世代の共有ファイルを復元することができる。
【００３５】
なお、図３のステップ３０４において新たに蓄積される履歴情報に対応する世代を示す世代識別情報の値が上述した保存世代数ｋ以下である場合には、履歴情報保持部２１４に蓄積されているバックアップファイルの数Ｎｂは、保存世代数ｋ以下である。この場合は、ステップ３０５の否定判定となり、ステップ３０６〜ステップ３０８の処理はスキップされる。
【００３６】
また、図１に示した共有ファイルの世代管理装置２００は、更新情報が収集されるごとに、共有ファイル１０１を共有している各利用者に、この更新情報を含むメールを送信する構成を備えている。この構成を備えたことにより、共有ファイル１０１の更新に関する情報を、共有ファイル１０１を共有している利用者の間で共有することができる。
【００３７】
このように、上述したメールによって、共有ファイル１０１が更新されたことを各利用者に通知することにより、更新前の共有ファイル１０１のコピーを持っている利用者による上書き操作の実行を抑止することも可能である。
【００３８】
なお、メール以外の手段を利用して、更新情報を含むメッセージを共有ファイルの共有にかかわっている各利用者に通知することもできる。例えば、掲示板サービスやインスタントメッセンジャーなどを利用して、更新情報を含むメッセージを伝達することができる。
【００３９】
また、メッセージ作成部２１７は、共有ファイル１０１を更新した利用者が更新情報の広報を指示したときに、更新情報を含むメッセージを作成するように構成することもできる。この場合は、例えば、重要な更新が行われた場合にのみ、更新情報を含むメールが各利用者に通知される。したがって、共有ファイル１０１が頻繁に更新される場合にも、ネットワークのトラヒックの増大を抑制しつつ、重要な更新に関する更新情報を各利用者に伝達することができる。
【００４０】
ところで、図１に示した更新情報収集部２１１、履歴情報生成部２１３、ファイル抽出部２１５、差分置換部２１６、メッセージ作成部２１７およびメール送信部２１８は、いずれもソフトウェアによって、それぞれの機能を実現することが可能である。そして、上述した各部の機能を実現するソフトウェアをサーバ装置１０２の常駐ソフトウェアとして動作させておくことができる。これにより、共有ファイルの世代管理装置２００は、共有ファイル１０１の更新を漏れなく検出して更新履歴を残すことが可能である。
【００４１】
ところで、共有ファイルの世代管理装置２００の機能を実現するためのソフトウェアの一部あるいは全部を、共有ファイル１０１を管理しているサーバ装置１０２以外の装置に常駐させて、共有ファイルの世代管理装置を実現することもできる。
【００４２】
以下に開示する実施形態では、共有ファイルの世代管理装置の機能をネットワークに接続された別のサーバ装置やクライアント装置に分担する構成例のいくつかを説明する。
(実施形態２)
図４に、共有ファイルの世代管理装置の別実施形態を示す。図４に示した実施形態では、共有ファイルの世代管理装置２００の機能の一部が、別のサーバ装置１０８に分担されている。なお、図４に示した構成要素のうち、図１に示した構成要素と同等のものについては、同一の符号を付して示し、その説明は省略する。
【００４３】
図４に示した共有ファイルの世代管理装置２００では、履歴蓄積部２２０は、サーバ装置１０２に備えられた履歴情報生成部２１３および履歴情報転送部２２１と、サーバ装置１０８に備えられた履歴情報保持部２２２とを備えている。また、ファイル抽出部２１５および差分置換部２１６の機能は、サーバ装置１０８に分担されている。
【００４４】
履歴蓄積部２２０では、履歴情報生成部２１３によって生成された履歴情報は、履歴情報転送部２２１により、通信処理部１０６の機能を利用してサーバ装置１０８に備えられた履歴情報保持部２２２に転送されて蓄積される。このような履歴情報の転送は、例えば、通信処理部１０６のＦＴＰ(File Transfer Protocol)を用いたファイル転送機能を利用して実現することができる。
【００４５】
図５に、履歴情報を蓄積する処理を説明するシーケンス図を示す。なお、図５では、共有ファイル１０１を管理するサーバ装置１０２をサーバ装置＃１として示した。一方、履歴情報保持部２２２を備えた別のサーバ装置１０８をサーバ装置＃２として示した。また、共有ファイル１０１を共有している利用者のクライアント装置１００１〜１００ｎは、各クライアント装置＃１〜＃ｎとして示した。
【００４６】
また、図５の例は、クライアント装置＃１の利用者によって、サーバ装置１０２に置かれた共有ファイル１０１が更新された場合を示している。図５に示した例では、クライアント装置＃１の利用者による操作(Ｓ１)により、共有ファイル１０１の世代は、第ｉ＋１世代に更新されている。
【００４７】
共有ファイル１０１の更新は、サーバ装置＃１のファイル管理部１０４によって共有ファイルの世代管理装置２００に通知され(Ｓ２)、これに応じて、更新情報収集部２１１によって更新情報が収集される。そして、履歴情報生成部２１３により、この更新情報と第ｉ世代のバックアップファイルを含む履歴情報が生成される(Ｓ３)。
【００４８】
生成された第ｉ世代に対応する履歴情報は、ネットワークを介してサーバ＃２に転送され(Ｓ４)、サーバ＃２に備えられた履歴情報保持部２２２に蓄積される(Ｓ５)。このようにして、第ｉ世代に対応する履歴情報が蓄積されたときに、サーバ＃２に備えられたファイル抽出部２１５および差分置換部２１６は、上述した実施形態１と同様の処理を行う。このとき、新たに蓄積された第ｉ世代から保存世代数ｋを遡った第ｉ−ｋ世代に対応するバックアップファイルが抽出され(Ｓ６)、このバックアップファイルが、対応する差分情報によって置き換えられる(Ｓ７)。
【００４９】
また一方、サーバ装置＃１のメッセージ作成部２１７により、更新情報を含むメッセージが作成される(Ｓ８)。そして、メール送信部２１８により、このメッセージを含むメールが、各クライアント装置＃１〜＃ｎに送信される(Ｓ９)。
【００５０】
このようにして、共有ファイル１０１が置かれたサーバ装置１０２とは別のサーバ装置１０８に、履歴情報を蓄積することができる。また、履歴情報を蓄積する機能をクライアント装置１００のいずれかに分担することもできる。このように、共有ファイル１０１と履歴情報とを別のサーバ装置あるいはクライアント装置に格納するように構成することにより、サーバ装置１０２に障害が発生した場合などにも、直前の世代までの共有ファイル１０１を復元することが可能となる。このような共有ファイルの世代管理装置を適用することにより、共有ファイル１０１の安全性を向上することもできる。
【００５１】
また、共有ファイル１０１が置かれているサーバ装置１０２と別のサーバ装置１０８あるいはクライアント装置との両方に、履歴情報を蓄積することも可能である。このような構成の共有ファイルの世代管理装置を適用することにより、共有ファイル１０１の安全性を更に向上することができる。
(実施形態３)
図６に、共有ファイルの世代管理装置の別実施形態を示す。図６に示した実施形態では、共有ファイルの世代管理装置２００の機能は、クライアント装置１００１の常駐ソフトウェアによって実現されている。なお、図６に示した構成要素のうち、図１に示した構成要素と同等のものについては、同一の符号を付して示し、その説明は省略する。
【００５２】
図６に示した共有ファイルの世代管理装置の更新情報収集部２３１は、属性情報取得部２３２と更新検出部２３３と参照情報保持部２３４とを備えている。属性情報取得部２３２は、クライアント装置１００１に備えられた通信処理部１０６の機能を利用して、サーバ装置１０２に置かれた共有ファイル１０１の属性情報を定期的に取得する。属性情報取得部２３２は、例えば、通信処理部１０６のＴＣＰ／ＩＰ機能を利用して、サーバ装置１０２から共有ファイル１０１の属性情報を取得することができる。
【００５３】
例えば、共有ファイル１０１のファイルサイズや更新日時および更新した利用者のユーザＩＤなどを含む属性情報を取得し、この属性情報の変化を更新検出部２３３によって検出することにより、共有ファイル１０１の更新を検出することができる。更新検出部２３３は、属性情報取得部２３２から受け取った属性情報と、参照情報保持部２３４に保持された参照情報とが一致しなかった場合に、共有ファイル１０１の更新を検出する。このとき、属性情報取得部２３２から受け取った属性情報は、更新情報として履歴蓄積部２３５に渡される。また、この属性情報は、新たに受け取る属性情報と比較するための参照情報として参照情報保持部２３４に保持される。
【００５４】
図６に示した履歴蓄積部２３５は、バックアップファイル取得部２３６と蓄積制御部２３７と差分抽出部２３８と履歴情報保持部２３９とを備えている。バックアップファイル取得部２３６は、蓄積制御部２３７からの指示に応じて、通信処理部１０６を介してサーバ装置１０２から共有ファイル１０１のバックアップファイルを取得する。取得されたバックアップファイルは、蓄積制御部２３７を介して履歴情報保持部２３９に蓄積される。また、差分抽出部２３８は、蓄積制御部２３７から指示された二つのバックアップファイルの差分情報を抽出する。抽出された差分情報は、蓄積制御部２３７に渡され、バックアップファイルの置き換え処理に用いられる。
【００５５】
上述した更新情報収集部２３１とバックアップファイル取得部２３６と蓄積制御部２３７と差分抽出部２３８とメッセージ作成部２１７およびメール送信部２１８の機能は、いずれもソフトウェアによって実現可能である。そして、これらのソフトウェアをクライアント装置１００１に常駐させることにより、図６に示したような共有ファイルの世代管理装置を実現することが実現できる。
【００５６】
図７に、更新情報の収集および履歴情報の蓄積動作を表す流れ図を示す。また、図８に、更新情報の収集および履歴情報の蓄積動作を説明するシーケンス図を示す。更に、図９に、履歴情報を蓄積する処理を説明する図を示す。なお、図８では、共有ファイル１０１を管理するサーバ装置１０２をサーバ装置＃１として示した。また、共有ファイル１０１を共有している利用者のクライアント装置１００１〜１００ｎは、各クライアント装置＃１〜＃ｎとして示した。以下、図６から図９を参照しつつ、更新情報を収集する処理および履歴情報を蓄積する処理について説明する。
【００５７】
図７に示したステップ３１１において、属性情報取得部２３２は、サーバ装置１０２から共有ファイル１０１の属性情報を取得する。例えば、属性情報取得部２３２は、図８に示すように、サーバ装置＃１に属性情報を問い合わせるための問い合わせメッセージを送出する(Ｓ１)。そして、サーバ装置＃１から応答が返されたときに(Ｓ２)、この応答に含まれている属性情報が、更新検出部２３３により、参照情報保持部２３４に保持された参照情報と比較される。このとき、参照情報保持部２３４には、共有ファイル１０１の更新を最後に検出した際に取得した属性情報が参照情報として保持されている。したがって、共有ファイル１０１が更新されていない場合は、上述した参照情報は、ステップ３１１で取得される共有ファイル１０１の属性情報と一致する。
【００５８】
取得した属性情報と参照情報とが一致した場合に、更新検出部２３３は、共有ファイル１０１は更新されていないと判断する(ステップ３１２の否定判定)。この場合に、処理は、ステップ３１６に進み、上述した問い合わせメッセージを送出してから予め設定された取得間隔Ｔｓが経過しているか否かを判定する。問い合わせメッセージを送出してからの経過時間が、取得間隔Ｔｓに満たない場合は(ステップ３１６の否定判定)、このステップ３１６が繰り返される。そして、問い合わせメッセージを送出してから取得間隔Ｔｓに相当する時間が経過したときに、ステップ３１６の肯定判定としてステップ３１１に戻り、再び属性情報を取得する処理が行われる。
【００５９】
図８の例では、サーバ装置＃１からの応答(Ｓ２)を受け取った後に、クライアント装置＃ｎによって共有ファイル１０１の更新操作(Ｓ４)が行われている。この場合に、上述した更新操作(Ｓ４)の後にクライアント装置＃１から送出された属性情報問い合わせ(Ｓ５)に応じて、サーバ装置＃１から、更新後の共有ファイル１０１の属性情報を含む応答が返される(Ｓ６)。このとき取得された更新後の属性情報は、参照情報保持部２３４に保持された更新前の参照情報と一致しない。
【００６０】
このように、取得した属性情報と参照情報とが一致しない場合に、更新検出部２３３は、共有ファイル１０１は更新されていると判断する(図７のステップ３１２の肯定判定)。このとき、更新検出部２３３は、世代識別情報および参照情報を更新する(ステップ３１３，３１４)。
【００６１】
図８に示した例では、符号Ｓ４で示した更新操作は、第ｉ世代の共有ファイル１０１に対して行われている。この場合に、更新検出部２３３は、共有ファイル１０１の更新を検出した際に、共有ファイル１０１に対応する世代識別情報を、第ｉ世代から第ｉ＋１世代に更新する(Ｓ７)。また、このとき、更新検出部２３３は、サーバ装置から返された応答(Ｓ６)に含まれた属性情報を用いて、参照情報保持部２３４の内容を更新する。これにより、上述した更新操作を実行したクライアント装置＃ｎの利用者を示すユーザＩＤおよび更新日時を含む属性情報が、第ｉ＋１世代の共有ファイル１０１新しい参照情報として保持される。また、この属性情報は、第ｉ世代から第ｉ＋１世代への更新操作に対応する更新情報として蓄積制御部２３７に渡される。
【００６２】
図７に示したステップ３１５において、バックアップファイル取得部２３６は、蓄積制御部２３７からの指示に応じてサーバ装置１０２からバックアップファイルを取得する処理を行う。バックアップファイル取得部２３６は、例えば、通信処理部１０６のＦＴＰ機能を利用して、バックアップファイルを取得することができる。
【００６３】
図８に示した例では、サーバ装置１０２に対してバックアップファイルの転送を要求し(Ｓ８)，このファイル転送要求に対する応答としてサーバ装置から転送されるバックアップファイルを受け取っている。このバックアップファイルは、更新前の第ｉ世代の共有ファイル１０１の内容に相当する。このようにして取得されたバックアップファイルは、蓄積制御部２３７に渡され、履歴情報の生成処理に供される。
【００６４】
図７に示したステップ３１５に続いて、蓄積制御部２３７は、図３に示したステップ３０４と同様にして、更新前の世代に対応する履歴情報を生成し、履歴情報保持部２３９に蓄積する。
【００６５】
図８、９に示した例では、蓄積制御部２３７は、上述したバックアップファイルと更新情報とを含めて、第ｉ世代に対応する履歴情報を生成している。この履歴情報は、履歴情報制御部２３７により、第ｉ世代を示す世代識別情報に対応して、履歴情報保持部２３９に蓄積される(図８のＳ１０)。
【００６６】
その後、蓄積制御部２３７からの指示に応じて、差分生成部２３８は、新たに蓄積したバックアップファイルとその前の世代に対応して蓄積されているバックアップファイルとの差分情報を抽出する。この処理は、図３に示したステップ３０７と同等である。
【００６７】
図８、９に示した例では、蓄積制御部２３７からの差分抽出指示に応じて、差分生成部２３８は、履歴情報保持部２３９内の第ｉ世代に対応するバックアップファイルと第ｉ−１世代に対応するバックアップファイルとを参照する。そして、これらのバックアップファイルの間の差分情報(第ｉ−１世代)を抽出する(図８のＳ１１)。抽出された差分情報は、蓄積制御部２３７に渡される。
【００６８】
差分情報生成部２３８から差分情報を受け取った履歴情報制御部２３７は、図３に示したステップ３０８と同様にして、新たに蓄積した履歴情報に対応する世代のひとつ前の世代に対応する履歴情報に含まれるバックアップファイルを置換する。
【００６９】
図８、９に示した例では、差分情報(第ｉ−１世代)を用いて、第ｉ−１世代を示す世代識別情報に対応する履歴情報に含まれるバックアップファイルが置換される(図８のＳ１２)。
【００７０】
その後、処理は、ステップ３１６に進み、属性情報問い合わせのための問い合わせメッセージの送出からの経過時間と取得間隔Ｔｓとの比較結果に応じた処理が行われる。
【００７１】
図６に示したように構成された共有ファイルの世代管理装置２００では、クライアント装置１００１から、サーバ装置１０２に置かれた共有ファイル１０１を定期的に監視することでその更新を検出している。
【００７２】
定期的な監視のための属性情報の取得間隔Ｔｓは、例えば、共有ファイル１０１の更新頻度に基づいて適切に設定することができる。そして、属性情報の取得間隔が適切に設定されれば、実施形態１，２と同様に、共有ファイル１０１が更新されるごとに、更新情報とバックアップファイルとを含む履歴情報を蓄積することができる。
【００７３】
また、図６に示した共有ファイルの世代管理装置では、新たなバックアップファイルを蓄積するごとに、一世代前のバックアップファイルが、上述したような差分情報によって置き換えられる。この構成は、図１に示した共有ファイルの世代管理装置において、保存世代数ｋを数値「１」とした場合に相当する。このような構成では、履歴情報保持部２３９に蓄積される情報量を圧縮することができる。したがって、クライアント装置１００１の限られたハードディスク容量を用いて、履歴情報保持部２３９を実現することができる。
【００７４】
なお、図９に示すように、第０世代に対応して、共有１０１の雛形ファイルと、この雛形ファイルを更新して作成された第１世代の共有ファイル１０１と雛形ファイルとの差分情報(第０世代)とを含む履歴情報を蓄積しておくこともできる。この場合は、雛形ファイルから世代を下る方向に各世代の差分情報を取り入れていくことにより、任意の世代の共有ファイル１０１を復元することができる。
【００７５】
また、不要となった履歴情報を削除して、履歴情報保持部２３９に蓄積される情報量を抑制することもできる。例えば、利用者間の協議などにより、各世代の共有ファイル１０１の中から新しい雛形とする共有ファイルの世代を特定した場合などに、その世代以前の全ての世代に対応する履歴情報を削除することができる。このような履歴情報の抑制手法は、実施形態１や実施形態２で説明した構成にも適用することができる。
【００７６】
また、上述した実施形態３の構成と実施形態１，２において説明した構成とを組み合わせて適用することも可能である。また、図６に示した共有ファイルの世代管理装置を実現する各部の機能のためのソフトウェアを別のサーバ装置に常駐させて運用することも可能である。
【００７７】
更にまた、実施形態１，２において説明したようにして共有ファイル１０１の更新をサーバ装置１０２において検出し、この検出結果をクライアント装置１００あるいは別のサーバ装置に通知して、履歴情報の蓄積処理を起動させることも可能である。例えば、共有ファイル１０１が置かれたサーバ装置１０２から、更新情報を含むメールを送信することにより、クライアント装置１００あるいは別のサーバ装置に共有ファイルの更新が行われたことを伝えることができる。そして、クライアント装置１００あるいは別のサーバ装置に、受け取ったメールを解析して更新情報を検出する機能を備えることにより、共有ファイル１０１の更新を検出することができる。
【００７８】
このように、共有ファイルの世代管理装置を構成する各機能は、共有ファイル１０１が置かれたサーバ装置１０２とクライアント装置１００あるいは別のサーバ装置との間で様々に分担することができる。そして、いずれの構成を採用して場合でも、共有ファイル１０１についての更新にかかわる履歴情報は、もれなく自動的に蓄積され、蓄積された履歴情報に基づいて、任意の世代の共有ファイルを復元することが可能である。
【符号の説明】
【００７９】
１００１〜１００ｎ  クライアント装置
１０１  共有ファイル
１０２，１０８  サーバ装置
１０３  ファイル記憶部
１０４  ファイル管理部
１０５  アプリケーション処理部
１０６  通信処理部
１０７  メール処理部
２１１，２３１  更新情報収集部
２１２，２２０，２３５  履歴蓄積部
２１３  履歴情報生成部
２１４，２２２，２３９  履歴情報保持部
２１５  ファイル抽出部
２１６  差分置換部
２１７  メッセージ作成部
２１８  メール送信部
２１９  共有ユーザリスト
２２１  履歴情報転送部
２３２  属性情報取得部
２３３  更新検出部
２３４  参照情報保持部
２３６  バックアップファイル取得部
２３７  蓄積制御部
２３８  差分抽出部
【図１】
2011154503.tif 000003
【図２】
2011154503.tif 000004
【図３】
2011154503.tif 000005
【図４】
2011154503.tif 000006
【図５】
2011154503.tif 000007
【図６】
2011154503.tif 000008
【図７】
2011154503.tif 000009
【図８】
2011154503.tif 000010
【図９】
2011154503.tif 000011