JPH0228831A - バージョン管理方法 - Google Patents

バージョン管理方法

Info

Publication number
JPH0228831A
JPH0228831A JP1103317A JP10331789A JPH0228831A JP H0228831 A JPH0228831 A JP H0228831A JP 1103317 A JP1103317 A JP 1103317A JP 10331789 A JP10331789 A JP 10331789A JP H0228831 A JPH0228831 A JP H0228831A
Authority
JP
Japan
Prior art keywords
version
file
path
line
versions
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP1103317A
Other languages
English (en)
Inventor
Christopher R Sheedy
クリストファー ラッセル シーディー
Stephanie L Kinoshita
ステファニー リー キノシタ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tandem Computers Inc
Original Assignee
Tandem Computers Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tandem Computers Inc filed Critical Tandem Computers Inc
Publication of JPH0228831A publication Critical patent/JPH0228831A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • Y10S707/99954Version management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Stored Programmes (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 産業上の利用分野 本発明は、一般には、ソフトウェア開発ツール、より詳
細には、ファイルの種々のバージョンの管理を維持し、
ファイルの異なるバージョンを併合する方法に関するも
のである。
従来の技術 著名なタイプのソフトウェア開発ツールは、共通テキス
ト・ファイル、たとえばプログラムの多数のバージョン
を取り扱う。一般に、この機能は、プログラムがいろい
ろな人によって頻繁に改訂されたり、前のバージョンを
保存しなければならないようなソフトウェア開発環境に
おいて要求される機能である。また、共通ファイルの別
個のバージョンに導入された変更を併合することが必要
になることもある。
このようなバージョン管理方式を開発する1つの方法が
、Tichyの論文”RCS−^System for
 Version Control”、 5oftu+
are−Practice and Experien
ce; John 1lliliy & 5ons、 
Ne1llYork、1985. pp637−654
に記載されている。この論文は、ファイルのすべてのバ
ージョンを保存し、それらのファイルのバージョンを併
合する一般的な方法を解説している。
最初に、バージョンを保存する方法について述べると、
上に引用した論文に、デルタ方法が解説されている。デ
ルタは、あるバージョンを他のバージョンに変更する一
連の編集命令である。デルタは、一定のバージョンをす
ぐ後のバージョンに変更する正順デルタであってもよい
し、一定のバージョンをすぐ前のバージョンに変更する
道順デルタであってもよい。
経験によれば、最も頻繁に要求されるバージョンは、作
成された最後のバージョンであることが多いので、逆順
デルタ方式がより好ましい。逆順デルタ方式では、最後
のバージョンがそのまま格納され、直ちにアクセスする
ことができる。前のバージョンのテキスト・ファイルは
、作成された最後のバージョンに逆順デルタを継続して
加えることによって作成しなければならない。
13〜 デルタ方式を用いて、最後のバージョンがら幾つかの中
間のバージョンだけ離れたバージョンのテキスト・ファ
イルを作る際の大きな制約は、それぞれの中間のバージ
ョンを作成して、適切なデルタによって変更しなければ
ならないことである。
この相互に影響するプロセスにより、中間のバージョン
にアクセスする速さが制限される。
各バージョンがすぐ前のバージョンがら派生するように
、1つの経路に沿ってファイルが開発されていくことが
あるが、ファイルの開発は、幾つかの独立した、すなわ
ち別個の経路に沿って行われることが多い。たとえば、
最初のプログラマ−は、一定のファイルをチエツクアウ
トし、第1の経路に沿って幾つかのバージョンを続けて
作成するかも知れないし、第2のプログラマ−は、同じ
一定のファイルをチエツクアウトし、第2の経路に沿っ
て幾つかのバージョンを続けて作成するかも知れない。
第1および第2経路に沿って導入された変更は、完全に
別個であるがも知れない。たとえば、二人のプログラマ
−は互いに話し合うことなく、異なる開発目標を有する
かも知れない。
しかし、それらの経路は、同じ一定のファイルから分か
れているので、関連がある。
あるケースでは、別個の経路に沿って作成された2つの
バージョンを併合して、2つの経路に沿って導入された
変更を含むバージョンを作成したいことがある。たとえ
ば、上記の例を引用すると、第1のプログラマ−は、一
定のファイルの第1の面を改良し、第2のプログラマ−
は第2の面を改良することがある。二人のプログラマ−
の仕事が終了したとき、2つの経路から2つのバージョ
ンを併合すれば、2つの面が改良された新しいプログラ
ムを作成することができる。
一定のプログラムの同じ行を、併合される2つのバージ
ョン内で変更すると、併合に問題が生じる。すなわち、
行われた変更が矛盾し、コンパイル(プログラムを機械
語命令に変換すること)できない可能性がある。このた
め、2つのバージョン内で変更された行を処理するため
の規則を含む、併合プログラムが開発されている。
多くの既存方式では、一定のバージョンに含まれる行は
、行番号で識別される。併合の際、併合されるバージョ
ン内の行番号が比較され、特定の行番号で識別された行
が合成されたバージョンに含まれるが、併合されるバー
ジョン内で同じ行が異なる行番号を有するので、合成さ
れたバージョン内で、行が重複することがよくある。
このようなことから、テキスト・ファイルの開発バージ
ョンを保存したり、所望のバージョンを作成したり、別
個の経路に沿って開発されたバージョンを併合すること
ができる効率的な方式のソフトウェア開発ツールが要望
されている。
課題を解決するための手段 本発明は、すべてのバージョンを保存したり、所望のバ
ージョンを作成したり、共通ファイルがら別個の経路に
沿って開発されたバージョンを併合したりできる方式の
バージョン開発ツールを提供するものである。好ましい
実施例では、編集の基本単位は、テキストの完全な一行
である。したがって、テキストの一定の行の中の文字を
変更するには、一定の行を削除して、変更した所望の文
字を有する新しい行で置換する必要がある。一定のファ
イルの任意のバージョンで有効な(に含まれる)すべて
の行は、索引付き行ファイルに入れられ、独自の行識別
子(ULI : Unique Line Ident
ifier)で識別される。いろいろなバージョン内の
各行の状態の経歴は、変形経歴ファイルに記録される。
本発明の第1の特徴として、変形経歴ファイルは、順序
付きレコードの集まりであり、各レコードがULI、バ
ージョン番号、および状態標識を有している。第1の実
施例では、もし状態標識の値が(八)であれば、ULI
で識別された行は、レコードに含まれたバージョン番号
で識別されたバージョンおいて有効になる。もし状態標
識の値が(D)であれば、ULIで識別された行は、レ
コードに含まれたバージョン番号で識別されたバージョ
ンにおいて削除される。もし状態標識の値が(R)であ
れば、ULIで識別された行は、レコードに含まれたバ
ージョン番号で識別されたバージョンにおいて置換され
る。
本発明の第2の特徴として、所望のバージョンのテキス
ト・ファイルは、変形経歴レコードを探索して所望のバ
ージョンにおいて有効な行のULIを識別することによ
って作成される。その識別された行は、行ファイルから
検索されて、作成されたテキスト・ファイルに入れられ
る。ULIが直ちに置換されることを指示するレコード
が、ULIが有効になることを指示するレコードの後に
来るように、レコードを変形経歴ファイル内に順序付け
すれば、探索は容易である。これらのレコードは一対で
処理され、そのバージョン番号が所望のバージョンのバ
ージョン番号と比較される。もしULIが所望のバージ
ョンの前に作成されたバージョンにおいて有効になり、
かつ一定のバージョンの後に来るバージョンにおいて削
除されたり、あるいは置換されれば、そのULIは所望
のバージョンにおいて有効であり、ULIで識別された
行が所望のバージョンのテキスト・ファイルの中に入れ
られる。
好ましい実施例ては、行ファイルと、FROM経路とT
O経路の変形経歴ファイルを用いて、FROM経路内の
FROMバージョンをTO経路内のTOバージョンに併
合して合成されたバージョンが作られる。併合の結果、
行は、新しいTOバージョンに追加されるか、またはT
Oバージョンから削除される。したがって、併合操作の
結果、TO変形経歴ファイルが修正されて、TO経路の
合成された変形経歴ファイルが作成される。この合成さ
れた変形経歴ファイルを用いて、TO経路内に、合成さ
れたバージョンを含む任意の所望のバージョンのテキス
ト・ファイルが作成される。
本発明の第3の特徴として、独自の変更標識は、モジュ
ールの各バージョンを作成する操作と関連している。最
初に行をバージョンに追加するとき、その行のために作
られたULIは、バージョンに関連付けられた変更標識
と順序番号を有する。任意のバージョンについて、変更
標識リストを作ることができる。変更標識リストは、そ
のバージョンを作成するため使用されるすべての変更標
識を含んでいる。
併合操作の実施例では、TOバージョンとFROMバー
ジョンについて変更標識リストが作られ、両リストに含
まれる変更標識の共通リストが作られる。共通リストの
変更標識を有するULIによって識別された行の場合、
合成されたバージョン内の行の状態は、TOバージョン
とFROMバージョン内の行の状態と、所定の規則の集
まりとによって決まる。
本発明のもう1つの実施例は、内部プログラムの制御の
下で動作し、そのプログラムを実行して上に述べた手順
を逐行するコンピュータである。
索引付き行ファイルと変形経歴ファイルが作られ、コン
ピュータの記憶装置に格納され、それらのファイルを用
いて、所望のバージョンのテキストファイルが作成され
る、すなわち、2つのバージョンを併合して合成された
バージョンが作成される。
本発明のその他の利点や特徴は、図面を参照して以下の
詳細な説明を読まれれば明らかになるであろう。
実施例 本発明は、共通テキスト・ファイルの多数のバージョン
に関する情報を組織化する独特な方式を有する。この情
報は、共通テキスト・ファイルの前に作られた任意のバ
ージョンのテキスト・ファイルを直接作成することや、
任意の独立した、すなわち別個の2つの経路に導入され
た変更を効率的に併合して、これらの変更を含む合成さ
れたバージョンを作成することを考慮したやり方で組織
化される。
一般概念と技法 最初に、第1図と第2図を参照して、ここで使用する用
語を定義する。第1図において、モジュールは、システ
ムにチエツクインされる原始ファイル10の名前である
。この例では、モジュール名は八PPLYである。モジ
ュールのバージョンは、単一テキスト・ファイルの項で
概念化することができる。たとえば、もしテキスト・フ
ァイルXがシステム内にあれば、テキスト・ファイルX
を複製してテキスト・ファイルYを作成し、その後修正
することができる。したがって、YはXの異なるバージ
ョンを表す。次に、ファイルYは、システムにチエツク
インされて戻される。システムにチエツクインされたフ
ァイルのバージョンは変わらないので、システムにチエ
ツクインされた任意のファイルに対する要求で、チエツ
クインされた同一ファイルが検索される。
第1^図は、モジュール10の発展の経路12を示す。
経路12内の各バージョンは、経路名(M^IN)とバ
ージョン番号で識別される。バージョン(M^IN、1
)を作成するため、モジュール(M^IN、O)がチエ
ツクアウトされ(複製され)、行222と行333の間
に、行aaaが追加される。この修正されたテキスト・
ファイルは、バージョン(M^IN、1)としてチエツ
クインされる。新しいバージョンを作成する各操作に、
文字の欄から成る独自の変更標識(標識)が関連付けら
れている。したがって、バージョン(14AI8.1)
を作成する操作には、1つの標識が関連付けられている
。経路内のバージョンは、バージョン番号(VN)で識
別される。
経路12内の各バージョンは、そのバージョンのすぐ前
のバージョンを修正することによって作成される。第1
B図は、バージョン(M^IN、O)から作成されたモ
ジュールの2つの経路を示す。第1B図を参照すると、
経路内のバージョンがチエツクアウトされ(複製され)
、新しい経路名が付けられ、修正され、チエツクインさ
れて戻されると、新しい経路12(b)が形成される。
第1B図の例では、バージョン(MΔIN、O)がチエ
ツクアウトされ、経路名USERが付けられ、修正され
、チエツクインされる。このように、バージョン(Mへ
IN、0)からバージョン(USER,O)か作られる
。その後に2つの経路に導入される変更は独立している
次に、第2図を参照して、名前付は法について説明する
。変形(Variant)は、特定のモジュールの単一
経路上の1つまたはそれ以上のバージョンに関して使用
される論理名である。この名前は、モジュール名と経路
名から成る。たとえば、第1B図では、2つの変形名は
、八PPLY : M^INと八PFLY: USER
である。バージョンの娘は、経路名とバージョン番号た
とえば(M^IN、1)を有する。
システムの構成 第3八図は、汎用ディジタル・コンピュータにロードさ
れるバージョン管理手順13の使用法を示す。
ユーザーは、ユーザー・インタフェース14を使用して
、原始ファイル・モジュールをチエツクインし、モジュ
ールの所望のバージョンをチエツクアウトし、チエツク
アウトしたバージョンを修正し、チエツクアウトしたバ
ージョンをチエツクインし、名前を付け、新しい発展経
路を形成し、別個の経路内のモジュールを併合して、別
個の経路に沿って導入された変更を含む合成されたモジ
ュールを作ることができる。
いろいろなバージョンのテキストファイルは、機械読取
り可能な形に変換されて、構造的データーベース15に
格納される。バージョン管理手順13は、すべてのバー
ジョンのすべての行のテキストが格納されている索引付
き行ファイルを作る。各行は、独自の行識別子([1L
I)で識別される。そのほかに、バージョン管理手順1
3は、構造的データーベース15ノ中に各経路の変形経
歴(VH: VariantHistry)ファイルを
作る。変形経歴ファイルは、経路に沿った各バージョン
の行の状態に関する情報を格納する。
そのほかに、併合手順は、索引付き行ファイルと変形経
歴(VH)ファイルを用いて、2つの経路に沿って導入
された変更を含む合成されたバージョンを作る。
第3B図は、バージョン管理シス・テムとして構成し標
準型汎用ディジタル・コンピュータ17を示す。
いろいろなバージョン管理手順は、コンピュータの記憶
装置にプログラムデータとして格納される。
コンピュータの記憶装置は、上記′憶装置と、ディスク
ドライブやテープドライブなどの周辺記憶装置を有する
。動作中、プログラムデータは通常のやり方で実行され
る。コンピュータの記憶装置の中に構造的データーベー
スを作り出したり、所望のバージョンのテキスト・ファ
イルを作り出したり、独立した経路からのバージョンを
併合したりするため、いろいろなバージョン管理手順が
実行される。
第4図は、一定の経路上に一定のモジュールの異なるバ
ージョンを作成するため使用される行ファイル(LN:
 Line File)20と変形経歴(VH: Va
riantHistry)ファイル22の略図である。
モジュールの独立した各経路ごとに、新しいVHファイ
ルが作られる。変形の新しいバージョンが作られるとき
には、いつでも、既存の最後のバージョンとチエツクイ
ンされるテキスト・ファイルとが比較される。
その比較により、3種類の差が報告され、その結果によ
り、更新されたVHファイルが書き込まれ、そして多分
、LNファイルに追加される。これらの3種類の差とは
、 抹消: テキスト・ファイルの中で行が削除された。新
しいVHファイルに、それらのULIに関する新しいレ
コードが書き込まれる(新しいレコードは、それらの行
がこのバージョンにおいて“削除される″“ことを指示
する)。
挿入: 変更されなかったULI ”M”を有する行の
すぐ前に、新しい行が挿入された。新しい行に新しいU
LIが割り当てられ、新しいレコードが、VHソファイ
ル中行Hに関する最初のレコードのすぐ前に導入される
新しい行のテキストを含む新しいレコードが、新しいU
LIを見出しとして、LNファイルに追加される。
置換: テキスト・ファイルに新しい行が導入され、チ
エツクアウトされたバージョンの1つまたそれ以上の行
が置換された。この変更は、削除と挿入の組合せとして
取り扱われる。新しいVl(ファイルに、削除された行
に関する新しいレコードが書き込まれ(新しいレコード
は、それらの行がこのバージョンにおいて置換されるこ
とを指示する)、新しいULIが新しい行に割り当てら
れ、新しいレコードが、VHソファイル中置換された行
に関するレコードのすぐ後に導入される。新しい行のテ
キストを含む新しいレコードが、新しいULIを見出し
として、LNファイルに追加される。
この実施例では、モジュールにおける変更の最小単位は
、行である。したがって、行内の文字を修正する場合、
この修正は、その行を削除し、新しい行で置き換えるこ
とによって行われる。
ここで第4図を参照すると、LNファイル20は、モジ
ュールのすべての開発経路内のすべてのバージョンにお
いて有効な行を有する索引付きファイルである。各行は
、2つの部分、すなわち変更標識26(モジュールに行
が追加された場合を識別する)と順序番号28(変更標
識内の行を識別する)から成る独自の行識別子(ULI
)24とによって識別される。ULIは、LNファイル
20内の行のアドレスとして機能し、選択したバージョ
ンのテキスト・ファイルを作成するとき行にアクセスす
るときに使用される。
変形経歴(VH)ファイル22は、レコード30の順序
付きリストから成る。それらのレコード30は、定の経
路に沿ったいろいろなバージョンにおける、ULIで識
別された行の状態の変更を指示する一0定の行の状態の
変更は、状態標識の値(有効である場合は^、置換され
る場合はR2削除される場合はD)と、一定の経路内の
バージョンのバージョン番号(VN)とによって指示さ
れる。たとえば、ULI(1)で識別された行をバージ
ョン3に追加する場合、VHレコードは、ULI(1)
を有し、状態標識の値は、(^)であり、バージョン番
号(VN)は、3である。識別された行が幾つかの状態
変更を受けた場合には、VHファイルは、一定のULI
について数個のレコードを有することがある。経路内の
任意のバージョンに関するテキスト・ファイルを直接作
成するのを容易にするために、VHソファイル中レコー
ドは順序が付けられている。
第1B図に戻ると、USER経路に作り出されたバージ
ョン(USER、−1)は、(MAIN、1)のコピー
である。USERPATH(UVH) 77) V、H
77−イルを作り出すために、MAIN PATH(N
VH) (7) VH7フィルがコピーされる。次に、
(MAIN、1)または同等な(USER,−1>に為
された変更を表すために、UVHが更新されて、(US
ER’、0)が作られる。
(USER、−1)の作成は、USER経路のVHファ
イルを作成するために必要であり、経路がモジュール(
M^I8.0)から分かれたことを示している。バージ
ョン(M^IN、O)/(USER、−1)を含む、そ
れらのバージョンまでの2つの経路の開発の経過は、同
一であり、この同一性を表すために、MVHファイル中
のレコードに対応するレコードの集まりを作成すること
で、UVHファイルが作られる。対応するレコード中の
ULIと状態標識は同一であるが、UVHレコード内の
バージョン番号は−1に設定される。
(USER、−1)の作成は、トランスペアレントであ
る。通常の処理を受けるUSER経路内の最初のバージ
ョンは、(USER,−0)であり、(M^IN、O)
のテキスト・ファイルに行uuuが追加されている。
バックアウト操作を用いれば、削除した行または置換し
た行を再び有効にすることが可能である。
このバックアウト操作は、モジュールの特定のバージョ
ンに関する変更を削除する。たとえば、定のULIで識
別された行を削除して、特定のモジュールを作り出すこ
とができよう。この変更をその後バックアウトすれば、
その行は再び有効になる。この有効化は、一定のULI
 、バックアウト操作で作り出されたバージョンのバー
ジョン番号(VN)、および状態標識(八)を含むVl
lレコードに反映されるであろう。
第5図は、最初の経路内に作られたモジュールの3つの
バージョン40を示す。これらのバージョンに対応する
LNファイル20とVHファイル22を、第4図に示し
である。次に、最初の経路に関するLNファイル20と
VHファイル22の作成について説明する。
最初のバージョン40aに関するLNファイル20aは
、最初のバージョン40aのすべての行を含んでおり、
各行は、ULI 24で識別されている。ULI内の欄
Eは最初のバージョンを作成する動作に関する変更標識
である。
第2のバージョン40bでは、最初のバージョン40a
の最初の行が新しい行で置換されている。次に、第2の
LNファイル20bを参照すると、新しい行がLNファ
イル20bに追加され、ULIで識別されている。欄S
1は、第2のバージョン40bを作成する操作に関する
変更標識である。LNファイル20bは、第2のバージ
ョン40bを作成する操作中に追加された行を入れるた
め、更新されている。
LNファイル20bからは、行が全く削除されないこと
に留意されたい。
次に、VHファイルについて説明すると、最初のVHフ
ァイル22aは、4つのレコード30を含んでおり、各
レコード30は最初のバージョンの行のULIの1つを
含み、その行がバージョン0において有効になることを
指定している。第2のVHファイル22bは、最初のV
■ファイル22aからのすべてのレコードと、第2のバ
ージョン40bに導入される変更を指示する追加レコー
ドを有する。
詳細に述べると、以下の説明を明確にするために、レコ
ードに順序番号が付けである。第2のバージョンにおい
て行E、1が置換されたことを指示するため、第2のレ
コードが追加されている。同じULIを有するレコード
が隣接していることに留意されたい。第3のレコードは
、削除された行に置き換えられた行を識別する。このレ
コードは、置き換えられた行を指示する最後のレコード
のすぐ後に来る。
LNファイル20のように、第2のVHファイル22b
は、最初のVHファイル22aを更新することによって
作り出されるが、レコードは削除されていない。
再び、第5図を参照すると、第3のバージョン40cは
、第2のバージョン40bの最初の2つの行を新しい行
で置換することによって更新される。新しいLNファイ
ル20cは、ULI S2.1で識別された行を第2の
LNファイル20bに加えることによって作られる。U
LIの欄S2は、第3のバージョンを作成する操作に関
する変更標識である。
第3のVHファイル22cについては、0または1に等
しいバージョン番号(VN)を有するレコードは、第2
のV)Iファイル22bから作られたレコードである。
第4のレコードは、第3のバージョンにおいて81.1
で識別された行が置換されることを指示する。第6のレ
コードは、第3のバージョンにおいてE、2で識別され
た行が置換されることを指示する。そして第7と第8の
レコードは、第3のバージョンにおいてS2.1とS2
,2で識別された行が追加されることを指示する。第3
のバージョンで追加された行を指示するレコードは、行
が置換されたことを指示する最後のレコードのすぐ後に
来る。
この時点で、経路内のすべてのバージョンのテキスト・
ファイルを作成するのに必要なすべての情報がLNファ
イル20cとVHファイル22cに入っている。選択し
たバージョンのテキスト・ファイルは、中間のバージョ
ンを作成する必要なく、直接作成される。
テキスト・ファイル作成手順 第6図は、経路内の選択したバージョン(VNH)を作
成する手順を示す流れ図である。
第6図を参照すると、最初にVHレコードが読み出され
(ステップ50)、保存される(ステップ52)。
続いて、次のVHファイルが読み出されるくステップ5
4)。もしそれ以上レコードが無ければ、ファイルの終
わりに達しており(ステップ56)、プロセスは、終了
ラベル(B)へ分岐する(ステップ57)。
もし、そうでなければ、読み出されレコードと保存され
たレコードのULIが比較され、それらが相違するかど
うかが判断される(ステップ58)。もし相違していな
ければ、V)lファイル内のレコードの順序付けにより
、第2のレコードは、識別された行が置換されるバージ
ョン番号または削除されるバージョン番号を指示する。
それにより、読み出されたレコードのバージョン番号が
Hと比較され、作成されるバージョンの後に来るバージ
ョンにおいて識別された行が削除されたがどうがか判断
される(ステップ60)。もしこのバージョン番号が阿
より小さけれは、前のバージョンまたは所望のバージョ
ンにおいて行が削除されているので、その行はバージョ
ンHに含跋れない。したがって、プロセスは、分岐して
点へへ戻る。
もしこのバージョン番号がHより大きければ、その経路
内のすぐ後のバージョンにおいてその行が削除される。
したがって、状態標識の値が検査され(ステップ62)
、保存されたレコードのバージョン番号がHと比較され
る(ステップ64)。もし保存されたレコードのバージ
ョン番号がNより小さいか等しく、そして状態標識の値
が(^)であれば、識別された行は、前のバージョンま
たは所望のバージョンにおいて有効になり、行ファイル
から検索されて、バージョンHのテキスト・ファイルに
入れられる。もし、バージョン番号が8より大きければ
、このULIは、バージョンHに作用せず、プロセスは
点^へ分岐して戻る。
ここで、ステップ58へ戻ると、もしULIが相違して
いれば、保存されたレコードが検査され〈ステップ62
)、バージョン番号(VN)が台と比較される (ステ
ップ64〉。もし保存されたレコードの状態標識が(八
)であり、バージョン番号(VN)が台より小さいか等
しければ、保存されたレコードのULI ’?−識別さ
れた行はテキスト・ファイルに入れられる(ステップ6
6)。もし保存されたレコードのバージョン番号が閂よ
り大きければ、識別された行はバージョンHの後に来る
バージョンに導入され、バージョンHには存在しない。
この場合、プロセスは点へへ分岐する。
上に述べたように、VHファイルの終わりに達するまで
、VH内の隣接する各対のレコードが処理される。対の
最初のレコードは保存されたレコードであり、対の第2
のレコードは次に読み出されたレコードである。
次に、終了サブルーチン57について説明する。
状態標識が(八)であるかどうか、およびバージョン番
号(VN)が阿より小さいか等しいことを調べるために
最後のレコードが検査される(ステップ57b)。もし
上記の2つの条件に合えば(ステップ57c)、最後の
レコード内のULI″i′識別された行がバージョンH
に導入される(ステップ57d)。条件に合っていなけ
れば、その行はバージョンHに導入されず、プロセスは
呼出しプログラムへ戻る(ステップ57e)。
次に、第4図の行ファイル20(c)と変形経歴ファイ
ル22(c)を用いて、第5図のバージョン1を作成す
るプロセスの操作の具体例を、H・1の場合について説
明する。第4図〜第6図を参照すると、最初の対のレコ
ードすなわち第1および第2のレコードのULIは相違
していなく(ステップ58)、第2のレコードのバージ
ョン番号(VN)は1より大きくない(ステップ60)
。したがって、ULIで識別された行は、バージョン1
において置き換えられ、含まれていない 次の対のレコードすなわち第2および第3のレコードの
ULIは相違しており(ステップ58)、第2のレコー
ドのバージョン番号(VN)はHに等しいくステップ6
4)が、状態標識は(^)でない(ステップ62)。し
たがって、ULIで識別された行は含まれない。
次の対のレコードすなわち第3および第4のレコードの
ULIは相違していなく(ステップ58)、第4のレコ
ードのバージョン番号(VN)はHより大きく、第3の
レコードの状態標識の値は(^)であり(ステップ62
)、第1のレコードのバージョン番号(VN)はHに等
しいくステップ64)。したがって、第1のレコードで
識別された行stuは、バージョン1のテキスト・ファ
イルに含まれる(ステップ66)。バージョン1につい
てテキスト・ファイルの残りを作成するプロセスは、上
記の説明のすく後に来る。
以上により、第4図に示した手順は、一定の経路に関す
る変形経歴(Vl+)ファイルおよび行(LN)ファイ
ルを使用し、その経路内の選択されたバージョンのテキ
スト・ファイルを直接作成できることが明らかである。
併合手順の説明 本方法の重要な特徴は、2つの独立した経路に沿って導
入された変更を併合して、合成されたバージョンを作成
できることである。この手順は第7図に示しである。括
弧内の文字は各バージョンを作成する操作に関する変更
標識である。これらの変更標識は該当するバージョンに
追加された新しいすべての行のULIに現れる。
バージョン(T、0) 、 (T、1) 、 (1,2
)は、TO経路7゜内の最初の3つのバージョンを形成
する。FROM経路72内の最初のバージョン(F、O
)とTO経路内のバージョン(T、3)は、共にバージ
ョン(T、2)から分かれたものである。各経路は、そ
れ自体のVHファイルを有し、1つの共通LNファイル
を共有している。
バージョン(F、2)すなわちFROMバージョンを併
合してバージョン(T、4)すなわちTOバージョンに
する操作によって、バージョン(7,2)で分かれた後
2つの経路に沿って為された変更を反映している合成バ
ージョン(7,5)が作り出される。したがって、合成
された変形経歴(RVH)ファイルは、第6図に説明し
た手順を用いて、RVHファイルから、合成されたバー
ジョン(T、5)を含むTO経路内のすべてのバージョ
ンのテキスト・ファイルを作り出すことができるように
作成しなければならない。
併合操作を実行するには、バージョン(F、2)と(T
、4)に関する変更リストが必要である。変更リストは
、そのリストを所有するバージョンを作るために利用さ
れた変更標識のリストである。表1:t、バージョン(
F、2)と(T、4)に関する変更リストを示す。
表1 バージョン     変更リスト (F、2)           八、B、C,S、T
、IJ(T 4)           八、B、C,
D、ERVHファイルを作成する手順は、共通りスト(
2つの変更リスト内の標識)、TOリスト(TOバージ
ョンに関する変更リスト)、FROMリスト(FROM
バージョンに関する変更リスト)を作るステップを含む
。表2は、上記のリスト内の変更標識を示す。
表2 共通りスト     八、B、C FROMリスト    Δ、B、C,S、T、UTOリ
スト      八、B、C,D、E合成されたバージ
ョン内の一定の行の状態は、その一定の行を識別するU
LIに含まれる変更標識によって判断される。もし、変
更標識が共通リスト内にあれは、合成されたバージョン
内の一定の行の状態は、2つのバージョン(F、2)と
(7,4)内の一定の行の状態と、所定の規則の集まり
によって判断される。
共通リスト内の変更標識を有するULIによって識別さ
れた一定の行の状態を判断するために用いた所定の規則
の集まりは、第8図にマトリックス83で示しである。
第8図を参照すると、マトリックス83は、FROM経
路内の一定の行の状態で明示された「行」と、TO経路
内の一定の行の状態で明示された「列」を有する。マト
リックス83の要素は、0から35の番号が付いたボッ
クスの中に記載しである。マトリックス83の「行」と
「列」を表示するために用いた記号の意味は、表3に定
義しである。さらに、マトリックス83の要素86を定
義するために用いた記号の意味は、表4に定義しである
。ボックス84内の(杓は、新しいレコードがRVHフ
ァイルに書き込まれることを示す。次に、このマトリッ
クスを使用する方法を詳しく説明する。
表1 (有効<−):  ファイルが分岐し/前に併合された
とき、行は有効であり、それ以来変更されながった。
(有効〉):  ファイルが分岐し/前に併合された後
に、変更のバックアウトにより、このULIの変更が生
じた。
(非有効削除く−):  ファイルが分岐し/前に併合
されたとき、行は削除され、それ以来変更されなかった
(非有効削除〉)・ ファイルが分岐し/前に併合され
た後に、行は削除された。
(非有効置換〈−):  ファイルが分岐し/前に併合
されたとき、行は置換され、それ以来変更されなかった
(非有効置換〉)、  ファイルが分岐し/前に併合さ
れた後に、行は置換された。
表4 併合の結果、ULIは有効のままであり、新しいVHレ
コードは書き込まれない。
■=  併合の結果、ULIは非有効のままであり、新
しいVlルコードは書き込まれない。
Δ: R:  併合の結果、ULIは置換され、新しいVll
レコードは書き込まれない。
A*:  ULIがここで有効であることを指示する新
しいVFIレコードを作成する。
I*:  ULIがここで削除されることを指示する新
しいV4fレコードを作成する。
R*:  ULIがここで置換されることを指示する新
しいVHレコードを作成する。
記号〈−と〉は、考えているVllレコードを作成した
変更と、共通リスト内の変更との比較結果を表す。これ
により、経路が分岐したとき、または最後に併合された
とき、VHレコードの情報が既に知られていたかどうか
、あるいは上記の最後の分岐点の後、情報が新しいもの
がどうがが判断される。
最後の分岐点に関する変更が起きた時点を判断するため
現在用いられている方法は、VHレコード内のバージョ
ン番号と現に考えている経路上の″共通バージョン″と
を比較する必要がある。
前記“′共通バージョン番号は、標識の共通リストと、
最も早いバージョンて出発したTO経路またはFROM
経路の各有意バージョン内にある標識リストとを比較す
ることによって判断される。すべての共通標識を含んで
いる最初のバージョン、または共通リストに見いだされ
なかった標識を含んでいる最初のバージョンが、所望の
共通バージョンである。
したがって、新しい経路のバージョンOが併合されて、
その経路が分岐した元の経路に戻される単純なケースで
は、共通バージョンは、−1である。
次に、第9図〜第18図を参照して、2つのモジュール
を併合する手順について説明する。第9図は、FROM
経路内のバージョン(F、O) (FROMバージョン
)からMへIN経路内のバージョン(M、1)(T。
バージョン)にする併合操作を示す。各バージョンのテ
キスト ファイルとULIが図示されている。そのほか
に、いろいろなバージョンについて、各バージョンが作
成されたとき作られなV)Iファイルが図示されている
。表5は、バージョン(F、O)と(M、1)に関する
変更リストを示す。表6は、共通TOリストと共通FR
OMリストを示す。
民j バージョン     変更リスト (F、O)         E、FO(M、1)  
       E、M1表1 共通りスト       E FROM リスト       E、FOTO リスト
        E、Mlバージョン(F、0)に関す
