JP2009211413A - ファイル管理システム、ファイル管理方法、及びファイル管理プログラム - Google Patents

ファイル管理システム、ファイル管理方法、及びファイル管理プログラム Download PDF

Info

Publication number
JP2009211413A
JP2009211413A JP2008053873A JP2008053873A JP2009211413A JP 2009211413 A JP2009211413 A JP 2009211413A JP 2008053873 A JP2008053873 A JP 2008053873A JP 2008053873 A JP2008053873 A JP 2008053873A JP 2009211413 A JP2009211413 A JP 2009211413A
Authority
JP
Japan
Prior art keywords
file
management
command
storage
version
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.)
Pending
Application number
JP2008053873A
Other languages
English (en)
Inventor
Yoshiaki Fukushima
慶明 福島
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP2008053873A priority Critical patent/JP2009211413A/ja
Publication of JP2009211413A publication Critical patent/JP2009211413A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】作業用コピーに要する記憶容量を抑制した上で、ファイルの編集者を特定できるようにコミットする。
【解決手段】管理対象ファイルが格納された版管理装置から、管理対象ファイルを作業用ディレクトリに作業用ファイルとしてチェックアウトする更新手段と、ネットワークを介して複数のクライアント端末に接続され、版管理装置にコミットされるファイルを管理するファイル共有装置とを具備し、ファイル共有装置は、複数のクライアント端末の各々から、編集者名と要求内容とを取得し、各クライアント端末から要求内容として参照要求を取得したときに、作業用ディレクトリに含まれる作業用ファイルの内容を取得して各クライアント端末に返信し、要求内容として保存要求を取得したときに、各クライアント端末から更に保存用データを取得し、保存用データに基づいて保存用ファイルを作成し、保存用ファイルを編集者名と対応付けて版管理装置にコミットする。
【選択図】図2

Description

