(57)【特許請求の範囲】
【請求項１】
複数の地理的に離れた作業グループによって開発が行なわれるソフトウェアの開発段階で生成される資産を管理する広域分散資産版管理システムにおいて、
前記広域分散資産版管理システムは、複数のサーバと複数のクライアントがネットワークにより接続され、前記クライアントはアクション解析生成手段と、クライアント通信手段から構成され、前記アクション解析生成手段は、前記クライアントから入力された版管理アクションを解釈し、エージェント情報と版管理情報を作成し、前記クライアント通信手段は、前記クライアントの前記ネットワーク上の窓口となり前記アクション解析生成手段により作成された前記エージェント情報および前記版管理情報を前記サーバに送信し、
前記サーバは、サーバ通信手段と、サーバ認識手段と、物理位置認識手段と、エージェント情報保持検索手段と、版管理情報保持検索手段と、版管理処理手段から構成され、前記サーバ通信手段は、前記サーバの前記ネットワーク上の窓口となり、前記クライアントまたは、ほかの前記サーバとの通信を行なうとともに、エージェントＩＤの発行を行ない、前記サーバ認識手段は、前記エージェント情報および前記版管理情報に含まれる仮想ツリー上の前記資産の位置をあらわすオブジェクトから前記資産のファイルの存在する前記サーバを特定し、前記物理位置認識手段は、自前記サーバにある前記資産に対して前記仮想ツリー上の前記資産の位置をあらわす前記オブジェクトから前記ファイルの物理位置を判別し、前記サーバ認識手段とともに前記仮想ツリーを構成し、前記エージェント情報保持検索手段は、前記エージェントＩＤと版管理対象となる前記資産の存在する前記サーバをあらわすサーバオブジェクトおよび前記エージェント情報を格納し、自前記サーバ内の他の版管理処理が行なわれる際には、前記エージェント情報が検索され、条件に合致した場合は版管理対象となる前記資産のある前記サーバに前記エージェントＩＤを送る準備を行ない、前記版管理情報保持検索手段は、前記エージェントＩＤおよび前記版管理情報を格納し、前記エージェントＩＤをキーとした検索を行い、前記版管理処理手段は実際の版管理処理を行なうことを特徴とする広域分散資産版管理システム。
【請求項２】
前記サーバがほかの前記サーバに格納された前記資産をあらかじめ転送して蓄えておく同期処理手段を備え、前記同期処理手段において同期対象の前記資産であるかどうかを判定し、前記サーバ認識手段において、同期対象の前記資産である場合は同期資産を蓄えた前記サーバを、そうでない場合は実際の前記資産が存在する前記サーバを検索することを特徴とする請求項１記載の広域分散資産版管理システム。
【請求項３】
複数のサーバと複数のクライアントがネットワークにより接続され、複数の地理的に離れた作業グループによって開発が行なわれるソフトウェアの開発段階で生成される資産を管理する広域分散資産版管理方法において、
前記クライアントから第一のサーバにエージェント情報および版管理情報を転送する第一のステップと、転送された前記エージェント情報および前記版管理情報に同一のエージェントＩＤを割り当てる第二のステップと、前記版管理情報に含まれる前記資産の対象となる第三のサーバを検索する第三のステップと、前記第一のサーバと前記第三のサーバが同じサーバの場合第五のステップへ行き、前記第一のサーバと前記第三のサーバが異なるサーバの場合、前記エージェントＩＤおよび前記版管理情報を前記第三のサーバに転送する第四のステップと、前記エージェント情報に含まれる前記資産の対象となる第二のサーバを検索する第五のステップと、前記第一のサーバと前記第二のサーバが同一の場合に第七のステップへ行き、前記第一のサーバと前記第二のサーバが異なる場合、前記エージェントＩＤと前記第三のサーバをあらわすオブジェクトおよび前記エージェント情報を前記第二のサーバに転送する第六のステップと、前記第二のサーバに転送された前記第三のサーバをあらわすオブジェクトと前記エージェント情報により、前記資産の物理位置を検索する第七のステップと、前記第二のサーバにより版管理処理を行なわれるタイミングを待つ第八のステップと、前記第二のサーバにおける版管理処理要求は、アクション名や対象の前記資産をキーとして、前記エージェント情報に合致するかどうか検索を行なう第九のステップと、合致しなければ次の版管理処理要求が来るまで待つ第十のステップと、合致した場合は前記第二のサーバと前記第三のサーバが同一か判断する第十一のステップと、前記第十一のステップでの判断が同一ならば第十三のステップへ行き、同一でないならば前記エージェントＩＤを前記第三のサーバに転送し、前記資産の物理位置を検索する第十二のステップと、前記エージェントＩＤの到着を待つ第十三のステップと、前記エージェントＩＤが到着すると、前記エージェントＩＤによって前記版管理情報が検索され合致しなければ次のエージェントＩＤの到着を待ち、合致した場合は前記版管理情報に指定された前記アクションの版管理処理が行なわれる第十四のステップから構成されることを特徴とする広域分散資産版管理方法。
【請求項４】
複数のサーバと複数のクライアントがネットワークにより接続され、複数の地理的に離れた作業グループによって開発が行なわれるソフトウェアの開発段階で生成される資産を管理する広域分散資産版管理方法において、
前記サーバはほかの前記サーバの資産を予め転送して蓄えておく同期処理手段を有し、
前記クライアントから第一のサーバにエージェント情報および版管理情報を転送する第一のステップと、転送された前記エージェント情報および前記版管理情報に同一のエージェントＩＤを割り当てる第二のステップと、前記同期処理手段により同期対象の前記資産であるか判断する第三のステップと、前記資産が同期対象ならば取得先として同期スプールを設定し第七のステップへ行く第四のステップと、前記資産が同期対象でないならば、前記版管理情報に含まれる前記資産の対象となる第三のサーバを検索する第五のステップと、前記第一のサーバと前記第三のサーバが同じサーバの場合第七のステップへ行き、前記第一のサーバと前記第三のサーバが異なるサーバの場合、前記エージェントＩＤおよび前記版管理情報を前記第三のサーバに転送する第六のステップと、前記エージェント情報に含まれるアクションが取得に関するもので、対象となる前記資産が同期設定されているか判断する第七のステップと、前記エージェント情報に含まれるアクションが取得に関するもので、対象となる前記資産が同期設定されているならば取得先として同期スプールを設定し第十一のステップへ行く第八のステップと、前記資産が同期対象でないならば、前記エージェント情報に含まれる前記資産の対象となる第二のサーバを検索する第九のステップと、前記第一のサーバと前記第二のサーバが同一の場合に第十一のステップへ行き、前記第一のサーバと前記第二のサーバが異なる場合、前記エージェントＩＤと前記第三のサーバまたは前記同期スプールをあらわすオブジェクトおよび前記エージェント情報を前記第二のサーバに転送する第十のステップと、前記第二のサーバに転送された前記第三のサーバまたは同期スプールをあらわすオブジェクトと前記エージェント情報により、前記資産の物理位置を検索する第十一のステップと、前記第二のサーバにより版管理処理を行なわれるタイミングを待つ第十二のステップと、前記第二のサーバにおける版管理処理要求は、アクション名や対象の前記資産をキーとして、前記エージェント情報に合致するかどうか検索を行なう第十三のステップと、合致しなければ次の版管理処理要求が来るまで待つ第十四のステップと、合致した場合は前記第二のサーバと前記第三のサーバが同一か判断する第十五のステップと、前記第十三のステップでの判断が同一ならば第十七のステップへ行き、同一でないならば前記エージェントＩＤを前記第三のサーバに転送し、前記資産の物理位置を検索する第十六のステップと、前記エージェントＩＤの到着を待つ第十七のステップと、前記エージェントＩＤが到着すると、前記エージェントＩＤによって前記版管理情報が検索され合致しなければ次のエージェントＩＤの到着を待ち、合致した場合は前記版管理情報に指定された前記アクションの版管理処理が行なわれる第十八のステップから構成されることを特徴とする広域分散資産版管理方法。
【請求項５】
請求項３記載の第一乃至第十四のステップをコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項６】
請求項４記載の第一乃至第十八のステップをコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はソフトウエア資産の管理に関し、特に分散開発環境におけるソフトウエア資産の更新管理に関する。
【０００２】
【従来の技術】
近年、システムの大規模化、ネットワークの高速化、ソフトウェアのコンポーネント化などにより、ソフトウェアの開発は地理的に離れたグループによる共同開発の形態をとることが多くなってきた。そのコンポーネント化された形態の開発においてはコンポーネントの開発とコンポーネントを組み合わせたアプリケーションの開発の２つのフェーズに分けることができる。前者のコンポーネントの開発のフェーズでは各々のコンポーネントはあらかじめ定義した外部とのインタフェースを実装するために、地理的に分散した各々の開発拠点において独立した環境で開発されることが多く、他の開発者が開発した資産を使用する場合であっても、多くはファイルを参照するのみでありファイルを修正することは少ない。
このような開発形態では、開発者が分散された資産の地理的な位置を意識することなく、必要な資産に高速にアクセスできることが重要になってくる。従来の広域分散版管理システムは、広域に分散している資産を地理的に１ヶ所に集めてそれをインターネット上で管理したり、開発拠点ごとに唯一の資産の置き場所（リポジトリと呼ぶ。）を設けてそこに全資産のレプリカを置いて管理をしていた。
【０００３】
特開平１１ー１３４２３８号公報「ソフトウエア分散開発環境におけるソフトウエア更新管理方式」には、複数のソフトウエア開発サイトとソフトウエアマネージャと、ネットワークから成るソフトウエアの更新管理方式において、ソフトウエアマネージャはすべての開発サイトのソフトウエアおよび依存関係を保存するデータベースを備え、各開発サイトからのソウトウエアの利用、変更、登録を可能にする方式が開示されている。
【０００４】
特開２０００ー２０４８３号公報「ネットワーク利用システム及びネットワーク利用プログラムを記録したコンピュータ読みとり可能な記録媒体」では、ネットワーク上に分散配置された多数のサーバに対して自己転送することにより順次アクセスし、情報を取得するソフトウエアエージェントがネットワーク上で情報取得処理を実行して情報をクライアントコンピュータに持ち帰る技術が開示されている。
【０００５】
【発明が解決しようとする課題】
しかし、この従来技術には、次のような問題点があった。第１の問題点は、複数の開発者が資産の存在する同じサーバにアクセスすることによりネットワークに局所的に負荷がかかることである。その理由は、特定のサーバのみに共有資産が存在し、そのサーバに対して集中してアクセスが行なわれるからである。第２の問題点は、資産を地理的に１ヶ所に集めて管理する場合、開発中で頻繁にアクセスをする資産に対してもネットワークを介して地理的に遠いサーバまで通信する可能性があり、アクションに対するレスポンスが悪くなることである。その理由は、資産をマシンごとに分散させたままでなく、集中的に管理しているからである。第３の問題点は、膨大な量の開発資産に対して、あるファイルがチェックインされたらそのファイルを取得したいなどという資産の間の依存関係が複雑になり、開発者が分かりづらくなっていることである。その理由は、サーバ側で自動に版管理処理を行なうエージェント機能がないためである。第４の問題点は、開発拠点ごとにリポジトリを置いた場合、開発者が地理的な位置を意識しなければならない点である。その理由は、１つの資産を複数の開発拠点で共有して修正する場合、拠点ごとのブランチを設けて、しかるべきときに管理者がマージするといった手法をとっているからである。
【０００６】
特開平１１ー１３４２３８号公報「ソフトウエア分散開発環境におけるソフトウエア更新管理方式」ソフトウエアマネージャがひとつのため、複数の開発者が資産の存在する同じサーバにアクセスすることによりネットワークに局所的に負荷がかかるという問題がある。
【０００７】
特開２０００ー２０４８３号公報「ネットワーク利用システム及びネットワーク利用プログラムを記録したコンピュータ読みとり可能な記録媒体」は、エージェントが情報を収集するのみでありソフト上の版数を管理することは出来ない。
【０００８】
本発明は、以上の問題点を解決する、ソフトウェアの開発段階で生成される仕様書・ソース・テストデ−タなどの資産の履歴を管理するための版管理方式において、複数の地理的に離れた作業グループによって開発が行なわれる場合に資産を広域に散在させたまま、サーバに存在するエージェント機能を用いることにより、ある開発者によってある資産がチェックインしたら、その資産を取得するといった複雑な依存関係をもった資産の版管理処理を自動化して行ない、また、資産の階層構造を示すツリーを一意に構成して、開発者はそのツリー上に資産として実際には広域に分散されている資産の版管理処理を行なうことにより、資産の実在位置を意識せずに版管理できる、広域分散版管理システム、広域分散版管理方法および広域分散版管理用プログラムを記録した記録媒体を提供する。
【０００９】
【課題を解決するための手段】
本発明第一の広域分散資産版管理システムは、複数の地理的に離れた作業グループによって開発が行なわれるソフトウェアの開発段階で生成される資産を管理する広域分散資産版管理システムにおいて、前記広域分散資産版管理システムは、複数のサーバと複数のクライアントがネットワークにより接続され、前記クライアントはアクション解析生成手段と、クライアント通信手段から構成され、前記アクション解析生成手段は、前記クライアントから入力された版管理アクションを解釈し、エージェント情報と版管理情報を作成し、前記クライアント通信手段は、前記クライアントの前記ネットワーク上の窓口となり前記アクション解析生成手段により作成された前記エージェント情報および前記版管理情報を前記サーバに送信し、前記サーバは、サーバ通信手段と、サーバ認識手段と、物理位置認識手段と、エージェント情報保持検索手段と、版管理情報保持検索手段と、版管理処理手段から構成され、前記サーバ通信手段は、前記サーバの前記ネットワーク上の窓口となり、前記クライアントまたは、ほかの前記サーバとの通信を行なうとともに、エージェントＩＤの発行を行ない、前記サーバ認識手段は、前記エージェント情報および前記版管理情報に含まれる仮想ツリー上の前記資産の位置をあらわすオブジェクトから前記資産のファイルの存在する前記サーバを特定し、前記物理位置認識手段は、自前記サーバにある前記資産に対して前記仮想ツリー上の前記資産の位置をあらわす前記オブジェクトから前記ファイルの物理位置を判別し、前記サーバ認識手段とともに前記仮想ツリーを構成し、前記エージェント情報保持検索手段は、前記エージェントＩＤと版管理対象となる前記資産の存在する前記サーバをあらわすサーバオブジェクトおよび前記エージェント情報を格納し、自前記サーバ内の他の版管理処理が行なわれる際には、前記エージェント情報が検索され、条件に合致した場合は版管理対象となる前記資産のある前記サーバに前記エージェントＩＤを送る準備を行ない、前記版管理情報保持検索手段は、前記エージェントＩＤおよび前記版管理情報を格納し、前記エージェントＩＤをキーとした検索を行い、前記版管理処理手段は実際の版管理処理を行なう。
【００１１】
本発明第２の広域分散資産版管理システムは、本発明第１の広域分散資産版管理システムであって、前記サーバがほかの前記サーバに格納された前記資産をあらかじめ転送して蓄えておく同期処理手段を備え、前記同期処理手段において同期対象の前記資産であるかどうかを判定し、前記サーバ認識手段において、同期対象の前記資産である場合は同期資産を蓄えた前記サーバを、そうでない場合は実際の前記資産が存在する前記サーバを検索する。
【００１２】
本発明第一の広域分散資産版管理方法は、複数のサーバと複数のクライアントがネットワークにより接続され、複数の地理的に離れた作業グループによって開発が行なわれるソフトウェアの開発段階で生成される資産を管理する広域分散資産版管理方法において、前記クライアントから第一のサーバにエージェント情報および版管理情報を転送する第一のステップと、転送された前記エージェント情報および前記版管理情報に同一のエージェントＩＤを割り当てる第二のステップと、前記版管理情報に含まれる前記資産の対象となる第三のサーバを検索する第三のステップと、前記第一のサーバと前記第三のサーバが同じサーバの場合第五のステップへ行き、前記第一のサーバと前記第三のサーバが異なるサーバの場合、前記エージェントＩＤおよび前記版管理情報を前記第三のサーバに転送する第四のステップと、前記エージェント情報に含まれる前記資産の対象となる第二のサーバを検索する第五のステップと、前記第一のサーバと前記第二のサーバが同一の場合に第七のステップへ行き、前記第一のサーバと前記第二のサーバが異なる場合、前記エージェントＩＤと前記第三のサーバをあらわすオブジェクトおよび前記エージェント情報を前記第二のサーバに転送する第六のステップと、前記第二のサーバに転送された前記第三のサーバをあらわすオブジェクトと前記エージェント情報により、前記資産の物理位置を検索する第七のステップと、前記第二のサーバにより版管理処理を行なわれるタイミングを待つ第八のステップと、前記第二のサーバにおける版管理処理要求は、アクション名や対象の前記資産をキーとして、前記エージェント情報に合致するかどうか検索を行なう第九のステップと、合致しなければ次の版管理処理要求が来るまで待つ第十のステップと、合致した場合は前記第二のサーバと前記第三のサーバが同一か判断する第十一のステップと、前記第十一のステップでの判断が同一ならば第十三のステップへ行き、同一でないならば前記エージェントＩＤを前記第三のサーバに転送し、前記資産の物理位置を検索する第十二のステップと、前記エージェントＩＤの到着を待つ第十三のステップと、前記エージェントＩＤが到着すると、前記エージェントＩＤによって前記版管理情報が検索され合致しなければ次のエージェントＩＤの到着を待ち、合致した場合は前記版管理情報に指定された前記アクションの版管理処理が行なわれる第十四のステップから構成される
本発明第二の広域分散資産版管理方法は、複数のサーバと複数のクライアントがネットワークにより接続され、複数の地理的に離れた作業グループによって開発が行なわれるソフトウェアの開発段階で生成される資産を管理する広域分散資産版管理方法において、前記サーバはほかの前記サーバの資産を予め転送して蓄えておく同期処理手段を有し、前記クライアントから第一のサーバにエージェント情報および版管理情報を転送する第一のステップと、転送された前記エージェント情報および前記版管理情報に同一のエージェントＩＤを割り当てる第二のステップと、前記同期処理手段により同期対象の前記資産であるか判断する第三のステップと、前記資産が同期対象ならば取得先として同期スプールを設定し第七のステップへ行く第四のステップと、前記資産が同期対象でないならば、前記版管理情報に含まれる前記資産の対象となる第三のサーバを検索する第五のステップと、前記第一のサーバと前記第三のサーバが同じサーバの場合第七のステップへ行き、前記第一のサーバと前記第三のサーバが異なるサーバの場合、前記エージェントＩＤおよび前記版管理情報を前記第三のサーバに転送する第六のステップと、前記エージェント情報に含まれるアクションが取得に関するもので、対象となる前記資産が同期設定されているか判断する第七のステップと、前記エージェント情報に含まれるアクションが取得に関するもので、対象となる前記資産が同期設定されているならば取得先として同期スプールを設定し第十一のステップへ行く第八のステップと、前記資産が同期対象でないならば、前記エージェント情報に含まれる前記資産の対象となる第二のサーバを検索する第九のステップと、前記第一のサーバと前記第二のサーバが同一の場合に第十一のステップへ行き、前記第一のサーバと前記第二のサーバが異なる場合、前記エージェントＩＤと前記第三のサーバまたは前記同期スプールをあらわすオブジェクトおよび前記エージェント情報を前記第二のサーバに転送する第十のステップと、前記第二のサーバに転送された前記第三のサーバまたは同期スプールをあらわすオブジェクトと前記エージェント情報により、前記資産の物理位置を検索する第十一のステップと、前記第二のサーバにより版管理処理を行なわれるタイミングを待つ第十二のステップと、前記第二のサーバにおける版管理処理要求は、アクション名や対象の前記資産をキーとして、前記エージェント情報に合致するかどうか検索を行なう第十三のステップと、合致しなければ次の版管理処理要求が来るまで待つ第十四のステップと、合致した場合は前記第二のサーバと前記第三のサーバが同一か判断する第十五のステップと、前記第十三のステップでの判断が同一ならば第十七のステップへ行き、同一でないならば前記エージェントＩＤを前記第三のサーバに転送し、前記資産の物理位置を検索する第十六のステップと、前記エージェントＩＤの到着を待つ第十七のステップと、前記エージェントＩＤが到着すると、前記エージェントＩＤによって前記版管理情報が検索され合致しなければ次のエージェントＩＤの到着を待ち、合致した場合は前記版管理情報に指定された前記アクションの版管理処理が行なわれる第十八のステップから構成される。
【００１３】
本発明の第一のコンピュータ読み取り可能な記録媒体は、本発明第一の広域分散資産版管理方法の第一乃至第十四のステップをコンピュータに実行させるプログラムを記録した。
【００１４】
本発明の第二のコンピュータ読み取り可能な記録媒体は、本発明第二の広域分散資産版管理方法の第一乃至第十八のステップをコンピュータに実行させるプログラムを記録した。
【００１５】
【発明の実施の形態】
次に、本発明の実施の形態について図面を参照して詳細に説明する。
【００１６】
図１は、本発明の広域分散資産版管理システムにおける、サーバ装置２と資産の階層構造を示す仮想ツリー１００をあらわした図である。ひとつまたは複数のクライアント装置１と、ひとつまたは複数のサーバ装置２を接続するネットワーク３から構成され、複数の地理的に離れた開発拠点のサーバ装置２上にある物理的なあるディレクトリ２１１を、仮想ツリー１００上のノード１０１に割り当てることにより、地理的な位置を意識しないツリーを一意に構成することができる。開発者は、この一意にあらわされた仮想ツリー１００上の資産の位置を指定することによって、地理的に離れた開発拠点のサーバ装置２にあるファイル２１２にアクセスすることが可能になる。このようにして、開発者が広域に分散した開発において、資産を広域に散在させたまま資産の実在位置や複雑な資産間の依存関係を気にすることなく、版管理処理することを可能にする。
【００１７】
図２は、本発明第一の実施の形態の広域分散資産版管理システムの構成を示すブロック図である。図２を参照すると、本発明第一の広域分散版管理システムは、ひとつまたは複数のクライアント装置１と、ひとつまたは複数のサーバ装置２を接続するネットワーク３から構成されている。クライアント装置１は、アクション解析生成手段１１と、クライアント通信手段１２とを含み、開発者４とインタフェースする。サーバ装置２は、サーバ通信手段２１と、サーバ認識手段２２と、物理位置認識手段２３と、エージェント情報保持検索手段２４と、版管理情報保持検索手段２５と、版管理処理手段２６から成る。これらの手段はそれぞれ概略つぎのように動作する。
【００１８】
アクション解析生成手段１１は、開発者４により入力された版管理アクションなどの情報を解釈し、エージェント情報と版管理情報を作成する。クライアント通信手段１２は、クライアント装置１のネットワーク３上の窓口となりアクション解析生成手段１１により作成されたエージェント情報および版管理情報をサーバ装置２に送信する。
【００１９】
サーバ通信手段２１は、サーバ装置２のネットワーク３上の窓口となり、クライアント装置１や他のサーバ装置２との通信を行なうとともに、エージェントＩＤの発行を行なう。サーバ認識手段２２は、エージェント情報および版管理情報に含まれる仮想ツリー１００上の資産の位置をあらわすオブジェクトからそのファイル２１２の存在するサーバ装置２を特定する。物理位置認識手段２３は、自サーバ装置２にある資産に対して仮想ツリー１００上の資産の位置をあらわすオブジェクトからそのファイル２１２の物理位置を判別する。サーバ認識手段２２と組み合わせることにより、図１のような仮想ツリー１００を一意に構成することができる。
【００２０】
エージェント情報保持検索手段２４は、エージェントＩＤ、版管理対象となる資産の存在するサーバをあらわすオブジェクトおよびエージェント情報を格納し、自サーバ内の他の版管理処理が行なわれる際には、エージェント情報が検索され、条件に合致した場合は版管理対象となる資産のあるサーバ装置２にエージェントＩＤを送る準備を行なう。版管理情報保持検索手段２５は、エージェントＩＤおよび版管理情報を格納し、エージェントＩＤをキーとした検索が行なわれる。版管理処理手段２６は、資産の提出・取得・チェックイン・チェックアウトなどの実際の版管理処理を行なう。
【００２１】
次に本発明第一の実施の形態の広域分散資産版管理システムの概要動作について説明する。図３は、本発明第一の実施の形態の広域分散資産版管理システムにおける仮想ツリー１００と資産の位置を示す図である。クライアント装置１内のアクション解析生成手段１１によって作成されたエージェント情報および版管理情報がクライアント通信手段１２によりネットワーク３を通してサーバ装置２（サーバＡ２Ａとする。）のサーバ通信手段２１に転送される。転送された情報は、エージェントＩＤが付加された後、サーバ認識手段２２によりアクションの対象となる資産のファイル２１２が実在するサーバ装置２を取得する。エージェント情報の中に含まれる資産の存在するサーバをサーバＢ２Ｂ、版管理情報の中に含まれる資産の存在するサーバをサーバＣ２Ｃとしたとき、サーバＡ２ＡとサーバＢ２Ｂ、サーバＡ２ＡとサーバＣ２Ｃが異なるサーバのとき、サーバＢ２ＢにエージェントＩＤ、サーバＣ２Ｃをあらわすオブジェクト、エージェント情報を、サーバＣ２ＣにエージェントＩＤ、版管理情報を転送する。以降は、サーバＢ２ＢとサーバＣ２Ｃの間でやり取りを行なう。サーバＢ２Ｂにおいて、転送された情報から物理位置認識手段２３によりエージェント情報の対象となるファイル２１２の物理位置を取得し、エージェント情報保持検索手段２４に格納される。
サーバＢ２Ｂにおける実際の版管理処理においてエージェント情報保持検索手段２４内のエージェント情報が検索され、対象ファイル２１２および対象アクションなどの条件が一致した場合、サーバＢ２ＢとサーバＣ２Ｃが異なるならば、サーバ通信手段２１を通してサーバＣ２ＣにエージェントＩＤが転送される。サーバＣ２Ｃにおいて版管理情報保持検索手段２５においてエージェントＩＤが検索され合致した場合、版管理処理手段２６により実際の版管理処理が行なわれる。
【００２２】
次に、本発明第一の実施の形態の広域分散資産版管理システムの動作について図面を参照して説明する。図４は、本発明第一の実施の形態の広域分散資産版管理システムにおいて、サーバＡ２Ａに転送されたエージェント情報および版管理情報の処理の動作を示すフローチャートである。図５は、本発明第一の実施の形態の広域分散資産版管理システムにおいて、サーバＢ２Ｂに転送されたオブジェクトおよびエージェントの処理の動作を示すフローチャートである。図６は、本発明第一の実施の形態の広域分散資産版管理システムにおいて、サーバＣ２Ｃにおける版管理処理の動作を示すフローチャートである。
【００２３】
図４、図５および図６のフローチャートを参照して本実施例の全体の動作について詳細に説明する。まず、図４において、クライアント装置１のアクション解析生成手段１１により作成されクライアント通信手段１２を通してサーバ装置２（サーバＡ２Ａとする。）に転送されたエージェント情報および版管理情報は、サーバ通信手段２１において同じエージェントＩＤを割り当てた後、サーバ認識手段２２にて版管理情報に含まれる資産の対象となるサーバ（サーバＣ２Ｃとする。）を検索する（ステップＡ１）。サーバＡ２ＡとサーバＣ２Ｃが異なるサーバの場合、エージェントＩＤおよび版管理情報をサーバＣ２Ｃに転送する（ステップＡ２,Ａ３）。次に、エージェント情報に含まれる資産の対象となるサーバ（サーバＢ２Ｂとする。）を検索する（ステップＡ４）。サーバＡ２ＡとサーバＢ２Ｂが異なるサーバの場合、エージェントＩＤ、サーバＣ２Ｃをあらわすオブジェクトおよびエージェント情報をサーバＢ２Ｂに転送する（ステップＡ５,Ａ６）。
【００２４】
次に、図５のサーバＢ２Ｂにおいて、サーバ通信手段２１を通して転送されたエージェント情報などは、物理位置認識手段２３により対象となるファイル２１２の物理位置が検索される（ステップＢ１）と、エージェント情報保持検索手段２４に格納され、サーバＢ２Ｂによる版管理処理が行なわれるタイミングを待つ（ステップＢ２）。サーバＢ２Ｂにおける版管理処理要求はエージェント情報保持検索手段２４に転送され、アクション名や対象資産などをキーとして、格納されているエージェント情報に合致するかどうか検索を行なう（ステップＢ３）。
合致しなければ、次の版管理処理要求が来るまで待つ。合致した場合は、エージェントＩＤをサーバ通信手段２１を通してサーバＣ２Ｃに転送する（ステップＢ４,Ｂ５,Ｂ６）。
【００２５】
図６のサーバＣ２Ｃにおいては、サーバ通信手段２１を通して転送された版管理情報などは、物理位置認識手段２３により資産の物理位置が検索される（ステップＣ１）と、版管理情報保持検索手段２５に格納され、エージェントＩＤの到着を待つ（ステップＣ２）。エージェントＩＤが到着すると、そのエージェントＩＤによって版管理情報が検索され合致しなければ、次のエージェントＩＤの到着を待つ。合致した場合は、版管理処理手段２６により、版管理情報に指定されたアクションの版管理処理が行なわれる（ステップＣ３,Ｃ４,Ｃ５）。
【００２６】
次に、具体例を用いて本実施例の動作を説明する。例えば、クライアント装置１から「ツリー上の資産ａを開発者Ｘがチェックインしたら、ツリー上の資産ｂを自分Ｙがチェックインする。」というアクションが生成され、サーバＡ２Ａという名前のサーバ装置２に転送されたとする。（ただし、ツリー上の資産ａ１０９のファイルｐ２１９は実際にはサーバＡ２Ａとは別のサーバＢ２Ｂに、ツリー上の資産ｂ１０６のファイルｑ２１６はサーバＡ２Ａ、サーバＢ２Ｂとは別のサーバＣ２Ｃにあるとする。）サーバ装置２のサーバ通信手段２１によりこのアクション情報にエージェントＩＤがふられる。（００００１とする。）次にツリー上の資産ａ１０９および資産ｂ１０６のファイルｐ２１９，ファイルｑ２１６が存在するサーバがサーバ認識手段２２により検索され、「エージェント ＩＤ００００１：サーバＢ２Ｂの資産ａを開発者Ｘがチェックインしたら、サーバＣ２Ｃの資産ｂを開発者Ｙがチェックインする。」と書き換えられる（ステップＡ１,Ａ４）。サーバＡ２ＡとサーバＣ２Ｃは異なるので、次にサーバＣ２Ｃに「エージェントＩＤ ００００１：開発者Ｙが資産ｂをチェックインする。」という版管理情報を転送する（ステップＡ２,Ａ３）。そして、サーバＡ２ＡとサーバＢ２Ｂも異なるので、サーバＢ２Ｂに「エージェントＩＤ ００００１：開発者Ｘが資産ａをチェックインしたら、サーバＣ２ＣにエージェントＩＤを送る。」というエージェント情報を転送する（ステップＡ５,Ａ６）。サーバＢ２Ｂではエージェント情報が転送されると、物理位置認識手段２３において資産ａ１０９の物理位置ｐを取得し（ステップＢ１）、「エージェントＩＤ ００００１：開発者Ｘがファイルｐ２１９をチェックインしたら、サーバＣ２ＣにエージェントＩＤを送る。」というメッセージをエージェント情報保持検索手段２４に格納し、サーバＢ２Ｂにおける版管理アクションを待つ（ステップＢ２）。サーバＢ２Ｂにおいて版管理のアクションが起こると、エージェント情報保持検索手段２４内のメッセージが検索される（ステップＢ３）。ここで、「開発者Ｘがファイルｐ２１９をチェックインする。」というアクションが起こると、サーバＣ２Ｃに「エージェントＩＤ ００００１」が転送される（ステップＢ４,Ｂ５,Ｂ６）。
サーバＣ２Ｃでは、版管理情報が転送されると、物理位置認識手段２３において資産ｂ１０６の物理位置ｑを取得し（ステップＣ１）、「エージェントＩＤ ００００１：開発者Ｙがファイルｑ２１６をチェックインする。」というメッセージを版管理情報保持検索手段２５に格納し、エージェントＩＤの到着を待つ（ステップＣ２）。エージェントＩＤが到着すると、版管理情報保持検索手段２５内のメッセージがエージェントＩＤにより検索される（ステップＣ３）。ここで、「エージェントＩＤ ００００１」がいうＩＤが到着すると、版管理処理手段２６において、開発者Ｙによりファイルｑ２１６がチェックインされる処理が行なわれる（ステップＣ４,Ｃ５）。
【００２７】
次に、本発明の第２の実施例について図面を参照して詳細に説明する。図７は、本発明第二の実施の形態の広域分散資産版管理システムの構成を示すブロック図である。
【００２８】
図７を参照すると、本実施例は、サーバ装置Ｓ２Ｓに地理的に離れた場所にある資産のファイルをあらかじめ転送して蓄えておく同期処理手段２７を備える点で異なる。同期処理手段２７は、対象となる資産が同期対象となっている場合、サーバＣ２Ｃとして実際に資産が存在するサーバではなく同期資産を蓄えたサーバ装置Ｓ２Ｓを指定する。
【００２９】
図８は、本発明第二の実施の形態の広域分散資産版管理システムにおける仮想ツリーと資産の位置を示す図である。図８において、同期スプールの存在するサーバＢＳ２ＢＳはサーバＡ２Ａと地理的に同じ場所に存在しＬＡＮ５により接続されている。ＬＡＮ５はネットワーク３に接続され、ネットワーク３には、サーバＣ２Ｃが接続されている。サーバＣ２Ｃは、サーバＢＳ２ＢＳおよびＡ２Ａとは地理的に離れた場所に存在する。
【００３０】
図９は、本発明第二の実施の形態の広域分散資産版管理方法の動作を示すフローチャートである。図９において、クライアント装置１のアクション解析生成手段１１により作成されクライアント通信手段１２を通してサーバ装置２（サーバＡ２Ａとする。）に転送されたエージェント情報および版管理情報は、サーバ通信手段２１において同じエージェントＩＤを割り当てた後、同期処理手段２７において同期対象の資産であるかどうかが判定される。次に、サーバ認識手段２２において、同期対象の資産である場合は同期資産を蓄えたサーバを、そうでない場合は実際の資産が存在するサーバを検索する。（ステップＤ１,Ｄ２,Ｄ６,Ｄ７）
例えば、クライアント装置１から「ツリー上の資産ａを開発者Ｘがチェックインしたら、ツリー上の資産ｂを自分Ｙが取得する。」というアクションが生成されたとする。（ただし、ツリー上の資産ａ１０９は実際にはサーバＢＳ２ＢＳにあり、どちらの資産も同期設定されているものとする。）サーバＡ２Ａのサーバ通信手段２１においてアクションＩＤがふられた後、版管理情報に含まれる資産ｂ１０６に対して同期処理手段２７によりアクションが取得で同期対象に設定されているので、取得先として同期スプール２１８が設定される（ステップＤ１,Ｄ２）。エージェント情報に含まれる資産に対してはアクションが取得ではないので、後は図５、６と同じ動作をする。これにより、取得される資産ｂ１０６はサーバＢＳ２ＢＳ内の同期スプール２１８のファイルｒ２１５が指定され、最新版ではない可能性はあるけれども地理的に遠いサーバまでネットワーク３を介して資産を取得する手間が省けることになる。
【００３１】
上述の各ステップは、コンピュータのプログラムとして実現することが出来る。図１０は、本発明の実施の形態の広域分散資産版管理方法を実行するコンピュータとプログラムが記録された記録媒体を示す図である。
【００３２】
【発明の効果】
第１の効果は、ネットワークの負荷を分散させることにある。この結果、開発者はストレスなく迅速に、また、資産の実在場所を意識することなく共有資産にアクセスすることができる。その理由は、資産を管理するサーバを複数個設けて開発者から見て地理的に近いサーバに頻繁にアクセスする資産を置くことにより資産を管理し、開発者にそれを１つの仮想的なツリー構成に見せているからである。
【００３３】
第２の効果は、開発者がエージェント情報を設定することにより、エージェントが資産の実在位置を自動で判別し、版管理処理を実行してくれることにある。
この結果、開発者はトリガによる版管理処理をサーバに任せることができる。その理由はサーバに存在するエージェント機能により、開発者が設定したエージェント情報に応じて、サーバが自動で版管理処理を行なう機能を備えているからである。
【図面の簡単な説明】
【図１】本発明の広域分散資産版管理システムにおける、サーバと資産の階層構造を示す仮想ツリーをあらわした図である。
【図２】本発明第一の実施の形態の広域分散資産版管理システムの構成を示すブロック図である。
【図３】本発明第一の実施の形態の広域分散資産版管理システムにおける仮想ツリーと資産の位置を示す図である。
【図４】本発明第一の実施の形態の広域分散資産版管理システムにおいて、サーバＡ２Ａに転送されたエージェント情報および版管理情報の処理の動作を示すフローチャートである。
【図５】本発明第一の実施の形態の広域分散資産版管理システムにおいて、サーバＢに転送されたオブジェクトおよびエージェントの処理の動作を示すフローチャートである。
【図６】本発明第一の実施の形態の広域分散資産版管理システムにおいて、サーバＣにおける版管理処理の動作を示すフローチャートである。
【図７】本発明第二の実施の形態の広域分散資産版管理システムの構成を示すブロック図である。
【図８】本発明第二の実施の形態の広域分散資産版管理システムにおける仮想ツリーと資産の位置を示す図である。
【図９】本発明第二の実施の形態の広域分散資産版管理方法の動作を示すフローチャートである。
【図１０】本発明の実施の形態の広域分散資産版管理方法を実行するコンピュータとプログラムが記録された記録媒体を示す図である。
【符号の説明】
１    クライアント装置
２    サーバ装置
２Ａ    サーバＡ
２Ｂ    サーバＢ
２ＢＳ    サーバＢＳ
２Ｃ    サーバＣ
２Ｓ    サーバ装置Ｓ
３    ネットワーク
４    開発者
５    ＬＡＮ
１１    アクション解析生成手段
１２    クライアント通信手段
２１    サーバ通信手段
２２    サーバ認識手段
２３    物理位置認識手段
２４    エージェント情報保持検索手段
２５    版管理情報保持検索手段
２６    版管理処理手段
２７    同期処理手段
１００    仮想ツリー
１０１    ノード
１０６    資産ｂ
１０９    資産ａ
２１１    ディレクトリ
２１２    ファイル
２１５    ファイルｒ
２１６    ファイルｑ
２１８    同期スプール
２１９    ファイルｐ
【図１】
0003698021.tif 000002
【図２】
0003698021.tif 000003
【図３】
0003698021.tif 000004
【図４】
0003698021.tif 000005
【図５】
0003698021.tif 000006
【図６】
0003698021.tif 000007
【図７】
0003698021.tif 000008
【図８】
0003698021.tif 000009
【図９】
0003698021.tif 000010
【図１０】
0003698021.tif 000011