るVHファイルは、FVHであり、バージョン(8,1
)に関するVHファイルは、TVHであり、バージョン
(8,2)に関するVUファイルは、RVIIである。
第10図は、総合的な併合操作を統括するMERGE−
MAINルーチンのステップを列挙した流れ図である。
このプログラムは、モジュールの2つの経路を併合する
のに必要な操作を実行する多数のサブルーチンを呼び出
す。
次に第10図を参照すると、最初のステップ100は、
併合に含めるモジュール名と併合から除外するモジュー
ル名のリストを作ることである。この例では、モジュー
ルEは併合に含まれる。次に、併合リストを検査して、
併合するもつと多くのモジュールが存在するかどうかを
判断する(ステップ102) 6もしNoであれば、プ
ログラムは終了ラベル八103へ分岐する。もしYes
であれば、モジュールEに関するLNファイルと、FR
OM変形とTO突変形関するVHファイルが開かれ(ス
テップ104)、併合の結果、新しいVHファイル(R
VII)が作られる(ステップ106)。
次に、変形経路を併合する手順が呼び出されろくステッ
プ108)。以下に、これらの手順について説明する。
もし併合がてきたならば、変形レコードが更新される(
ステップ112)。もし併合ができなければ、プログラ
ムはステップ102へ飛び越す。
次に、そのバージョンを記述する新しいレコードが作成
され(ステップ114)、LNファイルとVHファイル
が閉じられる(ステップ116)。プログラムはステッ
プ102へ戻る。もし併合すべきそれ以上のモジュール
がなければ、プログラムの終了部分くステップ103〉
が実行される。
プログラムの終了部分(ステップ103)について説明
すると、併合を表すために、変更レコードが作成され(
ステップ103a)、新しいVllファイルが再び名付
けられ、古いVHファイルが追い出され(ステップ10
3b)、そして併合の結果が報告される(ステップ10
3c)、。
第11図は、MERGE−VΔRI^NT−PATHS
手順のステップを列記した流れ図である。この手順は、
あるモジュールの2つの経路を併合する仕方を管理する
第11図について説明すると、バージョン(F、O)と
(8,1)について、TOり各ト、FROM リスト、
および共通リストが作られる(ステップ310)。これ
らのリストの内容は、表5と表6に記載しである。次に
、リストが検査され、FROMリストがTOリストのサ
ブセットであるかどうかが判断される(ステップ320
)。もしYesであれば、TOバージョン内の行の状態
を判断する際に、FROMバージョン内のすべての行の
状態が既に使用されているので、それ以上進む必要はな
い。
もしNoであれば、TV)lファイルとFV)lファイ
ルから最初のレコードが読み出される(ステップ340
)。次にファイルの終わりに達していないことが判断さ
れる(ステップ350)。続いて、手順は、読み出され
たレコードのULI内の変更標識を検査して、最初のT
VHレコードおよびFVHレコードのIJLI内の変更
標識が共通リスト内にあるかどうか(ステップ360)
、または最初のTVHレコード内の変更標識のみが共通
リスト内にあるかどうか(ステップ362)、または最
初のFVHレコードの変更標識のみが共通リスト内にあ
るかどうか(ステップ364)、または最初のFVHレ
コードの変更標識も最初のTVHレコードの変更標識も
共通リスト内にないかどうかが判断される。上記のどの
条件が真であるかに従って、該当するサブルーチン38
8,370,372または374が呼び出される。
次に第9図に示した例について、MERGE−VARI
^NTPATHSサブルーチン300の操作について説
明する。
TVHファイル(E、OO^)内の最初のレコードとF
VIIファイル(E、0 −I  A)内の最初のレコ
ードが読み出される(ステップ340)。両レコード内
の変更標識(E)は共通りスト360の中にあるので、
サブルーチンPROCESS−BOTH−PATHSが
呼び出される(ステップ368)。
第13図は、このサブルーチンの流れ図である。
第13図を参照すると、2つのレコードのULIは一致
する(ステップ502)。読み出されたく最初の)TV
Hレコードが新しいVHファイルに書き込まれ(ステッ
プ504)、レコードの状態標識(八)の値が保存され
る(ステップ506)。次のく第2の) TVHレコー
ド(E、1 0  八)が読み出され(ステップ508
)、保存されたULIと、読み出される次のレコードの
ULIとが比較される(ステップ510)。このケース
では、ULIは異なる。
次に、読み出された(最初の) FV■レコードが検査
され、そのバージョン番号がバージョン(F、O)のバ
ージョン番号より小さいか等しいかどうかが判断される
(ステップ512)。もし上記の通りであれば、レコー
ドの状態標識が保存される(ステップ513)。このケ
ースでは、レコードのバージョン番号(−1)は、FR
OMバージョンのバージョン番号より小さいので、状態
標識(八)が保存される。次の(第2)) FVHレコ
ード(E、1 −I  A)が読み出され(ステップ5
14)、保存されたレコードのIILIと読み出された
次のFROMレコードのULIとが比較される(ステッ
プ516)。
このケースでは、ULIは相違しており、保存された状
態標識を用いて、所定の規則の集まりを履行するケース
命令文が実行される(ステップ518)。
前に述べたように、この規則の集まりは、第8図にマト
リックスとして示しである。第8図および表5および表
6を参照すると、2つの経路に関して、行は、分岐前、
有効であり、それ以来変更は行われなかった(Δ、<−
)。したがって、ケース命令文0が実行され、その行は
合成されたバージョンにおいて有効である。サブルーチ
ンの結果、 RVHファイルの最初のレコードは、TV
Hファイルの最初のレコードと同じであり、新しいレコ
ードは作られない。その後、サブルーチンは、呼出しサ
ブルーチンへ戻る(ステップ520)。
次に、TVHファイルとFVHファイルの第2のレコー
トニツイテ、MERGE−VARIANT−PATH3
手順か繰り返され、サブルーチンPROCESS−UL
IS−BOTHPATHSが呼び出される。TVHファ
イルとFVIIファイルの構成から、これらのファイル
の最初の5つのレコードは上記のように処理され、そし
てRVIIファイルの最初の5つのレコードはTV)l
ファイルの最初の5つのレコードと同じであることがわ
かる。
第13図を参照すると、5番目のTVHレコードが書き
込まれ(ステップ504)、6番目のTVHレコードが
読み出された後、2つのレコードのULIが比較される
(ステップ510)。この場合、ULIは相違していな
いので、サブルーチンは分岐してステップ504へ戻る
。6番目のTVHレコード(E、41  R)がRV)
lファイルに書き込まれ、状態標識(R)が保存され(
ステップ506)、7番目ノTvHレコード(FO,O
O八)が読み出される(ステップ508)。次にULI
が比較され、相違していることが確かめられる(ステッ
プ510)。
6番目のFV)Iレコード(E、4 0  R)が読み
出され(ステップ514)、そのULIと5番目のレコ
ードのULIとが比較される。ULIが同じであれば、
サブルーチンは分岐してステップ512へ戻る。
6番目のレコードの状態標識が保存され(ステップ51
3)、7番目のFVFIレコード(F、0 0  ^)
が読み出される(ステップ516)。6番目と7番目の
レコードのULIが比較され、相違していることが確か
められる(ステップ516)。
次に、保存された状態標識を用いて、所定の規則の集ま
りのケース命令文の1つが実行される。
前に述べたように、この規則の集まりは、第8図に示し
たマトリックスに基づき、ケース命令文として履行され
る。第8図および表5と表6を参照すると、2つの経路
に関して、行は、分岐の後、置換された(R,>)。し
たがって、ケース命令文35が実行され、新しいレコー
ドが作られ、RVHファイルに書き込まれ、そして矛盾
メツセージが作られる。サブルーチンが実行された結果
、レコード(E、4 2  R)が作られ、7番目ノR
VI(しニア −4として書き込まれる。次に、サブル
ーチンは、呼出しサブルーチンへ戻る(ステップ52o
)。
7番目のTV)lとFVHレコードのULIの変更標識
と共通リストの変更標識が比較され、どちらの変更標識
も共通リスト360,362,364内にないことが判
断される。したがって、サブルーチンNEWLINES
−IN−BOTH−PATI(Sが呼び出されル(ステ
ップ374)。
第17図は、このサブルーチンの流れ図である。
第17図を参照すると、最初のTV)lファイルのレコ
ードが処理された後(ステップ900)、FVHファイ
ルのレコードが処理される(ステップ91o)。もし、
2つの経路からの行が、合成されたバージョンにおいて
有効であると判断されれば(ステップ920)、警告メ
ツセージがプリントされ、有効な行が表示される(ステ
ップ922)。この特徴により、独立した経路に沿って
追加された行の間で起こり得る矛盾に対して注意が喚起
されるので、追加された行を再検査することができる。
次に、これらの有効な行の追跡を維持する方法について
説明する。
まず、ステップ900で、サブルーチンPROCESS
ULI−IN−TO−PATHが呼び出される。第14
図は、このサブルーチンの流れ図である。第14図を参
照すると、7番目のTVHレコードが新しい■■ファイ
ルへ書き込まれる(ステップ600)、8番目のTVH
レコードが読み出され(ステップ6o2)、2つのレコ
ードのULIが比較される(ステップ6o6)。
このケースでは、ULIは相違しており、状態標識が(
^)であるかどうがを判断するため7番目のレコードの
状態標識が検査され(ステップ6o8)、^ctive
−TO−IJLIカウントが増分される(ステップ60
9)。このカウントが、分岐した後、TO経路に追加さ
れた新しい(有効な) ULIの追跡を維持する。次に
、8番目のレコードのULIの変更標識と共通リストの
変更標識とが比較され、ULIが共通リスト内にあるが
どうがか判断される。このケースでは、ULIは共通リ
ストになく、サブルーチンは分岐してステップ600へ
戻る。
8〜11番目のTVHレコードの処理は、上に述べた処
理と同じで、処理の結果、これらのレコードRVHの9
〜12番目のレコードになる。12番目のTVHレコー
ド(E、5 0  八)が読み出され(ステップ602
)、カウントが増分され(ステップ609)、読み出さ
れた新しいULIが共通リスト内にあることが判断され
(ステップ610)、サブルーチンは、サブルーチン呼
出しステップ900へ戻り、次にサブルー−j−’:y
 PROCESS−ULI−IN−FROM−PATH