本発明は、ファイルの版管理を行うファイル管理システムに関し、特に、ディレクトリ単位でファイルがチェックアウトされる機能を備えた版管理装置に対してファイル管理を行う、ファイル管理システム、ファイル管理方法、及びファイル管理プログラムに関する。
複数のユーザが共同でファイルを操作することのできる、版管理装置が知られている。版管理装置は、ソフトウェア開発用などとして広く用いられている。ソフトウェア開発用などの版管理装置では、ネットワークを介してクライアント端末から管理対象のファイルがアクセスされることがある。図1は、そのような版管理装置100を利用した版管理システム110の一例を示すブロック図である。版管理装置100には、バージョン管理(版管理)の行われるファイル(管理対象ファイル)が格納されている。版管理装置100に対しては、ネットワーク104を介して、複数のクライアント端末101が接続されている。複数のクライアント端末101の各々には、版管理用のクライアントソフトウェア102がインストールされている。版管理装置100の管理対象ファイルに対して編集を行う場合、ユーザは、各クライアント端末101から版管理装置100にアクセスする。そして、管理対象ファイルを各クライアント端末101にコピー(チェックアウト;取り出し)する。各クライアント端末101では、作業用コピー103(ワーキングコピーとも呼ぶ)が作成され、コピーされた管理対象ファイルが作業用ファイルとして格納される。作業用コピー103は作業用のディレクトリである。チェックアウトの際に、作業用コピー103には、作業用ファイルに加えて管理ファイルも格納される。管理ファイルは、そのファイルがどこから取り出したものであるのか、どの編集者により編集されているものであるのか、などといった管理用の情報を含むファイルである。この管理ファイルの形式は、版管理装置の種類によって異なっている。ユーザは、作業用ファイルに対して、作業(編集)を行う。編集後のファイルを版管理装置の管理対象ファイルに反映させるために、編集後の作業ファイルが各クライアント端末101から版管理装置100にコミット(保存)される。コミット時には、管理ファイルの内容が版管理装置100に反映される。また、編集者を特定する場合には、コミット時に、クライアント端末からログインユーザ名を送信したり、コマンドラインを指定することにより、編集者を特定する情報が版管理装置に通知される。
関連する技術として、特許文献1(特開2006−31292号公報)には、電子ファイルに対する変更箇所が複数存在する場合であっても、各変更箇所に対する変更理由を容易に把握することのできることを目的とした技術が開示されている。
また、他の関連技術として、特許文献2(特開2006−134214号公報)には、ユーザ間の意志伝達を効率的に行う変更履歴の管理手段を提供するための技術が記載されている。
また、更に他の関連技術として、特許文献3(特開平6−301676号公報)には、ファイル群に対して変更が行われた場合に、各ユーザごとに正確に変更意図を判断して、その変更意図を各ユーザごとに、わかりやすい形で提示することを目的とした技術が記載されている。
また、更に他の関連技術として、特許文献4(特開2005−242850号公報)には、バインダーを構成する複数のファイルの編集作業を限定された複数のユーザによって並行進行することを可能にし、バインダー内のファイルを編集しているユーザによるファイルのバージョン管理ができるようにすることを目的とした技術が記載されている。
また、更に他の関連技術として、特許文献5(特開平7−85020号公報)には、クライアントがファイルを操作する際に、サーバ上のファイルデータベースからネットワーク共有ファイルのクライアント毎のファイルワークファイルへ複写して使用することにより、複数クライアント間で同一ファイルの同時操作、ユーザによるファイル格納ファイルの破壊を防止を可能とすることを目的とした技術が記載されている。
特開2006−31292号公報 特開2006−134214号公報 特開平6−301676号公報 特開2005−242850号公報 特開平7−85020号公報
各クライアント端末に個別に作業用コピーが作成される場合、各クライアント端末には作業用コピーを作成するための記憶容量が必要である。版管理装置としては、たとえばOSS(OpenSourceSoftware)のCVSやSubversionのように、ファイルがディレクトリ単位でチェックアウトされるものがある。このような版管理装置では、ディレクトリ単位でチェックアウトが行われるため、作業用コピーに要する記憶容量が特に膨大となってしまう。また、管理対象ファイルをチェックアウトする度に版管理装置へアクセスする必要があり、版管理装置に対するアクセス回数が増えてしまう。複数のクライアント端末から同時に一つの版管理装置へアクセスが集中することも考えられ、そのような場合には版管理装置に加わる処理の負荷が大きくなってしまう。
作業用コピーに要する記憶容量の増加を抑え、版管理装置へのアクセス回数を抑制する観点から、作業用コピーを複数のユーザ(クライアント端末)間で共有することが考えられる。しかしこの場合には、編集者名を版管理装置に反映させることができず、不便である。
そこで、本発明の目的は、作業用コピーに要する記憶容量を抑制した上で、ファイルの編集者を特定できるようにコミットすることのできる、ファイル管理システム、ファイル管理方法、及びファイル管理プログラムを提供することにある。
本発明に係るファイル管理システムは、管理対象ファイルが格納された版管理装置から、前記管理対象ファイルを作業用ディレクトリに作業用ファイルとしてチェックアウトする更新手段と、ネットワークを介して複数のクライアント端末に接続され、前記版管理装置にコミットされるファイルを管理するファイル共有装置とを具備する。前記ファイル共有装置は、前記複数のクライアント端末の各々から、編集者名と要求内容とを取得し、前記各クライアント端末から前記要求内容として参照要求を取得したときに、前記作業用ディレクトリに含まれる作業用ファイルの内容を取得して前記各クライアント端末に返信し、前記要求内容として保存要求を取得したときに、前記各クライアント端末から更に保存用データを取得し、前記保存用データに基づいて保存用ファイルを作成し、前記保存用ファイルを前記編集者名と対応付けて前記版管理装置にコミットする。
本発明に係るファイル管理方法は、(a)管理対象文書が格納された版管理装置から、前記管理対象文書を作業用ディレクトリに作業用文書としてチェックアウトするステップと、(b)クライアント端末から編集者名及び要求内容を取得するステップと、(c)前記要求内容として参照要求を取得したときに、前記作業用ディレクトリに含まれる作業用文書の内容を取得して前記各クライアント端末に返信するステップと、(d)前記要求内容として保存要求を取得したときに、前記クライアント端末から保存用データを取得し、取得した前記保存用データに基づいて保存用ファイルを作成し、前記保存用ファイルを前記編集者名と対応付けて前記版管理装置にコミットするステップとを具備する。
本発明に係るファイル管理プログラムは、上記のファイル管理方法をコンピュータに実行させるためのプログラムである。
本発明によれば、作業用コピーに要する記憶容量を抑制した上で、ファイルの編集者を特定できるようにコミットすることのできる、ファイル管理システム、ファイル管理方法、及びファイル管理プログラムが提供される。
図面を参照しつつ、本発明の実施形態について詳細に説明する。
図2は、本実施形態に係る版管理システム1を示す概略構成図である。この版管理システム1は、インターネットに例示されるネットワーク7を介して、複数のクライアント端末8に接続されている。版管理システム1は、ファイル共有プログラムのインストールされたファイル共有装置3と、メモリやハードディスクに例示される記憶装置4と、版管理プログラムのインストールされた版管理装置2と、更新プログラムのインストールされた更新装置5と、ユーザ管理プログラムのインストールされたユーザ管理装置6とを備えている。
版管理装置2には、管理対象ファイル(管理対象文書)が格納されている。また、版管理装置2には、版管理プログラムがインストールされている。版管理プログラムは、管理対象ファイルを複数のユーザにより共同操作するためのプログラムであり、ディレクトリ単位でチェックアウトが行われるプログラムである。そのような版管理プログラムとして、例えばOSS(OpenSourceSoftware)のCVSやSubversionが挙げられる。版管理装置2は、ファイル共有装置3にアクセス可能であればよく、ファイル共有装置3と同じコンピュータにより実現されてもよいし、ファイル共有装置3にアクセス可能に接続された別のコンピュータにより実現されてもよい。
また、版管理装置2には、管理対象ファイルのファイル名、バージョン情報、及び編集者名などを示す情報が管理情報として格納されている。
記憶装置4には、版管理装置固有情報42と、ユーザ情報43と、作業用コピー41とが格納されている。
版管理装置固有情報42は、版管理装置2の種類毎に、管理ファイルの形式と、コマンドの形式とを示した情報である。コマンドの形式は、ファイルを操作するためのOSのコマンドの形式と、版管理装置2を操作するための操作コマンドの形式とを含んでいる。
ユーザ情報43は、版管理装置2にアクセス可能な編集者名を示す情報である。
作業用コピー41は、作業用ファイルを格納するためのディレクトリである。その作業用ファイルは、版管理装置2からチェックアウトされた管理対象ファイルのコピーである。作業用コピー41には、作業用ファイルに加えて管理ファイルも格納されている。管理ファイルは、管理対象ファイルの保存場所、編集者名、ファイルの名称、及びバージョン情報などを含んでいる。編集者から管理対象ファイルを参照する旨の要求があったときには、この作業用コピー41が参照される。
また、記憶装置4は、一時的に個人作業用ディレクトリ44(個人作業領域)が作成されるように構成されている。個人作業用ディレクトリ44は、編集者毎に設けられるディレクトリであり、編集者によって用意された保存用データをコミットする際に、その保存用データを一時的に格納しておくためのディレクトリである。個人作業用ディレクトリ44には、保存用データに基づいて作成された保存用ファイルと、その保存用ファイルに対応する管理ファイルとが格納される。
更新装置5は、作業用コピー41に格納される作業用ファイルを常に最新の状態に保つために設けられている。更新装置5は、版管理装置2から管理対象ファイルをチェックアウトし、作業用コピー41(ワーキングコピー)に作業用ファイルとして格納する。更新装置5は、例えばタイマー機能や版管理装置2が備えるコミット時通知機能を利用することにより、自動的に版管理装置2から管理対象ファイルをチェックアウトする。これにより、作業用コピー41に格納される作業用ファイルが、常に最新のファイルに保たれる。具体的な例を挙げると、版管理プログラムがSubversionの場合、ポストコミットフックというコミット時にバッチファイルを起動する機能が付与されているので(http://subversion.tigris.org)、そのバッチファイル中に作業用コピーを更新するコマンドを記述しておけばよい。
ユーザ管理装置6は、編集者名に関する情報を一元管理するための装置である。ユーザ管理装置6としては、LDAP(LightweightDirectoryAccessProtocol)に準拠したディレクトリサーバなどが例示される。ユーザ管理装置6にも、ユーザ情報43と同じような情報(編集者名とパスワードとの対応関係)が格納されている。
複数のクライアント端末8の各々は、Webブラウザなどの閲覧用アプリケーションのインストールされたコンピュータである。各クライアント端末8には、保存用データや編集者名を送信できる機能を有するアプリケーションがインストールされていればよい。版管理装置2との連携機能(管理対象ファイルのチェックアウト機能及び保存用ファイルのコミット機能)を備えたアプリケーションは、必ずしもインストールされている必要はない。
ファイル共有装置3は、各クライアント端末8と版管理装置2にコミットされるファイルを管理するための装置である。ファイル共有装置3は、インターフェース11と、ユーザ管理部12と、ファイル管理部13とを備えている。
インターフェース11は、ネットワーク7を介して各クライアント端末8からアクセスがあったときに、編集者名を識別する機能を実現する。具体的には、ログイン処理などにより、各クライアント端末8から編集者名を取得する。編集者名を取得すると、ユーザ管理部12にアクセスして、取得した編集者名が版管理装置2にアクセス可能な名前であるのか否かを確認する。取得した編集者名が版管理装置2にアクセス可能な名前である場合には、例えばHTTP(Hypertext Transfer Protocol)セッションの仕組みなどにより、以降のクライアント端末8からの要求がどの編集者のものであるかを特定する。
また、インターフェース11は、クライアント端末8からの要求(参照、保存)を受け付ける。クライアント端末8からの要求が保存要求である場合には、更に、保存用データ及び保存場所をクライアント端末8から取得する。
ユーザ管理部12は、インターフェース11が取得した編集者名が版管理装置2にアクセス可能な編集者名であるか否かを確認する機能を実現する。具体的には、記憶装置4のユーザ情報43を参照するか、又は、ユーザ管理装置6にアクセスして、取得した編集者名が存在しているか否かを確認する。確認の結果は、インターフェース11に通知される。
ファイル管理部13は、版管理装置2にコミットする保存用ファイルを管理する機能を実現する。ファイル管理部13は、コマンド制御部14と、コマンド作成部15とを備えている。
コマンド制御部14は、コマンド作成部15にコマンドを作成させると共に、コマンド作成部15が作成したコマンドを実行する。
コマンド制御部14は、インタフェース11を介してクライアント端末8から参照要求を受け取ったときに、作業用コピー41にアクセスして該当する作業用ファイルの内容を取得し、インタフェース11を介して各クライアント端末8に通知する。
また、コマンド制御部14は、インタフェース11を介してクライアント端末8から保存要求を受けとった場合、記憶装置4に個人作業領域44を作成する。そして、個人作業領域44を初期化することにより、個人作業領域44に管理ファイルを格納する。この際、管理ファイルは、版管理装置固有情報42に示される管理ファイルの形式に沿って作成され、格納される。コマンド制御部14は、保存用データを、保存用ファイルとして個人作業領域44に格納する。個人作業領域44は、保存用ファイルと管理ファイルとを一時的に保持するためのディレクトリである。コマンド制御部14は、個人作業領域44に保存用ファイルを格納した後、個人作業領域44から版管理装置2に保存用ファイルをコミットする。このとき、個人作業領域44の管理ファイルに記された編集者名が版管理装置2の管理情報に反映されるように、コミットする。
コマンド作成部15は、コマンドを作成するために設けられている。コマンド作成部15は、版管理装置2と1対1で対応しており、版管理装置2の種別を特定する情報を保持している。コマンド作成部15は、版管理装置固有情報42に示される管理ファイルの形式及びコマンドの形式に基づいて、コマンドを作成し、作成したコマンドをコマンド制御部14に通知する。
図3は、コマンド作成部15がコマンドを作成するときの動作を示すフローチャートである。コマンド作成部15は、指定されたコマンドを作成するにあたり、版管理装置2の種別を特定する(ステップS21)。次に、版管理装置固有情報42から、特定した版管理装置に対応するコマンドの形式を取得する(ステップS22)。次に、取得したコマンドの形式に対して、必要な情報(保存場所、編集者名、管理ファイルの形式)を付与して、コマンドを作成する(ステップS23)。
次に、上述の版管理システム1の動作について説明する。
管理対象ファイルを参照したい場合、編集者はクライアント端末8を介してファイル共有装置3にアクセスする。ファイル共有装置3では、インターフェース11が、編集者名の入力を促す情報などをクライアント端末8に返す。編集者は、クライアント端末8より、編集者名をインターフェース11に入力する。インターフェース11は編集者名を取得すると、ユーザ管理部12にアクセスして、入力された編集者名が版管理装置2に対してアクセスすることのできる編集者のものであるか否かを確認する。アクセス可能である場合、編集者は、クライアント端末8を介して、ファイル共有装置3に対し、参照したい管理対象ファイルの保存場所を入力する。インターフェース11は、コマンド制御部14に、入力された保存場所を通知する。コマンド制御部14は、記憶装置4の作業用コピー41にアクセスして、通知された保存場所に対応する作業用ファイルの内容を取得し、インターフェース11を介してクライアント端末8に通知する。これにより、編集者は、管理対象ファイルを実質的に参照することができる。
次に、版管理装置2に保存用ファイルを保存する場合について以下に説明する。図4は、保存用ファイルを保存する場合の動作を示すフローチャートである。
ステップS1;作業用コピーの確認
管理対象ファイルに対して変更を行う、もしくは新規に管理対象ファイルを追加する、などの操作を行いたい場合、編集者はクライアント端末8を介してファイル共有装置3にアクセスする。ファイル共有装置3では、インターフェース11が、編集者名の入力を促す情報などをクライアント端末8に返す。編集者は、クライアント端末8より、編集者名をインターフェース11に入力する。インターフェース11は、ユーザ管理部12にアクセスして、入力された編集者名が版管理装置2に対してアクセスすることのできる編集者のものであるものか否かを確認する。アクセス可能である場合、編集者は、クライアント端末8を介して、保存用ファイルを保存する場所(管理対象ファイルを追加する場合には版管理装置のどこに追加するか)を入力することができる。また、クライアント端末8を介して、保存用データもインターフェース11に入力される。インターフェース11は、コマンド制御部14に、編集者名、保存用データ、及び保存場所を通知する。コマンド制御部14は、記憶装置4の作業用コピー41にアクセスして、通知された保存場所に対応する作業用ファイルが存在するか否かをチェックする。
ステップS2;コマンド種別の設定
通知された保存場所に対応する作業用ファイルが存在する場合、コマンド制御部14は、コマンド種別を「変更」に設定する(ステップS2−1)。「変更」コマンドは、すでに版管理装置2に保存された管理対象ファイルを書き換えるためのコマンドである。
一方、通知された保存場所に対応する作業用ファイルが存在しない場合、コマンド種別は「追加」に設定される(ステップS2−2)。「追加」コマンドは、保存用ファイルを、管理対象ファイルとして、版管理装置2に新たに追加するためのコマンドである。
ステップS3;個人作業領域の作成
次に、コマンド制御部14は、インターフェース11より取得した編集者名に基づいて、個人作業領域44を作成する。個人作業領域44は、編集者名と対応付けられて作成される。
ステップS4;初期化コマンドの取得
続いて、コマンド制御部14は、コマンド作成部15に対して、初期化コマンドを作成するように指示する。ここでの初期化コマンドとは、個人作業用領域44に管理ファイルを作成するためのコマンドである。コマンド作成部15は、初期化コマンドとして、個人作業領域44に管理ファイルを作成するようなコマンドを作成する。作成した初期化コマンドは、コマンド制御部14に通知される。
ステップS5;初期化コマンドの実行
次に、コマンド制御部14は、取得した初期化コマンドを実行する(ステップS7)。初期化コマンドが実行されることで、個人作業領域44に管理ファイルが作成される。管理ファイルには、インターフェース11を介してクライアント端末8から通知された編集者名と、保存場所とを示す情報が含まれている。
ステップS6;保存用のファイルを格納
次に、コマンド制御部14は、インターフェース11から取得した保存用データを、個人作業領域44に保存用ファイルとして格納する。
ステップS7;コマンドの取得
次に、コマンド制御部14は、コマンド作成部15から、ステップS2で設定されたコマンド(追加または変更)に対応するコマンドを取得する。
ステップS8;コマンドの実行
次に、コマンド制御部14は、ステップS7で取得したコマンドを実行する。「追加」コマンドが実行された場合には、管理ファイルに追加されたファイルの情報が保存される。一方、「変更」コマンドは、既に版管理装置2に格納されている管理対象ファイルを変更するためのコマンドであるので、本ステップで特段の処理は行われない。
ステップS9;コミットコマンドの取得
次に、コマンド制御部14は、コマンド作成部15に、コミットコマンドを作成するように指示する。コマンド作成部15は、版管理装置固有情報42から、コミットコマンドの形式を取得する。そして、取得したコミットコマンドの形式に対して、個人作業領域44の場所を特定する情報及び保存場所を示す情報を付与し、個人作業領域44から版管理装置2における保存場所に保存用ファイルをコミットするようなコミットコマンドを作成する。また、この際、コマンド作成部15は、個人作業領域の管理ファイルに記された編集者名が版管理装置2に反映されるように、コミットコマンドを作成する。
作成されたコミットコマンドは、コマンド制御部14に通知される。
ステップS10;コミットコマンドの実行
次に、コマンド制御部14は、取得したコミットコマンドを実行する。これにより、個人作業領域44から版管理装置2に保存用ファイルがコミットされる。この際、その保存用ファイルに対応する管理ファイルに基づいて、編集者名が版管理装置2に通知される。版管理装置2では、コミットされた管理対象ファイルの管理情報として、編集者名が格納されることになる。
ステップS11;個人作業領域の削除
次に、コマンド制御部14は、個人作業領域44を削除する。
以上説明したように、本実施形態によれば、作業用コピー41がクライアント端末8毎に作成されるのではなく、記憶装置4に作成される。作業用コピー41は、一つの管理対象ファイルに対して一つでよい。また、保存用のファイルを版管理装置2にコミットする際にも、保存用のファイルとその管理ファイルだけを個人作業領域44に保存すればよく、必要な記憶容量が節約される。
また、作業用コピー41から管理ファイルを作成するため、版管理装置2に対するアクセス回数を少なくすることが可能である。
また、本実施形態では、保存用ファイルを版管理装置2にコミットするに際して、ファイル管理部13が、編集者名を特定できるように、コミットを行う。従って、作業用コピー41が一つであるにもかかわらず、版管理装置2の管理情報に編集者名を反映させることができる。これにより、管理対象ファイルを閲覧する際に、そのファイルの編集者が誰であるのかを特定することができる。
また、本実施形態では、各クライアント端末8に、版管理装置2からファイルをチェックアウトしたりコミットする機能を有するアプリケーションがインストールされている必要はない。各クライアント端末8には、インターフェース11に対して要求内容や保存用データを通知することのできる閲覧用アプリケーションがインストールされていればよく、例えばWEBブラウザなどがインストールされていればよい。
(実施例)
続いて、本発明をより具体的に説明するために、実施例を挙げて説明する。尚、既述の実施形態と同様の箇所については、説明を省略する。
本実施例においては、版管理装置2にインストールされた版管理プログラムは、チェックアウト時にファイルをロックしないものとする。また、版管理装置2の管理情報は、コミット元の管理ファイルをコピーするだけで、変更が反映されるものとする。
図5は、本実施例におけるコマンド作成部15に格納された内容を示す概念図である。コマンド作成部15には、このファイル共有装置3に対応する版管理装置2の種別(2−A)を特定する情報が格納されている。また、作業用コピー41の場所(/work)、及び個人作業領域44の場所が情報として格納されている。なお、個人作業領域44を示す「user_work=/$user」は、変数定義の一例を示しており、$で始まる変数は、対応する変数userによりマクロ置換されることを示している。
図6は、版管理装置固有情報42として示される、管理ファイルの形式、及びコマンドの形式を示している。これらの形式の中で、括弧{ }は、リストを表している。
コマンドの形式として、初期化コマンドの形式、追加コマンドの形式、変更コマンドの形式、及びコミットコマンドの形式が格納されている。
初期化コマンドの形式は、「os_copy」という文字列を含んでおり、OSのディレクトリとファイルをコピーすることを示している。
追加コマンドの形式は、「ver_add」という文字列を含んでおり、版管理装置2へ管理対象ファイルを追加する旨の指示を与えることを示している。
変更コマンドの形式は、特に何も文字列を含んでいない。
コミットコマンドの形式は、「ver_commit」という文字列を含んでおり、版管理装置2へ変更の反映を指示することを示している。
変更コマンド、コミットコマンドは、ファイル単位に実行可能である。また、コミットコマンドは、コミット元のディレクトリに格納された管理ファイルに記される編集者名が、版管理装置2に通知されるようなコマンドである。
図7は、版管理装置2に保存された管理対象ファイルの概念図である。図7に示されるように、ディレクトリd1に、ファイルf1が格納されている。また、ディレクトリd1と並列にファイルf2が格納されている。ファイルf1とf2とは、管理対象ファイルである。
図8は、作業用コピー41に保存された内容を示す概念図である。作業用コピー41は、/workディレクトリとして示されている。/workディレクトリの子ディレクトリに、ファイルf1と、ファイルf1の管理ファイルと、d1ディレクトリとが格納されている。また、d1ディレクトリには、ファイルf2と、ファイルf2の管理ファイルとが格納されている。
図9は、図8に示した/work/d1ディレクトリ/管理ファイルの内容を示す概念図である。この管理ファイルには、版管理装置2における保存場所(/d2)と、ファイルのタイプと、ファイルの名称(f2)と、バージョン情報(版1)と、編集者名(更新者u2)とが示されている。
続いて、本実施例における動作について説明する。まず、編集者が新たに用意した保存用ファイルを版管理装置2に管理対象ファイルとして追加する場合の動作について説明する。
編集者u1が、保存用ファイルを、d1ディレクトリのファイルf3に保存する旨の操作を行うものとする。編集者u1は、まず、クライアント端末8を介してファイル共有装置3に、保存要求、保存用データ、及び保存場所(/d1/f3)を入力する。
すると、コマンド制御部14がインタフェース11から、編集者名u1、保存要求、保存場所/d1/f3、及び保存用ファイル内容を受け取る。
次に、コマンド制御部14は、作業用コピー41である/workディレクトリにアクセスして、保存場所/d1/f3に対応する作業用ファイルが存在するか否かをチェックする(ステップS1)。
/workディレクトリに保存場所/d1/f3に対応する作業用ファイルが存在しないので、コマンド制御部14は、コマンド種別として「追加」を設定する(ステップS2−2)。
さらに、コマンド制御部14は、編集者名u1をもとに、個人作業領域44として、/u1ディレクトリを作成する(ステップS3)。
さらに、コマンド制御部14は、コマンド作成部15から、初期化コマンドを取得する(ステップS4)。ここで、コマンド作成部15には、版管理装置2の種別を示す情報(図5参照)が格納されているので、版管理装置2の種別を版管理装置2−Aと特定することができる。コマンド作成部15は、版管理装置固有情報42に基づいて、版管理装置2−Aで用いられる初期化コマンドの形式「os_copy $管理ファイル$user_work」を取得する。そして、コマンド作成部15は、取得した初期化コマンドの形式に対して、マクロ置換により、編集者名u1及び保存場所/d1/f3を付与し、初期化コマンド「os_copy /work/d1 /管理ファイル/u1」を作成する。この初期化コマンドは、/work/d1/管理ファイルに基づいて、/u1ディレクトリに管理ファイルを作成することを示している。コマンド作成部15は、作成した初期化コマンドをコマンド制御部14に通知する。
コマンド制御部14は、通知された初期化コマンド「os_copy /work/d1 /管理ファイル/u1」を実行する(ステップS5)。これにより、個人作業領域(/u1ディレクトリ)に、管理ファイルが作成される。この際、管理ファイルは、版管理装置固有情報42に示される管理ファイルの形式に沿って作成される。
さらに、コマンド制御部14は、インターフェース11を介して取得した保存用データを、個人作業領域44である/u1ディレクトリに、保存用ファイルf3として格納する(ステップS6)。図10は、保存用ファイルが格納された段階における個人作業領域44の内容を示す概念図である。/u1ディレクトリに、保存用ファイルf3とその管理ファイルとが格納されている。
さらに、コマンド制御部14は、コマンド作成部15から、コマンド種別(追加)に対応するコマンドを取得する(ステップS7)。ここで、コマンド作成部15には、版管理装置2の種別を示す情報(図5参照)が格納されているので、版管理装置2の種別を版管理装置2−Aと特定することができる。コマンド作成部15は、版管理装置固有情報42に基づいて、版管理装置2−Aで用いられる追加コマンドの形式「ver_add $user_work/$file.name」を取得する。コマンド作成部15は、取得した追加コマンドの形式に対して、マクロ置換により、編集者名u1及び保存場所/d1/f3を付与し、追加コマンド「ver_add /u1/f3」を作成する。この追加コマンドは、版管理装置2に管理対象ファイルとして、/u1/f3に格納されたファイルを追加することを示している。作成した追加コマンドは、コマンド制御部14に通知される。
さらに、コマンド制御部14は、取得した追加コマンド「ver_add /u1/f3」を実行する(ステップS8)。これにより、版管理装置2に、追加されたファイルf3に関する情報が追加される。
さらに、コマンド制御部14は、コマンド作成部15から、コミットコマンドを取得する(ステップS9)。こここで、コマンド作成部15には、版管理装置2の種別を示す情報(図5参照)が格納されているので、版管理装置2の種別を版管理装置2−Aと特定することができる。コマンド作成部15は、版管理装置固有情報42に示されるコミットコマンドの形式「ver_commit −user $user $user_work/$file.name」を取得する。コマンド作成部15は、取得したコミットコマンドの形式に対して、マクロ置換により、編集者名u1及び保存場所/d1/f3を付与して、コミットコマンド「ver_commit −user u1 /u1/f3」を作成する。作成されたコミットコマンドはコマンド制御部14に通知される。このコミットコマンドは、u1ディレクトリに格納されたファイルf3を、編集者名u1と対応付けて版管理装置2にコミットするようなコマンドである。
さらに、コマンド制御部14は、通知されたコミットコマンド「ver_commit −user u1 /u1/f3」を実行する(ステップS10)。これにより、版管理装置のd1ディレクトリのファイルf3に、保存用ファイルが格納される。この際、u1/ディレクトリのf3に対応する管理ファイルに記された編集者名u1が、版管理装置2の管理情報に反映される。
最後に、コマンド制御部14は、個人作業領域44である/u1ディレクトリを削除する(ステップS11)。
図11は、コミット後の版管理装置2に格納された内容を示す概念図である。また、図12は、ファイルf3がコミットされた後に版管理装置2からチェックアウトされた作業用コピー42を示す概念図である。また、図13は、図12に示される/work/d1ディレクトリの管理ファイルを示している。図13に示されるように、/work/d1ディレクトリの管理ファイルには、編集者名がu1であること、ファイルf3のバージョンが「版1」であることなどが示されている。
続いて、すでに版管理装置2に保存された管理対象ファイルを、編集者が新たに用意した保存用ファイルに変更する場合の動作について説明する。
編集者u1が、保存用ファイルを/d1ディレクトリにファイルf2として保存しようとするものとする。編集者u1は、各クライアント端末8を介してファイル共有装置3にアクセスし、編集者名u1、保存要求、保存用データ、ファイルの保存場所(/d1/f2)を入力する。ファイル共有装置3では、インターフェース11を介して、コマンド制御部14が編集者名u1、保存要求、保存場所(/d1/f2)、及び保存用ファイルf2のファイル内容とを取得する。コマンド制御部14は、作業用コピー41である/workディレクトリにアクセスして、保存場所/d1/f2に対応する作業用ファイルが存在するか否かをチェックする(ステップS1)。
図8に示したように、/workディレクトリには/d1/f2に対応する作業用ファイルが存在するので、コマンド制御部14は、コマンド種別を「変更」に設定する(ステップS2−1)。
さらに、コマンド制御部14は、編集者名u1に基づいて、個人作業領域44である/u1ディレクトリを作成する(ステップS3)。
さらに、コマンド制御部14は、コマンド作成部15から、初期化コマンド「os_copy /work/d1/管理ファイル /u1」を取得する(ステップS4)。
さらに、コマンド制御部14は、取得した初期化コマンドを実行する(ステップS5)。
さらに、コマンド制御部14は、インターフェース11を介して取得した保存用データを、個人作業領域44である/u1ディレクトリに保存用ファイルとして保存する(ステップS6)。
さらに、コマンド制御部14は、コマンド作成部15から、変更コマンドを取得する(ステップS7)。ここで、コマンド作成部15には、版管理装置2の種別を示す情報(図5参照)が格納されているので、版管理装置2の種別を版管理装置2−Aと特定することができる。コマンド作成部15は、版管理装置固有情報42に記述された変更コマンドの形式「 」を取得する。コマンド作成部15は、取得した変更コマンドの形式に対して、マクロ置換により、編集者名u1及び保存場所/d1/f2を付与し、変更コマンド「 」を作成する。作成された変更コマンドはコマンド制御部14に通知される。
さらに、コマンド制御部14は、通知された変更コマンド「 」を実行する(ステップS8)。本実施例では、変更コマンドが空のコマンドなので、何もしないのと同じことである。
さらに、コマンド制御部14は、コマンド作成部15から、コミットコマンドを取得する(ステップS9)。
さらに、コマンド制御部14は、取得したコミットコマンド「ver_commit −user u1 /u1/f2」を実行する(ステップS10)。これにより、版管理装置のd1ディレクトリのファイルf2が書き換えられる。この際、この際、u1/ディレクトリのf2に対応する管理ファイルに記された編集者名u1が、版管理装置2の管理情報に反映される。
最後に、コマンド制御部14は、個人作業領域44である/u1ディレクトリを削除する(ステップS11)。
版管理装置100を用いた版管理システム110の概略構成図である。 本発明の実施形態にかかる版管理システム1の概略構成図である。 コマンドの作成手順を表すフローチャートである。 本発明の実施形態にかかる版管理方法を示すフローチャートである。 コマンド作成部に格納された内容を示す概念図である。 管理ファイルの形式及びコマンドの形式を表す概念図である。 版管理装置2に格納された内容を表す概念図である。 作業用コピーの内容を表す概念図である。 管理ファイルの内容を示す概念図である。 個人作業用ディレクトリの内容を示す概念図である。 コミット後の版管理装置2に格納された内容を表す概念図である。 コミット後の作業用コピーの内容を表す概念図である。 コミット後の管理ファイルの内容を表す概念図である。
符号の説明
1 版管理システム
2 版管理装置
3 ファイル共有装置
4 記憶装置
5 更新部
6 ユーザ管理装置
7 ネットワーク
8 クライアント端末
11 インターフェース部
12 ユーザ管理部
13 ファイル管理部
14 コマンド制御部
15 コマンド作成部
41 作業用コピー
42 版管理装置固有情報
43 ユーザ情報格納部
44 個人作業用領域
100 版管理装置
101 クライアント
102 版管理クライアント
103 作業用コピー
104 ネットワーク

Claims (10)

  1. 管理対象ファイルが格納された版管理装置から、前記管理対象ファイルを作業用ディレクトリに作業用ファイルとしてチェックアウトする更新手段と、
    ネットワークを介して複数のクライアント端末に接続され、前記版管理装置にコミットされるファイルを管理するファイル共有装置と、
    を具備し、
    前記ファイル共有装置は、
    前記複数のクライアント端末の各々から、編集者名と要求内容とを取得し、前記要求内容として参照要求を取得したときに、前記作業用ディレクトリに含まれる前記作業用ファイルの内容を取得して前記各クライアント端末に返信し、前記要求内容として保存要求を取得したときに、前記各クライアント端末から更に保存用データを取得し、前記保存用データに基づいて保存用ファイルを作成し、前記保存用ファイルを前記編集者名と対応付けて前記版管理装置にコミットする
    ファイル管理システム。
  2. 請求項1に記載されたファイル管理システムであって、
    前記ファイル共有装置は、前記保存要求を取得したときに、個人作業用ディレクトリを作成し、前記編集者名を情報として含む管理ファイルを作成し、前記管理ファイルを前記保存用ファイルと共に前記個人作業用ディレクトリに格納し、前記管理ファイルに含まれる前記編集者名が反映されるように前記保存用ファイルを前記版管理装置にコミットする
    ファイル管理システム。
  3. 請求項2に記載されたファイル管理システムであって、
    更に、
    前記版管理装置に対応する管理ファイルの形式を格納する版管理装置固有情報記憶部
    を具備し、
    前記ファイル共有装置は、前記管理ファイルの形式に対して前記編集者名を指定することにより、前記管理ファイルを作成する
    ファイル管理システム。
  4. 請求項2または3に記載されたファイル管理システムであって、
    更に、
    前記版管理装置固有情報記憶部は、更に、コミットコマンドの形式を格納しており、
    前記ファイル共有装置は、前記保存用ファイルをコミットするにあたり、前記コミットコマンドの形式を取得し、取得した前記コミットコマンドの形式に対して前記個人作業用ディレクトリの場所と前記保存場所とを指定することにより、コミットコマンドを作成し、作成した前記コミットコマンドを実行することにより、前記個人作業用ディレクトリから前記保存用ファイルを前記版管理装置の前記保存場所にコミットする
    ファイル管理システム。
  5. 請求項1乃至4のいずれかに記載されたファイル管理システムであって、
    前記ファイル共有装置は、前記クライアント端末からWebブラウザによりアクセスが可能であるように構成されている
    ファイル管理システム。
  6. (a)管理対象文書が格納された版管理装置から、前記管理対象文書を作業用ディレクトリに作業用文書としてチェックアウトするステップと、
    (b)クライアント端末から編集者名及び要求内容を取得するステップと、
    (c)前記要求内容として参照要求を取得したときに、前記作業用ディレクトリに含まれる作業用文書の内容を取得して前記各クライアント端末に返信するステップと、
    (d)前記要求内容として保存要求を取得したときに、前記クライアント端末から保存用データを取得し、取得した前記保存用データに基づいて保存用ファイルを作成し、前記保存用ファイルを前記編集者名と対応付けて前記版管理装置にコミットするステップと、
    を具備する
    ファイル管理方法。
  7. 請求項6に記載されたファイル管理方法であって、
    前記(d)ステップは、
    (d−1)個人作業用ディレクトリを作成するステップと、
    (d−2)前記編集者名を情報として含む管理ファイルを作成して前記保存用ファイルと共に前記個人作業用ディレクトリに格納するステップと、
    (d−3)前記保存用ファイルを、前記管理ファイルの内容が反映されるように、前記個人作業用ディレクトリから前記版管理装置にコミットするステップと、を備える
    ファイル管理方法。
  8. 請求項7に記載されたファイル管理方法であって、
    更に、
    (e)予め、前記版管理装置に用いられる管理ファイルの形式を格納しておくステップ
    を具備し、
    前記(d−2)ステップは、前記管理ファイルの形式に対して編集者名を指定することにより、前記管理ファイルを作成するステップを備える
    ファイル管理方法。
  9. 請求項7または8に記載されたファイル管理方法であって、
    更に、
    (f)予め、コミットコマンドの形式を格納しておくステップ
    を具備し、
    前記(d)ステップは、前記コミットコマンドの形式に対して前記個人作業用ディレクトリの場所と前記保存場所とを指定することにより、コミットコマンドを作成するステップと、作成した前記コミットコマンドを実行することにより、前記保存用ファイルを前記版管理装置にコミットするステップとを備えている
    ファイル管理方法。
  10. 請求項5乃至9のいずれかに記載されたファイル管理方法をコンピュータに実行させるための、ファイル管理プログラム。
JP2008053873A 2008-03-04 2008-03-04 ファイル管理システム、ファイル管理方法、及びファイル管理プログラム Pending JP2009211413A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008053873A JP2009211413A (ja) 2008-03-04 2008-03-04 ファイル管理システム、ファイル管理方法、及びファイル管理プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008053873A JP2009211413A (ja) 2008-03-04 2008-03-04 ファイル管理システム、ファイル管理方法、及びファイル管理プログラム

Publications (1)

Publication Number Publication Date
JP2009211413A true JP2009211413A (ja) 2009-09-17

Family

ID=41184487

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008053873A Pending JP2009211413A (ja) 2008-03-04 2008-03-04 ファイル管理システム、ファイル管理方法、及びファイル管理プログラム

Country Status (1)

Country Link
JP (1) JP2009211413A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014510314A (ja) * 2011-04-15 2014-04-24 株式会社日立製作所 ファイル共有システム及びファイル共有方法
KR102328987B1 (ko) * 2021-09-07 2021-11-19 코너스톤테크놀러지 주식회사 웹 기반 파일 공유 시스템 및 방법

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10260882A (ja) * 1997-03-17 1998-09-29 Canon Inc バージョン管理システム
JP2002182956A (ja) * 2000-12-19 2002-06-28 Hitachi Ltd 文書管理方法および装置
JP2003345633A (ja) * 2002-05-23 2003-12-05 Isac Inc バージョン管理システム,該バージョン管理システムに用いるサーバ装置,及び該バージョン管理システムに用いるバージョン管理プログラム
JP2005234860A (ja) * 2004-02-19 2005-09-02 Hitachi Ltd バージョン管理システム、バージョン管理サーバ装置、及び記憶デバイス制御装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10260882A (ja) * 1997-03-17 1998-09-29 Canon Inc バージョン管理システム
JP2002182956A (ja) * 2000-12-19 2002-06-28 Hitachi Ltd 文書管理方法および装置
JP2003345633A (ja) * 2002-05-23 2003-12-05 Isac Inc バージョン管理システム,該バージョン管理システムに用いるサーバ装置,及び該バージョン管理システムに用いるバージョン管理プログラム
JP2005234860A (ja) * 2004-02-19 2005-09-02 Hitachi Ltd バージョン管理システム、バージョン管理サーバ装置、及び記憶デバイス制御装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014510314A (ja) * 2011-04-15 2014-04-24 株式会社日立製作所 ファイル共有システム及びファイル共有方法
KR102328987B1 (ko) * 2021-09-07 2021-11-19 코너스톤테크놀러지 주식회사 웹 기반 파일 공유 시스템 및 방법

Similar Documents

Publication Publication Date Title
JP7158482B2 (ja) クライアント同期における違反の解決のための方法、コンピュータ可読媒体、及びシステム
US8615588B2 (en) Accelerate copying of virtual machine images
JP5963957B2 (ja) 開発環境システム、開発環境装置、開発環境提供方法及びプログラム
US20150178052A1 (en) Automated experimentation platform
JP5871583B2 (ja) 文書管理装置及びその制御方法、並びにプログラム
JP2012520504A (ja) デバイスおよびウェブ・サービスにわたってブラウザー・キャッシュを同期させるためのプログラミング・モデル
US20060129616A1 (en) System and method for synchronizing computer files between a local computer and a remote server
JP2008524682A (ja) 均質化されたリソース・プールに対するコンピュータの迅速なプロビジョニング
US9626251B2 (en) Undo configuration transactional compensation
JP2006099307A (ja) 分散サーバへのアプリケーションセットのインストール方法
JPH11232159A (ja) ファイル管理方法およびファイル管理のためのプログラムを記憶した媒体
US20090254579A1 (en) Deploying directory instances
US20060041870A1 (en) Systems and methods for varying software build properties using primary and supplemental build files
US20130311603A1 (en) On-demand tethered greedy virtual application appliance
JP2009211413A (ja) ファイル管理システム、ファイル管理方法、及びファイル管理プログラム
JP2010152846A (ja) ファイル共有方法、計算機システム及びジョブスケジューラ
JP2009087093A (ja) アプリケーション開発支援装置及びプログラム
JP6643114B2 (ja) 画像処理装置、その制御方法、及びプログラム
JP2005092544A (ja) ワークフロー世代管理処理方法,ワークフロー処理システムおよびワークフロー制御プログラム
JP5766065B2 (ja) 管理システム、サーバ装置、管理方法およびコンピュータプログラム
JP2010225109A (ja) 仮想アプライアンスサーバ管理方法及びシステム、並びに仮想アプライアンスサーバ管理システム用プログラム、及びそれを格納した仮想アプライアンスサーバ管理システム用記録媒体
JP2015201053A (ja) 画像形成装置及びその制御方法
Jankowski et al. Grid checkpointing architecture-a revised proposal
US8868578B2 (en) Building information technology services from a library of elements
JP7363198B2 (ja) 情報処理装置、情報処理システム、及び情報処理プログラム

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110810

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110816

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20120314