(57)【特許請求の範囲】
【請求項１】
ネットワークを介して、ファイルを管理するファイルサーバと複数のワークステーションとが接続されたファイル管理システムにおけるファイルサーバであって、
最新バージョンのソースファイルと、該ソースファイルの各バージョン間の差分情報を含む変更履歴とを格納する格納手段と、
前記ワークステーションから前記ソースファイルの取り出し要求がなされると、前記格納手段で格納されている最新バージョンのソースファイルと変更履歴とに基づいて、該要求されたバージョンのソースファイルを生成し、該生成されたソースファイルとそのバージョン情報とを該ワークステーションへ送信するファイル取り出し手段と、
前記ワークステーションから更新要求とともにソースファイルと当該ソースファイルを前記ファイル取り出し手段で取り出したときのバージョン情報とを受信すると、当該受信したバージョン情報と前記格納手段に格納されている最新バージョンとを比較し、前記比較の結果、当該格納手段に格納されている最新バージョンのソースファイルが既に更新済みであると判断した場合は前記ワークステーションに対して既に更新されていることを通知し、一方、前記比較の結果、当該格納手段に格納されている最新バージョンのソースファイルが更新済みでないと判断した場合は、当該受信したソースファイルと前記格納手段に格納されている最新バージョンのソースファイルとの間の差分情報を抽出して前記格納手段に格納し、且つ前記格納手段に格納されている最新バージョンのソースファイルを当該受信したソースファイルで置き換えるファイル更新手段とを有することを特徴とするファイルサーバ。
【請求項２】
前記ファイル取り出し手段で送信されるバージョン情報は、該ソースファイルの格納領域と当該バージョン情報とを含む情報ファイルの形式で、前記生成されたソースファイルとともに送信されることを特徴とする請求項１に記載のファイルサーバ。
【請求項３】
前記ファイル取り出し手段は、更に、前記取り出し要求を行ったユーザ名を履歴ファイルに記録しておくことを特徴とする請求項１に記載のファイルサーバ。
【請求項４】
前記ファイル更新手段は、前記格納手段に格納されている最新バージョンのソースファイルを当該受信したソースファイルで置き換えた場合、前記履歴ファイルに基づいて、同一のソースファイルを取り出している他のユーザを検索し、当該検索された他のユーザに当該ソースファイルが更新されたことを通知することを特徴とする請求項３に記載のファイルサーバ。
【請求項５】
前記ファイルサーバは、ユーザ情報を登録したユーザ情報登録ファイルを有し、
前記ユーザ情報登録ファイルに基づいて、前記ソースファイルに対して、前記取り出し要求又は更新要求を行ったユーザの許可レベルを判断し、該許可レベルに応じて前記要求を許可するか否か判断することを特徴とする請求項１乃至４のいずれかに記載のファイルサーバ。
【請求項６】
ネットワークを介して複数のワークステーションと接続された、ファイルを管理するファイルサーバにおけるファイル管理方法であって、
最新バージョンのソースファイルと、該ソースファイルの各バージョン間の差分情報を含む変更履歴とを格納し、
前記ワークステーションから前記ソースファイルの取り出し要求がなされると、前記格納されている最新バージョンのソースファイルと変更履歴とに基づいて、該要求されたバージョンのソースファイルを生成し、
該生成されたソースファイルとそのバージョン情報とを該ワークステーションへ送信し、
前記ワークステーションから更新要求とともにソースファイルと当該ソースファイルを取り出したときのバージョン情報とを受信すると、当該受信したバージョン情報と前記格納されている最新バージョンとを比較し、前記比較の結果、当該格納されている最新バージョンのソースファイルが既に更新済みであると判断した場合は前記ワークステーションに対して既に更新されていることを通知し、一方、前記比較の結果、当該格納されている最新バージョンのソースファイルが更新済みでないと判断した場合は、当該受信したソースファイルと前記格納されている最新バージョンのソースファイルとの間の差分情報を抽出して格納し、且つ前記格納されている最新バージョンのソースファイルを当該受信したソースファイルで置き換えることを特徴とするファイル管理方法。
【請求項７】
前記送信されるバージョン情報は、該ソースファイルの格納領域と当該バージョン情報とを含む情報ファイルの形式で、前記生成されたソースファイルとともに送信されることを特徴とする請求項６に記載のファイル管理方法。
【請求項８】
更に、前記取り出し要求を行ったユーザ名を履歴ファイルに記録しておくことを特徴とする請求項６に記載のファイル管理方法。
【請求項９】
前記格納されている最新バージョンのソースファイルを当該受信したソースファイルで置き換えた場合、前記履歴ファイルに基づいて、同一のソースファイルを取り出している他のユーザを検索し、当該検索された他のユーザに当該ソースファイルが更新されたことを通知することを特徴とする請求項８に記載のファイル管理方法。
【請求項１０】
前記ファイルサーバは、ユーザ情報を登録したユーザ情報登録ファイルを有し、
前記ユーザ情報登録ファイルに基づいて、前記ソースファイルに対して、前記取り出し要求又は更新要求を行ったユーザの許可レベルを判断し、該許可レベルに応じて前記要求を許可するか否か判断することを特徴とする請求項６乃至９のいずれかに記載のファイル管理方法。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は、ファイルサーバおよびファイル管理方法に関し、特にファイルのバージョンを管理するファイルサーバおよびファイル管理方法に関する。
【０００２】
【従来の技術】
従来、ソフトウェアの分散開発環境下におけるソースファイルのバージョン管理システムとして、独立したＥＷＳ（エンジニアリングワークステーション）をＬＡＮ（ローカルエリアネットワーク）に多数接続し、共同してプログラム開発を行なうものが知られており、例えば、分散型の開発環境におけるファイル管理方式として特開平４−２８０３４２号公報（ワークステーション計算機のプログラム管理方法）に記載されたものがある。
【０００３】
このファイル管理方式では、ファイルサーバーである計算機が各ＥＷＳとＬＡＮで接続されていて、ファイルサーバのマスタファイル装置と各ＥＷＳの各々に独立したファイル装置との間で、指定したファイルについて日付等のバージョンに関する情報を比較し、マスターファイルで更新されている最新ファイルのみをＬＡＮを介して取り出すことによりすべてのＥＷＳのファイル装置の同名のソースファイルが最新バージョンに更新され、内容が同じになるようにされていた。
【０００４】
【発明が解決しようとする課題】
しかしながら、すべてのファイル装置のソースファイルを揃えるために、同名のソースファイルの内容は最新バージョンに全て更新されてしまうので、一部のＥＷＳのファイル装置に最新ではない任意のバージョンのソースファイルを持つことができないといった問題があった。
【０００５】
また、ファイルサーバにネットワークを介して接続されているすべてのＥＷＳからソースファイルを取り出して更新することができるが、開発者以外の一部の操作者に対しても、ソースファイルを公開しているようなネットワークのソフトウェアにおいては、開発者と操作者とを区別したソースファイルの管理を行なうことができず、セキュリティに問題があった。
【０００６】
さらに、ソースファイルをファイルサーバから取り出して変更を加えている間に、別の操作者が同じ名前のソースファイルを更新してファイルサーバ上のソースファイルの内容を書き変えた場合、更新されたことが操作者に知らされないとその変更途中のソースファイルのバージョンが最新のものであるかどうかわからなくなってしまい、混乱を招く結果となる。
【０００７】
そこで、本発明は、ワークステーションのファイル装置に任意のバージョンのソースファイルを持つことができ、開発者と操作者を区別してセキュリティを保証でき、操作者はソースファイルが更新されたことを知ることができるファイルサーバおよびファイル管理方法を提供することを目的とする。
【０００８】
【課題を解決するための手段】
上記目的を達成するために、本発明のファイルサーバは、ネットワークを介して、ファイルを管理するファイルサーバと複数のワークステーションとが接続されたファイル管理システムにおけるファイルサーバであって、最新バージョンのソースファイルと、該ソースファイルの各バージョン間の差分情報を含む変更履歴とを格納する格納手段と、前記ワークステーションから前記ソースファイルの取り出し要求がなされると、前記格納手段で格納されている最新バージョンのソースファイルと変更履歴とに基づいて、該要求されたバージョンのソースファイルを生成し、該生成されたソースファイルとそのバージョン情報とを該ワークステーションへ送信するファイル取り出し手段と、前記ワークステーションから更新要求とともにソースファイルと当該ソースファイルを前記ファイル取り出し手段で取り出したときのバージョン情報とを受信すると、当該受信したバージョン情報と前記格納手段に格納されている最新バージョンとを比較し、前記比較の結果、当該格納手段に格納されている最新バージョンのソースファイルが既に更新済みであると判断した場合は前記ワークステーションに対して既に更新されていることを通知し、一方、前記比較の結果、当該格納手段に格納されている最新バージョンのソースファイルが更新済みでないと判断した場合は、当該受信したソースファイルと前記格納手段に格納されている最新バージョンのソースファイルとの間の差分情報を抽出して前記格納手段に格納し、且つ前記格納手段に格納されている最新バージョンのソースファイルを当該受信したソースファイルで置き換えるファイル更新手段とを有することを特徴とする。
本発明のファイル管理方法は、ネットワークを介して複数のワークステーションと接続された、ファイルを管理するファイルサーバにおけるファイル管理方法であって、最新バージョンのソースファイルと、該ソースファイルの各バージョン間の差分情報を含む変更履歴とを格納し、前記ワークステーションから前記ソースファイルの取り出し要求がなされると、前記格納されている最新バージョンのソースファイルと変更履歴とに基づいて、該要求されたバージョンのソースファイルを生成し、該生成されたソースファイルとそのバージョン情報とを該ワークステーションへ送信し、前記ワークステーションから更新要求とともにソースファイルと当該ソースファイルを取り出したときのバージョン情報とを受信すると、当該受信したバージョン情報と前記格納されている最新バージョンとを比較し、前記比較の結果、当該格納されている最新バージョンのソースファイルが既に更新済みであると判断した場合は前記ワークステーションに対して既に更新されていることを通知し、一方、前記比較の結果、当該格納されている最新バージョンのソースファイルが更新済みでないと判断した場合は、当該受信したソースファイルと前記格納されている最新バージョンのソースファイルとの間の差分情報を抽出して格納し、且つ前記格納されている最新バージョンのソースファイルを当該受信したソースファイルで置き換えることを特徴とする。
【００１９】
【実施例】
つぎに、本発明のファイルサーバおよびファイル管理方法の実施例について説明する。本実施例のファイル管理システムは情報処理システムに適用される。
【００２０】
［第１実施例］
図１は情報処理システムの構成を示すブロック図である。図において、１はファイルサーバ、２はファイルサーバのファイル装置でソースファイル３、バージョン、差分情報などの変更履歴４が保存される。５はＬＡＮネットワーク、６ａ〜６ｎはファイルサーバ１とＬＡＮネットワーク５を介して接続されているワークステーション（ＥＷＳ）、７ａ〜７ｎはそれぞれワークステーション６ａ〜６ｎのファイル装置である。
【００２１】
図２と図３および図４とはファイルサーバ１およびワークステーション６ａの処理機能を示す説明図である。図２はファイルの取り出し処理機能を示す。
【００２２】
ファイルの取出し処理機能は、ワークステーション６ａから必要なソースファイルの取り出し要求をネットワーク５を介してファイルサーバ１に入力する処理Ａと、ファイルサーバ１で指定された名前、バージョンのソースファイルをファイル装置２から生成する処理Ｂと、ネットワーク５を介してこれらの生成されたファイルをワークステーション（ＥＷＳ）６ａに送信し、ファイル装置７ａにソースファイル３４とバージョン等の情報ファイル３５を入力する処理Ｃと、取り出したソースファイルのファイル名とユーザ名をファイル装置２の変更履歴ファイル４に登録する処理Ｄとから構成される。
【００２３】
また、図３および図４はファイルの更新処理機能を示す。ファイルを更新する処理機能は、ワークステーション（ＥＷＳ）６ａからのソースファイルの更新要求をネットワーク５を介してファイルサーバ１に入力する処理Ｅと、ファイル名をチェックし、ファイルサーバ１のソースファイルのバージョンがすでに更新されていて、修正前のバージョンよりも新しくなっている場合、エラーをＥＷＳ６ａに送信する処理Ｆと、ファイルサーバ１の最新ソースファイルと更新するファイル１１４の差分を抽出する処理Ｇと、ファイル装置２にこのソースファイルを最新バージョンとして更新し、その変更履歴情報を登録する処理Ｈとからなる。
【００２４】
以上示した構成を有する情報処理システムのデータ管理動作について図２と図３および図４とを参照しながら説明する。
【００２５】
［ファイルの取出し処理］
まず、ＥＷＳ６ａから取り出すソースファイル名とバージョンを入力すると（ステップＳ２１、Ｓ２２）、入力されたデータはＥＷＳ６ａのファイル送受信手段２３から送信され、ネットワーク５を介してファイルサーバ１のファイル送受信手段２４に入力される。ファイルサーバ１はファイル装置２に該当する名前のソースファイルが有るか無いかをチェックする（ステップＳ２５）。
【００２６】
該当するソースファイル名が存在しない場合はネットワーク５を介してＥＷＳ６ａにエラーメッセージを送る（ステップＳ２６、Ｓ２７）。該当するソースファイルが存在する場合は、バージョンのチェックを行なう（ステップＳ２８、Ｓ２９）。
【００２７】
バージョンの指定がない場合、ファイル装置２から最新バージョンのソースファイルを取り出す（ステップＳ３０）。バージョンの指定がある場合は、ファイル装置２から最新バージョンのソースファイル３と、指定バージョンでの差分情報を変更履歴ファイル４から取り出し、指定バージョンのソースファイルを生成する（ステップＳ３１）。
【００２８】
ソースファイルのファイルサーバ１上での領域、バージョン情報を記録した情報ファイルを生成する（ステップＳ３２）。ソースファイルとステップＳ３２で生成した情報ファイルとをネットワーク５を介してＥＷＳ６ａに送信し、ＥＷＳ６ａ上にソースファイル３５とサーバ情報ファイル３６をファイル装置７ａに保存する（ステップＳ３３，Ｓ３４）。また、ソースファイルを取り出したユーザ名とそのファイル名を変更履歴ファイル４に登録する（ステップＳ３７）。
【００２９】
［ファイルの更新処理］
ＥＷＳ６ａで更新するソースファイル名が入力されると（ステップＳ１００、Ｓ１０１）、更新するソースファイル１１３の中にソースファイルをファイルサーバ１から取り出したときに生成された、ファイルサーバ１上での情報ファイル１０４があるかどうかをチェックする（ステップＳ１０２）。
【００３０】
情報ファイル１０４がないときは更新しない。情報ファイル１０４があるときは、更新要求がＥＷＳ６ａのファイル送受信手段１０５からネットワーク５を介してファイルサーバ１のファイル送受信手段１０６に入力される（ステップＳ１０３）。
【００３１】
ファイルサーバ１はファイル装置２に該当する名前のソースファイルがあるか否かをチェックする（ステップＳ１０７）。
【００３２】
該当するソースファイルが存在しない場合はネットワーク５を介してＥＷＳ６ａにエラーメッセージを送る（ステップＳ１０８、Ｓ１０９）。該当するソースファイルが存在する場合はバージョンの比較を行ない、すでに更新が行なわれていないかどうかをチェックする（ステップＳ１１０、Ｓ１１１）。更新されていた場合、ＥＷＳ６ａにエラーを送信する（ステップＳ１１２）。
【００３３】
一方、更新されていない場合、ＥＷＳ６ａが更新するファイル１１３をネットワーク５を介して送信したソースファイル１１４とファイルサーバ１上の最新バージョンのソースファイルとから差分１１７を抽出する（ステップＳ１１５）。差分１１７がない場合、更新は行なわない（ステップＳ１１６）。
【００３４】
差分１１７がある場合、ソースファイル１１４をファイル装置２の最新バージョンに置き換え、差分１１７を変更履歴ファイル４に記録する（ステップＳ１１８）。変更履歴ファイル４から、このソースファイルを取り出しているユーザ名を検索し、更新が行われたことを通知する（ステップＳ１１９）。
【００３５】
図５はユーザと開発者とを区別する処理を示すフローチャートである。まず、ＥＷＳ６ａからの取出しまたは更新要求をネットワーク５を介してファイルサーバ１に入力すると（ステップＳ２０１）、ファイルサーバ１は開発者と一般ユーザを区別する環境変数を解析する（ステップＳ２０２）。この環境変数の解析から開発者と一般ユーザを判断し（ステップＳ２０３）、一般ユーザの場合はユーザ名登録ファイル２０８に登録されているか否かを判断する（ステップＳ２０４）。
【００３６】
ユーザ名が登録されていない場合はエラーとする（ステップＳ２０６）。登録ユーザに取り出しのみを許可し（ステップＳ２０５）、開発者に取り出しと更新の両方を許可する（ステップＳ２０７）。
【００３７】
［第２実施例］
つぎに、第２実施例のファイル管理システムおよびその管理方法について説明する。前記第１実施例のファイル管理システムでは、開発者にソースファイルの更新および取出し許可を与え、登録されている一般ユーザにはユーザ名登録ファイルを参照してソースファイルの取り出し許可のみを一様に与えていた。ソースファイルの操作には更新、取り出しの他に新規登録や削除などファイル自体の変更があるが、これらを全ての開発者およびユーザに許可を与えると混乱を引き起こすので、一部の開発者を区別して許可を与える必要がある。この方法について図面を参照して詳細に説明する。尚、前記第１実施例と同一の構成部分については同一の番号を付している。
【００３８】
第２実施例のファイル管理システムの処理機能は、ワークステーション（ＥＷＳ）からの取り出し、更新、新規登録などの要求をネットワークを介してファイルサーバに入力する処理と、登録ファイルを検索する処理と、登録名の有無を判断する処理と、登録ファイルに名前がないときエラーを出力する処理と、ユーザレベルを判断する処理と、ユーザのレベル判断に応じて許可を与える処理とから構成される。
【００３９】
図６は新規登録などの処理ルーチンを示すフローチャートである。まず、ＥＷＳ６ａからの取り出し、更新、新規登録などの要求をネットワーク５を介してファイルサーバ１に入力すると（ステップＳ４０１）、ユーザ情報登録ファイル４０９から要求を出したユーザの情報を検索する（ステップＳ４０２）。このユーザ情報登録ファイル４０９には、ソースファイルの更新、取り出し、新規登録などのソースファイル自体の操作の許可をレベル１、ソースファイルの更新、取り出しの許可をレベル２、ソースファイルの取り出しのみの許可をレベル３とし、各レベルに該当するユーザ名が記録されている。
【００４０】
ステップＳ４０２では、検索した結果から登録ユーザ名の有無を判断する（ステップＳ４０３）。ここで、ユーザ情報登録ファイル４０９に登録されていない場合はエラーメッセージを出して終了する（ステップＳ４０４）。ユーザ情報登録ファイル４０９に登録されている場合は、ユーザ情報登録ファイルに登録されているユーザレベルの判断を行なう（ステップＳ４０５）。
【００４１】
ユーザレベルが１のとき、ソースファイルの更新、取り出し、新規登録などを許可する（ステップＳ４０６）。ユーザレベルが２のとき、ソースファイルの更新、取り出しを許可する（ステップＳ４０７）。ユーザレベルが３のとき、ソースファイルの取り出しを許可する（ステップＳ４０８）。
【００４２】
【発明の効果】
本発明によれば、操作者はソースファイルが更新されたことを容易に知ることができる。また、ソースファイルをサーバより取り出して変更を加えている途中で、ファイルサーバのソースファイルが別のユーザによって更新された場合に、更新されたことがソースファイルを取り出したユーザに通知されると、各ユーザは変更途中のソースファイルのバージョンが最新のものであるかどうかを把握することができる。
また、ソースファイルをバージョンに応じて管理することができる。したがって、各ワークステーションは任意のバージョンのソースファイルをファイルサーバから取り出すことができる。また、分散型開発環境に適用する場合にも、ファイルサーバはソースファイルと変更履歴を管理することになるので、各ワークステーションは必要なソースファイルのみをネットワークを介して更新したり、取り出せばよく、各ワークステーションに附属するファイル装置の領域を節減できる。
【００４３】
また、バージョン情報などが記録された情報ファイルによりワークステーションの操作者はソースファイルのバージョンなどを知ることができる。また、ソースファイルの更新はファイルサーバのみで行なって、すべてのワークステーションのソースファイルを更新する必要をなくすことで、ワークステーション毎にバージョンの異なるソースファイルを取り出し、保持することができる。
【００４４】
さらに、ワークステーションから最新バージョンのソースファイルを更新して、その変更履歴を追加できる。
【００４５】
また、ソースファイルの内容を更新できる開発者とそれ以外の操作者とを区別してセキュリティを保証できる。また、ネットワークでファイルサーバと接続されている各ワークステーションの中で、開発者とユーザを区別できるので、開発者のみが更新を行ない、登録されているユーザのみ取り出しが許可されるというように設定できる。
【図面の簡単な説明】
【図１】情報処理システムの構成を示すブロック図である。
【図２】ファイルサーバ１およびワークステーション６ａのファイルの取出し処理機能を示す説明図である。
【図３】ファイルサーバ１およびワークステーション６ａのファイルの更新処理機能を示す説明図である。
【図４】図３につづく、ファイルサーバ１およびワークステーション６ａのファイルの更新処理機能を示す説明図である。
【図５】ユーザと開発者とを区別する処理を示すフローチャートである。
【図６】新規登録などの処理ルーチンを示すフローチャートである。
【符号の説明】
１  …  ファイルサーバ
２  …  ファイル装置
３  …  ソースファイル
４  …  変更履歴ファイル
５  …  ＬＡＮネットワーク
６ａ〜６ｎ  …  ワークステーション
７ａ〜７ｎ  …  ファイル装置
【図１】
0003761911.tif 000002
【図２】
0003761911.tif 000003
【図３】
0003761911.tif 000004
【図４】
0003761911.tif 000005
【図５】
0003761911.tif 000006
【図６】
0003761911.tif 000007