が呼び出される(ステップ910)。
第16図は、このサブルーチンの流れ図である。
第16図を参照すると、7番目のFV)lレコードのバ
ージョン番号がFROMバージョンのバージョン番号に
等しいので、7番目のFVHレコードの状態標識(^)
が保存され(ステップ800)、8番目のFVHレコー
ドが読み出され(ステップ81o)、2つのレコードの
ULIが比較される(ステップ812)。
このケースでは、ULIは相違しており、最後に保存さ
れた状態を反映した新しいVHレコードが作られる(ス
テップ814)。この新しいVHレコード(Fo、0 
2  八)は、肛1(Fo、0)で識別された行が、バ
ージョン2すなわち併合操作の結果であるTO経路内の
合成されたバージョンにおいて有効になることを指示す
る。作られたレコードは、RVHファイルに書き込まれ
(ステップ816)、レコードの状態標識の値が(八)
であるかどうかを判断するため検査される(ステップ8
18)。もし、(^)であれば、^ctive−FRO
M−ULIカウントが増分される(ステップ820)。
このカウントが、併合操作の際FROM経路から追加さ
れた新しい(有効な)行の追跡を維持する。次に、8番
目のレコードのULIの変更標識と共通リストの変更標
識とが比較され、ULIが共通リストの中にあるかどう
かが判断される(ステップ822)。このケースでは、
ULIは共通リスト内にないので、サブルーチンは分岐
してステップ800へ戻る。
8〜10番目のFVHレコードの処理は、上に述べた処
理と同じで、処理の結果、併合によりそれらの行が有効
になったことを反映している14〜16番目のレコード
が作られる。
11番目のFVHレコードのULI内の変更標識が共通
リスト内にあることが判断され(ステ・ンプ822)、
サブルーチンは呼出しサブルーチンのステ・ノブ910
へ戻る(ステップ824)。2つの呼出しサブル−チン
において作られたカウントは、2つの経路内の新しい行
が合成されたバージョンにおり)で有効になることを指
示しており、警告メ・ンセージカくプリントされ、そし
て新しい行が表示される(ステップ922)。次に、サ
ブルーチンは呼出しサブル−チンのステップ350へ戻
る。
次に、11番目のFVtlレコードの変更標識と12番
目のTVHレコードの変更標識が共通リスト内にあるこ
とが判断され(ステップ360)、そして前に述べた手
順PROCESS−ULI−IN−BOTH−PATH
Sを用いて12〜15番目のTVnレコードが新しいV
)lファイルに書き込まれる。次に、VHファイルの終
わりに達したかどうかが判断され、プログラムの終了部
分(B)(第12図)が実行されて、併合手順が完了す
る。
第18図は、サブルーチンSKIP−TIIIS−ME
RGE−ULIを示す。このサブルーチンは上の例では
使用されないが、FROMバージョンがFROMバージ
ョン内に作られた最後のバージョンでない場合に、サブ
ルーチ’y PROCESS−FROM−PATH−V
H−REC3ニよッテ呼び出されることがある。このサ
ブルーチンは、FROMバージョンの作成に続いてFR
OM経路に為された変更が合成されたバージョンに入る
のを防止するためのものである。
変更標識の作成と分岐点の判断は、第9図の例の場合に
は検査により可能であったが、数個の独立した経路が存
在し、それらの経路の間で既に併合が行われているもっ
と複雑なケースの場合は、変更リストの作成は、もっと
難しい。第19図は、そのような複雑なケースを示す略
図である。変更リストを使用して共通リストを作成する
ことは、上に述べた併合手順にとって重要であるが、さ
らに矛盾メツセージ、その他の有益な特徴の作成が容易
になる。
次に、バージョンの変更リストを作成する一般的な手順
について説明する。この手順は、グラフ理論を応用した
ものである。有意バージョンは、変形(variant
)の最初のバージョン(バージョンO)、またはそこか
ら新しいバージョンが作成されたノく−ジョン、または
併合操作により生じたバージョン、またはそこから併合
が行われたバージョンのいずれかであると定義する。す
べての有意バージョンは、併合操作において共通のバー
ジョンになる候補のバージョンである。
モジュールのバージョンは、有向の非循環グラフの一部
分であると考えられる。モジュールのすべてのバージョ
ンは、元の経路の元のバージョン(バージョン0)から
派生したものである。各ノ(−ジョンは、4つあるやり
方のうち1つで、すなわち、(a)データベースにモジ
ュールを追加することによって、(b)チエツクアウト
されたバージョンの中で検査することによって、(c)
新しい経路を作り出すことによって、または(d)併合
操作の結果として、作り出すことができる。
変更標識を作り出すアルゴリズムは、バージョンのグラ
フを、有意バージョンのグラフとして表すことから出発
する。各バージョンは、固有の変更リストが割り当てら
れる。変更リストは最初は空白である。最初の(最先の
)有意ノード(nocle)は、その変更リスト内にあ
る固有の変更標識を有する。次に、呼出しVISIT 
(最先のノード)が作られる。ここで、VISITは、
次に説明する再帰手順である。
手順VISIT (j) (jはグラフのノードである。) 開始 各ノードkについて、リンク(j −> k)が存在す
る場合、DO 開始 もし、kが併合の結果であり、かつ ノードjの変更標識がリスト(k)の 中になければ、 リスト(k)<−COMBINE(j、k)さもなけれ
ば、 リスト(k)< −COMBIME(3,k)VISI
Tを呼び出す。
gつ 終了 終了 ここで、手順COMBIMEは、次に説明する手順であ
る。
手順COMBINE (x、y) (×とyはノードであり、この手順は変更リストをもど
す) 開始 合成されたリストを空にする リスト(X)内のすべての変更標識を合成されたリスト
に追加する リスト(y)内のすべての変更標識を合成されたリスト
に追加する ノードXに関する変更標識を合成され たリストに追加する 合成されたリストをもどす 終了 以上、好ましい実施例について本発明を説明した。この
分野の通常の専門家は、それらの実施例からいろいろな
修正や代替を思い浮かべるであろう。たとえば、TO経
路とFROM経路のULIを処理する規則は、特定のシ
ステムの要求に応じて変更することができよう。したが
って、本発明が特許請求の範囲に記載したものに限定さ
れないことは理解されるであろう。
【図面の簡単な説明】
第1八図は、開発の一経路の略図、 第1B図は、第2の経路の形成を示す略図、第2図は、
命名法を示す略図、 第3八図は、汎用ディジタル・コンピュータにロードさ
れたバージョン管理ツールの一実施例の使用を示す略図 第3B図は、バージョン管理ツールとして構成された汎
用ディジタル・コンピュータのブロック図、 第4図は、−組の変形経歴(VH)ファイルと行くLN
)ファイルを示す略図、 第5図は、第4図に示した変形経歴ファイルに対応する
テキスト・ファイルを示す略図、第6図は、所望のバー
ジョンのテキスト・ファイルを作成する手順の流れ図、 第7図は、併合操作を示す略図、 第8図は、状態マトリックス図、 第9図は、併合操作を説明するための典型的なテキスト
・ファイル、変形経歴ファイル、および行ファイルを示
す略図、 第10図〜第18図は、併合操作を実行する手順の流れ
図、 第19図は、複雑な併合操作を示す略図である。 符号の説明 10・・・原始ファイル、12・・・経路、12(b)
・・・新しい経路、13・・・バージョン管理手順、1
4・・・ユーザーインタフェース、15・・・データベ
ース、17・・・汎用ディジタル・コンピュータ、20
(a) 、20(b) 、20(c)−・行ファイル(
LN)、22(a) 、22(b) 、22(c)−変
形経歴ファイル(VH)、24・・・独自行識別子(U
LI)、26・・・変更標識、28、、、順序番号、3
0−・・レコード、40(a) 、40(b) 、40
(c)・・・バージョン。 図面の浄書(内容に変更なし) Af’FLY;sx+rq、o    APPLY上A
+N、l      AFPLY;M^114F/に、
JA。 MAIN、0 呂ΔIN、 1 呂^IN、Z FIG、w /B。 9\q備11早婚 −γ105 手 続 補 正 書 (方式) 1、事件の表示 平成1年特許願第10331°7号 2、発明の名称 バージョン管理方法 3、補正をする者 事件との関係 出 願 人 4、代 理 人 5、補正命令の日付 平成1年7月25日 願書に最初に添付した図面の浄書

