(57)【特許請求の範囲】
【請求項１】
複数のサーバを備える構成管理装置であって、
前記複数のサーバのうちの一のサーバは、
前記複数のサーバについて、各サーバのサーバ名と、各サーバにあるソースライブラリ名と、当該ソースライブラリを利用可能な利用者名と、当該ソースライブラリ内の各ソースファイル名と、当該ソースファイル毎に当該各ソースファイルを利用可能な利用者名とを一元的に管理する分散管理データベースと、
前記分散管理データベースに、前記複数のサーバについて、各サーバのサーバ名と、各サーバにあるソースライブラリ名と、当該ソースライブラリを利用可能な利用者名と、当該ソースライブラリ内の各ソースファイル名と、当該ソースファイル毎に当該各ソースファイルを利用可能な利用者名とを登録する、分散管理制御部と、
を備え、
前記複数のサーバの各々は、利用者からソースファイルの読み込み又は書き込み要求を受け付けるライブラリ管理制御部であって、前記要求を受け付けると、前記分散管理データベースを参照し、要求されたソースファイルを利用可能な利用者名を取得し、前記利用者に利用権があるかを判断するライブラリ管理制御部
を備える構成管理装置。
【請求項２】
前記ライブラリ管理制御部は、前記利用者に利用権がある場合、ソースファイルの読み込み又は書き込みを行うことを特徴とする請求項１記載の構成管理装置。
【請求項３】
前記一のサーバは、タイムスタンプ、サーバ名、ソースライブラリ名、ソースファイル名及び利用者名を含む履歴情報を管理する構成管理データベースをさらに備え、
前記ライブラリ管理制御部は、前記利用者に利用権がある場合、履歴情報を前記構成管理データベースに登録することを特徴とする請求項１又は２に記載の構成管理装置。
【請求項４】
複数のサーバを備える構成管理装置における構成管理方法であって、
前記複数のサーバのうちの一のサーバが備える分散管理制御部が、複数のサーバについて、各サーバのサーバ名と、各サーバにあるソースライブラリ名と、当該ソースライブラリを利用可能な利用者名と、当該ソースライブラリ内の各ソースファイル名と、当該ソースファイル毎に当該各ソースファイルを利用可能な利用者名とを分散管理データベースに登録するステップと、
前記複数のサーバの各々が備えるライブラリ管理制御部が、利用者からソースファイルの読み込み又は書き込み要求を受け付けるステップと、
前記ライブラリ管理制御部が、前記分散管理データベースを参照し、要求されたソースファイルを利用可能な利用者名を取得し、前記利用者に利用権があるかを判断するステップと、
を備える構成管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、分散してプログラム等の開発を行う際の分散型構成管理に関する。
【背景技術】
【０００２】
プログラム開発において、個々の開発環境毎に構成管理が行われていると、別の開発環境で改修されたプログラムソースを確認することができないため、誤って、同一のプログラム名のソースを別々に改修できてしまい、修正工数のムダおよび改修の内容が把握できないためプログラム品質が確保できないという事象が発生する。
【０００３】
例えば、特許文献１には、ソースライブラリとディレクトリデータをマスターサーバで一元的に管理するシステムが開示されている。特許文献１によれば、ソースライブラリのディレクトリを一定時間毎に各サーバに配信することによって、ソースファイル（プログラムソース）をマスターサーバから他のサーバにチェックアウトし、ソースプログラムを修正し、管理者がマスターサーバにチェックインする。これにより、特許文献１は、同一名のソースファイルを各サーバ上に散在させることができるが、同一のソースファイル名のチェックまではできない。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００５−０７８１５７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、ソフトウェア開発では、構成管理としてソースコードや文書などの成果物の変更履歴を管理するが、管理対象として特定されたライブラリを対象としているため、分散して開発を行う場合などは管理対象が個々に存在する。同一のプログラム名が別の分散開発環境内に存在していても総合的な管理がされていないため人手によるチェックが必要となり一元的な管理が必要となる。
【０００６】
例えば、複数のサーバを利用して大規模なシステムを開発する場合などは個々のサーバにソースライブラリを作成し開発するが、システムとして一元管理されていないため、ソースライブラリ内に同一のソースファイルが存在する場合がある。このように、分散開発によるソフトウェアの開発を行う際、各サーバ毎に成果物が管理されるため、重複したソースプログラムが他のサーバに存在したり、サーバ毎に異なった修正が行われる可能性がある。
【０００７】
本発明は、かかる実情に鑑み、分散開発を行う際、重複したソースプログラムの作成や改版を防ぐ分散型構成管理を提供しようとするものである。
【課題を解決するための手段】
【０００８】
本発明の一実施形態における分散型構成管理装置によれば、複数のサーバについて、各サーバにあるソースライブラリと、当該ソースライブラリを利用可能な利用者名と、当該ソースライブラリ内の各ソースファイル毎に当該各ソースファイルを利用可能な利用者名とを管理する分散管理データベースと、利用者からソースファイルの読み込み又は書き込み要求を受け付けるライブラリ管理制御部であって、前記要求を受け付けると、分散管理データベースを参照し、要求されたソースファイルを利用可能な利用者名を取得し、利用者に利用権があるかを判断するライブラリ管理制御部と、を備える。これにより、分散開発を行う際、全てのサーバを統括する管理制御を組み込むことにより、重複したソースプログラムの作成や改版を防ぐものである。
【０００９】
好適には、ライブラリ管理制御部は、利用者に利用権がある場合、ソースファイルの読み込み又は書き込みを行う。また、タイムスタンプ、サーバ名、ソースライブラリ名、ソースファイル名及び利用者名を含む履歴情報を管理する構成管理データベースをさらに備え、ライブラリ管理制御部は、利用者に利用権がある場合、履歴情報を構成管理データベースに登録することが好ましい。さらに好適には、分散管理データベースに、各サーバのサーバ名、ソースライブラリ名、ソースファイル名、及び、利用ユーザを含む情報を登録する。
【００１０】
また、本発明の一実施形態における構成管理方法によれば、分散管理制御部が、複数のサーバについて、各サーバにあるソースライブラリと、当該ソースライブラリを利用可能な利用者名と、当該ソースライブラリ内の各ソースファイル毎に当該各ソースファイルを利用可能な利用者名とを分散管理データベースに登録するステップと、ライブラリ管理制御部が、利用者からソースファイルの読み込み又は書き込み要求を受け付けるステップと、ライブラリ管理制御部が、分散管理データベースを参照し、要求されたソースファイルを利用可能な利用者名を取得し、利用者に利用権があるかを判断するステップと、を備える。
【発明の効果】
【００１１】
本発明の所定の態様によれば、複数のソースライブラリが存在する分散開発環境においても一元的で統一的な構成管理を行うことができるため、システム開発を行う任意のサーバおよびソースライブラリを一元的に管理し、同一プログラム名の重複利用を排除し、プログラムソースの不正改修を管理できるという優れた効果を奏し得る。
【００１２】
つまり、本発明の所定の態様によれば、同一サーバ内に複数のソースライブラリがあっても一元的に構成管理ができ、複数のサーバを利用した開発に於いても一元的に構成管理ができる。ソースライブラリ毎またはソースライブラリ内のソースファイル毎に利用権チェックができる。システム内には一時的にも同一のソースファイルを作成することはない。
【図面の簡単な説明】
【００１３】
【図１】本発明の一実施形態に係る分散型構成管理装置の概略構成を示すブロック図である。
【図２】本実施形態に係る分散管理データベース１９を作成する処理フローの一例を示す。
【図３】本実施形態に係るエディタ１７からの要求により、ライブラリ管理制御部１６が行う分散型構成管理の処理フローの一例を示す。
【図４】本実施形態に係る分散管理データベース１９に登録される情報の構成を示す図である。
【図５】本実施形態に係る構成管理データベース１１に登録される情報の構成の一例を示す図である。
【発明を実施するための形態】
【００１４】
以下、本発明の実施の形態について図面を参照しつつ詳細に説明する。なお、同一の要素には同一の符号を付し、重複する説明を省略する。
【００１５】
図１は、本発明の一実施形態に係る分散型構成管理装置の概略構成を示すブロック図である。同図に示すように、本実施形態において、分散型構成管理装置１は、分散開発を行うサーバ１−１、１−２、・・・、１−ｎと、端末１５から入手した各サーバ内にあるソースライブラリ名、ソースライブラリ内のソースファィル名および利用権を分散管理データベース１９に登録する分散管理制御部１４と、エディタ１７からソースライブラリ１８内のソースファィルの読み込みおよび書き込みを受け付けるライブラリ管理制御部１６とを備えている。
【００１６】
分散管理制御部１４は各サーバにあるソースライブラリと、そのソースライブラリを参照および更新する利用者名またはソースライブラリ内のソースファイルを参照および更新する利用者名とを、端末１５から入手し、分散管理データベース１９を作成する。
【００１７】
ライブラリ管理制御部１６はソースライブラリ１８内のソースファイルの読み取り要求をエディタ１７から受け付けると、分散管理データベース１９を参照し、要求されたソースライブラリまたはソースファイルをアクセスする利用者名を取得し、利用権があるかをチェックする。利用権がある場合はソースライブラリ１８内からソースファィルを読み取り（チェックアウト）、エディタ１７に払い出す。その際、ライブラリ管理制御部１６は、構成管理データベース１１に管理情報を登録する。管理情報としては、タイムスタンプとサーバ名とソースライブラリ名とソースファイル名と利用者名とを含むことが好ましい。
【００１８】
ライブラリ管理制御部１６はソースライブラリ１８内へソースファイルの書き込み要求をエディタ１７から受け付けると、分散管理データベース１９を参照し要求されたソースライブラリまたはソースファイルのアクセス権限をチェックする。権限がある場合は、構成管理データベース１１に要求を受け付けたソースファィルがチェックアウトされていたか、またはサーバ内および他のサーバ内に同一のソースファイル名が存在していないかをチェックし、名前の重複がない場合は、ソースファィルの置き換え（チェックイン）を行う。その際、ライブラリ管理制御部１６は構成管理データベース１１に管理情報を登録する。なお、要求が満たされていない場合は、要求を拒否する。
【００１９】
次に、図２及び図３を参照して本実施形態の動作について詳細に説明する。
【００２０】
図２は、本実施形態に係る分散管理データベース１９を作成する処理フローの一例を示す。まず、分散管理制御部１４は、各サーバの情報を取得する（Ｓ２１）。取得する情報としては、サーバ名、ソースライブラリ名、ソースファイル名及び利用ユーザを含む。分散管理制御部１４は、ステップＳ２１で取得した情報に基づいて、サーバ毎の情報を分散管理データベース１９に登録する（Ｓ２２）。
【００２１】
図３は、本実施形態に係るエディタ１７からの要求により、ライブラリ管理制御部１６が行う分散型構成管理の処理フローの一例を示す。まず、ライブラリ管理制御部１６は、エディタ１７からの要求の依頼内容を確認する（Ｓ３１）。依頼内容が、ソースファイルのチェックアウト要求である場合、ライブラリ管理制御部１６は、分散管理データベース１９を参照し、利用者に、要求されたソースライブラリまたはソースファイルの利用権があるかを判断する（Ｓ３２）。利用権がある場合、構成管理データベース１１に履歴を登録する（Ｓ３３）。登録する履歴情報としては、タイムスタンプ、サーバ名、ソースライブラリ名、ソースファイル名及び利用者名を含む。そして、ソースライブラリ１８内からソースファイルを読み取り（チェックアウト）、エディタ１７に払い出す（Ｓ３４）。一方、ステップＳ３２において利用権がない場合、エディタ１７からのチェックアウト要求を拒否する（Ｓ３５）。
【００２２】
ステップＳ３１において、エディタ１７からの依頼内容が、ソースファイルのチェックイン要求である場合、ライブラリ管理制御部１６は、分散管理データベース１９を参照し、利用者に、要求されたソースライブラリまたはソースファイルの利用権があるかを判断する（Ｓ３６）。利用権がある場合、要求を受けたソースファイルがチェックアウトされていたかを判断する（Ｓ３７）。チェックアウトされていた場合、サーバ内および他のサーバ内に同一のソースファイル名が重複して存在していないかを判断する（Ｓ３８）。重複がない場合、構成管理データベース１１に履歴を登録する（Ｓ３９）。登録する履歴情報としては、タイムスタンプ、サーバ名、ライブラリ名、ソースファイル名及び利用者名を含む。そして、ソースライブラリ１８に対してソースファィルの上書き（チェックイン）を行う（Ｓ４０）。
【００２３】
また、ステップＳ３７において、チェックアウトされていなかった場合、ライブラリ管理制御部１６は、ソースファイルが存在するかを確認する（Ｓ４３、Ｓ４４）。ソースファイルが存在しない場合には、構成管理データベース１１に履歴を登録する（Ｓ４５）。登録する履歴情報としては、タイムスタンプ、サーバ名、ライブラリ名、ソースファイル名及び利用者名を含む。そして、ソースライブラリ１８に、ソースファイルの新規登録を行う（Ｓ４６）。
【００２４】
一方、ステップＳ３６において利用権がない場合、ステップＳ３８においてソースファイル名が重複していた場合、または、ステップＳ４４においてソースファイルが存在する場合、エディタ１７からのチェックイン要求を拒否する（それぞれＳ４１、Ｓ４２、Ｓ４７）。
【００２５】
図４は、本実施形態に係る分散管理データベース１９に登録される情報の構成を示す図である。分散管理データベース１９には、各サーバ１−ｎ内にあるソースライブラリ名、ソースライブラリ内のソースファィル名および利用権が登録されている。本実施形態においては、同図に示すように、各サーバ毎に、サーバ情報１−ｎが登録されている。各サーバ情報は、サーバ名と、アドレスと、サーバ内あるソースライブラリの情報を含む。ソースライブラリの情報は、ソースライブラリ名と利用者、及び、各ソースファイル名とその利用者名とが登録されている。
【００２６】
図５は、本実施形態に係る構成管理データベース１１に登録される情報の構成の一例を示す図である。本実施形態においては、同図に示すように、構成管理データベース１１は、タイムスタンプと、サーバ名と、ソースライブラリ名と、ソースファイル名と、アクションを、利用者名とが対応付けて記録されている。
【００２７】
なお、本発明は、上記した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内において、他の様々な形で実施することができる。このため、上記実施形態はあらゆる点で単なる例示にすぎず、限定的に解釈されるものではない。例えば、上述の各処理ステップは処理内容に矛盾を生じない範囲で任意に順番を変更して又は並列に実行することができる。
【００２８】
上記の実施形態の一部又は全部は、以下の付記のようにも記載され得るが、以下には限
られない。
【００２９】
（付記１）複数のサーバについて、各サーバにあるソースライブラリと、当該ソースライブラリを利用可能な利用者名と、当該ソースライブラリ内の各ソースファイル毎に当該各ソースファイルを利用可能な利用者名とを管理する分散管理データベースと、利用者からソースファイルの読み込み又は書き込み要求を受け付けるライブラリ管理制御部であって、前記要求を受け付けると、前記分散管理データベースを参照し、要求されたソースファイルを利用可能な利用者名を取得し、前記利用者に利用権があるかを判断するライブラリ管理制御部と、を備える構成管理装置。
【００３０】
（付記２）前記ライブラリ管理制御部は、前記利用者に利用権がある場合、ソースファイルの読み込み又は書き込みを行うことを特徴とする付記１に記載の構成管理装置。
【００３１】
（付記３）タイムスタンプ、サーバ名、ソースライブラリ名、ソースファイル名及び利用者名を含む履歴情報を管理する構成管理データベースをさらに備え、前記ライブラリ管理制御部は、前記利用者に利用権がある場合、履歴情報を前記構成管理データベースに登録することを特徴とする付記１又は２に記載の構成管理装置。
【００３２】
（付記４）前記分散管理データベースに、各サーバのサーバ名、ソースライブラリ名、ソースファイル名、及び、利用ユーザを含む情報を登録する付記１ないし３のいずれかに記載の構成管理装置。
【００３３】
（付記５）分散管理制御部が、複数のサーバについて、各サーバにあるソースライブラリと、当該ソースライブラリを利用可能な利用者名と、当該ソースライブラリ内の各ソースファイル毎に当該各ソースファイルを利用可能な利用者名とを分散管理データベースに登録するステップと、ライブラリ管理制御部が、利用者からソースファイルの読み込み又は書き込み要求を受け付けるステップと、前記ライブラリ管理制御部が、前記分散管理データベースを参照し、要求されたソースファイルを利用可能な利用者名を取得し、前記利用者に利用権があるかを判断するステップと、を備える構成管理方法。
【符号の説明】
【００３４】
１  分散型構成管理装置、１−１〜１−ｎ  サーバ、１１  構成管理データベース、１４  分散管理制御部、１５  端末、１６  ライブラリ管理制御部、１７  エディタ、１８  ソースライブラリ、１９  分散管理データベース
【図１】
0005863023.tif 000002
【図２】
0005863023.tif 000003
【図３】
0005863023.tif 000004
【図４】
0005863023.tif 000005
【図５】
0005863023.tif 000006