(57)【要約】【課題】  ファイルの親子関係や認可状態、バージョン管理が容易なファイルの構成管理システムを提供する。【解決手段】  ファイルを編集する複数のクライアントと、保存されているファイルに対して認可状態のステータスを与えるAuthorからなるファイル構成管理システムであって、  各クライアントおよびAuthorは管理装置から受け取ったファイルを現在の状態が識別可能な表示形式で視覚的に表示する手段と編集後のファイルをファイル保存装置へ保存する手段とを備え、  前記視覚的に表示する手段として、前記ファイルの更新履歴を親子関係が識別可能なようにツリー構造で表示すると共に、認可状態を表示し、複数のファイルの任意のリビジョンを一つのまとまりとして、グループ化して表示する手段とを備え、前記Authorはメタ情報を更新し、ファイルを認可状態、認可待ち状態、編集中状態に遷移させ、認証者にのみステータスの更新を許す手段とを備えたことを特徴とする。【選択図】      図９
2012173780.tif 000002
【特許請求の範囲】
【請求項１】
ファイル保存装置を備えた管理装置と、この管理装置へファイルを保存する複数のクライアントと、保存されているファイルに対して認可状態のステータスを与えるAuthorからなるファイル構成管理システムであって、
前記管理装置は前記ファイル保存装置へファイルを保存する手段と、前記ファイルのメタ情報を更新するする更新手段と、前記ファイル保存装置からファイルを読み込み、各クライアントとAuthorに転送する手段と、各クライアントとAuthorに前記ファイルのメタ情報を通知する手段を備え、
前記各クライアントは、前記管理装置から受け取った前記ファイルを当該ファイルの現在の状態が識別可能な表示形式で視覚的に表示する手段と、表示されたファイルの編集を行う手段と、編集後のファイルを前記ファイル管理装置を通じて前記ファイル保存装置へ保存する手段とを備え、
前記Authorは、前記管理装置から受け取った前記ファイルを当該ファイルの現在の状態が識別可能な表示形式で視覚的に表示する手段と、表示されたファイルの編集を行う手段と、前記管理装置を通じてファイルのメタ情報を更新する手段と、前記管理装置を通じてファイルを前記ファイル保存装置へ保存する手段とを備え、
前記ファイル保存装置は、ファイルをツリー構造で保存するための手段と、メタ情報を書換えファイルの状態を遷移させる手段を備え、
前記クライアントは前記視覚的に表示する手段として、前記ファイルの更新履歴を親子関係が識別可能なようにツリー構造で表示すると共に、認可状態を表示し、複数のファイルの任意のリビジョンを一つのまとまりとして、グループ化して表示する手段とを備え、
前記Authorは、前記視覚的に表示する手段として、前記ファイルの更新履歴を親子関係が識別可能なようにツリー構造で表示すると共に、認可状態のファイルを示す手段と、複数のファイルの任意のリビジョンを一つのまとまりとして表示する手段と、そのメタ情報を更新し、ファイルを認可状態、認可待ち状態、編集中状態に遷移させ、認証者にのみステータスの更新を許す手段とを備えたことを特徴とするファイルの構成管理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラムのソースやその他ファイルの共同開発を補佐するファイルの構成管理システムに関するものである。
【背景技術】
【０００２】
近年、ソフトウェア開発にいては作成するプログラムが巨大化し、複数人でプログムやドキュメントを共同開発する機会が増えている。巨大なプログラムを作成する場合、大量のファイルを管理しなければならない為、ファイル構成管理システムを使いファイルの構成やバージョン管理することが多い。
【０００３】
図１４は、従来における一般的な構成管理システムのブロック構成図であり、各クライアント１４０３は管理装置１４０２を通じてファイル保存装置１４０１内にファイルを保存すると共に、その構成管理を行う。
管理装置１４０２の主な処理は、図１６に示すチェックアウトとコミットであり、ファイル保存装置１４０１から各クライアント１４０３にファイルをコピー（チェックアウト）する処理と、クライアントで更新したファイルをファイル保存装置１４０１に反映する（コミット）である。
【０００４】
基本的なバージョン管理方法は、図１５のテーブル１５０１に示すように時間軸で管理することが前提であり、過去にコミットされたファイルを履歴として保存している。また、製品のリリース等のタイミングで、任意のファイルを別フォルダにコピーして管理することで、任意のファイルがリリースした時間で管理をすることが出来る。
なお、本発明に関連する先行技術文献として下記の特許文献１がある。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００６−３５０８２９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ところで、ソースコードやドキュメントの開発時の構成管理について、従来の構成管理システムを用いて、本体から分岐したバージョンに親子関係を持たせたファイル管理を実現するには、手動で親子関係を紐付けるしかなかった。そのため、本体から分岐したバージョンの管理に不向きであった。また、過去の履歴ファイルの表示方法が時間軸のみでしか表示できず、視覚的に表示できないという問題があった。
また、従来方法では、更新のタイミングによるズレが生じないように、チェックアウトやファイルのロックを行う必要があるため、実装が困難になるという問題があった。
【０００７】
そこで、本発明は、ファイルの親子関係を自動的に構築して管理を行い、さらにファイルをユーザに対して視覚的に表示することによって、本体から分岐したバージョンの管理を容易になり、かつチェックアウトやロックを行わずに更新のタイミングによるズレを防ぐことができ、簡易的な実装が可能になるファイルの構成管理システムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記目的を達成するために、本発明のファイル構成管理システムは、ファイル保存装置を備えた管理装置と、この管理装置へファイルを保存する複数のクライアントと、保存されているファイルに対して認可状態のステータスを与えるAuthorからなるファイル構成管理システムであって、
前記管理装置は前記ファイル保存装置へファイルを保存する手段と、前記ファイルのメタ情報を更新するする更新手段と、前記ファイル保存装置からファイルを読み込み、各クライアントとAuthorに転送する手段と、各クライアントとAuthorに前記ファイルのメタ情報を通知する手段を備え、
前記各クライアントは、前記管理装置から受け取った前記ファイルを当該ファイルの現在の状態が識別可能な表示形式で視覚的に表示する手段と、表示されたファイルの編集を行う手段と、編集後のファイルを前記ファイル管理装置を通じて前記ファイル保存装置へ保存する手段とを備え、
前記Authorは、前記管理装置から受け取った前記ファイルを当該ファイルの現在の状態が識別可能な表示形式で視覚的に表示する手段と、表示されたファイルの編集を行う手段と、前記管理装置を通じてファイルのメタ情報を更新する手段と、前記管理装置を通じてファイルを前記ファイル保存装置へ保存する手段とを備え、
前記ファイル保存装置は、ファイルをツリー構造で保存するための手段と、メタ情報を書換えファイルの状態を遷移させる手段を備え、
前記クライアントは前記視覚的に表示する手段として、前記ファイルの更新履歴を親子関係が識別可能なようにツリー構造で表示すると共に、認可状態を表示し、複数のファイルの任意のリビジョンを一つのまとまりとして、グループ化して表示する手段とを備え、
前記Authorは、前記視覚的に表示する手段として、前記ファイルの更新履歴を親子関係が識別可能なようにツリー構造で表示すると共に、認可状態のファイルを示す手段と、複数のファイルの任意のリビジョンを一つのまとまりとして表示する手段と、そのメタ情報を更新し、ファイルを認可状態、認可待ち状態、編集中状態に遷移させ、認証者にのみステータスの更新を許す手段を手段とを備えたことを特徴とする。
【発明の効果】
【０００９】
本発明のファイルの視覚的構成管理方法及びシステムによれば、過去データの管理を簡易にし、特に本体から分岐したバージョンのファイルの更新履歴を視覚的に簡潔に表示し、各ファイルの関連などを容易に把握することを支援することが可能になる。また、ファイルの更新のズレを防ぐための排他制御が不要の為、従来技術に比べ簡易な実装を可能とする。さらに、ファイルの表示方法が視覚的であり、任意の更新履歴などを開発者が特定し易くなるという効果がある。
【図面の簡単な説明】
【００１０】
【図１】本発明の一実施の形態を示すシステム構成図である。
【図２】ファイル保存装置に格納されているデータの構成図である。
【図３】ファイルの状態遷移図である。
【図４】新しいリビジョン作成時における状態遷移図である。
【図５】リリースセットとリビジョンのデータ保存構造図である。
【図６】ファイル更新処理の概略とファイルを認可(もしくは剥奪)処理の概略を示したフローチャートである。
【図７】ファイル更新処理を示したフローチャートである。
【図８】ファイルの認可(もしくは剥奪)処理を示したフローチャートである。
【図９】クライアントにおけるファイルの一覧とファイルツリー表示画面の一例である。
【図１０】クライアントにおけるリリースセットの表示画面の一例である。
【図１１】クライアントにおけるファイルの編集中画面の一例である。
【図１２】Authorにおけるリリースセット作成画面の一例である。
【図１３】Authorにおける認可/剥奪を行う画面の一例である。
【図１４】従来技術におけるシステム全体の概略構成図である。
【図１５】従来技術におけるクライアントの画面の一例である。
【図１６】従来技術における、チェックアウト処理とコミット処理についての概略図である。
【発明を実施するための形態】
【００１１】
図１は、本発明の一実施形態を示すシステム構成図である。
この実施形態のファイル構成管理システムは、ファイル保存装置１を備えた管理装置２と、この管理装置２を通じてファイル保存装置１へファイルを保存する複数のクライアント４a、４ｂ、４ｃ、４nと、ファイル保存装置１に保存されたファイルに対してメタ情報を更新・登録することができるAuthor３で構成され、クライアント４a、４ｂ、４ｃ、４nとAuthor３はネットワークで管理装置２に接続されている。
この構成は一般的なクライアントサーバシステムの構成と同様であり、一般的なクライアントサーバシステムのクライアントに相当する部分が、クライアント４a、４ｂ、４ｃ、４nとAuthor３であり、サーバに相当するものが管理装置２とファイル保存装置１である。
一般的なクライアントサーバシステムと違う点は、他のクライアントとは異なる機能を備えたAuthor3を備え、垂直機能分散の構成である点が挙げられる。
【００１２】
図２はファイル保存装置１に格納されるファイルのメタ情報２９とデータ本体３０を示す図である。
メタ情報２９はデータ本体の索引情報であり、ファイルPrimaryCode２１はそのデータを一意に認識するためのコードであり、Revision２３はそのファイルの変更を示す改訂番号であり、Signature２４はそのRevisionが認可状態であるか、認可されていない認可待ち状態であるかを示すデータであり、Author２５はSignature２４を更新する権利を持つユーザを示すデータであり、Releaseset２６は複数のファイルを纏めてリリースする際のグループ番号を示すもの(以下リリースセット)であり、ParentNodePrimaryCode２７は自身のコピー元となったファイルのPrimaryCode２１であり、ChildNode1PrimaryCode２８は自身をコピーしたファイルのPrimaryCode２１から構成されている。
例えばPrimaryCode２１が「2314」であるFileAをクライアント４aが更新する場合、管理装置２がFileAのメタ情報２９が空であるコピーを作成し、一時ファイルとしてファイルを保持する。保存を行う際は、管理装置２がRevision２３に新しい番号、Signature２４には自動的に「認可待ち状態」というデータを付加する。さらに親に当たるファイルのChildNodenPrimaryCode２８に、更新ファイルのPrimaryCode２１を付加する。
【００１３】
図３はファイルの状態遷移図である。
何もない初期状態３１からファイルが生成されるとファイル編集状態３２になる。ファイルの編集を終え、保存処理を行うとファイル編集状態３２から認可待ち状態３３になる。この認可待ち状態３３に認可を与えると認可状態３４となり、逆に認可状態３４から認可を剥奪すると認可待ち状態へ推移する。このファイルの状態遷移は、Signature24を書き換えることにより実現する。
【００１４】
図４はファイルを更新し、リビジョン毎にファイルをツリー状に管理する過程を示した状態遷移図である。
初期状態４１から初期ファイル作成状態４２への遷移は図３に示した通りである。
初期ファイル作成状態から、次の新しいリビジョンを作成するには、対象のファイルのコピーを作成し、そのファイルを編集状態図３２とする状態へ遷移する（４３）。さらに、コピー元のファイルをツリー構造の親、コピーしたファイルをツリー構造の子として、親子関係を持たせる。この親子関係はParentNodePrimaryCode２７、ChildNode1PrimaryCode２８で実現する。この一つもしくは複数ファイルの編集状態４３から一つもしくは、複数ファイルが編集され保存処理を行うと、保存されたファイルが認可待ち状態となる（４４）。認可待ち状態から、一つのファイルを認可すると、認可された子が認可状態としてツリーを形成した状態（４６、４７）となる。同様にして孫ファイル、曾孫ファイルと作成しツリー構造でバージョン管理を行う。
【００１５】
図５はファイルの保存構造の概念を示した図である。
各ファイルはファイル別にツリー構造を構成５４する。又、複数ファイルの各々任意リビジョンを一まとめとしたグループ(リリースセット)を形成５５することが可能である。ツリー構造の中でファイルは、ファイル認可状態５１、ファイル編集状態５２、ファイル認可待ち状態５３の3つの状態を遷移する。
【００１６】
図６は、図１におけるクライアント４ａ〜４ｎから管理装置２を通して行うファイルの更新処理６０１と、Author３から管理装置２を通して行う認可/剥奪処理６１４の概要フローチャートである。
図６におけるファイルの更新処理６０１について、クライアント４ｎの表示部１１は、管理装置２の読込み部６を通じてファイルのメタ情報を表示する(ステップ６０２)。
そして編集部１２によりファイルの編集を行う。このファイル編集中にファイルのステータスを示し、新しいリビジョンのファイルが認可待ち状態や、認可状態になると管理装置２から通知を受け取り、画面に表示する(ステップ６０３) 。
保存指示部１３が保存要求を発すると管理装置２の書込み/更新部５を通してファイル保存装置１へ書き込み、さらに各クライアント４ａ〜４ｃとAuthor３に対してファイルが保存された旨とファイルの状態が通知される。
【００１７】
一方、図６における認可/剥奪処理６１４においては、ファイル更新処理601と同様に表示処理を行う(ステップ６０９)。
ここで、認可/剥奪処理を行う前に、認可待ちの状態にあるファイルにさらに編集を加える、もしくは2つ以上のファイルをマージしたいときは編集処理を行い、新しいリビジョンのファイルとして保存する(ステップ６１０、６１１)。
ファイルに対して認可/剥奪を行う際は管理装置２の書込み/更新部５を通じてファイル保存装置１にメタ情報を更新し、正規版の認可もしくは剥奪を行う(ステップ６１２) 。
通知処理６１３はファイル更新処理における通知処理６０６と同様に行う。
【００１８】
図７は、図６におけるクライアント４ｎから管理装置２を通して行うファイルの更新処理を行う詳細フローチャートである。
始めにファイルの表示方法を選択し、ファイルのツリー表示かリリースセットの表示かを選択する(ステップ７０１、７０２、７０３)。ファイルの一覧とファイルツリーの表示例は図９に、リリースセットの表示例は図１０に示す。ファイルの一覧とファイルツリーの表示とリリースセットの表示は切り替えが行える(ステップ７０４)。
次に、新規作成であればファイルを新たに作成し、更新であれば更新元のファイルをコピーしファイル編集状態として保存する。編集を行う為にファイルを開くと、ファイルのステータスも表示(図１１)される(ステップ７０５、７０６、７０７)。
編集が終わり、保存要求が出されると、ファイルは認可待ち状態としてファイルツリーの構成に従いファイル保存装置１に保存される。その際、保存された旨が各クライアント４ａ〜４ｎ及びAuthor３へ通知され、図１１に示すようステータス画面へ即反映される(ステップ７１１、７１２、７１３)。
【００１９】
図８は、図６におけるクライアント４ｎから管理装置２を通して行うファイルの認可/剥奪処理の詳細フローチャートである。
始めにファイルの表示方法について選択を行い、ファイルの一覧とツリーの表示(図１３)もしくはリリースセットの表示を行う(ステップ８０１、８０２、８０３、８０４)。
もし、ファイルに編集やマージが必要であれば、新しいリビジョンとしてファイルを作成し編集やマージを行う(ステップ８０５、８１１、８１２)。
もし、ファイルの属性更新要求が出された場合、ファイルを認可待ち状態もしくは、認可状態としてファイルの保存を行い、続いてリリースセットの登録を行う(ステップ８０６、８０７、８０８、８０９)。
次に属性情報が更新されたら、各クライアント４ａ〜４ｎ及びAuthor３へその旨を連絡する(ステップ８１０)
【００２０】
図９はクライアント４ｎにおけるファイルの一覧とファイルツリー表示画面の一例である。
フォルダとファイル構成を示すブロック９１と、選択された履歴を示すファイルツリー９２を表す。また、ファイルのコンテキストメニュー９３よりファイルのステータス画面を表示する。ここで、図９において、背景が黒の枠にファイル名を表示したものは、認可状態のファイル、背景が白の枠にファイル名を表示したものは、認可待ち状態のファイルであることを示している。
【００２１】
図１０はリリースセットの表示画面の一例と、図９におけるコンテキストメニュー９３からリリースセット画面へ切り替える過程を示す図である。
ファイルのコンテキストメニュー９３からReleaseSet５５を選択すると、リリースセット画面１００２を表示する。このリリースセット画面１００２は、そのリリースセットを構成するファイル名（ＦｉｌｅＡ〜Ｄ）とリビジョン番号（００６〜０１８）が表示される(１００２)。
【００２２】
図１１はファイル編集中におけるステータス表示画面１１０１の一例である。
ここでは、ファイルツリーと各々のリビジョンのステータスを表示し、常に最新の状況を表示する。画面１１０１の右側１１０２には編集中のファイルＦｉｌｅ［］の編集状態を表示する。
【００２３】
図１２はリリースセットに新たなリビジョンを追加する画面の一例であるリリースセットを登録する機能と、リリースセットに任意のリビジョンのファイルを追加するときの画面１２０１の例を示す図である。リリースセットに任意のリビジョンのファイルを追加する操作はAuthor３でのみ許されている。
リリースセットに新たなリビジョンを追加する場合、追加するリリースセットの番号を画面１２０１に入力し、ａｄｄボタンを操作し、追加する。
また、リリースセットに任意のリビジョンのファイルを追加する場合は、画面１２０２に追加するファイル名を入力し、ａｄｄボタンを操作し、追加する。
【００２４】
図１３は、Author３におけるファイルのメタ情報を書き換える画面１３００の一例を示す図であり、ファイルの認可/剥奪、Authorの設定、リリースセットの登録を行う。
例えば、画面１２０１でファイルのいずれか１つ、例えばＦｉｌｅＡを選択し、画面１２０３にＦｉｌｅＡの分岐や状態を表示し、その中のＦｉｌｅ［００３］のメタ情報を書き換える場合、画面１２０２に現在のメタ情報が表示されるので、それを書き換える。メタ情報はAuthor３からしか書き換えることができないようになっている。
【符号の説明】
【００２５】
１…ファイル保存装置、２…管理装置、３…メタ情報の更新権限のあるクライアント端末、４a、４ｂ、４ｎ…クライアント端末。
【図１】
2012173780.tif 000003
【図２】
2012173780.tif 000004
【図３】
2012173780.tif 000005
【図４】
2012173780.tif 000006
【図５】
2012173780.tif 000007
【図６】
2012173780.tif 000008
【図７】
2012173780.tif 000009
【図８】
2012173780.tif 000010
【図９】
2012173780.tif 000011
【図１０】
2012173780.tif 000012
【図１１】
2012173780.tif 000013
【図１２】
2012173780.tif 000014
【図１３】
2012173780.tif 000015
【図１４】
2012173780.tif 000016
【図１５】
2012173780.tif 000017
【図１６】
2012173780.tif 000018