Claims (7)

    【特許請求の範囲】
  1. (1)内部モジュールの所望のバージョンが幾つかのバ
    ージョンを含む開発経路内に含まれている場合に、所望
    のバージョンのテキスト・ファイルを直接作成する方法
    であって、開発経路内の幾つかのバージョンにおいて有
    効なすべての行のテキストを索引付き行ファイルに格納
    するステップ、および 前記行ファイルから所望のバージョンにおいて有効な行
    のみを検索してテキスト・ファイルに入れるステップ、 から成るテキスト・ファイル作成方法。
  2. (2)モジュールの所望のバージョンが多数の考えられ
    る経路のうちの一定の経路に含まれており、各経路が共
    通モジュールのバージョン番号で識別された順序付きバ
    ージョンの集まりを含んでおり、経路内の各バージョン
    がすぐ前のバージョンから派生しており、経路における
    各行の有効性および削除の状態の経歴がその経路の変形
    経歴ファイルに格納されている場合に、モジュールの所
    望のバージョンを格納する方法であって、 すべての経路内のすべてのバージョンにおいて有効なす
    べての行のテキストを索引付き行ファイルに格納するス
    テップ、 前記索引付き行ファイル中の各行を独自行識別子(UL
    I)で識別するステップ、および一定の経路内の任意の
    バージョンにおいて有効な行を識別する各ULIに関す
    るレコードの集まりを、一定の経路の変形経歴ファイル
    に格納するステップ(前記各レコードは、ULIで識別
    された行が有効になる一定の経路内のバージョンのバー
    ジョン番号の1っ、またはULIで識別された行が削除
    された一定の経路内のバージョンのバージョン番号の1
    っを指示する)、 から成るバージョン格納方法。
  3. (3)モジュールの所望のバージョンが多数の考えられ
    経路のうちの一定の経路に含まれており、各経路が共通
    モジュールのバージョン番号で識別された順序付きバー
    ジョンの集まりを含んでおり、経路内の各バージョンが
    すぐ前のバージョンから派生しており、経路内の任意の
    バージョンにおいて有効な各行の有効性および削除の状
    態の経歴がその経路の変形経歴ファイルに格納されてお
    り、すべての経路内のすべてのバージョンにおいて有効
    な行のテキストが索引付き行ファイルに格納されており
    、前記索引付き行ファイル中の各行が独自性識別子(U
    LI)で識別されている場合に、モジュールの所望のバ
    ージョンのテキスト・ファイルを作成する方法であって
    、所望のバージョンが含まれている一定の経路と、前記
    一定の経路内の所望のバージョンのバージョン番号を識
    別するステップ、 行ファイル中のどの行が所望のバージョンにおいて有効
    であるかを判断するため前記一定の経路の変形経歴ファ
    イルを探索するステップ、および 前記行ファイルから、所望のバージョンにおいて有効で
    あると判断された行のテキストを検索するステップ、 から成るテキスト・ファイル作成方法。
  4. (4)前記各バージョンが多数の考えられる経路のうち
    の1っの経路に含まれており、各経路が共通モジュール
    のバージョン番号で識別された順序付きの共通モジュー
    ルのバージョンの集まりを含んでおり、経路内の各バー
    ジョンがすぐ前のバージョンから派生しており、独自の
    変更標識が一定のバージョンを作成する操作と関連付け
    られており、モジュールのすべての経路に沿ったすべて
    のバージョンにおいて有効なすべての行のテキストが独
    自性識別子(ULI)で識別されて索引付き行ファイル
    に格納されており、各ULIがバージョンを識別する標
    識欄と索引欄を含んでおり、経路における各行の有効性
    および削除の状態の経歴がその経路の変形経歴ファイル
    に格納されており、前記変形経歴ファイル中の各レコー
    ドが、独自性識別子(ULI)と、経路内のバージョン
    を識別するバージョン番号と、ULIで識別された行が
    識別されたバージョンにおいて有効になることを表す値
    、または置換されることを表す値、または削除されるこ
    とを表す値を持つ状態標識を含んでいる形式の、モジュ
    ールの幾つかのバージョンを格納するバージョン管理方
    式において、 FROM経路内の選択されたバージョンがTO経路内の
    最後のバージョンであるTOバージョンに併合されて、
    TO経路内に、合成されたバージョンが作成されたこと
    を表す、TO経路の合成された変形経歴ファイルを作成
    する方法であって、 TO経路の変形経歴ファイルと、FROM経路の変形経
    歴ファイルを準備するステップ、前記TOバージョンに
    関するTO変更リストを作成するステップ、 前記FROM経路内の選択されたバージョンに関するF
    ROM変更リストを作成するステップ、前記FROM変
    更リストと前記TO変更リストに含まれる変更標識の共
    通リストを作成するステップ、 合成された変形経歴ファイルに、TO変形経歴レコード
    の第1の集まりを書き込むステップ(前記第1の集まり
    は、前記TO変更リストには含まれているが前記共通リ
    ストには含まれていない変更標識を持つULIを含むT
    O変形経歴レコードのみから成る)、 FROM変形経歴レコードの第2の集まりを識別するス
    テップ(前記第2の集まりは、前記FROM変更リスト
    には含まれているが前記TO変更リストまたは共通リス
    ト内のすべてのレコードに含まれていない変更標識を有
    するULIを含むFROM変形経歴レコードのみから成
    っており、それらの各ULIに関して、FROM変形経
    歴レコードのみが、FROM経路内の選択されたバージ
    ョンのバージョン番号より小さいか等しい最大バージョ
    ン番号を有する)、 各レコード内のバージョン番号がTO経路内の合成され
    たバージョンのバージョン番号に等しくなるように、F
    ROM変形経路レコードの前記第2の集まりを修正する
    ステップ、前記修正されたFROM変形経路レコードの
    第2の集まりを、合成された変形経路ファイルに書き込
    むステップ、 TO変形経歴レコードの第3の集まりを、合成された変
    形経歴ファイルに書き込むステップ(前記第3の集まり
    は、前記共通リスト内のULIを有し、TO変形経歴フ
    ァイルおよびFROM変形経歴ファイル中のレコードに
    含まれるTOレコードのみから成る)、および 合成された変形経歴レコードの第4の集まりを作成する
    ステップ(前記第4の集まりの各レコードは、前記第3
    の集まりのレコードのうちの選択された1っと関連付け
    られており、その関連付けられたレコードと同じULI
    を有し、前記第3の集まりから一定のレコードの選択お
    よび前記一定の選択されたレコードと関連付けられた第
    4の集まりのレコードの状態標識の値の指定は、前記第
    3の集まりの一定の選択されたレコードと同じULIを
    有するFROM変形経歴ファイルとTO変形経歴ファイ
    ル中のレコードの状態標識の値と、バージョン番号およ
    びそれらの値に対して適用される所定の規則の集まりと
    によって判断される)、 から成る変形経歴ファイル作成方法。
  5. (5)各バージョンが考えられる多数の経路の1っに含
    まれており、各経路が共通モジュールのバージョン番号
    で識別された順序付きのバージョンの集まりを含んでお
    り、経路内の各バージョンがすぐ前のバージョンから派
    生しており、独自の変更標識が各バージョンを作成する
    操作と関連付けられており、モジュールのすべての経路
    に沿ったすべてのバージョンにおいて有効なすべての行
    のテキストが独自行識別子(ULI)で識別されて索引
    付き行ファイルに格納されており、各ULIが変更標識
    と索引欄を含んでいる形式の、モジュールの幾つかのバ
    ージョンを格納するバージョン管理方式において、 FROM経路内の選択されたバージョンをTO経路内の
    最後のバージョンであるTOバージョンに併合してTO
    経路内に合成されたバージョンのテキスト・ファイルを
    作成する併合方法であって、 TO経路とFROM経路の両方において有効であった行
    を識別するULIの中に含まれる変更標識の共通リスト
    を作成するステップ、およびTOおよびFROMバージ
    ョンにおける識別された行の状態および所定の規則の集
    まりに従つて、前記共通リスト中の変更標識を有するU
    LIで識別された行を合成されたバージョンのテキスト
    ・ファイルに入れるステップ、 から成るバージョン併合方法。
  6. (6)記憶装置を備え、内部プログラムの制御の下で動
    作し、ユーザーが原始ファイルのモジュールを格納した
    り、モジュールの新しいバージョンを作成して格納した
    り、独立したモジュール開発経路(各経路は順序付きバ
    ージョンの集まりである)を形成して名付けることがで
    きるようになっているコンピュータであって、 前記記憶装置に格納され、すべての経路内のすべてのバ
    ージョンにおいて有効なすべての行のテキストを含む索
    引付き行ファイルを作成する索引付き行ファイル作成手
    段(前記索引付き行ファイル中の各行は独自行識別子(
    ULI)で識別される)、 前記記憶装置に格納され、一定の経路に沿ったすべての
    バージョンに含まれた行を識別する各ULIと関連付け
    られた一定のレコードの集まりから成る変形経歴ファイ
    ルを作成する変形経歴ファイル作成手段(一定のULI
    に関連付けられた一定のレコードの集まりの各レコード
    は、ULIで識別された行が有効になる一定の経路内の
    バージョンまたはULIが削除された一定の経路内のバ
    ージョンを指示する)、および前記変形経歴ファイルと
    索引付き行ファイルを使用し、中間バージョンを作成せ
    ずに、前記一定の経路内の所望のバージョンのテキスト
    ・ファイルを直接作成する手段、 を備えているコンピュータ。
  7. (7)記憶装置を備え、内部プログラムの制御の下で動
    作し、ユーザーが原始ファイルのモジュールを格納した
    り、モジュールの新しいバージョンを作成して格納した
    り、独立したモジュール開発経路(各経路は順序付きバ
    ージョンの集まりであり、経路内のバージョンはバージ
    ョン番号で識別される)を作成して名付けることができ
    、そしてモジュールのすべての経路に沿ったすべてのバ
    ージョンにおいて有効なすべての行のテキストを含む索
    引付き行ファイルおよび一定の経路の変形経歴ファイル
    を前記記憶装置内に形成するようになっているコンピュ
    ータであって、 前記索引付き行ファイルは、行ファイル中の各行に関連
    付けられた独自性識別子(ULI)を有し、 前記変形経歴ファイルは、順序付きレコードの集まりを
    有し、 各レコードは、一定の経路内のバージョンの1っにおい
    て有効な行に関連付けられた独自性識別子を有しており
    、独自性識別子で識別された行が有効になる一定の経路
    内のバージョン番号の1っ、または独自性識別子で識別
    された行が削除されている一定の経路内のバージョン番
    号の1っを指示することを特徴とするコンピュータ。
