(57)【要約】      （修正有）【課題】作業用コピーに要する記憶容量を抑制した上で、ファイルの編集者を特定できるようにコミットする。【解決手段】管理対象ファイルが格納された版管理装置から、管理対象ファイルを作業用ディレクトリに作業用ファイルとしてチェックアウトする更新手段と、ネットワークを介して複数のクライアント端末に接続され、版管理装置にコミットされるファイルを管理するファイル共有装置とを具備し、ファイル共有装置は、複数のクライアント端末の各々から、編集者名と要求内容とを取得し、各クライアント端末から要求内容として参照要求を取得したときに、作業用ディレクトリに含まれる作業用ファイルの内容を取得して各クライアント端末に返信し、要求内容として保存要求を取得したときに、各クライアント端末から更に保存用データを取得し、保存用データに基づいて保存用ファイルを作成し、保存用ファイルを編集者名と対応付けて版管理装置にコミットする。【選択図】図２
2009211413.tif 000002
【特許請求の範囲】
【請求項１】
管理対象ファイルが格納された版管理装置から、前記管理対象ファイルを作業用ディレクトリに作業用ファイルとしてチェックアウトする更新手段と、
ネットワークを介して複数のクライアント端末に接続され、前記版管理装置にコミットされるファイルを管理するファイル共有装置と、
を具備し、
前記ファイル共有装置は、
前記複数のクライアント端末の各々から、編集者名と要求内容とを取得し、前記要求内容として参照要求を取得したときに、前記作業用ディレクトリに含まれる前記作業用ファイルの内容を取得して前記各クライアント端末に返信し、前記要求内容として保存要求を取得したときに、前記各クライアント端末から更に保存用データを取得し、前記保存用データに基づいて保存用ファイルを作成し、前記保存用ファイルを前記編集者名と対応付けて前記版管理装置にコミットする
ファイル管理システム。
【請求項２】
請求項１に記載されたファイル管理システムであって、
前記ファイル共有装置は、前記保存要求を取得したときに、個人作業用ディレクトリを作成し、前記編集者名を情報として含む管理ファイルを作成し、前記管理ファイルを前記保存用ファイルと共に前記個人作業用ディレクトリに格納し、前記管理ファイルに含まれる前記編集者名が反映されるように前記保存用ファイルを前記版管理装置にコミットする
ファイル管理システム。
【請求項３】
請求項２に記載されたファイル管理システムであって、
更に、
前記版管理装置に対応する管理ファイルの形式を格納する版管理装置固有情報記憶部
を具備し、
前記ファイル共有装置は、前記管理ファイルの形式に対して前記編集者名を指定することにより、前記管理ファイルを作成する
ファイル管理システム。
【請求項４】
請求項２または３に記載されたファイル管理システムであって、
更に、
前記版管理装置固有情報記憶部は、更に、コミットコマンドの形式を格納しており、
前記ファイル共有装置は、前記保存用ファイルをコミットするにあたり、前記コミットコマンドの形式を取得し、取得した前記コミットコマンドの形式に対して前記個人作業用ディレクトリの場所と前記保存場所とを指定することにより、コミットコマンドを作成し、作成した前記コミットコマンドを実行することにより、前記個人作業用ディレクトリから前記保存用ファイルを前記版管理装置の前記保存場所にコミットする
ファイル管理システム。
【請求項５】
請求項１乃至４のいずれかに記載されたファイル管理システムであって、
前記ファイル共有装置は、前記クライアント端末からＷｅｂブラウザによりアクセスが可能であるように構成されている
ファイル管理システム。
【請求項６】
（ａ）管理対象文書が格納された版管理装置から、前記管理対象文書を作業用ディレクトリに作業用文書としてチェックアウトするステップと、
（ｂ）クライアント端末から編集者名及び要求内容を取得するステップと、
（ｃ）前記要求内容として参照要求を取得したときに、前記作業用ディレクトリに含まれる作業用文書の内容を取得して前記各クライアント端末に返信するステップと、
（ｄ）前記要求内容として保存要求を取得したときに、前記クライアント端末から保存用データを取得し、取得した前記保存用データに基づいて保存用ファイルを作成し、前記保存用ファイルを前記編集者名と対応付けて前記版管理装置にコミットするステップと、
を具備する
ファイル管理方法。
【請求項７】
請求項６に記載されたファイル管理方法であって、
前記（ｄ）ステップは、
（ｄ−１）個人作業用ディレクトリを作成するステップと、
（ｄ−２）前記編集者名を情報として含む管理ファイルを作成して前記保存用ファイルと共に前記個人作業用ディレクトリに格納するステップと、
（ｄ−３）前記保存用ファイルを、前記管理ファイルの内容が反映されるように、前記個人作業用ディレクトリから前記版管理装置にコミットするステップと、を備える
ファイル管理方法。
【請求項８】
請求項７に記載されたファイル管理方法であって、
更に、
（ｅ）予め、前記版管理装置に用いられる管理ファイルの形式を格納しておくステップ
を具備し、
前記（ｄ−２）ステップは、前記管理ファイルの形式に対して編集者名を指定することにより、前記管理ファイルを作成するステップを備える
ファイル管理方法。
【請求項９】
請求項７または８に記載されたファイル管理方法であって、
更に、
（ｆ）予め、コミットコマンドの形式を格納しておくステップ
を具備し、
前記（ｄ）ステップは、前記コミットコマンドの形式に対して前記個人作業用ディレクトリの場所と前記保存場所とを指定することにより、コミットコマンドを作成するステップと、作成した前記コミットコマンドを実行することにより、前記保存用ファイルを前記版管理装置にコミットするステップとを備えている
ファイル管理方法。
【請求項１０】
請求項５乃至９のいずれかに記載されたファイル管理方法をコンピュータに実行させるための、ファイル管理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ファイルの版管理を行うファイル管理システムに関し、特に、ディレクトリ単位でファイルがチェックアウトされる機能を備えた版管理装置に対してファイル管理を行う、ファイル管理システム、ファイル管理方法、及びファイル管理プログラムに関する。
【背景技術】
【０００２】
複数のユーザが共同でファイルを操作することのできる、版管理装置が知られている。版管理装置は、ソフトウェア開発用などとして広く用いられている。ソフトウェア開発用などの版管理装置では、ネットワークを介してクライアント端末から管理対象のファイルがアクセスされることがある。図１は、そのような版管理装置１００を利用した版管理システム１１０の一例を示すブロック図である。版管理装置１００には、バージョン管理（版管理）の行われるファイル（管理対象ファイル）が格納されている。版管理装置１００に対しては、ネットワーク１０４を介して、複数のクライアント端末１０１が接続されている。複数のクライアント端末１０１の各々には、版管理用のクライアントソフトウェア１０２がインストールされている。版管理装置１００の管理対象ファイルに対して編集を行う場合、ユーザは、各クライアント端末１０１から版管理装置１００にアクセスする。そして、管理対象ファイルを各クライアント端末１０１にコピー（チェックアウト；取り出し）する。各クライアント端末１０１では、作業用コピー１０３（ワーキングコピーとも呼ぶ）が作成され、コピーされた管理対象ファイルが作業用ファイルとして格納される。作業用コピー１０３は作業用のディレクトリである。チェックアウトの際に、作業用コピー１０３には、作業用ファイルに加えて管理ファイルも格納される。管理ファイルは、そのファイルがどこから取り出したものであるのか、どの編集者により編集されているものであるのか、などといった管理用の情報を含むファイルである。この管理ファイルの形式は、版管理装置の種類によって異なっている。ユーザは、作業用ファイルに対して、作業（編集）を行う。編集後のファイルを版管理装置の管理対象ファイルに反映させるために、編集後の作業ファイルが各クライアント端末１０１から版管理装置１００にコミット（保存）される。コミット時には、管理ファイルの内容が版管理装置１００に反映される。また、編集者を特定する場合には、コミット時に、クライアント端末からログインユーザ名を送信したり、コマンドラインを指定することにより、編集者を特定する情報が版管理装置に通知される。
【０００３】
関連する技術として、特許文献１（特開２００６−３１２９２号公報）には、電子ファイルに対する変更箇所が複数存在する場合であっても、各変更箇所に対する変更理由を容易に把握することのできることを目的とした技術が開示されている。
【０００４】
また、他の関連技術として、特許文献２（特開２００６−１３４２１４号公報）には、ユーザ間の意志伝達を効率的に行う変更履歴の管理手段を提供するための技術が記載されている。
【０００５】
また、更に他の関連技術として、特許文献３（特開平６−３０１６７６号公報）には、ファイル群に対して変更が行われた場合に、各ユーザごとに正確に変更意図を判断して、その変更意図を各ユーザごとに、わかりやすい形で提示することを目的とした技術が記載されている。
【０００６】
また、更に他の関連技術として、特許文献４（特開２００５−２４２８５０号公報）には、バインダーを構成する複数のファイルの編集作業を限定された複数のユーザによって並行進行することを可能にし、バインダー内のファイルを編集しているユーザによるファイルのバージョン管理ができるようにすることを目的とした技術が記載されている。
【０００７】
また、更に他の関連技術として、特許文献５（特開平７−８５０２０号公報）には、クライアントがファイルを操作する際に、サーバ上のファイルデータベースからネットワーク共有ファイルのクライアント毎のファイルワークファイルへ複写して使用することにより、複数クライアント間で同一ファイルの同時操作、ユーザによるファイル格納ファイルの破壊を防止を可能とすることを目的とした技術が記載されている。
【０００８】
【特許文献１】特開２００６−３１２９２号公報
【特許文献２】特開２００６−１３４２１４号公報
【特許文献３】特開平６−３０１６７６号公報
【特許文献４】特開２００５−２４２８５０号公報
【特許文献５】特開平７−８５０２０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
各クライアント端末に個別に作業用コピーが作成される場合、各クライアント端末には作業用コピーを作成するための記憶容量が必要である。版管理装置としては、たとえばＯＳＳ（ＯｐｅｎＳｏｕｒｃｅＳｏｆｔｗａｒｅ）のＣＶＳやＳｕｂｖｅｒｓｉｏｎのように、ファイルがディレクトリ単位でチェックアウトされるものがある。このような版管理装置では、ディレクトリ単位でチェックアウトが行われるため、作業用コピーに要する記憶容量が特に膨大となってしまう。また、管理対象ファイルをチェックアウトする度に版管理装置へアクセスする必要があり、版管理装置に対するアクセス回数が増えてしまう。複数のクライアント端末から同時に一つの版管理装置へアクセスが集中することも考えられ、そのような場合には版管理装置に加わる処理の負荷が大きくなってしまう。
【００１０】
作業用コピーに要する記憶容量の増加を抑え、版管理装置へのアクセス回数を抑制する観点から、作業用コピーを複数のユーザ（クライアント端末）間で共有することが考えられる。しかしこの場合には、編集者名を版管理装置に反映させることができず、不便である。
【００１１】
そこで、本発明の目的は、作業用コピーに要する記憶容量を抑制した上で、ファイルの編集者を特定できるようにコミットすることのできる、ファイル管理システム、ファイル管理方法、及びファイル管理プログラムを提供することにある。
【課題を解決するための手段】
【００１２】
本発明に係るファイル管理システムは、管理対象ファイルが格納された版管理装置から、前記管理対象ファイルを作業用ディレクトリに作業用ファイルとしてチェックアウトする更新手段と、ネットワークを介して複数のクライアント端末に接続され、前記版管理装置にコミットされるファイルを管理するファイル共有装置とを具備する。前記ファイル共有装置は、前記複数のクライアント端末の各々から、編集者名と要求内容とを取得し、前記各クライアント端末から前記要求内容として参照要求を取得したときに、前記作業用ディレクトリに含まれる作業用ファイルの内容を取得して前記各クライアント端末に返信し、前記要求内容として保存要求を取得したときに、前記各クライアント端末から更に保存用データを取得し、前記保存用データに基づいて保存用ファイルを作成し、前記保存用ファイルを前記編集者名と対応付けて前記版管理装置にコミットする。
【００１３】
本発明に係るファイル管理方法は、（ａ）管理対象文書が格納された版管理装置から、前記管理対象文書を作業用ディレクトリに作業用文書としてチェックアウトするステップと、（ｂ）クライアント端末から編集者名及び要求内容を取得するステップと、（ｃ）前記要求内容として参照要求を取得したときに、前記作業用ディレクトリに含まれる作業用文書の内容を取得して前記各クライアント端末に返信するステップと、（ｄ）前記要求内容として保存要求を取得したときに、前記クライアント端末から保存用データを取得し、取得した前記保存用データに基づいて保存用ファイルを作成し、前記保存用ファイルを前記編集者名と対応付けて前記版管理装置にコミットするステップとを具備する。
【００１４】
本発明に係るファイル管理プログラムは、上記のファイル管理方法をコンピュータに実行させるためのプログラムである。
【発明の効果】
【００１５】
本発明によれば、作業用コピーに要する記憶容量を抑制した上で、ファイルの編集者を特定できるようにコミットすることのできる、ファイル管理システム、ファイル管理方法、及びファイル管理プログラムが提供される。
【発明を実施するための最良の形態】
【００１６】
図面を参照しつつ、本発明の実施形態について詳細に説明する。
【００１７】
図２は、本実施形態に係る版管理システム１を示す概略構成図である。この版管理システム１は、インターネットに例示されるネットワーク７を介して、複数のクライアント端末８に接続されている。版管理システム１は、ファイル共有プログラムのインストールされたファイル共有装置３と、メモリやハードディスクに例示される記憶装置４と、版管理プログラムのインストールされた版管理装置２と、更新プログラムのインストールされた更新装置５と、ユーザ管理プログラムのインストールされたユーザ管理装置６とを備えている。
【００１８】
版管理装置２には、管理対象ファイル（管理対象文書）が格納されている。また、版管理装置２には、版管理プログラムがインストールされている。版管理プログラムは、管理対象ファイルを複数のユーザにより共同操作するためのプログラムであり、ディレクトリ単位でチェックアウトが行われるプログラムである。そのような版管理プログラムとして、例えばＯＳＳ（ＯｐｅｎＳｏｕｒｃｅＳｏｆｔｗａｒｅ）のＣＶＳやＳｕｂｖｅｒｓｉｏｎが挙げられる。版管理装置２は、ファイル共有装置３にアクセス可能であればよく、ファイル共有装置３と同じコンピュータにより実現されてもよいし、ファイル共有装置３にアクセス可能に接続された別のコンピュータにより実現されてもよい。
また、版管理装置２には、管理対象ファイルのファイル名、バージョン情報、及び編集者名などを示す情報が管理情報として格納されている。
【００１９】
記憶装置４には、版管理装置固有情報４２と、ユーザ情報４３と、作業用コピー４１とが格納されている。
版管理装置固有情報４２は、版管理装置２の種類毎に、管理ファイルの形式と、コマンドの形式とを示した情報である。コマンドの形式は、ファイルを操作するためのＯＳのコマンドの形式と、版管理装置２を操作するための操作コマンドの形式とを含んでいる。
ユーザ情報４３は、版管理装置２にアクセス可能な編集者名を示す情報である。
作業用コピー４１は、作業用ファイルを格納するためのディレクトリである。その作業用ファイルは、版管理装置２からチェックアウトされた管理対象ファイルのコピーである。作業用コピー４１には、作業用ファイルに加えて管理ファイルも格納されている。管理ファイルは、管理対象ファイルの保存場所、編集者名、ファイルの名称、及びバージョン情報などを含んでいる。編集者から管理対象ファイルを参照する旨の要求があったときには、この作業用コピー４１が参照される。
【００２０】
また、記憶装置４は、一時的に個人作業用ディレクトリ４４（個人作業領域）が作成されるように構成されている。個人作業用ディレクトリ４４は、編集者毎に設けられるディレクトリであり、編集者によって用意された保存用データをコミットする際に、その保存用データを一時的に格納しておくためのディレクトリである。個人作業用ディレクトリ４４には、保存用データに基づいて作成された保存用ファイルと、その保存用ファイルに対応する管理ファイルとが格納される。
【００２１】
更新装置５は、作業用コピー４１に格納される作業用ファイルを常に最新の状態に保つために設けられている。更新装置５は、版管理装置２から管理対象ファイルをチェックアウトし、作業用コピー４１（ワーキングコピー）に作業用ファイルとして格納する。更新装置５は、例えばタイマー機能や版管理装置２が備えるコミット時通知機能を利用することにより、自動的に版管理装置２から管理対象ファイルをチェックアウトする。これにより、作業用コピー４１に格納される作業用ファイルが、常に最新のファイルに保たれる。具体的な例を挙げると、版管理プログラムがＳｕｂｖｅｒｓｉｏｎの場合、ポストコミットフックというコミット時にバッチファイルを起動する機能が付与されているので（ｈｔｔｐ：／／ｓｕｂｖｅｒｓｉｏｎ．ｔｉｇｒｉｓ．ｏｒｇ）、そのバッチファイル中に作業用コピーを更新するコマンドを記述しておけばよい。
【００２２】
ユーザ管理装置６は、編集者名に関する情報を一元管理するための装置である。ユーザ管理装置６としては、ＬＤＡＰ（ＬｉｇｈｔｗｅｉｇｈｔＤｉｒｅｃｔｏｒｙＡｃｃｅｓｓＰｒｏｔｏｃｏｌ）に準拠したディレクトリサーバなどが例示される。ユーザ管理装置６にも、ユーザ情報４３と同じような情報（編集者名とパスワードとの対応関係）が格納されている。
【００２３】
複数のクライアント端末８の各々は、Ｗｅｂブラウザなどの閲覧用アプリケーションのインストールされたコンピュータである。各クライアント端末８には、保存用データや編集者名を送信できる機能を有するアプリケーションがインストールされていればよい。版管理装置２との連携機能（管理対象ファイルのチェックアウト機能及び保存用ファイルのコミット機能）を備えたアプリケーションは、必ずしもインストールされている必要はない。
【００２４】
ファイル共有装置３は、各クライアント端末８と版管理装置２にコミットされるファイルを管理するための装置である。ファイル共有装置３は、インターフェース１１と、ユーザ管理部１２と、ファイル管理部１３とを備えている。
【００２５】
インターフェース１１は、ネットワーク７を介して各クライアント端末８からアクセスがあったときに、編集者名を識別する機能を実現する。具体的には、ログイン処理などにより、各クライアント端末８から編集者名を取得する。編集者名を取得すると、ユーザ管理部１２にアクセスして、取得した編集者名が版管理装置２にアクセス可能な名前であるのか否かを確認する。取得した編集者名が版管理装置２にアクセス可能な名前である場合には、例えばＨＴＴＰ（Ｈｙｐｅｒｔｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）セッションの仕組みなどにより、以降のクライアント端末８からの要求がどの編集者のものであるかを特定する。
また、インターフェース１１は、クライアント端末８からの要求（参照、保存）を受け付ける。クライアント端末８からの要求が保存要求である場合には、更に、保存用データ及び保存場所をクライアント端末８から取得する。
【００２６】
ユーザ管理部１２は、インターフェース１１が取得した編集者名が版管理装置２にアクセス可能な編集者名であるか否かを確認する機能を実現する。具体的には、記憶装置４のユーザ情報４３を参照するか、又は、ユーザ管理装置６にアクセスして、取得した編集者名が存在しているか否かを確認する。確認の結果は、インターフェース１１に通知される。
【００２７】
ファイル管理部１３は、版管理装置２にコミットする保存用ファイルを管理する機能を実現する。ファイル管理部１３は、コマンド制御部１４と、コマンド作成部１５とを備えている。
【００２８】
コマンド制御部１４は、コマンド作成部１５にコマンドを作成させると共に、コマンド作成部１５が作成したコマンドを実行する。
コマンド制御部１４は、インタフェース１１を介してクライアント端末８から参照要求を受け取ったときに、作業用コピー４１にアクセスして該当する作業用ファイルの内容を取得し、インタフェース１１を介して各クライアント端末８に通知する。
また、コマンド制御部１４は、インタフェース１１を介してクライアント端末８から保存要求を受けとった場合、記憶装置４に個人作業領域４４を作成する。そして、個人作業領域４４を初期化することにより、個人作業領域４４に管理ファイルを格納する。この際、管理ファイルは、版管理装置固有情報４２に示される管理ファイルの形式に沿って作成され、格納される。コマンド制御部１４は、保存用データを、保存用ファイルとして個人作業領域４４に格納する。個人作業領域４４は、保存用ファイルと管理ファイルとを一時的に保持するためのディレクトリである。コマンド制御部１４は、個人作業領域４４に保存用ファイルを格納した後、個人作業領域４４から版管理装置２に保存用ファイルをコミットする。このとき、個人作業領域４４の管理ファイルに記された編集者名が版管理装置２の管理情報に反映されるように、コミットする。
【００２９】
コマンド作成部１５は、コマンドを作成するために設けられている。コマンド作成部１５は、版管理装置２と１対１で対応しており、版管理装置２の種別を特定する情報を保持している。コマンド作成部１５は、版管理装置固有情報４２に示される管理ファイルの形式及びコマンドの形式に基づいて、コマンドを作成し、作成したコマンドをコマンド制御部１４に通知する。
図３は、コマンド作成部１５がコマンドを作成するときの動作を示すフローチャートである。コマンド作成部１５は、指定されたコマンドを作成するにあたり、版管理装置２の種別を特定する（ステップＳ２１）。次に、版管理装置固有情報４２から、特定した版管理装置に対応するコマンドの形式を取得する（ステップＳ２２）。次に、取得したコマンドの形式に対して、必要な情報（保存場所、編集者名、管理ファイルの形式）を付与して、コマンドを作成する（ステップＳ２３）。
【００３０】
次に、上述の版管理システム１の動作について説明する。
【００３１】
管理対象ファイルを参照したい場合、編集者はクライアント端末８を介してファイル共有装置３にアクセスする。ファイル共有装置３では、インターフェース１１が、編集者名の入力を促す情報などをクライアント端末８に返す。編集者は、クライアント端末８より、編集者名をインターフェース１１に入力する。インターフェース１１は編集者名を取得すると、ユーザ管理部１２にアクセスして、入力された編集者名が版管理装置２に対してアクセスすることのできる編集者のものであるか否かを確認する。アクセス可能である場合、編集者は、クライアント端末８を介して、ファイル共有装置３に対し、参照したい管理対象ファイルの保存場所を入力する。インターフェース１１は、コマンド制御部１４に、入力された保存場所を通知する。コマンド制御部１４は、記憶装置４の作業用コピー４１にアクセスして、通知された保存場所に対応する作業用ファイルの内容を取得し、インターフェース１１を介してクライアント端末８に通知する。これにより、編集者は、管理対象ファイルを実質的に参照することができる。
【００３２】
次に、版管理装置２に保存用ファイルを保存する場合について以下に説明する。図４は、保存用ファイルを保存する場合の動作を示すフローチャートである。
【００３３】
ステップＳ１；作業用コピーの確認
管理対象ファイルに対して変更を行う、もしくは新規に管理対象ファイルを追加する、などの操作を行いたい場合、編集者はクライアント端末８を介してファイル共有装置３にアクセスする。ファイル共有装置３では、インターフェース１１が、編集者名の入力を促す情報などをクライアント端末８に返す。編集者は、クライアント端末８より、編集者名をインターフェース１１に入力する。インターフェース１１は、ユーザ管理部１２にアクセスして、入力された編集者名が版管理装置２に対してアクセスすることのできる編集者のものであるものか否かを確認する。アクセス可能である場合、編集者は、クライアント端末８を介して、保存用ファイルを保存する場所（管理対象ファイルを追加する場合には版管理装置のどこに追加するか）を入力することができる。また、クライアント端末８を介して、保存用データもインターフェース１１に入力される。インターフェース１１は、コマンド制御部１４に、編集者名、保存用データ、及び保存場所を通知する。コマンド制御部１４は、記憶装置４の作業用コピー４１にアクセスして、通知された保存場所に対応する作業用ファイルが存在するか否かをチェックする。
【００３４】
ステップＳ２；コマンド種別の設定
通知された保存場所に対応する作業用ファイルが存在する場合、コマンド制御部１４は、コマンド種別を「変更」に設定する（ステップＳ２−１）。「変更」コマンドは、すでに版管理装置２に保存された管理対象ファイルを書き換えるためのコマンドである。
一方、通知された保存場所に対応する作業用ファイルが存在しない場合、コマンド種別は「追加」に設定される（ステップＳ２−２）。「追加」コマンドは、保存用ファイルを、管理対象ファイルとして、版管理装置２に新たに追加するためのコマンドである。
【００３５】
ステップＳ３；個人作業領域の作成
次に、コマンド制御部１４は、インターフェース１１より取得した編集者名に基づいて、個人作業領域４４を作成する。個人作業領域４４は、編集者名と対応付けられて作成される。
【００３６】
ステップＳ４；初期化コマンドの取得
続いて、コマンド制御部１４は、コマンド作成部１５に対して、初期化コマンドを作成するように指示する。ここでの初期化コマンドとは、個人作業用領域４４に管理ファイルを作成するためのコマンドである。コマンド作成部１５は、初期化コマンドとして、個人作業領域４４に管理ファイルを作成するようなコマンドを作成する。作成した初期化コマンドは、コマンド制御部１４に通知される。
【００３７】
ステップＳ５；初期化コマンドの実行
次に、コマンド制御部１４は、取得した初期化コマンドを実行する（ステップＳ７）。初期化コマンドが実行されることで、個人作業領域４４に管理ファイルが作成される。管理ファイルには、インターフェース１１を介してクライアント端末８から通知された編集者名と、保存場所とを示す情報が含まれている。
【００３８】
ステップＳ６；保存用のファイルを格納
次に、コマンド制御部１４は、インターフェース１１から取得した保存用データを、個人作業領域４４に保存用ファイルとして格納する。
【００３９】
ステップＳ７；コマンドの取得
次に、コマンド制御部１４は、コマンド作成部１５から、ステップＳ２で設定されたコマンド（追加または変更）に対応するコマンドを取得する。
【００４０】
ステップＳ８；コマンドの実行
次に、コマンド制御部１４は、ステップＳ７で取得したコマンドを実行する。「追加」コマンドが実行された場合には、管理ファイルに追加されたファイルの情報が保存される。一方、「変更」コマンドは、既に版管理装置２に格納されている管理対象ファイルを変更するためのコマンドであるので、本ステップで特段の処理は行われない。
【００４１】
ステップＳ９；コミットコマンドの取得
次に、コマンド制御部１４は、コマンド作成部１５に、コミットコマンドを作成するように指示する。コマンド作成部１５は、版管理装置固有情報４２から、コミットコマンドの形式を取得する。そして、取得したコミットコマンドの形式に対して、個人作業領域４４の場所を特定する情報及び保存場所を示す情報を付与し、個人作業領域４４から版管理装置２における保存場所に保存用ファイルをコミットするようなコミットコマンドを作成する。また、この際、コマンド作成部１５は、個人作業領域の管理ファイルに記された編集者名が版管理装置２に反映されるように、コミットコマンドを作成する。
作成されたコミットコマンドは、コマンド制御部１４に通知される。
【００４２】
ステップＳ１０；コミットコマンドの実行
次に、コマンド制御部１４は、取得したコミットコマンドを実行する。これにより、個人作業領域４４から版管理装置２に保存用ファイルがコミットされる。この際、その保存用ファイルに対応する管理ファイルに基づいて、編集者名が版管理装置２に通知される。版管理装置２では、コミットされた管理対象ファイルの管理情報として、編集者名が格納されることになる。
【００４３】
ステップＳ１１；個人作業領域の削除
次に、コマンド制御部１４は、個人作業領域４４を削除する。
【００４４】
以上説明したように、本実施形態によれば、作業用コピー４１がクライアント端末８毎に作成されるのではなく、記憶装置４に作成される。作業用コピー４１は、一つの管理対象ファイルに対して一つでよい。また、保存用のファイルを版管理装置２にコミットする際にも、保存用のファイルとその管理ファイルだけを個人作業領域４４に保存すればよく、必要な記憶容量が節約される。
【００４５】
また、作業用コピー４１から管理ファイルを作成するため、版管理装置２に対するアクセス回数を少なくすることが可能である。
【００４６】
また、本実施形態では、保存用ファイルを版管理装置２にコミットするに際して、ファイル管理部１３が、編集者名を特定できるように、コミットを行う。従って、作業用コピー４１が一つであるにもかかわらず、版管理装置２の管理情報に編集者名を反映させることができる。これにより、管理対象ファイルを閲覧する際に、そのファイルの編集者が誰であるのかを特定することができる。
【００４７】
また、本実施形態では、各クライアント端末８に、版管理装置２からファイルをチェックアウトしたりコミットする機能を有するアプリケーションがインストールされている必要はない。各クライアント端末８には、インターフェース１１に対して要求内容や保存用データを通知することのできる閲覧用アプリケーションがインストールされていればよく、例えばＷＥＢブラウザなどがインストールされていればよい。
【００４８】
（実施例）
続いて、本発明をより具体的に説明するために、実施例を挙げて説明する。尚、既述の実施形態と同様の箇所については、説明を省略する。
【００４９】
本実施例においては、版管理装置２にインストールされた版管理プログラムは、チェックアウト時にファイルをロックしないものとする。また、版管理装置２の管理情報は、コミット元の管理ファイルをコピーするだけで、変更が反映されるものとする。
【００５０】
図５は、本実施例におけるコマンド作成部１５に格納された内容を示す概念図である。コマンド作成部１５には、このファイル共有装置３に対応する版管理装置２の種別（２−Ａ）を特定する情報が格納されている。また、作業用コピー４１の場所（／ｗｏｒｋ）、及び個人作業領域４４の場所が情報として格納されている。なお、個人作業領域４４を示す「ｕｓｅｒ＿ｗｏｒｋ＝／＄ｕｓｅｒ」は、変数定義の一例を示しており、＄で始まる変数は、対応する変数ｕｓｅｒによりマクロ置換されることを示している。
【００５１】
図６は、版管理装置固有情報４２として示される、管理ファイルの形式、及びコマンドの形式を示している。これらの形式の中で、括弧｛  ｝は、リストを表している。
コマンドの形式として、初期化コマンドの形式、追加コマンドの形式、変更コマンドの形式、及びコミットコマンドの形式が格納されている。
初期化コマンドの形式は、「ｏｓ＿ｃｏｐｙ」という文字列を含んでおり、ＯＳのディレクトリとファイルをコピーすることを示している。
追加コマンドの形式は、「ｖｅｒ＿ａｄｄ」という文字列を含んでおり、版管理装置２へ管理対象ファイルを追加する旨の指示を与えることを示している。
変更コマンドの形式は、特に何も文字列を含んでいない。
コミットコマンドの形式は、「ｖｅｒ＿ｃｏｍｍｉｔ」という文字列を含んでおり、版管理装置２へ変更の反映を指示することを示している。
変更コマンド、コミットコマンドは、ファイル単位に実行可能である。また、コミットコマンドは、コミット元のディレクトリに格納された管理ファイルに記される編集者名が、版管理装置２に通知されるようなコマンドである。
【００５２】
図７は、版管理装置２に保存された管理対象ファイルの概念図である。図７に示されるように、ディレクトリｄ１に、ファイルｆ１が格納されている。また、ディレクトリｄ１と並列にファイルｆ２が格納されている。ファイルｆ１とｆ２とは、管理対象ファイルである。
【００５３】
図８は、作業用コピー４１に保存された内容を示す概念図である。作業用コピー４１は、／ｗｏｒｋディレクトリとして示されている。／ｗｏｒｋディレクトリの子ディレクトリに、ファイルｆ１と、ファイルｆ１の管理ファイルと、ｄ１ディレクトリとが格納されている。また、ｄ１ディレクトリには、ファイルｆ２と、ファイルｆ２の管理ファイルとが格納されている。
【００５４】
図９は、図８に示した／ｗｏｒｋ／ｄ１ディレクトリ／管理ファイルの内容を示す概念図である。この管理ファイルには、版管理装置２における保存場所（／ｄ２）と、ファイルのタイプと、ファイルの名称（ｆ２）と、バージョン情報（版１）と、編集者名（更新者ｕ２）とが示されている。
【００５５】
続いて、本実施例における動作について説明する。まず、編集者が新たに用意した保存用ファイルを版管理装置２に管理対象ファイルとして追加する場合の動作について説明する。
【００５６】
編集者ｕ１が、保存用ファイルを、ｄ１ディレクトリのファイルｆ３に保存する旨の操作を行うものとする。編集者ｕ１は、まず、クライアント端末８を介してファイル共有装置３に、保存要求、保存用データ、及び保存場所（／ｄ１／ｆ３）を入力する。
【００５７】
すると、コマンド制御部１４がインタフェース１１から、編集者名ｕ１、保存要求、保存場所／ｄ１／ｆ３、及び保存用ファイル内容を受け取る。
次に、コマンド制御部１４は、作業用コピー４１である／ｗｏｒｋディレクトリにアクセスして、保存場所／ｄ１／ｆ３に対応する作業用ファイルが存在するか否かをチェックする（ステップＳ１）。
【００５８】
／ｗｏｒｋディレクトリに保存場所／ｄ１／ｆ３に対応する作業用ファイルが存在しないので、コマンド制御部１４は、コマンド種別として「追加」を設定する（ステップＳ２−２）。
さらに、コマンド制御部１４は、編集者名ｕ１をもとに、個人作業領域４４として、／ｕ１ディレクトリを作成する（ステップＳ３）。
【００５９】
さらに、コマンド制御部１４は、コマンド作成部１５から、初期化コマンドを取得する（ステップＳ４）。ここで、コマンド作成部１５には、版管理装置２の種別を示す情報（図５参照）が格納されているので、版管理装置２の種別を版管理装置２−Ａと特定することができる。コマンド作成部１５は、版管理装置固有情報４２に基づいて、版管理装置２−Ａで用いられる初期化コマンドの形式「ｏｓ＿ｃｏｐｙ  ＄管理ファイル＄ｕｓｅｒ＿ｗｏｒｋ」を取得する。そして、コマンド作成部１５は、取得した初期化コマンドの形式に対して、マクロ置換により、編集者名ｕ１及び保存場所／ｄ１／ｆ３を付与し、初期化コマンド「ｏｓ＿ｃｏｐｙ  ／ｗｏｒｋ／ｄ１  ／管理ファイル／ｕ１」を作成する。この初期化コマンドは、／ｗｏｒｋ／ｄ１／管理ファイルに基づいて、／ｕ１ディレクトリに管理ファイルを作成することを示している。コマンド作成部１５は、作成した初期化コマンドをコマンド制御部１４に通知する。
【００６０】
コマンド制御部１４は、通知された初期化コマンド「ｏｓ＿ｃｏｐｙ  ／ｗｏｒｋ／ｄ１  ／管理ファイル／ｕ１」を実行する（ステップＳ５）。これにより、個人作業領域（／ｕ１ディレクトリ）に、管理ファイルが作成される。この際、管理ファイルは、版管理装置固有情報４２に示される管理ファイルの形式に沿って作成される。
【００６１】
さらに、コマンド制御部１４は、インターフェース１１を介して取得した保存用データを、個人作業領域４４である／ｕ１ディレクトリに、保存用ファイルｆ３として格納する（ステップＳ６）。図１０は、保存用ファイルが格納された段階における個人作業領域４４の内容を示す概念図である。／ｕ１ディレクトリに、保存用ファイルｆ３とその管理ファイルとが格納されている。
【００６２】
さらに、コマンド制御部１４は、コマンド作成部１５から、コマンド種別（追加）に対応するコマンドを取得する（ステップＳ７）。ここで、コマンド作成部１５には、版管理装置２の種別を示す情報（図５参照）が格納されているので、版管理装置２の種別を版管理装置２−Ａと特定することができる。コマンド作成部１５は、版管理装置固有情報４２に基づいて、版管理装置２−Ａで用いられる追加コマンドの形式「ｖｅｒ＿ａｄｄ  ＄ｕｓｅｒ＿ｗｏｒｋ／＄ｆｉｌｅ．ｎａｍｅ」を取得する。コマンド作成部１５は、取得した追加コマンドの形式に対して、マクロ置換により、編集者名ｕ１及び保存場所／ｄ１／ｆ３を付与し、追加コマンド「ｖｅｒ＿ａｄｄ  ／ｕ１／ｆ３」を作成する。この追加コマンドは、版管理装置２に管理対象ファイルとして、／ｕ１／ｆ３に格納されたファイルを追加することを示している。作成した追加コマンドは、コマンド制御部１４に通知される。
【００６３】
さらに、コマンド制御部１４は、取得した追加コマンド「ｖｅｒ＿ａｄｄ  ／ｕ１／ｆ３」を実行する（ステップＳ８）。これにより、版管理装置２に、追加されたファイルｆ３に関する情報が追加される。
【００６４】
さらに、コマンド制御部１４は、コマンド作成部１５から、コミットコマンドを取得する（ステップＳ９）。こここで、コマンド作成部１５には、版管理装置２の種別を示す情報（図５参照）が格納されているので、版管理装置２の種別を版管理装置２−Ａと特定することができる。コマンド作成部１５は、版管理装置固有情報４２に示されるコミットコマンドの形式「ｖｅｒ＿ｃｏｍｍｉｔ  −ｕｓｅｒ  ＄ｕｓｅｒ  ＄ｕｓｅｒ＿ｗｏｒｋ／＄ｆｉｌｅ．ｎａｍｅ」を取得する。コマンド作成部１５は、取得したコミットコマンドの形式に対して、マクロ置換により、編集者名ｕ１及び保存場所／ｄ１／ｆ３を付与して、コミットコマンド「ｖｅｒ＿ｃｏｍｍｉｔ  −ｕｓｅｒ  ｕ１  ／ｕ１／ｆ３」を作成する。作成されたコミットコマンドはコマンド制御部１４に通知される。このコミットコマンドは、ｕ１ディレクトリに格納されたファイルｆ３を、編集者名ｕ１と対応付けて版管理装置２にコミットするようなコマンドである。
【００６５】
さらに、コマンド制御部１４は、通知されたコミットコマンド「ｖｅｒ＿ｃｏｍｍｉｔ  −ｕｓｅｒ  ｕ１  ／ｕ１／ｆ３」を実行する（ステップＳ１０）。これにより、版管理装置のｄ１ディレクトリのファイルｆ３に、保存用ファイルが格納される。この際、ｕ１／ディレクトリのｆ３に対応する管理ファイルに記された編集者名ｕ１が、版管理装置２の管理情報に反映される。
【００６６】
最後に、コマンド制御部１４は、個人作業領域４４である／ｕ１ディレクトリを削除する（ステップＳ１１）。
【００６７】
図１１は、コミット後の版管理装置２に格納された内容を示す概念図である。また、図１２は、ファイルｆ３がコミットされた後に版管理装置２からチェックアウトされた作業用コピー４２を示す概念図である。また、図１３は、図１２に示される／ｗｏｒｋ／ｄ１ディレクトリの管理ファイルを示している。図１３に示されるように、／ｗｏｒｋ／ｄ１ディレクトリの管理ファイルには、編集者名がｕ１であること、ファイルｆ３のバージョンが「版１」であることなどが示されている。
【００６８】
続いて、すでに版管理装置２に保存された管理対象ファイルを、編集者が新たに用意した保存用ファイルに変更する場合の動作について説明する。
【００６９】
編集者ｕ１が、保存用ファイルを／ｄ１ディレクトリにファイルｆ２として保存しようとするものとする。編集者ｕ１は、各クライアント端末８を介してファイル共有装置３にアクセスし、編集者名ｕ１、保存要求、保存用データ、ファイルの保存場所（／ｄ１／ｆ２）を入力する。ファイル共有装置３では、インターフェース１１を介して、コマンド制御部１４が編集者名ｕ１、保存要求、保存場所（／ｄ１／ｆ２）、及び保存用ファイルｆ２のファイル内容とを取得する。コマンド制御部１４は、作業用コピー４１である／ｗｏｒｋディレクトリにアクセスして、保存場所／ｄ１／ｆ２に対応する作業用ファイルが存在するか否かをチェックする（ステップＳ１）。
【００７０】
図８に示したように、／ｗｏｒｋディレクトリには／ｄ１／ｆ２に対応する作業用ファイルが存在するので、コマンド制御部１４は、コマンド種別を「変更」に設定する（ステップＳ２−１）。
【００７１】
さらに、コマンド制御部１４は、編集者名ｕ１に基づいて、個人作業領域４４である／ｕ１ディレクトリを作成する（ステップＳ３）。
【００７２】
さらに、コマンド制御部１４は、コマンド作成部１５から、初期化コマンド「ｏｓ＿ｃｏｐｙ  ／ｗｏｒｋ／ｄ１／管理ファイル  ／ｕ１」を取得する（ステップＳ４）。
【００７３】
さらに、コマンド制御部１４は、取得した初期化コマンドを実行する（ステップＳ５）。
【００７４】
さらに、コマンド制御部１４は、インターフェース１１を介して取得した保存用データを、個人作業領域４４である／ｕ１ディレクトリに保存用ファイルとして保存する（ステップＳ６）。
【００７５】
さらに、コマンド制御部１４は、コマンド作成部１５から、変更コマンドを取得する（ステップＳ７）。ここで、コマンド作成部１５には、版管理装置２の種別を示す情報（図５参照）が格納されているので、版管理装置２の種別を版管理装置２−Ａと特定することができる。コマンド作成部１５は、版管理装置固有情報４２に記述された変更コマンドの形式「  」を取得する。コマンド作成部１５は、取得した変更コマンドの形式に対して、マクロ置換により、編集者名ｕ１及び保存場所／ｄ１／ｆ２を付与し、変更コマンド「  」を作成する。作成された変更コマンドはコマンド制御部１４に通知される。
【００７６】
さらに、コマンド制御部１４は、通知された変更コマンド「  」を実行する（ステップＳ８）。本実施例では、変更コマンドが空のコマンドなので、何もしないのと同じことである。
【００７７】
さらに、コマンド制御部１４は、コマンド作成部１５から、コミットコマンドを取得する（ステップＳ９）。
【００７８】
さらに、コマンド制御部１４は、取得したコミットコマンド「ｖｅｒ＿ｃｏｍｍｉｔ  −ｕｓｅｒ  ｕ１  ／ｕ１／ｆ２」を実行する（ステップＳ１０）。これにより、版管理装置のｄ１ディレクトリのファイルｆ２が書き換えられる。この際、この際、ｕ１／ディレクトリのｆ２に対応する管理ファイルに記された編集者名ｕ１が、版管理装置２の管理情報に反映される。
【００７９】
最後に、コマンド制御部１４は、個人作業領域４４である／ｕ１ディレクトリを削除する（ステップＳ１１）。
【図面の簡単な説明】
【００８０】
【図１】版管理装置１００を用いた版管理システム１１０の概略構成図である。
【図２】本発明の実施形態にかかる版管理システム１の概略構成図である。
【図３】コマンドの作成手順を表すフローチャートである。
【図４】本発明の実施形態にかかる版管理方法を示すフローチャートである。
【図５】コマンド作成部に格納された内容を示す概念図である。
【図６】管理ファイルの形式及びコマンドの形式を表す概念図である。
【図７】版管理装置２に格納された内容を表す概念図である。
【図８】作業用コピーの内容を表す概念図である。
【図９】管理ファイルの内容を示す概念図である。
【図１０】個人作業用ディレクトリの内容を示す概念図である。
【図１１】コミット後の版管理装置２に格納された内容を表す概念図である。
【図１２】コミット後の作業用コピーの内容を表す概念図である。
【図１３】コミット後の管理ファイルの内容を表す概念図である。
【符号の説明】
【００８１】
１  版管理システム
２  版管理装置
３  ファイル共有装置
４  記憶装置
５  更新部
６  ユーザ管理装置
７  ネットワーク
８  クライアント端末
１１  インターフェース部
１２  ユーザ管理部
１３  ファイル管理部
１４  コマンド制御部
１５  コマンド作成部
４１  作業用コピー
４２  版管理装置固有情報
４３  ユーザ情報格納部
４４  個人作業用領域
１００  版管理装置
１０１  クライアント
１０２  版管理クライアント
１０３  作業用コピー
１０４  ネットワーク
【図１】
2009211413.tif 000003
【図２】
2009211413.tif 000004
【図３】
2009211413.tif 000005
【図４】
2009211413.tif 000006
【図５】
2009211413.tif 000007
【図６】
2009211413.tif 000008
【図７】
2009211413.tif 000009
【図８】
2009211413.tif 000010
【図９】
2009211413.tif 000011
【図１０】
2009211413.tif 000012
【図１１】
2009211413.tif 000013
【図１２】
2009211413.tif 000014
【図１３】
2009211413.tif 000015