(57)【要約】【課題】更新されるファイルを効率的に管理すること。【解決手段】ＤＢ管理装置１は、ＤＢアクセス部１１と、共有要求処理部１３とを有するとともに、管理対象の電子ファイルのデータ内容を示す実体ファイルと、その実体ファイルの所在を示す管理情報データとを格納するデータベースにアクセス可能であり、共有要求処理部１３は、実体ファイルの更新処理により更新される実体ファイルについて、更新前のバージョンおよび更新後のバージョンをグループ化するブランチラインを単位として、そのブランチラインと、その実体ファイルを格納する共有元データベースの所在情報とを対応付けて共有先データベースの管理情報データに書き込む。【選択図】図１
2010191662.tif 000002
【特許請求の範囲】
【請求項１】
管理対象の電子ファイルが更新されるたびに、その電子ファイルに付加されるバージョンも更新するファイル管理装置によるファイル管理方法であって、
前記ファイル管理装置は、データベースアクセス部と、共有要求処理部とを有するとともに、管理対象の電子ファイルのデータ内容を示す実体ファイルと、その実体ファイルの所在を示す管理情報データとを格納するデータベースにアクセス可能であり、
前記共有要求処理部は、
前記データベースのうちの前記実体ファイルを格納する共有元データベースに対して、その実体ファイルを前記データベースのうちの共有先データベースから利用するための共有要求を受信すると、
前記実体ファイルの更新処理により更新される前記実体ファイルについて、更新前のバージョンおよび更新後のバージョンをグループ化するブランチラインを単位として、そのブランチラインと、その実体ファイルを格納する前記共有元データベースの所在情報とを対応付けて前記共有先データベースの前記管理情報データに書き込み、
前記データベースアクセス部は、
前記共有先データベースに対して、管理対象の電子ファイルへのデータアクセス要求を受信すると、
前記共有先データベースの前記管理情報データの所在情報を参照して、データアクセス要求で指定された前記実体ファイルを格納する前記共有元データベースを特定し、
その特定した前記共有元データベースに対して、前記管理情報データ内のブランチラインに含まれる所定バージョンへのデータアクセスを、実行することを特徴とする
ファイル管理方法。
【請求項２】
前記ファイル管理装置は、さらに、派生要求処理部と、派生選択処理部と、入力手段と、を有し、
前記派生要求処理部は、
前記データベースのうちの前記実体ファイルを格納する前記共有元データベースに対して、その実体ファイルの派生元ブランチラインを新たな派生先ブランチラインへと派生するための派生要求を受信すると、
前記派生元ブランチライン内の所定バージョンのファイルを、前記派生先ブランチライン内の所定バージョンとは別のバージョンとしてデータコピーし、
前記派生選択処理部は、
前記共有先データベースの前記管理情報データに書き込むブランチラインについて、その共有元データベースの前記実体ファイルに複数のブランチラインが設定されているときには、入力手段を介して指定されたブランチラインを、前記共有先データベースの前記管理情報データに書き込むことを特徴とする
請求項１に記載のファイル管理方法。
【請求項３】
前記ファイル管理装置は、さらに、権限変更要求処理部を有し、
前記権限変更要求処理部は、
前記実体ファイルへのアクセス権を変更する権限変更要求を受信すると、その権限変更要求で指定されたアクセス権を前記共有先データベースの前記管理情報データに対してブランチラインごとに設定し、
前記データベースアクセス部は、前記共有先データベースの前記管理情報データを参照し、データアクセス要求で指定されたブランチラインへのデータアクセスのアクセス権が存在しないときには、前記実体ファイルへのデータアクセスを禁止することを特徴とする
請求項１または請求項２に記載のファイル管理方法。
【請求項４】
請求項１ないし請求項３のいずれか１項に記載のファイル管理方法を、コンピュータである前記ファイル管理装置に実行させるためのファイル管理プログラム。
【請求項５】
管理対象の電子ファイルが更新されるたびに、その電子ファイルに付加されるバージョンも更新するファイル管理装置であって、
前記ファイル管理装置は、データベースアクセス部と、共有要求処理部とを有するとともに、管理対象の電子ファイルのデータ内容を示す実体ファイルと、その実体ファイルの所在を示す管理情報データとを格納するデータベースにアクセス可能であり、
前記共有要求処理部は、
前記データベースのうちの前記実体ファイルを格納する共有元データベースに対して、その実体ファイルを前記データベースのうちの共有先データベースから利用するための共有要求を受信すると、
前記実体ファイルの更新処理により更新される前記実体ファイルについて、更新前のバージョンおよび更新後のバージョンをグループ化するブランチラインを単位として、そのブランチラインと、その実体ファイルを格納する前記共有元データベースの所在情報とを対応付けて前記共有先データベースの前記管理情報データに書き込み、
前記データベースアクセス部は、
前記共有先データベースに対して、管理対象の電子ファイルへのデータアクセス要求を受信すると、
前記共有先データベースの前記管理情報データの所在情報を参照して、データアクセス要求で指定された前記実体ファイルを格納する前記共有元データベースを特定し、
その特定した前記共有元データベースに対して、前記管理情報データ内のブランチラインに含まれる所定バージョンへのデータアクセスを、実行することを特徴とする
ファイル管理装置。
【請求項６】
前記ファイル管理装置は、さらに、派生要求処理部と、派生選択処理部と、入力手段と、を有し、
前記派生要求処理部は、
前記データベースのうちの前記実体ファイルを格納する前記共有元データベースに対して、その実体ファイルの派生元ブランチラインを新たな派生先ブランチラインへと派生するための派生要求を受信すると、
前記派生元ブランチライン内の所定バージョンのファイルを、前記派生先ブランチライン内の所定バージョンとは別のバージョンとしてデータコピーし、
前記派生選択処理部は、
前記共有先データベースの前記管理情報データに書き込むブランチラインについて、その共有元データベースの前記実体ファイルに複数のブランチラインが設定されているときには、入力手段を介して指定されたブランチラインを、前記共有先データベースの前記管理情報データに書き込むことを特徴とする
請求項５に記載のファイル管理装置。
【請求項７】
前記ファイル管理装置は、さらに、権限変更要求処理部を有し、
前記権限変更要求処理部は、
前記実体ファイルへのアクセス権を変更する権限変更要求を受信すると、その権限変更要求で指定されたアクセス権を前記共有先データベースの前記管理情報データに対してブランチラインごとに設定し、
前記データベースアクセス部は、前記共有先データベースの前記管理情報データを参照し、データアクセス要求で指定されたブランチラインへのデータアクセスのアクセス権が存在しないときには、前記実体ファイルへのデータアクセスを禁止することを特徴とする
請求項５または請求項６に記載のファイル管理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ファイル管理方法、ファイル管理プログラム、および、ファイル管理装置に関する。
【背景技術】
【０００２】
構成管理されるファイルの派生に関するシステムが、特許文献１に記載されている。
この特許文献１には、構成管理システムにおいて、派生元ファイルの実体をコピーすることにより派生先ファイルを生成する旨が記載されている。
さらに、特許文献１には、派生元と派生先との対応関係を管理し、さらに派生元で更新が行われた場合には、その更新情報を対応関係から特定できる派生先に伝達することにより、派生先への更新の反映漏れを防止する方法が記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００７−２７９８８３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、前記した特許文献１の構成管理システムでは、派生元から派生先へのデータコピー処理を行う必要があるため、以下の２つの課題がある。
１つ目の課題は、派生を行う度に同一ファイルがコピーされていくため、当該ファイルに対して変更が必要となった場合には、派生元および派生先のファイルに対して、同一の変更が必要となり、変更の工数増大と、変更漏れのリスクが発生する点である。
２つ目の課題は、ファイルそのものをコピーするため、当該ファイルで管理されている過去のバージョンも全てコピーされてしまい、バージョンの中で仕様の相違を管理しているような場合には、派生先へ本当に必要とするバージョン以外のバージョンも渡してしまい、派生先で不要なファイルの管理と修正の受け入れが継続する点である。
【０００５】
そこで、本発明は、前記した問題を解決し、更新されるファイルを効率的に管理することを、主な目的とする。
【課題を解決するための手段】
【０００６】
前記課題を解決するために、本発明は、管理対象の電子ファイルが更新されるたびに、その電子ファイルに付加されるバージョンも更新するファイル管理装置によるファイル管理方法であって、
前記ファイル管理装置が、データベースアクセス部と、共有要求処理部とを有するとともに、管理対象の電子ファイルのデータ内容を示す実体ファイルと、その実体ファイルの所在を示す管理情報データとを格納するデータベースにアクセス可能であり、
前記共有要求処理部が、
前記データベースのうちの前記実体ファイルを格納する共有元データベースに対して、その実体ファイルを前記データベースのうちの共有先データベースから利用するための共有要求を受信すると、
前記実体ファイルの更新処理により更新される前記実体ファイルについて、更新前のバージョンおよび更新後のバージョンをグループ化するブランチラインを単位として、そのブランチラインと、その実体ファイルを格納する前記共有元データベースの所在情報とを対応付けて前記共有先データベースの前記管理情報データに書き込み、
前記データベースアクセス部が、
前記共有先データベースに対して、管理対象の電子ファイルへのデータアクセス要求を受信すると、
前記共有先データベースの前記管理情報データの所在情報を参照して、データアクセス要求で指定された前記実体ファイルを格納する前記共有元データベースを特定し、
その特定した前記共有元データベースに対して、前記管理情報データ内のブランチラインに含まれる所定バージョンへのデータアクセスを、実行することを特徴とする。
その他の手段は、後記する。
【発明の効果】
【０００７】
本発明によれば、更新されるファイルを効率的に管理することができる。
【図面の簡単な説明】
【０００８】
【図１】本発明の一実施形態に関するバージョン管理システムを示す構成図である。
【図２】本発明の一実施形態に関する２つのデータ管理ＤＢ（ＤＢ名＝α，β）の一例を示す説明図である。
【図３】本発明の一実施形態に関する２つのデータ管理ＤＢ（ＤＢ名＝α，β）の間でのファイルの共有要求処理を実施するときの、表示装置に表示される画面を示す画面遷移図である。
【図４】本発明の一実施形態に関する共有要求処理の実行後のデータ管理ＤＢを示す説明図である。
【図５】本発明の一実施形態に関する共有要求処理部が実行する、共有要求処理を示すフローチャートである。
【図６】本発明の一実施形態に関する派生要求処理を実施するときの、表示装置に表示される画面を示す画面遷移図である。
【図７】本発明の一実施形態に関する派生要求処理の実行後のデータ管理ＤＢを示す説明図である。
【図８】本発明の一実施形態に関する派生切替要求処理を実施するときの、表示装置に表示される画面を示す画面遷移図である。
【図９】本発明の一実施形態に関する派生切替要求処理の実行後のデータ管理ＤＢを示す説明図である。
【図１０】本発明の一実施形態に関する派生選択処理部が実行する、派生切替要求処理を示すフローチャートである。
【図１１】本発明の一実施形態に関する共有要求処理を、２つの複数の共有先（ＤＢ名＝β、γ）に対してそれぞれ実行した場合のデータ管理ＤＢを示す説明図である。
【発明を実施するための形態】
【０００９】
図１は、本実施形態のバージョン管理システムを示す構成図である。バージョン管理システムは、ＤＢ管理装置１と、利用者端末３とが、ネットワークで接続されて構成されている。なお、バージョン管理システムが扱うデータは、例えば、ソフトウェアの共通部品（ライブラリ）などが挙げられるが、バージョン（世代）が更新されるデータであれば、任意のデータ（例えば、説明用文書データ）を扱うこととしてもよい。
【００１０】
ＤＢ管理装置１は、プロセッサ１ａと、そのプロセッサ１ａがデータを読み書きするためのメモリ（ハードウェアとしての図示は省略）と、各種データを利用者に入力させるための入力手段（ハードウェアとしての図示は省略、キーボードやマウスなど）と、他装置との通信を実行するためのインタフェース（ハードウェアとしての図示は省略）と、を備えるコンピュータ（ファイル管理装置）として構成される。
ＤＢ管理装置１のメモリには、各処理部（要求受付部１０と、ＤＢアクセス部１１と、表示要求処理部１２と、共有要求処理部１３と、派生要求処理部１４と、派生選択処理部１５と、権限変更要求処理部１６）を構成するためのプログラムと、そのプログラムが処理する各データ（データ管理ＤＢ２０）とが、それぞれ格納される。
【００１１】
データ管理ＤＢ２０には、バージョン管理のリポジトリを格納する実体格納エリア２１と、その実体格納エリア２１に関する情報を格納する管理情報テーブル２２と、が格納されている。なお、データ管理ＤＢ２０は、ＤＢ管理装置１内に複数個（図１では２つ）存在してもよく、それぞれのデータ管理ＤＢ２０には他のデータ管理ＤＢ２０と区別するためのユニークなＤＢ名が付されている。
【００１２】
利用者端末３は、プロセッサ３１と、そのプロセッサ３１がデータを読み書きするためのメモリ（ハードウェアとしての図示は省略）と、他装置との通信を実行するためのインタフェース（ハードウェアとしての図示は省略）と、各種データを利用者に入力させるための入力手段（ハードウェアとしての図示は省略、キーボードやマウスなど）と、各種画面を表示するための表示装置３２と、ＤＢ管理装置１との入出力に用いられるデータを一時的に格納するワークスペース３３と、を含めて構成される。なお、表示装置３２は、例えば、液晶ディスプレイであり、利用者端末３に内蔵されていてもよいし、アナログＲＧＢケーブルなどで外接されていてもよい。ワークスペース３３には、例えば、各要求の引数となるパラメータや、その各要求への返値となるパラメータが、それぞれファイルとして格納される。
【００１３】
【表１】
2010191662.tif 000003
【００１４】
表１は、要求受付部１０が受け付ける要求のリストを示す。ＤＢ管理装置１の要求受付部１０は、データ管理ＤＢ２０にアクセスするための各要求を利用者端末３から受け付け、その要求の種別に応じて、要求ごとの各処理部（ＤＢアクセス部１１と、表示要求処理部１２と、共有要求処理部１３と、派生要求処理部１４と、派生選択処理部１５と、権限変更要求処理部１６）に要求の旨を通知する。
【００１５】
ＤＢアクセス部１１は、バージョン管理システムに関する各要求（取得要求、登録要求、更新要求）を受け、その要求の対象となるデータ管理ＤＢ２０に対して、データアクセスを実行する。
表示要求処理部１２は、表示要求を受け、取得要求と同様のファイルの内容の取得処理をＤＢアクセス部１１に依頼し、その結果を利用者端末３の表示装置３２に表示させる。
共有要求処理部１３は、共有要求を受け、データ管理ＤＢ２０の実体格納エリア２１にすでに格納されている実体ファイルを、他のデータ管理ＤＢ２０にも使用できるようにする旨の処理をＤＢアクセス部１１に依頼し、その結果として、管理情報テーブル２２を更新させる。
派生要求処理部１４は、派生要求を受け、データ管理ＤＢ２０の実体格納エリア２１にすでに格納されている実体ファイルのブランチラインを増やす旨の処理をＤＢアクセス部１１に依頼し、その結果として、実体格納エリア２１および管理情報テーブル２２を更新させる。
派生選択処理部１５は、派生切替要求を受け、データ管理ＤＢ２０の実体格納エリア２１にすでに格納されている実体ファイルの複数のブランチラインから使用する１つのブランチラインを選択する旨の処理をＤＢアクセス部１１に依頼し、その結果として、管理情報テーブル２２を更新させる。
権限変更要求処理部１６は、権限変更要求を受け、データ管理ＤＢ２０の実体格納エリア２１にすでに格納されている実体ファイルへのアクセス権を変更する旨の処理をＤＢアクセス部１１に依頼し、その結果として、管理情報テーブル２２を更新させる。
【００１６】
【表２】
2010191662.tif 000004
【００１７】
表２は、２つの管理情報テーブル２２の例をそれぞれ示す。管理情報テーブル２２は、含まれるデータ管理ＤＢ２０ごとに作成される。管理情報テーブル２２は、利用情報と、実体情報とを対応づけて管理する。
【００１８】
管理情報テーブル２２の利用情報は、利用者端末３がデータ管理ＤＢ２０を利用するときに、各要求を発行するために参照される情報である。利用情報は、ファイル名と、格納階層名と、最新バージョンと、変更権限と、を含めて構成される。
ファイル名は、実体格納エリア２１内のリポジトリのファイルを一意に特定するための名称である。
格納階層名は、実体格納エリア２１内のリポジトリのファイルが格納される階層（ディレクトリや、フォルダとも呼ばれる）を特定するための名称である。
最新バージョンは、実体格納エリア２１内のリポジトリのファイルの複数の版（バージョン）のうちの最新のバージョンを示す。なお、本実施形態では、「バージョン」という用語を用いたが、この「バージョン」（例えば、１．３）には、バージョン番号（例えば、「１」）に加え、そのバージョン番号におけるリビジョン番号（例えば、「．３」）を含んでもよし、含まなくてもよい。
変更権限は、実体格納エリア２１内のリポジトリのファイルに対する書き込み処理のアクセス権を示す。
【００１９】
管理情報テーブル２２の実体情報は、利用情報のファイル名で示されるファイルが、実体ファイルとして格納されているときの、格納先などに関する情報を示す。実体情報は、ＤＢ名と、格納階層名と、実体格納パスと、ブランチラインと、を含めて構成される。
ＤＢ名は、実体ファイルの格納先を示すデータ管理ＤＢ２０の名称である。なお、管理情報テーブル２２のＤＢ名は、その管理情報テーブル２２が属するデータ管理ＤＢ２０のＤＢ名と同じであるときには、「−」記号などを代わりに記載して省略してもよい。
格納階層名は、ＤＢ名で指定されたデータ管理ＤＢ２０内の実体ファイルの格納位置を示す。なお、管理情報テーブル２２の利用情報および実体情報それぞれの格納階層名が一致するときには、実体情報の格納階層名を「−」記号などを代わりに記載して省略してもよい。
実体格納パスは、ＤＢ名および格納階層名を区切り記号「￥」で区切って連結したパスである。なお、実体格納パスの列は、ＤＢ名の列および格納階層名の列の情報から、文字列連結処理により作成可能であるため、省略可能である。
ブランチラインは、実体ファイルの派生を示す。例えば、所定ファイルのバージョンが、「１．１」→「１．２」→「１．３」→「１．４」と更新されていくときには、これらのバージョン情報の内の、小数点以下１桁目のみが変化するため、ブランチラインは、「１．＊」である。ここで、「＊」は、値が任意に変換するワイルドカードを示す。
【００２０】
例えば、ファイル名「ｂ．ｃ」に着目すると、管理情報テーブル２２の実体情報が「ＤＢ名＝α」となっているので、ＤＢ名＝αのデータ管理ＤＢ２０内の実体格納エリア２１に格納されていることがわかる。
そして、「ＤＢ名＝α」の管理情報テーブル２２（表２の上側の表）では、格納階層名「Ｘ」が利用情報および実体情報で共通するのに対し、「ＤＢ名＝β」の管理情報テーブル２２（表２の下側の表）では、利用情報の格納階層名「Ｙ」は、実体情報の格納階層名「Ｘ」とは、異なる。
つまり、「ＤＢ名＝α」では、ファイル名「ｂ．ｃ」の実体ファイルをそのまま利用情報として利用者に提示しているのに対し、「ＤＢ名＝β」では、ファイル名「ｂ．ｃ」へのリンクファイルを利用情報として利用者に提示している。
ここで、リンクファイルは、実体ファイルを構成する１つのブランチラインへのリンク（実体格納パスなどの所在情報）を含むが、実体ファイルのデータ内容そのものは含まないファイルである（詳細は、図４参照）。そして、リンクファイルの場合、利用情報の変更権限の初期値は、変更不可を示す「なし」である。
【００２１】
ここで、権限変更要求処理部１６が実行する、管理情報テーブル２２の変更権限について、変更可能を示す「あり」から「なし」に、または、「なし」から「あり」に変更する処理を説明する。
権限変更要求処理部１６は、利用者端末３から入力された権限変更要求を受け、その権限変更要求で指定されたファイル名の実体ファイルの有無をチェックする。このチェックは、具体的には、管理情報テーブル２２の実体情報の実体格納パスにアクセスし、そのパスが示す実体格納エリア２１内で指定されたファイル名が存在するか否かを判断することにより、実現される。
実体ファイルが存在しないときには、権限変更要求を送信した利用者端末３に対して、「ファイルが存在しない」旨のエラーメッセージを返答する。
実体ファイルが存在するときには、管理情報テーブル２２の利用情報内の「変更権限」を権限変更要求の指示通りに変更するようにＤＢアクセス部１１に依頼し、権限変更要求を送信した利用者端末３に対して、「正常に変更した」旨のメッセージを返答する。
【００２２】
【表３】
2010191662.tif 000005
【００２３】
表３は、表２の管理情報テーブル２２（ＤＢ名＝β）に対して、権限変更要求を実行した後の例を示す。表２の管理情報テーブル２２（表２の下側の表）と比較すると、ファイル名「ｂ．ｃ」のレコードの利用情報内の変更権限が、「なし」から「あり」へと変更されている。これにより、以降、共有先からファイル「ｂ．ｃ」に対する変更が可能となる。
【００２４】
図２は、２つのデータ管理ＤＢ２０（ＤＢ名＝α，β）の一例を示す説明図である。なお、図２において、管理情報テーブル２２は、表２で説明した列の内の説明用の列だけを記載し、その他の列は記載を省略している。
【００２５】
「ＤＢ名＝α」のデータ管理ＤＢ２０の実体格納エリア２１には、３つの実体ファイル（ａ．ｃ，ｂ．ｃ，ｃ．ｃ）が、それぞれ階層名「Ｘ」の下に格納されている。「ＤＢ名＝α」の管理情報テーブル２２には、その３つの実体ファイルそれぞれを示すレコードが、格納されている。
「ＤＢ名＝β」のデータ管理ＤＢ２０の実体格納エリア２１には、２つの実体ファイル（ｄ．ｃ，ｅ．ｃ）および１つのリンクファイル（ｂ．ｃ）が、それぞれ階層名「Ｙ」の下に格納されている。「ＤＢ名＝β」の管理情報テーブル２２には、その３つのファイルそれぞれを示すレコードが、格納されている。
【００２６】
なお、ファイル名「ｂ．ｃ」のファイルは、実体ファイルが「ＤＢ名＝α」のデータ管理ＤＢ２０に存在するとともに、リンクファイルが「ＤＢ名＝β」のデータ管理ＤＢ２０にも存在する。つまり、同じファイルが、複数のデータベースで共有されている。
よって、ＤＢアクセス部１１は、「ＤＢ名＝β」の実体格納エリア２１のリンクファイル「ｂ．ｃ」にアクセスするときには、「ＤＢ名＝β」の管理情報テーブル２２の「実体情報」を参照して、そのリンクファイルがリンクする実体ファイルの所在（ＤＢ名＝α、格納階層名＝Ｘ）を求めてから、その所在にアクセスする。つまり、ＤＢアクセス部１１は、リンクファイルではなく、実体ファイルに対して、データアクセス（ファイルの読み書き）を実行する。
一方、ＤＢアクセス部１１は、「ＤＢ名＝α」の実体格納エリア２１の実体ファイル「ｂ．ｃ」には、リンクを辿ることなく、直接アクセスする。
【００２７】
図３は、２つのデータ管理ＤＢ２０（ＤＢ名＝α，β）の間でのファイルの共有要求処理を実施するときの、表示装置３２に表示される画面を示す画面遷移図である。
ファイル名「ｂ．ｃ」の実体ファイルは、データ管理ＤＢ２０（ＤＢ名＝α）内に存在する。
画面６１において、利用者は、利用者端末３の入力手段（マウスなど）を介して、データ管理ＤＢ２０（ＤＢ名＝α）内のファイル名「ｂ．ｃ」を右クリックすると、そのファイルを処理対象とする要求リストが、画面６２に表示される。
画面６２において、利用者は、表示された要求リストから、「共有要求（シェア）」をクリックすると、その実体ファイルを指し示すリンクファイルが格納される共有先の選択欄が画面６３として表示される。この共有先のリストは、あらかじめ管理者などにより設定されている、データベースリストを記憶手段から読み取ることにより、取得することができる。
画面６３において、利用者は、共有先の選択欄から「ＤＢ名＝β、格納階層名＝Ｙ」をクリックすると、利用者端末３は、少なくとも、右クリックされたファイル名「ｂ．ｃ」の実体情報（管理情報テーブル２２から取得可能）と、その共有先の「ＤＢ名＝β、格納階層名＝Ｙ」とを入力パラメータとしてワークスペース３３に格納するとともに、その入力パラメータを引数とする共有要求を、ＤＢ管理装置１に送信する。
その共有要求を受信したＤＢ管理装置１の共有要求処理部１３は、ワークスペース３３の入力パラメータを参照し、共有先（ＤＢ名＝β）の管理情報テーブル２２に対して、共有要求で指定されたファイル名「ｂ．ｃ」のレコードを追加する。
画面６４において、ファイル名「ｂ．ｃ」のファイルが、あたかもデータ管理ＤＢ２０（ＤＢ名＝β）の格納階層名「Ｙ」に存在しているかのように、アクセス可能に表示装置３２に表示される。
【００２８】
図４は、図３の共有要求処理の実行後のデータ管理ＤＢ２０を示す説明図である。
【００２９】
上側のデータ管理ＤＢ２０（ＤＢ名＝α）には、ファイル名「ｂ．ｃ」の実体ファイル（バージョン１．１〜１．４）が１つのブランチラインＢ１として、存在する。
【００３０】
下側のデータ管理ＤＢ２０（ＤＢ名＝β）には、ファイル名「ｂ．ｃ」のリンクファイル（バージョン１．１〜１．４）が１つのブランチラインＢ１として、存在する。このリンクファイルは、ファイル名「ｂ．ｃ」の実体ファイル（バージョン１．１〜１．４）の全てのバージョンを含んでいるので、共有先のデータ管理ＤＢ２０（ＤＢ名＝β）では、ＤＢアクセス部１１が、全てのバージョンに対してバージョン管理システムに関する各要求（取得要求、登録要求、更新要求）を実行することができる。
【００３１】
図５は、共有要求処理部１３が実行する、共有要求処理を示すフローチャートである。なお、共有される実体ファイルが存在するデータ管理ＤＢ２０（図４では、ＤＢ名＝α）を共有元とし、共有するリンクファイルが存在するデータ管理ＤＢ２０（図４では、ＤＢ名＝β）を共有先として、説明する。
【００３２】
Ｓ１０１において、共有先の管理情報テーブル２２に、リンクファイル用のレコードを１つ追加する。
Ｓ１０２において、共有先の管理情報テーブル２２の追加レコードの利用情報（変更権限）に、初期値である「なし」を書き込む。
Ｓ１０３において、共有先の管理情報テーブル２２の追加レコードの利用情報に、共有要求で指定された各情報（ファイル名、格納階層名など）を書き込む（詳細は、図４参照）。
【００３３】
Ｓ１１１において、共有元の管理情報テーブル２２から、共有要求で指定されたファイル名のレコードを読み込む。
Ｓ１１２において、読み込んだ共有元のレコードの実体情報（ＤＢ名、格納階層名）が、省略されているか否かを判定する。具体的には、表２を用いて説明したように、「−」記号が記載されているか否かを判定する。Ｓ１１２でＹｅｓならＳ１１３へ進み、ＮｏならＳ１１４へ進む。
Ｓ１１３において、省略されている共有元のレコードの実体情報を、補完する。例えば、表２で説明したように、ＤＢ名の「−」記号を、その管理情報テーブル２２が属するデータ管理ＤＢ２０のＤＢ名で補完するとともに、実体情報の格納階層名の「−」記号を、利用情報の格納階層名で補完する。
Ｓ１１４において、共有元のレコードの実体情報のブランチラインが複数存在するか否かを判定する。Ｓ１１４でＹｅｓならＳ１１５へ進み、ＮｏならＳ１２１へ進む。
Ｓ１１５において、複数のブランチラインから、１つのブランチラインを共有対象として選択させる。具体的には、派生選択処理部１５が処理する派生選択処理（後記する図１０参照）を呼び出す。
【００３４】
Ｓ１２１において、共有元の管理情報テーブル２２の読み込んだレコードの実体情報を、共有先の追加レコードの管理情報テーブル２２の実体情報へと、コピーする（例えば、表２の「ｂ．ｃ」のレコードを参照）。なお、Ｓ１１３の補完処理およびＳ１１５の選択処理が実行されたときには、それぞれの処理結果の実体情報をコピーする。
Ｓ１２２において、Ｓ１２１で書き込んだブランチラインに対応する最新バージョンを共有元の管理情報テーブル２２から読み取り、共有先の追加レコードの管理情報テーブル２２の実体情報へと、コピーする（例えば、表２の「ｂ．ｃ」のレコードを参照）。
【００３５】
図６は、データ管理ＤＢ２０（ＤＢ名＝α）での実体ファイル（ｂ．ｃ）に対する派生要求処理を実施するときの、表示装置３２に表示される画面を示す画面遷移図である。
ここで、ファイル名「ｂ．ｃ」の実体ファイルは、データ管理ＤＢ２０（ＤＢ名＝α）内に存在し、派生要求の送信前では、１つのブランチライン（１．＊、最新バージョン＝１．４）が存在するものとする。
画面６１において、利用者は、利用者端末３の入力手段（マウスなど）を介して、データ管理ＤＢ２０（ＤＢ名＝α）内のファイル名「ｂ．ｃ」を右クリックすると、そのファイルを処理対象とする要求リストが、画面６２に表示される。
画面６２において、利用者は、表示された要求リストから、「派生要求（ブランチ）」をクリックすると、その実体ファイルに対応する派生先のブランチラインの入力画面が、画面６５に表示される。
画面６５において、利用者は、表示された入力画面から、２つめのブランチライン（１．１．１．３）を入力して、「ＯＫ」ボタンをクリックすると、利用者端末３は、少なくとも、右クリックされたファイル名「ｂ．ｃ」と、入力されたブラインチライン「１．１．１．３」とを入力パラメータとしてワークスペース３３に格納するとともに、その入力パラメータを引数とする派生要求を、ＤＢ管理装置１に送信する。
その派生要求を受信したＤＢ管理装置１の派生要求処理部１４は、共有先（ＤＢ名＝β）の管理情報テーブル２２に対して、派生要求で指定されたファイル名「ｂ．ｃ」のレコードの「最新バージョン」列に「１．１．１．３」を追加し、「ブランチライン」列に、「１．１．１．＊」を追加する。
画面６６において、ファイル名「ｂ．ｃ」の実体ファイルには、２つのブランチラインが存在することとなる。なお、ブランチラインが増加しても、既にあるブランチラインはそのまま存続するため、その既にあるブランチラインを共有する（リンクする）他のデータ管理ＤＢ２０（例えば、ＤＢ名＝β）へのデータ変更は、不要である（画面６４は変化無し）。
【００３６】
図７は、図４のデータ管理ＤＢ２０に対して、図６の派生要求処理の実行後のデータ管理ＤＢ２０を示す説明図である。
【００３７】
上側のデータ管理ＤＢ２０（ＤＢ名＝α）には、ファイル名「ｂ．ｃ」の実体ファイル（バージョン１．１〜１．４）が２つのブランチラインＢ１，Ｂ２として、それぞれ存在する。ここで、ブランチラインＢ２は、ブランチラインＢ１から派生要求に従って派生したものである。具体的には、派生要求処理部１４は、ブランチラインＢ１の所定バージョンのファイル（例えば、バージョン１．１のファイル）を、ブランチラインＢ２の所定バージョンのファイル（例えば、バージョン１．１．１．１のファイル）として、コピーする。そして、ＤＢアクセス部１１は、更新要求に従い、２つのブランチラインのファイルをそれぞれ更新することで、最新バージョンの番号を増加させる。
【００３８】
下側のデータ管理ＤＢ２０（ＤＢ名＝β）には、ファイル名「ｂ．ｃ」のリンクファイル（最新バージョン１．４）が１つのブランチラインＢ１として、存在する。データ管理ＤＢ２０（ＤＢ名＝β）のブランチラインＢ１へのリンクは、データ管理ＤＢ２０（ＤＢ名＝α）のブランチラインＢ２が増加したとしても、とくに変更する必要がない。これにより、ブランチラインごとに独立したファイル共有が可能になるため、共有先で使用しないブランチラインが、共有先にコピーされたり削除されたりするオーバーヘッドを抑制することができる。
【００３９】
【表４】
2010191662.tif 000006
【００４０】
表４は、図７のデータ管理ＤＢ２０（ＤＢ名＝α）の詳細を示す。表２のデータ管理ＤＢ２０（ＤＢ名＝α）と比較すると、ファイル名「ｂ．ｃ」のレコード内において、最新バージョン「１．１．１．３」およびブランチライン「１．１．１．＊」がそれぞれ追加されている。
【００４１】
図８は、図６の派生切替要求処理の実行後の状態から、共有先のリンクファイルにおける派生切替要求処理を実施するときの、表示装置３２に表示される画面を示す画面遷移図である。
ファイル名「ｂ．ｃ」の実体ファイルは、データ管理ＤＢ２０（ＤＢ名＝α）内に存在し、２つのブランチライン（最新バージョン１．１．１．３および最新バージョン１．４）に派生されている（図８の下部参照）。
画面６４において、利用者は、利用者端末３の入力手段（マウスなど）を介して、派生先のデータ管理ＤＢ２０（ＤＢ名＝α）内のファイル名「ｂ．ｃ」を右クリックすると、そのファイルを処理対象とする要求リストが、画面６７に表示される。
画面６７において、利用者は、表示された要求リストから、「派生切替要求」をクリックすると、その共有先の実体ファイルを構成するブランチラインの選択欄が、画面６８に表示される。なお、表示される実体ファイルを構成するブランチラインは、共有元の管理情報テーブル２２から取得できる（画面６６参照）。
画面６８において、利用者は、ブランチラインの選択欄から「最新バージョン＝１．１．１．３」をクリックすると、利用者端末３は、少なくとも、右クリックされたファイル名「ｂ．ｃ」と、その選択されたブランチラインの特定情報（最新バージョン＝１．１．１．３）とを入力パラメータとしてワークスペース３３に格納するとともに、その入力パラメータを引数とする派生切替要求を、ＤＢ管理装置１に送信する。
その派生切替要求を受信したＤＢ管理装置１の派生選択処理部１５は、共有先（ＤＢ名＝β）の管理情報テーブル２２に対して、派生切替要求で指定されたブランチラインの情報を上書きする。
画面６９において、具体的には、管理情報テーブル２２のファイル名「ｂ．ｃ」のレコード内の利用情報の最新バージョンを指定された「１．１．１．３」で上書きする。さらに、画面では表示を省略したが、レコード内の実体情報のブランチラインを指定された「１．１．１．＊」で上書きする。
これにより、実体ファイルのデータコピーに関するオーバーヘッドを発生させずに、ブランチラインの切替を実現できる。
【００４２】
図９は、図７のデータ管理ＤＢ２０に対して、図８の派生切替要求処理の実行後のデータ管理ＤＢ２０を示す説明図である。
【００４３】
上側のデータ管理ＤＢ２０（ＤＢ名＝α）には、ファイル名「ｂ．ｃ」の実体ファイルが２つのブランチラインＢ１，Ｂ２として、それぞれ存在する。
【００４４】
下側のデータ管理ＤＢ２０（ＤＢ名＝β）には、ファイル名「ｂ．ｃ」のリンクファイル（最新バージョン１．１．１．３）が１つのブランチラインＢ２として、存在する。データ管理ＤＢ２０（ＤＢ名＝β）のブランチラインＢ１へのリンクは、図８の派生切替要求処理により、ブランチラインＢ１へのリンクからブランチラインＢ２へのリンクへと変更されている。
【００４５】
【表５】
2010191662.tif 000007
【００４６】
表５は、図９のデータ管理ＤＢ２０（ＤＢ名＝β）の詳細を示す。表２のデータ管理ＤＢ２０（ＤＢ名＝β）と比較すると、ファイル名「ｂ．ｃ」のレコード内において、最新バージョンが「１．１．１．３」に、ブランチラインが「１．１．１．＊」に、それぞれ変更されている。
【００４７】
図１０は、派生選択処理部１５が実行する、派生切替要求処理を示すフローチャートである。なお、共有される実体ファイルが存在するデータ管理ＤＢ２０（図９では、ＤＢ名＝α）を共有元とし、共有するリンクファイルが存在するデータ管理ＤＢ２０（図９では、ＤＢ名＝β）を共有先として、説明する。
【００４８】
Ｓ２０１において、利用者端末３から入力された派生切替要求を受け、その派生切替要求で指定されたファイル名の実体ファイルが存在するか否かをチェックする。このチェックは、具体的には、管理情報テーブル２２の実体情報の実体格納パスにアクセスし、そのパスが示す実体格納エリア２１内で指定されたファイル名が存在するか否かを判断することにより、実現される。Ｓ２０１でＹｅｓならＳ２０３へ進み、ＮｏならＳ２０２へ進む。
【００４９】
Ｓ２０２において、実体ファイルが存在しないときには、派生切替要求を送信した利用者端末３に対して、「ファイルが存在しない」旨のエラーメッセージを返答する。
【００５０】
Ｓ２０３において、派生切替要求で指定されたファイルのブランチラインのリストを表示し、利用者に切替先のブランチラインを選択させる。そのために、派生選択処理部１５は、共有元の管理情報テーブル２２から、ブランチラインおよび対応する最新バージョンのリストを取得する。
【００５１】
Ｓ２０４において、Ｓ２０３で選択された切替先のブランチラインへと切り替える。そのために、派生選択処理部１５は、共有先の管理情報テーブル２２内におけるブランチラインおよび対応する最新バージョンの組を、選択された切替先のブランチラインおよび対応する最新バージョンの組に書き換える。
【００５２】
以上、図２〜図１０を用いて説明した本実施形態では、一例として、１つの共有元のデータ管理ＤＢ２０（ＤＢ名＝α）と、１つの共有先のデータ管理ＤＢ２０（ＤＢ名＝β）と、のあいだでのファイルの共有管理について説明した。一方、１つの共有元に対して、複数の共有先が存在する形態としてもよい。
【００５３】
図１１は、共有要求処理（図５）を、２つの複数の共有先（ＤＢ名＝β、γ）に対してそれぞれ実行した場合のデータ管理ＤＢ２０を示す説明図である。それぞれの共有先のデータ管理ＤＢ２０は、必ずしも共有元の同じブランチラインを共有する必要はない。例えば、共有先（ＤＢ名＝β）のデータ管理ＤＢ２０は、最新ファイル「１．１．１．３」のブランチラインＢ２へのリンクファイルを有しているのに対し、共有先（ＤＢ名＝γ）のデータ管理ＤＢ２０は、最新ファイル「１．１．１．１．１．２」のブランチラインＢ３へのリンクファイルを有している。
【００５４】
【表６】
2010191662.tif 000008
【００５５】
表６は、図１１のデータ管理ＤＢ２０の状態における３つの管理情報テーブル２２の例をそれぞれ示す。共有元の管理情報テーブル２２（ＤＢ名＝α）のファイル名「ｂ．ｃ」のレコードには、３つのブランチライン「１．＊」、「１．１．１．＊」、「１．１．１．１．１．＊」が格納されている。
共有先の管理情報テーブル２２（ＤＢ名＝β）のファイル名「ｂ．ｃ」のレコードには、２つめのブランチライン「１．１．１．＊」が格納されている。
共有先の管理情報テーブル２２（ＤＢ名＝γ）のファイル名「ｂ．ｃ」のレコードには、３つめのブランチライン「１．１．１．１．１．＊」が格納されている。
【００５６】
以上説明した本実施形態によれば、ソフトウェア共通部品のように複数の管理単位で共有するファイルに変更が発生した場合に、共有元を変更することで共有先がアクセスする時には、変更したものが参照されるため、変更漏れ／誤りの防止と変更工数の削減を図ることができる。
また、共有先では、自管理単位が参照するバージョンのみ参照するため、誤って他管理単位用のバージョンを参照することも防止できる。
さらに、共有先からの更新作業が実施できるため、個別の変更と集中管理を実現することが可能となる。
【００５７】
これにより、組込みソフトウェア開発の特徴である、多種多様なモデルのソフトウェア共通部品を派生開発する際のソフトウェア変更管理を効率的に実施できる。具体的には、ソフトウェア共通部品の開発部門における複数モデルのソフトウェア共通部品の派生をブランチラインとして管理し、ソフトウェア共通部品の開発部門と製品開発部門とのソフトウェア共通部品の実体ファイルを、そのブランチライン単位で共有することにより、ソフトウェア共通部品に発生した不具合の対策漏れ／誤りの防止、および不具合対策工数の削減を図ることが可能となる。
【符号の説明】
【００５８】
１      ＤＢ管理装置（ファイル管理装置）
１ａ    プロセッサ
３      利用者端末（入力手段）
１０    要求受付部
１１    ＤＢアクセス部（データベースアクセス部）
１２    表示要求処理部
１３    共有要求処理部
１４    派生要求処理部
１５    派生選択処理部
１６    権限変更要求処理部
２０    データ管理ＤＢ
２１    実体格納エリア
２２    管理情報テーブル（管理情報データ）
３１    プロセッサ
３２    表示装置
３３    ワークスペース
【図１】
2010191662.tif 000009
【図２】
2010191662.tif 000010
【図３】
2010191662.tif 000011
【図４】
2010191662.tif 000012
【図５】
2010191662.tif 000013
【図６】
2010191662.tif 000014
【図７】
2010191662.tif 000015
【図８】
2010191662.tif 000016
【図９】
2010191662.tif 000017
【図１０】
2010191662.tif 000018
【図１１】
2010191662.tif 000019