JP1103317A 1988-04-26 1989-04-21 バージョン管理方法 Pending JPH0228831A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US07/183,190 US4912637A (en) 1988-04-26 1988-04-26 Version management tool
US183190 1988-04-26

Publications (1)

Publication Number Publication Date
JPH0228831A true JPH0228831A (ja) 1990-01-30

Family

ID=22671824

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1103317A Pending JPH0228831A (ja) 1988-04-26 1989-04-21 バージョン管理方法

Country Status (6)

Country Link
US (1) US4912637A (ja)
EP (1) EP0339901B1 (ja)
JP (1) JPH0228831A (ja)
AU (1) AU615536B2 (ja)
CA (1) CA1316262C (ja)
DE (1) DE68925746T2 (ja)

Families Citing this family (312)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5438511A (en) * 1988-10-19 1995-08-01 Xerox Corporation Disjunctive unification
US5159669A (en) * 1988-12-15 1992-10-27 Xerox Corporation Automatically creating a second workspace operation record including history data and a unit ID based on a first workspace operation
CA1323448C (en) * 1989-02-24 1993-10-19 Terrence C. Miller Method and apparatus for translucent file system
EP0458495A3 (en) * 1990-05-21 1993-04-14 Texas Instruments Incorporated Apparatus and method for managing versions and configurations of persistent and transient objects
US5230075A (en) * 1990-06-04 1993-07-20 General Electric Company Database shadowing system with data tags that select an operation of the save command
EP0463251A1 (en) * 1990-06-28 1992-01-02 International Business Machines Corporation Software installation
JP3059467B2 (ja) * 1990-07-17 2000-07-04 シャープ株式会社 ファイル管理装置
US5386553A (en) * 1990-10-10 1995-01-31 Fuji Xerox Co., Ltd. Disk file updating control device and method using updating data stored in a first-in-first-out queue
US5278979A (en) * 1990-12-20 1994-01-11 International Business Machines Corp. Version management system using pointers shared by a plurality of versions for indicating active lines of a version
JP2595817B2 (ja) * 1991-01-17 1997-04-02 ヤマハ株式会社 2次記憶装置の情報の制御方法および2次記憶装置を有する電子機器
JP2993528B2 (ja) * 1991-05-18 1999-12-20 富士通株式会社 テキスト管理・復元方式
EP0528617B1 (en) * 1991-08-19 1999-12-22 Sun Microsystems, Inc. Method and apparatus for change control in multiple development environments.
US5671428A (en) * 1991-08-28 1997-09-23 Kabushiki Kaisha Toshiba Collaborative document processing system with version and comment management
US5491819A (en) * 1991-09-05 1996-02-13 International Business Machines Corporation System and method for merging and separating attributes of consoles
US5628006A (en) * 1991-09-05 1997-05-06 International Business Machines Corporation Computer program product and program storage device for merging and separating attributes of consoles
US5377323A (en) * 1991-09-13 1994-12-27 Sun Microsytems, Inc. Apparatus and method for a federated naming system which can resolve a composite name composed of names from any number of disparate naming systems
EP0541281B1 (en) * 1991-11-04 1998-04-29 Commvault Systems, Inc. Incremental-computer-file backup using signatures
US5357631A (en) * 1991-12-09 1994-10-18 International Business Machines Corporation Method and system for creating and maintaining multiple document versions in a data processing system library
US5241675A (en) * 1992-04-09 1993-08-31 Bell Communications Research, Inc. Method for enforcing the serialization of global multidatabase transactions through committing only on consistent subtransaction serialization by the local database managers
JP2502023B2 (ja) * 1992-04-13 1996-05-29 インターナショナル・ビジネス・マシーンズ・コーポレイション デ―タ・ファイルの比較方法及びシステム
US5592661A (en) * 1992-07-16 1997-01-07 International Business Machines Corporation Detection of independent changes via change identifiers in a versioned database management system
US5386559A (en) * 1992-07-16 1995-01-31 International Business Machines Corporation Variant domains and variant maps in a versioned database management system
US5504879A (en) * 1992-07-16 1996-04-02 International Business Machines Corporation Resolution of relationship source and target in a versioned database management system
US5579223A (en) * 1992-12-24 1996-11-26 Microsoft Corporation Method and system for incorporating modifications made to a computer program into a translated version of the computer program
US5574898A (en) * 1993-01-08 1996-11-12 Atria Software, Inc. Dynamic software version auditor which monitors a process to provide a list of objects that are accessed
US5649200A (en) * 1993-01-08 1997-07-15 Atria Software, Inc. Dynamic rule-based version control system
US5522079A (en) * 1993-06-14 1996-05-28 International Business Machines Corporation Compiler merging new and preexisting modules while preserving function order
US5634114A (en) * 1993-11-18 1997-05-27 Intel Corporation Dynamic link library version negotiation
US5611066A (en) * 1994-02-28 1997-03-11 Data/Ware Development, Inc. System for creating related sets via once caching common file with each unique control file associated within the set to create a unique record image
US5835601A (en) * 1994-03-15 1998-11-10 Kabushiki Kaisha Toshiba File editing system and shared file editing system with file content secrecy, file version management, and asynchronous editing
US6760840B1 (en) * 1994-03-15 2004-07-06 Kabushiki Kaisha Toshiba File editing system and shared file editing system with file content secrecy, file version management, and asynchronous editing
US5664183A (en) * 1994-04-19 1997-09-02 International Business Machines Corporation Application of groupware to ISO 9000 registration via facilitated work sessions
JP3727076B2 (ja) * 1994-08-25 2005-12-14 富士通株式会社 プログラム管理方法および装置
US5737600A (en) * 1994-09-12 1998-04-07 International Business Machines Corporation Method and system for log management in a coupled data processing system
US5574906A (en) * 1994-10-24 1996-11-12 International Business Machines Corporation System and method for reducing storage requirement in backup subsystems utilizing segmented compression and differencing
US5634052A (en) * 1994-10-24 1997-05-27 International Business Machines Corporation System for reducing storage requirements and transmission loads in a backup subsystem in client-server environment by transmitting only delta files from client to server
JPH08171482A (ja) * 1994-10-29 1996-07-02 Mitsubishi Electric Corp プログラムのバージョン生成方式
CA2137492C (en) * 1994-12-07 1998-07-28 Lenny Kwok-Ming Hon System for and method of providing delta-versioning of the contents of pcte file objects
US5675802A (en) * 1995-03-31 1997-10-07 Pure Atria Corporation Version control system for geographically distributed software development
US5694596A (en) * 1995-05-25 1997-12-02 Kangaroo, Inc. On-line database updating network system and method
US5671398A (en) * 1995-06-09 1997-09-23 Unisys Corporation Method for collapsing a version tree which depicts a history of system data and processes for an enterprise
US5805899A (en) * 1995-07-06 1998-09-08 Sun Microsystems, Inc. Method and apparatus for internal versioning of objects using a mapfile
US6366933B1 (en) * 1995-10-27 2002-04-02 At&T Corp. Method and apparatus for tracking and viewing changes on the web
US5745906A (en) * 1995-11-14 1998-04-28 Deltatech Research, Inc. Method and apparatus for merging delta streams to reconstruct a computer file
US5729743A (en) * 1995-11-17 1998-03-17 Deltatech Research, Inc. Computer apparatus and method for merging system deltas
US6349407B1 (en) * 1995-12-29 2002-02-19 Sun Microsystems, Incorporated Method and apparatus for re-introducing version control
US5950210A (en) * 1996-01-29 1999-09-07 Nelson; Paul M. Database row version differentiation process
US5706510A (en) * 1996-03-15 1998-01-06 Hewlett-Packard Company Zymbolic history management system
US5946490A (en) * 1996-03-22 1999-08-31 Northeastern University Automata-theoretic approach compiler for adaptive software
US6366930B1 (en) * 1996-04-12 2002-04-02 Computer Associates Think, Inc. Intelligent data inventory & asset management systems method and apparatus
US5890176A (en) * 1996-04-24 1999-03-30 International Business Machines Corp. Object-oriented document version tracking method and apparatus
US5960444A (en) * 1996-07-01 1999-09-28 Sun Microsystems, Inc. Software tool for indexing document made from plurality of smaller documents created using different versions of word processing software
US5881292A (en) * 1996-09-26 1999-03-09 Microsoft Corporation Dynamic versioning system for multiple users of multi-module software system
US5950209A (en) * 1996-10-02 1999-09-07 Alcatel Usa Sourcing, L.P. Software release control system and method
US5960196A (en) * 1996-12-18 1999-09-28 Alcatel Usa Sourcing, L.P. Software release metric reporting system and method
US5903897A (en) * 1996-12-18 1999-05-11 Alcatel Usa Sourcing, L.P. Software documentation release control system
US7330870B1 (en) 1997-02-11 2008-02-12 International Business Machines Corporation Streaming computer system and method with multi-version protocol compatibility
US5946700A (en) * 1997-10-31 1999-08-31 Oracle Corporation Method and apparatus for preserving non-current information that can be overwritten in a computer file
US6321258B1 (en) * 1997-12-11 2001-11-20 Hewlett-Packard Company Administration of networked peripherals using particular file system
US6195795B1 (en) 1997-12-19 2001-02-27 Alcatel Usa Sourcing, L.P. Apparatus and method for automatic software release notification
US7071934B1 (en) * 1998-03-20 2006-07-04 International Business Machines Corp. Method and apparatus for visually-oriented navigation of compared object versions
US7013305B2 (en) 2001-10-01 2006-03-14 International Business Machines Corporation Managing the state of coupling facility structures, detecting by one or more systems coupled to the coupling facility, the suspended state of the duplexed command, detecting being independent of message exchange
US6163811A (en) * 1998-10-21 2000-12-19 Wildseed, Limited Token based source file compression/decompression and its application
US6532588B1 (en) 1998-10-21 2003-03-11 Xoucin, Inc. User centric program product distribution
US6195796B1 (en) * 1998-10-21 2001-02-27 Wildseed, Ltd. User centric source control
US7139999B2 (en) 1999-08-31 2006-11-21 Accenture Llp Development architecture framework
US6662357B1 (en) 1999-08-31 2003-12-09 Accenture Llp Managing information in an integrated development architecture framework
US6256773B1 (en) * 1999-08-31 2001-07-03 Accenture Llp System, method and article of manufacture for configuration management in a development architecture framework
US7146608B1 (en) 1999-09-28 2006-12-05 Cisco Technology, Inc. Method and system for a software release process
US6490596B1 (en) * 1999-11-09 2002-12-03 International Business Machines Corporation Method of transmitting streamlined data updates by selectively omitting unchanged data parts
GB9930124D0 (en) 1999-12-21 2000-02-09 Ibm File system for a computer and method of synchronising sets of files
US6931592B1 (en) * 2000-05-22 2005-08-16 Microsoft Corporation Reviewing and merging electronic documents
US20050010652A1 (en) * 2000-06-22 2005-01-13 Ideogram Design S.A.R.L. Process and device for selective download of data based on index file transmitted from a central server
EP1356377A2 (en) * 2000-10-04 2003-10-29 Siemens Energy & Automation, Inc. Manufacturing system software version management
US6754717B1 (en) * 2000-10-23 2004-06-22 International Business Machines Corporation Establishing compatibility of messages for communicating between processing entities with continuous availability
US7131112B1 (en) * 2000-11-21 2006-10-31 Microsoft Corporation Managing code changes for software development
US7251752B2 (en) 2001-10-01 2007-07-31 Adams Phillip M Computerized product improvement apparatus and method
US20030105912A1 (en) * 2001-11-30 2003-06-05 Noren Gregory T. Space efficient backup technique in a storage system
US7136916B2 (en) * 2002-03-08 2006-11-14 Siemens Aktiengesellschaft Method for event management
US7219344B2 (en) * 2002-04-30 2007-05-15 Accenture Global Services Gmbh Method and apparatus for deploying programs and computing platforms to selected computers
US7337388B2 (en) * 2003-01-02 2008-02-26 Microsoft Corporation Tool-based iterative document management
US7055008B2 (en) * 2003-01-22 2006-05-30 Falconstor Software, Inc. System and method for backing up data
US20040260780A1 (en) * 2003-06-18 2004-12-23 International Business Machines Corporation System, method, and program product for managing messages
US20050076040A1 (en) * 2003-10-02 2005-04-07 Sherburne Timothy J. Communications system version processing
US7254593B2 (en) * 2004-01-16 2007-08-07 International Business Machines Corporation System and method for tracking annotations of data sources
KR100582896B1 (ko) * 2004-01-28 2006-05-24 삼성전자주식회사 소프트웨어 버전 자동 관리 시스템 및 버전 관리 방법
US7562357B2 (en) * 2004-03-08 2009-07-14 Microsoft Corporation Relational database schema version management
US7821516B2 (en) * 2004-05-17 2010-10-26 Pixar Automatic pre-render pinning of change isolated assets methods and apparatus
US20060064634A1 (en) * 2004-09-17 2006-03-23 International Business Machines Corporation Editing multiple file versions
US8775823B2 (en) 2006-12-29 2014-07-08 Commvault Systems, Inc. System and method for encrypting secondary copies of data
JP2006260314A (ja) * 2005-03-18 2006-09-28 Dainippon Screen Mfg Co Ltd アプリケーションソフトウェア構成管理装置、アプリケーションソフトウェア構成管理方法、およびプログラム
US7716182B2 (en) * 2005-05-25 2010-05-11 Dassault Systemes Enovia Corp. Version-controlled cached data store
JP4659537B2 (ja) * 2005-07-05 2011-03-30 株式会社日立製作所 ファイル提供方法、ストレージ装置及びファイル提供プログラム
US8868524B2 (en) * 2005-08-25 2014-10-21 International Business Machines Corporation Floating merge selection viewer
US8595628B2 (en) * 2005-11-29 2013-11-26 International Business Machines Corporation Method and system for reviewing text files using distributable review data packets
US8572330B2 (en) 2005-12-19 2013-10-29 Commvault Systems, Inc. Systems and methods for granular resource management in a storage network
US20070198422A1 (en) * 2005-12-19 2007-08-23 Anand Prahlad System and method for providing a flexible licensing system for digital content
US20070150433A1 (en) * 2005-12-22 2007-06-28 Mediatek Inc. Method for managing file in version control system
US8548947B2 (en) * 2006-04-28 2013-10-01 Hewlett-Packard Development Company, L.P. Systems and methods for file maintenance
US8370442B2 (en) 2008-08-29 2013-02-05 Commvault Systems, Inc. Method and system for leveraging identified changes to a mail server
US8677091B2 (en) 2006-12-18 2014-03-18 Commvault Systems, Inc. Writing data and storage system specific metadata to network attached storage device
US7603393B1 (en) * 2007-04-02 2009-10-13 Juniper Networks, Inc. Software merging utility
US20090158250A1 (en) * 2007-12-18 2009-06-18 International Business Machines Corporation Systems, methods and computer program products for operation history management for hpc programs optimization
US8769048B2 (en) 2008-06-18 2014-07-01 Commvault Systems, Inc. Data protection scheduling, such as providing a flexible backup window in a data protection system
US8484162B2 (en) 2008-06-24 2013-07-09 Commvault Systems, Inc. De-duplication systems and methods for application-specific data
US8335776B2 (en) 2008-07-02 2012-12-18 Commvault Systems, Inc. Distributed indexing system for data storage
US8307177B2 (en) 2008-09-05 2012-11-06 Commvault Systems, Inc. Systems and methods for management of virtualization data
US8307010B2 (en) * 2008-09-26 2012-11-06 Microsoft Corporation Data feature tracking through hierarchical node sets
US8943183B2 (en) * 2008-12-10 2015-01-27 Commvault Systems, Inc. Decoupled installation of data management systems
US8624898B1 (en) 2009-03-09 2014-01-07 Pixar Typed dependency graphs
AU2010232688C1 (en) 2009-03-31 2014-04-10 Commvault Systems, Inc. Systems and methods for normalizing data of heterogeneous data sources
US8209307B2 (en) 2009-03-31 2012-06-26 Commvault Systems, Inc. Systems and methods for data migration in a clustered file system
CN101551736B (zh) * 2009-05-20 2010-11-03 杭州华三通信技术有限公司 基于地址指针链表的缓存管理装置和方法
US8930306B1 (en) 2009-07-08 2015-01-06 Commvault Systems, Inc. Synchronized data deduplication
US8990249B1 (en) * 2009-07-20 2015-03-24 Hrl Laboratories, Llc Revision control server with self-hosting multi-level access controls and user notifications
US8572719B2 (en) 2010-05-28 2013-10-29 Commvault Systems, Inc. Firewall proxy systems and methods in a backup environment
US11449394B2 (en) 2010-06-04 2022-09-20 Commvault Systems, Inc. Failover systems and methods for performing backup operations, including heterogeneous indexing and load balancing of backup and indexing resources
US8504526B2 (en) 2010-06-04 2013-08-06 Commvault Systems, Inc. Failover systems and methods for performing backup operations
US8504869B2 (en) 2010-07-16 2013-08-06 Commvault Systems, Inc. Kernel swapping systems and methods for recovering a network device
US8495420B2 (en) 2010-07-16 2013-07-23 Commvault Systems, Inc. Registry key federation systems and methods
US8364652B2 (en) 2010-09-30 2013-01-29 Commvault Systems, Inc. Content aligned block-based deduplication
US8578109B2 (en) 2010-09-30 2013-11-05 Commvault Systems, Inc. Systems and methods for retaining and using data block signatures in data protection operations
US9020900B2 (en) 2010-12-14 2015-04-28 Commvault Systems, Inc. Distributed deduplicated storage system
US20120150818A1 (en) 2010-12-14 2012-06-14 Commvault Systems, Inc. Client-side repository in a networked deduplicated storage system
US9323466B2 (en) 2011-04-27 2016-04-26 Commvault Systems, Inc. System and method for client policy assignment in a data storage system
US20130227352A1 (en) 2012-02-24 2013-08-29 Commvault Systems, Inc. Log monitoring
US9292815B2 (en) 2012-03-23 2016-03-22 Commvault Systems, Inc. Automation of data storage activities
US9286327B2 (en) 2012-03-30 2016-03-15 Commvault Systems, Inc. Data storage recovery automation
US9189167B2 (en) 2012-05-31 2015-11-17 Commvault Systems, Inc. Shared library in a data storage system
US8977672B2 (en) 2012-06-08 2015-03-10 Commvault Systems, Inc. Intelligent scheduling for remote computers
US9189170B2 (en) 2012-06-12 2015-11-17 Commvault Systems, Inc. External storage manager for a data storage cell
US9218374B2 (en) 2012-06-13 2015-12-22 Commvault Systems, Inc. Collaborative restore in a networked storage system
US20140025796A1 (en) 2012-07-19 2014-01-23 Commvault Systems, Inc. Automated grouping of computing devices in a networked data storage system
US9275086B2 (en) 2012-07-20 2016-03-01 Commvault Systems, Inc. Systems and methods for database archiving
US9483201B2 (en) 2012-07-31 2016-11-01 Commvault Systems, Inc. Administering a shared, on-line pool of data storage resources for performing data storage operations
US9026498B2 (en) 2012-08-13 2015-05-05 Commvault Systems, Inc. Lightweight mounting of a secondary copy of file system data
US8938481B2 (en) 2012-08-13 2015-01-20 Commvault Systems, Inc. Generic file level restore from a block-level secondary copy
US9152665B2 (en) 2012-11-13 2015-10-06 Sap Se Labeling versioned hierarchical data
US20140181443A1 (en) 2012-12-21 2014-06-26 Commvault Systems, Inc. Archiving using data obtained during backup of primary storage
US9223597B2 (en) 2012-12-21 2015-12-29 Commvault Systems, Inc. Archiving virtual machines in a data storage system
US20140181038A1 (en) 2012-12-21 2014-06-26 Commvault Systems, Inc. Systems and methods to categorize unprotected virtual machines
US9256622B2 (en) 2012-12-21 2016-02-09 Commvault Systems, Inc. Systems and methods to confirm replication data accuracy for data backup in data storage systems
US9390109B2 (en) 2012-12-21 2016-07-12 Commvault Systems, Inc. Systems and methods to detect deleted files
US9703584B2 (en) 2013-01-08 2017-07-11 Commvault Systems, Inc. Virtual server agent load balancing
US9633033B2 (en) 2013-01-11 2017-04-25 Commvault Systems, Inc. High availability distributed deduplicated storage system
US9336226B2 (en) 2013-01-11 2016-05-10 Commvault Systems, Inc. Criteria-based data synchronization management
US9804930B2 (en) 2013-01-11 2017-10-31 Commvault Systems, Inc. Partial file restore in a data storage system
US9760444B2 (en) 2013-01-11 2017-09-12 Commvault Systems, Inc. Sharing of secondary storage data
US9720787B2 (en) 2013-01-11 2017-08-01 Commvault Systems, Inc. Table level database restore in a data storage system
US9483489B2 (en) 2013-01-14 2016-11-01 Commvault Systems, Inc. Partial sharing of secondary storage files in a data storage system
US20140281516A1 (en) 2013-03-12 2014-09-18 Commvault Systems, Inc. Automatic file decryption
US9405635B2 (en) 2013-04-16 2016-08-02 Commvault Systems, Inc. Multi-source restore in an information management system
US9727544B2 (en) * 2013-05-06 2017-08-08 Dropbox, Inc. Animating edits to documents
US9483362B2 (en) 2013-05-08 2016-11-01 Commvault Systems, Inc. Use of auxiliary data protection software in failover operations
US9483558B2 (en) 2013-05-29 2016-11-01 Commvault Systems, Inc. Assessing user performance in a community of users of data storage resources
US20150074536A1 (en) 2013-09-12 2015-03-12 Commvault Systems, Inc. File manager integration with virtualization in an information management system, including user control and storage management of virtual machines
US9590886B2 (en) 2013-11-01 2017-03-07 Commvault Systems, Inc. Systems and methods for differential health checking of an information management system
US9336228B2 (en) * 2013-12-18 2016-05-10 Verizon Patent And Licensing Inc. Synchronization of program code between revision management applications utilizing different version-control architectures
US10169121B2 (en) 2014-02-27 2019-01-01 Commvault Systems, Inc. Work flow management for an information management system
US9633026B2 (en) 2014-03-13 2017-04-25 Commvault Systems, Inc. Systems and methods for protecting email data
US10380072B2 (en) 2014-03-17 2019-08-13 Commvault Systems, Inc. Managing deletions from a deduplication database
US9811427B2 (en) 2014-04-02 2017-11-07 Commvault Systems, Inc. Information management by a media agent in the absence of communications with a storage manager
US9274790B2 (en) * 2014-04-30 2016-03-01 Oracle International Corporation Customization manager
US20160004605A1 (en) 2014-07-01 2016-01-07 Commvault Systems, Inc. Lightweight data reconstruction based on backup data
US20160019117A1 (en) 2014-07-16 2016-01-21 Commvault Systems, Inc. Creating customized bootable image for client computing device from backup copy
US20160019317A1 (en) 2014-07-16 2016-01-21 Commvault Systems, Inc. Volume or virtual machine level backup and generating placeholders for virtual machine files
US20160019224A1 (en) 2014-07-18 2016-01-21 Commvault Systems, Inc. File system content archiving based on third-party application archiving rules and metadata
US9641388B2 (en) 2014-07-29 2017-05-02 Commvault Systems, Inc. Customized deployment in information management systems
US10031917B2 (en) 2014-07-29 2018-07-24 Commvault Systems, Inc. Efficient volume-level replication of data via snapshots in an information management system
US9852026B2 (en) 2014-08-06 2017-12-26 Commvault Systems, Inc. Efficient application recovery in an information management system based on a pseudo-storage-device driver
US10360110B2 (en) 2014-08-06 2019-07-23 Commvault Systems, Inc. Point-in-time backups of a production application made accessible over fibre channel and/or iSCSI as data sources to a remote application by representing the backups as pseudo-disks operating apart from the production application and its host
US11249858B2 (en) 2014-08-06 2022-02-15 Commvault Systems, Inc. Point-in-time backups of a production application made accessible over fibre channel and/or ISCSI as data sources to a remote application by representing the backups as pseudo-disks operating apart from the production application and its host
US9405928B2 (en) 2014-09-17 2016-08-02 Commvault Systems, Inc. Deriving encryption rules based on file content
US9710465B2 (en) 2014-09-22 2017-07-18 Commvault Systems, Inc. Efficiently restoring execution of a backed up virtual machine based on coordination with virtual-machine-file-relocation operations
US9436555B2 (en) 2014-09-22 2016-09-06 Commvault Systems, Inc. Efficient live-mount of a backed up virtual machine in a storage management system
US9417968B2 (en) 2014-09-22 2016-08-16 Commvault Systems, Inc. Efficiently restoring execution of a backed up virtual machine based on coordination with virtual-machine-file-relocation operations
US10204010B2 (en) 2014-10-03 2019-02-12 Commvault Systems, Inc. Intelligent protection of off-line mail data
US9609058B2 (en) 2014-10-13 2017-03-28 Commvault Systems, Inc. Storage management operations based on executable files served on demand to storage management components
US9575673B2 (en) 2014-10-29 2017-02-21 Commvault Systems, Inc. Accessing a file system using tiered deduplication
US10776209B2 (en) 2014-11-10 2020-09-15 Commvault Systems, Inc. Cross-platform virtual machine backup and replication
US9848046B2 (en) 2014-11-13 2017-12-19 Commvault Systems, Inc. Archiving applications in information management systems
US9983936B2 (en) 2014-11-20 2018-05-29 Commvault Systems, Inc. Virtual machine change block tracking
US9632713B2 (en) 2014-12-03 2017-04-25 Commvault Systems, Inc. Secondary storage editor
US20160162364A1 (en) 2014-12-03 2016-06-09 Commvault Systems, Inc. Secondary storage pruning
US9645891B2 (en) 2014-12-04 2017-05-09 Commvault Systems, Inc. Opportunistic execution of secondary copy operations
US9753816B2 (en) 2014-12-05 2017-09-05 Commvault Systems, Inc. Synchronization based on filtered browsing
US9600273B2 (en) * 2014-12-16 2017-03-21 Google Inc. Efficient annotation system for distributed version control systems
US20160210044A1 (en) 2015-01-15 2016-07-21 Commvault Systems, Inc. Intelligent hybrid drive caching
US20160210306A1 (en) 2015-01-15 2016-07-21 Commvault Systems, Inc. Managing structured data in a data storage system
US9952934B2 (en) 2015-01-20 2018-04-24 Commvault Systems, Inc. Synchronizing selected portions of data in a storage management system
US9588849B2 (en) 2015-01-20 2017-03-07 Commvault Systems, Inc. Synchronizing selected portions of data in a storage management system
US10108687B2 (en) 2015-01-21 2018-10-23 Commvault Systems, Inc. Database protection using block-level mapping
US9575804B2 (en) 2015-03-27 2017-02-21 Commvault Systems, Inc. Job management and resource allocation
US9928144B2 (en) 2015-03-30 2018-03-27 Commvault Systems, Inc. Storage management of data using an open-archive architecture, including streamlined access to primary data originally stored on network-attached storage and archived to secondary storage
US10339106B2 (en) 2015-04-09 2019-07-02 Commvault Systems, Inc. Highly reusable deduplication database after disaster recovery
US9934265B2 (en) 2015-04-09 2018-04-03 Commvault Systems, Inc. Management of log data
US9710253B2 (en) 2015-04-16 2017-07-18 Commvault Systems, Inc. Managing a software-patch submission queue
US9904598B2 (en) 2015-04-21 2018-02-27 Commvault Systems, Inc. Content-independent and database management system-independent synthetic full backup of a database based on snapshot technology
US9639286B2 (en) 2015-05-14 2017-05-02 Commvault Systems, Inc. Restore of secondary data using thread pooling
US20160350391A1 (en) 2015-05-26 2016-12-01 Commvault Systems, Inc. Replication using deduplicated secondary copy data
US10120661B2 (en) * 2015-07-16 2018-11-06 Sugarcrm Inc. Multi-flavored software execution from a singular code base
US9766825B2 (en) 2015-07-22 2017-09-19 Commvault Systems, Inc. Browse and restore for block-level backups
US10192065B2 (en) 2015-08-31 2019-01-29 Commvault Systems, Inc. Automated intelligent provisioning of data storage resources in response to user requests in a data storage management system
US10853406B2 (en) 2015-09-18 2020-12-01 Commvault Systems, Inc. Data storage management operations in a secondary storage subsystem using image recognition and image-based criteria
US10514986B2 (en) 2015-09-30 2019-12-24 Commvault Systems, Inc. Dynamic triggering of block-level backups based on block change thresholds and corresponding file identities in a data storage management system
US10102192B2 (en) 2015-11-03 2018-10-16 Commvault Systems, Inc. Summarization and processing of email on a client computing device based on content contribution to an email thread using weighting techniques
US10228962B2 (en) 2015-12-09 2019-03-12 Commvault Systems, Inc. Live synchronization and management of virtual machines across computing and virtualization platforms and using live synchronization to support disaster recovery
US10387266B2 (en) 2015-12-23 2019-08-20 Commvault Systems, Inc. Application-level live synchronization across computing platforms including synchronizing co-resident applications to disparate standby destinations and selectively synchronizing some applications and not others
US20170192868A1 (en) 2015-12-30 2017-07-06 Commvault Systems, Inc. User interface for identifying a location of a failed secondary storage device
US10684924B2 (en) 2016-02-18 2020-06-16 Commvault Systems, Inc. Data restoration operations based on network path information
US10296368B2 (en) 2016-03-09 2019-05-21 Commvault Systems, Inc. Hypervisor-independent block-level live browse for access to backed up virtual machine (VM) data and hypervisor-free file-level recovery (block-level pseudo-mount)
US10592350B2 (en) 2016-03-09 2020-03-17 Commvault Systems, Inc. Virtual server cloud file system for virtual machine restore to cloud operations
US10303557B2 (en) 2016-03-09 2019-05-28 Commvault Systems, Inc. Data transfer to a distributed storage environment
US10248174B2 (en) 2016-05-24 2019-04-02 Hedvig, Inc. Persistent reservations for virtual disk using multiple targets
US10437937B2 (en) 2016-07-12 2019-10-08 Commvault Systems, Inc. Dynamic management of expandable cache storage for multiple network shares configured in a file server
US10747630B2 (en) 2016-09-30 2020-08-18 Commvault Systems, Inc. Heartbeat monitoring of virtual machines for initiating failover operations in a data storage management system, including operations by a master monitor node
US10162528B2 (en) 2016-10-25 2018-12-25 Commvault Systems, Inc. Targeted snapshot based on virtual machine location
US10210048B2 (en) 2016-10-25 2019-02-19 Commvault Systems, Inc. Selective snapshot and backup copy operations for individual virtual machines in a shared storage
US11106632B2 (en) 2016-11-16 2021-08-31 Commvault Systems, Inc. Dynamically configuring a proxy server using containerization for concurrent and/or overlapping backup, restore, and/or test operations
US10678758B2 (en) 2016-11-21 2020-06-09 Commvault Systems, Inc. Cross-platform virtual machine data and memory backup and replication
KR20180072436A (ko) * 2016-12-21 2018-06-29 엘에스산전 주식회사 프로그램 제공 장치
US10740193B2 (en) 2017-02-27 2020-08-11 Commvault Systems, Inc. Hypervisor-independent reference copies of virtual machine payload data based on block-level pseudo-mount
US10896100B2 (en) 2017-03-24 2021-01-19 Commvault Systems, Inc. Buffered virtual machine replication
US10613939B2 (en) 2017-03-28 2020-04-07 Commvault Systems, Inc. Backup index generation process
US10599527B2 (en) 2017-03-29 2020-03-24 Commvault Systems, Inc. Information management cell health monitoring system
US10949398B2 (en) 2017-03-29 2021-03-16 Commvault Systems, Inc. Synchronization operations for network-accessible folders
US10387073B2 (en) 2017-03-29 2019-08-20 Commvault Systems, Inc. External dynamic virtual machine synchronization
KR20180119857A (ko) * 2017-04-26 2018-11-05 현대자동차주식회사 소프트웨어 변경 영향성 분석 방법 및 장치
US10664352B2 (en) 2017-06-14 2020-05-26 Commvault Systems, Inc. Live browsing of backed up data residing on cloned disks
US11036592B2 (en) 2017-09-14 2021-06-15 Commvault Systems, Inc. Distributed content indexing architecture with separately stored file previews
US10846180B2 (en) 2017-09-14 2020-11-24 Commvault Systems, Inc. Distributed framework for task splitting and task assignments in a content indexing system
US11263088B2 (en) 2017-09-14 2022-03-01 Commvault Systems, Inc. Distributed architecture for tracking content indexing
US10846266B2 (en) 2017-09-14 2020-11-24 Commvault Systems, Inc. Distributed architecture for content indexing emails
US11086834B2 (en) 2017-09-14 2021-08-10 Commvault Systems, Inc. Distributed framework for data proximity-based task splitting in a content indexing system
US20190108341A1 (en) 2017-09-14 2019-04-11 Commvault Systems, Inc. Ransomware detection and data pruning management
US10108533B1 (en) 2017-09-25 2018-10-23 Bank Of America Corporation Enterprise framework for efficient software deployment
US10635546B2 (en) 2017-12-07 2020-04-28 Commvault Systems, Inc. Synthesizing a restore image from one or more secondary copies to facilitate data restore operations to a file server
US10740300B1 (en) 2017-12-07 2020-08-11 Commvault Systems, Inc. Synchronization of metadata in a distributed storage system
US10742735B2 (en) 2017-12-12 2020-08-11 Commvault Systems, Inc. Enhanced network attached storage (NAS) services interfacing to cloud storage
US10467121B2 (en) 2018-02-02 2019-11-05 Bank Of America Corporation Smart tool for enterprise-wide software integration and deployment
US10503496B2 (en) 2018-02-02 2019-12-10 Bank Of America Corporation Smart tool for enterprise-wide version control of codes during software integration and deployment
US10592145B2 (en) 2018-02-14 2020-03-17 Commvault Systems, Inc. Machine learning-based data object storage
US10474556B2 (en) 2018-02-20 2019-11-12 Bank Of America Corporation Multiple ruleset version scanning, warning and correction tool
US10848468B1 (en) 2018-03-05 2020-11-24 Commvault Systems, Inc. In-flight data encryption/decryption for a distributed storage platform
US10877928B2 (en) 2018-03-07 2020-12-29 Commvault Systems, Inc. Using utilities injected into cloud-based virtual machines for speeding up virtual machine backup operations
US10761942B2 (en) 2018-03-12 2020-09-01 Commvault Systems, Inc. Recovery point objective (RPO) driven backup scheduling in a data storage management system using an enhanced data agent
US11249863B2 (en) 2018-05-02 2022-02-15 Commvault Systems, Inc. Backup-based media agent configuration
US10673943B2 (en) 2018-05-02 2020-06-02 Commvault Systems, Inc. Network storage backup using distributed media agents
US11321183B2 (en) 2018-05-02 2022-05-03 Commvault Systems, Inc. Multi-tiered backup indexing
US10893103B2 (en) 2018-07-25 2021-01-12 Commvault Systems, Inc. Distributed and scalable storage management using a storage-microservices server
US10891304B2 (en) 2018-07-25 2021-01-12 Commvault Systems, Inc. Distributed and scalable client-based storage management
US11016696B2 (en) 2018-09-14 2021-05-25 Commvault Systems, Inc. Redundant distributed data storage system
US11010258B2 (en) 2018-11-27 2021-05-18 Commvault Systems, Inc. Generating backup copies through interoperability between components of a data storage management system and appliances for data storage and deduplication
US11200124B2 (en) 2018-12-06 2021-12-14 Commvault Systems, Inc. Assigning backup resources based on failover of partnered data storage servers in a data storage management system
US10860443B2 (en) 2018-12-10 2020-12-08 Commvault Systems, Inc. Evaluation and reporting of recovery readiness in a data storage management system
US11012508B2 (en) 2018-12-14 2021-05-18 Commvault Systems, Inc. Region-based distributed information management system
US11698727B2 (en) 2018-12-14 2023-07-11 Commvault Systems, Inc. Performing secondary copy operations based on deduplication performance
US10922291B2 (en) * 2018-12-21 2021-02-16 Palantir Technologies Inc. Data pipeline branching
US10872069B2 (en) 2019-01-22 2020-12-22 Commvault Systems, Inc. File indexing for virtual machine backups in a data storage management system
US11347707B2 (en) 2019-01-22 2022-05-31 Commvault Systems, Inc. File indexing for virtual machine backups based on using live browse features
US10996974B2 (en) 2019-01-30 2021-05-04 Commvault Systems, Inc. Cross-hypervisor live mount of backed up virtual machine data, including management of cache storage for virtual machine data
US10768971B2 (en) 2019-01-30 2020-09-08 Commvault Systems, Inc. Cross-hypervisor live mount of backed up virtual machine data
US11126365B2 (en) 2019-03-11 2021-09-21 Commvault Systems, Inc. Skipping data backed up in prior backup operations
US11269732B2 (en) 2019-03-12 2022-03-08 Commvault Systems, Inc. Managing structured data in a data storage system
US11321184B2 (en) 2019-03-26 2022-05-03 Commvault Systems, Inc. Streamlined secondary copy operations for data stored on shared file storage
US20200327017A1 (en) 2019-04-10 2020-10-15 Commvault Systems, Inc. Restore using deduplicated secondary copy data
US11100064B2 (en) 2019-04-30 2021-08-24 Commvault Systems, Inc. Automated log-based remediation of an information management system
US11442623B2 (en) 2019-05-02 2022-09-13 Commvault Systems, Inc. Faster browse of secondary copies of block-level data volumes
US11463264B2 (en) 2019-05-08 2022-10-04 Commvault Systems, Inc. Use of data block signatures for monitoring in an information management system
US20200401489A1 (en) 2019-06-24 2020-12-24 Commvault Systems, Inc. Content indexing of files in virtual disk block-level backup copies
US20210037112A1 (en) 2019-07-29 2021-02-04 Commvault Systems, Inc. Data storage system with rapid restore capability
US11263173B2 (en) 2019-07-30 2022-03-01 Commvault Systems, Inc. Transaction log index generation in an enterprise backup system
US11513922B2 (en) 2019-08-14 2022-11-29 Commvault Systems, Inc. Systems and methods for change block tracking for backing up changed data
US11256673B2 (en) 2019-09-11 2022-02-22 Commvault Systems, Inc. Anomaly detection in deduplication pruning operations
US11218450B2 (en) 2019-09-11 2022-01-04 Commvault Systems, Inc. Data protection component scaling in a cloud-based data storage system
US11237935B2 (en) 2019-09-11 2022-02-01 Commvault Systems, Inc. Anomaly detection in data protection operations
US20210133150A1 (en) 2019-11-04 2021-05-06 Commvault Systems, Inc. Efficient implementation of multiple deduplication databases in a heterogeneous data storage system
US11442896B2 (en) 2019-12-04 2022-09-13 Commvault Systems, Inc. Systems and methods for optimizing restoration of deduplicated data stored in cloud-based storage resources
US11237924B2 (en) 2019-12-11 2022-02-01 Commvault Systems, Inc. Dynamic resizing and re-distribution of destination data storage resources for bare metal restore operations in a data storage management system
US11223535B2 (en) 2019-12-31 2022-01-11 Commvault Systems, Inc. Smart network topology systems and methods
US11467753B2 (en) 2020-02-14 2022-10-11 Commvault Systems, Inc. On-demand restore of virtual machine data
US11334442B2 (en) 2020-03-10 2022-05-17 Commvault Systems, Inc. Management database long-term archiving to a recovery manager
US11005935B1 (en) 2020-03-10 2021-05-11 Commvault Systems, Inc. Using multiple streams with network data management protocol to improve performance and granularity of backup and restore operations from/to a file server
US11442768B2 (en) 2020-03-12 2022-09-13 Commvault Systems, Inc. Cross-hypervisor live recovery of virtual machines
US11099956B1 (en) 2020-03-26 2021-08-24 Commvault Systems, Inc. Snapshot-based disaster recovery orchestration of virtual machine failover and failback operations
US11748143B2 (en) 2020-05-15 2023-09-05 Commvault Systems, Inc. Live mount of virtual machines in a public cloud computing environment
US11687424B2 (en) 2020-05-28 2023-06-27 Commvault Systems, Inc. Automated media agent state management
US11294664B2 (en) 2020-06-05 2022-04-05 CrossVista, Inc. Version control system
US11354118B2 (en) 2020-06-05 2022-06-07 Cross Vista, Inc. Version control system
US11327663B2 (en) 2020-06-09 2022-05-10 Commvault Systems, Inc. Ensuring the integrity of data storage volumes used in block-level live synchronization operations in a data storage management system
US11537959B2 (en) 2020-06-16 2022-12-27 Commvault Systems, Inc. Dynamic computing progress tracker
US11487468B2 (en) 2020-07-17 2022-11-01 Commvault Systems, Inc. Healing failed erasure-coded write attempts in a distributed data storage system configured with fewer storage nodes than data plus parity fragments
US11494417B2 (en) 2020-08-07 2022-11-08 Commvault Systems, Inc. Automated email classification in an information management system
US11500566B2 (en) 2020-08-25 2022-11-15 Commvault Systems, Inc. Cloud-based distributed data storage system using block-level deduplication based on backup frequencies of incoming backup copies
US11108861B1 (en) 2020-08-26 2021-08-31 Commvault Systems, Inc. System for managing multiple information management cells
US11647075B2 (en) 2020-09-22 2023-05-09 Commvault Systems, Inc. Commissioning and decommissioning metadata nodes in a running distributed data storage system
US11789830B2 (en) 2020-09-22 2023-10-17 Commvault Systems, Inc. Anti-entropy-based metadata recovery in a strongly consistent distributed data storage system
US11314687B2 (en) 2020-09-24 2022-04-26 Commvault Systems, Inc. Container data mover for migrating data between distributed data storage systems integrated with application orchestrators
US11656951B2 (en) 2020-10-28 2023-05-23 Commvault Systems, Inc. Data loss vulnerability detection
US11474753B2 (en) 2020-10-30 2022-10-18 Commvault Systems, Inc. Systems and methods for backing up to a virtual tape library
US11687523B2 (en) 2020-11-25 2023-06-27 Salesforce, Inc. System and method for efficiently transferring data for offline use
US11675800B2 (en) * 2020-11-30 2023-06-13 Salesforce, Inc. Version control and execution on a mobile device
US11323513B1 (en) 2021-01-22 2022-05-03 Commvault Systems, Inc. Geo-location-based data replication
US11645175B2 (en) 2021-02-12 2023-05-09 Commvault Systems, Inc. Automatic failover of a storage manager
US11574050B2 (en) 2021-03-12 2023-02-07 Commvault Systems, Inc. Media agent hardening against ransomware attacks
US11561978B2 (en) 2021-06-29 2023-01-24 Commvault Systems, Inc. Intelligent cache management for mounted snapshots based on a behavior model
US11954513B2 (en) 2021-07-29 2024-04-09 Commvault Systems, Inc. Scalable recovery and/or migration to cloud- based custom-made virtual machines without using failed machines' credentials
US12032855B2 (en) 2021-08-06 2024-07-09 Commvault Systems, Inc. Using an application orchestrator computing environment for automatically scaled deployment of data protection resources needed for data in a production cluster distinct from the application orchestrator or in another application orchestrator computing environment
US11615147B2 (en) 2021-08-23 2023-03-28 Commvault Systems, Inc. Mobile storage manager control application for managing a storage manager of an information management system
US12033004B2 (en) 2021-09-28 2024-07-09 Commvault Systems, Inc. Dynamically provisioning computing pods in a computing resource cluster based on a resource request from a storage manager of an information management system
US12019525B2 (en) 2021-10-05 2024-06-25 Commvault Systems, Inc. Cloud-based recovery of backed up data using auxiliary copy replication and on-demand failover resources
US12008135B2 (en) 2021-12-21 2024-06-11 Commvault Systems, Inc. Controlling information privacy in a shared data storage management system

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62173552A (ja) * 1986-01-27 1987-07-30 Canon Inc 情報処理装置
JPS62173532A (ja) * 1986-01-21 1987-07-30 インタ−ナショナル ビジネス マシ−ンズ コ−ポレ−ション フアイル・デ−タの記憶方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4558413A (en) * 1983-11-21 1985-12-10 Xerox Corporation Software version management system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62173532A (ja) * 1986-01-21 1987-07-30 インタ−ナショナル ビジネス マシ−ンズ コ−ポレ−ション フアイル・デ−タの記憶方法
JPS62173552A (ja) * 1986-01-27 1987-07-30 Canon Inc 情報処理装置

Also Published As

Publication number Publication date
DE68925746D1 (de) 1996-04-04
EP0339901A3 (en) 1991-10-09
AU3337189A (en) 1989-11-02
AU615536B2 (en) 1991-10-03
EP0339901B1 (en) 1996-02-28
EP0339901A2 (en) 1989-11-02
DE68925746T2 (de) 1997-02-06
CA1316262C (en) 1993-04-13
US4912637A (en) 1990-03-27

Similar Documents

Publication Publication Date Title
JPH0228831A (ja) バージョン管理方法
US6415299B1 (en) Method for merging versions of a model in an object oriented repository
US5930806A (en) Method and system for data migration from network database to relational database
JP2694122B2 (ja) ソフトウェア・アプリケーションの自動テスト方法
JPH047640A (ja) クラス継承解決処理方法
US4833597A (en) Dictionary/directory management method in database system
US5721924A (en) Method and device for obtaining a value of a referred to variable defined in a source program having a specific variable name
CN114139923A (zh) 任务关联性分析方法、装置及计算机可读存储介质
US20090019067A1 (en) Method, apparatus, and program for inserting node
JP3444948B2 (ja) 文書編集装置および文書編集方法
JP2004118553A (ja) ワークフロー実行方法とシステム、およびそのためのプログラム
JPH11327879A (ja) 変数検索装置及び方法並びに変数検索プログラムを記録したコンピュータ読取り可能な記録媒体
JP2624751B2 (ja) コンパイル型知識処理ツールの高速推論方法
JPH05313969A (ja) ファイル一覧表示方法
JP3516843B2 (ja) データベースアクセス方法
JPH06161759A (ja) システム状態遷移ルールの検証支援方法および装置
JP2001134596A (ja) 構造化文書管理装置および構造化文書検索方法
JPH056291A (ja) テスト資源の作成・管理方法
JPH07129452A (ja) 排他制御方式
JP5048396B2 (ja) データ管理プログラム
JPS61148529A (ja) 検索方式
JPH0816448A (ja) データ群のデータ削除方法
JPH07110766A (ja) アプリケーションフレームワークの再利用方法
JPH0363735A (ja) データ定義文を利用したデータ保守方式
Kural An interactive information retrieval system:| SORGU