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
Links
- 230000008859 change Effects 0.000 claims description 78
- 238000000034 method Methods 0.000 claims description 63
- 239000002131 composite material Substances 0.000 claims description 12
- 230000009466 transformation Effects 0.000 claims description 11
- 238000011161 development Methods 0.000 claims description 10
- 238000012217 deletion Methods 0.000 claims description 6
- 230000037430 deletion Effects 0.000 claims description 6
- 230000000694 effects Effects 0.000 claims description 3
- 230000002596 correlated effect Effects 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 10
- 229910052760 oxygen Inorganic materials 0.000 description 10
- 239000011159 matrix material Substances 0.000 description 9
- 230000008569 process Effects 0.000 description 9
- 238000012545 processing Methods 0.000 description 5
- 230000015572 biosynthetic process Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 229910052717 sulfur Inorganic materials 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 238000007429 general method Methods 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
-
- Y—GENERAL 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
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99951—File or database maintenance
- Y10S707/99952—Coherency, e.g. same view to multiple users
- Y10S707/99954—Version 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
に記載されている。この論文は、ファイルのすべてのバ
ージョンを保存し、それらのファイルのバージョンを併
合する一般的な方法を解説している。
、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つの経路に沿ってファイルが開発されていくことが
あるが、ファイルの開発は、幾つかの独立した、すなわ
ち別個の経路に沿って行われることが多い。たとえば、
最初のプログラマ−は、一定のファイルをチエツクアウ
トし、第1の経路に沿って幾つかのバージョンを続けて
作成するかも知れないし、第2のプログラマ−は、同じ
一定のファイルをチエツクアウトし、第2の経路に沿っ
て幾つかのバージョンを続けて作成するかも知れない。
第1および第2経路に沿って導入された変更は、完全に
別個であるがも知れない。たとえば、二人のプログラマ
−は互いに話し合うことなく、異なる開発目標を有する
かも知れない。
別個であるがも知れない。たとえば、二人のプログラマ
−は互いに話し合うことなく、異なる開発目標を有する
かも知れない。
しかし、それらの経路は、同じ一定のファイルから分か
れているので、関連がある。
れているので、関連がある。
あるケースでは、別個の経路に沿って作成された2つの
バージョンを併合して、2つの経路に沿って導入された
変更を含むバージョンを作成したいことがある。たとえ
ば、上記の例を引用すると、第1のプログラマ−は、一
定のファイルの第1の面を改良し、第2のプログラマ−
は第2の面を改良することがある。二人のプログラマ−
の仕事が終了したとき、2つの経路から2つのバージョ
ンを併合すれば、2つの面が改良された新しいプログラ
ムを作成することができる。
バージョンを併合して、2つの経路に沿って導入された
変更を含むバージョンを作成したいことがある。たとえ
ば、上記の例を引用すると、第1のプログラマ−は、一
定のファイルの第1の面を改良し、第2のプログラマ−
は第2の面を改良することがある。二人のプログラマ−
の仕事が終了したとき、2つの経路から2つのバージョ
ンを併合すれば、2つの面が改良された新しいプログラ
ムを作成することができる。
一定のプログラムの同じ行を、併合される2つのバージ
ョン内で変更すると、併合に問題が生じる。すなわち、
行われた変更が矛盾し、コンパイル(プログラムを機械
語命令に変換すること)できない可能性がある。このた
め、2つのバージョン内で変更された行を処理するため
の規則を含む、併合プログラムが開発されている。
ョン内で変更すると、併合に問題が生じる。すなわち、
行われた変更が矛盾し、コンパイル(プログラムを機械
語命令に変換すること)できない可能性がある。このた
め、2つのバージョン内で変更された行を処理するため
の規則を含む、併合プログラムが開発されている。
多くの既存方式では、一定のバージョンに含まれる行は
、行番号で識別される。併合の際、併合されるバージョ
ン内の行番号が比較され、特定の行番号で識別された行
が合成されたバージョンに含まれるが、併合されるバー
ジョン内で同じ行が異なる行番号を有するので、合成さ
れたバージョン内で、行が重複することがよくある。
、行番号で識別される。併合の際、併合されるバージョ
ン内の行番号が比較され、特定の行番号で識別された行
が合成されたバージョンに含まれるが、併合されるバー
ジョン内で同じ行が異なる行番号を有するので、合成さ
れたバージョン内で、行が重複することがよくある。
このようなことから、テキスト・ファイルの開発バージ
ョンを保存したり、所望のバージョンを作成したり、別
個の経路に沿って開発されたバージョンを併合すること
ができる効率的な方式のソフトウェア開発ツールが要望
されている。
ョンを保存したり、所望のバージョンを作成したり、別
個の経路に沿って開発されたバージョンを併合すること
ができる効率的な方式のソフトウェア開発ツールが要望
されている。
課題を解決するための手段
本発明は、すべてのバージョンを保存したり、所望のバ
ージョンを作成したり、共通ファイルがら別個の経路に
沿って開発されたバージョンを併合したりできる方式の
バージョン開発ツールを提供するものである。好ましい
実施例では、編集の基本単位は、テキストの完全な一行
である。したがって、テキストの一定の行の中の文字を
変更するには、一定の行を削除して、変更した所望の文
字を有する新しい行で置換する必要がある。一定のファ
イルの任意のバージョンで有効な(に含まれる)すべて
の行は、索引付き行ファイルに入れられ、独自の行識別
子(ULI : Unique Line Ident
ifier)で識別される。いろいろなバージョン内の
各行の状態の経歴は、変形経歴ファイルに記録される。
ージョンを作成したり、共通ファイルがら別個の経路に
沿って開発されたバージョンを併合したりできる方式の
バージョン開発ツールを提供するものである。好ましい
実施例では、編集の基本単位は、テキストの完全な一行
である。したがって、テキストの一定の行の中の文字を
変更するには、一定の行を削除して、変更した所望の文
字を有する新しい行で置換する必要がある。一定のファ
イルの任意のバージョンで有効な(に含まれる)すべて
の行は、索引付き行ファイルに入れられ、独自の行識別
子(ULI : Unique Line Ident
ifier)で識別される。いろいろなバージョン内の
各行の状態の経歴は、変形経歴ファイルに記録される。
本発明の第1の特徴として、変形経歴ファイルは、順序
付きレコードの集まりであり、各レコードがULI、バ
ージョン番号、および状態標識を有している。第1の実
施例では、もし状態標識の値が(八)であれば、ULI
で識別された行は、レコードに含まれたバージョン番号
で識別されたバージョンおいて有効になる。もし状態標
識の値が(D)であれば、ULIで識別された行は、レ
コードに含まれたバージョン番号で識別されたバージョ
ンにおいて削除される。もし状態標識の値が(R)であ
れば、ULIで識別された行は、レコードに含まれたバ
ージョン番号で識別されたバージョンにおいて置換され
る。
付きレコードの集まりであり、各レコードがULI、バ
ージョン番号、および状態標識を有している。第1の実
施例では、もし状態標識の値が(八)であれば、ULI
で識別された行は、レコードに含まれたバージョン番号
で識別されたバージョンおいて有効になる。もし状態標
識の値が(D)であれば、ULIで識別された行は、レ
コードに含まれたバージョン番号で識別されたバージョ
ンにおいて削除される。もし状態標識の値が(R)であ
れば、ULIで識別された行は、レコードに含まれたバ
ージョン番号で識別されたバージョンにおいて置換され
る。
本発明の第2の特徴として、所望のバージョンのテキス
ト・ファイルは、変形経歴レコードを探索して所望のバ
ージョンにおいて有効な行のULIを識別することによ
って作成される。その識別された行は、行ファイルから
検索されて、作成されたテキスト・ファイルに入れられ
る。ULIが直ちに置換されることを指示するレコード
が、ULIが有効になることを指示するレコードの後に
来るように、レコードを変形経歴ファイル内に順序付け
すれば、探索は容易である。これらのレコードは一対で
処理され、そのバージョン番号が所望のバージョンのバ
ージョン番号と比較される。もしULIが所望のバージ
ョンの前に作成されたバージョンにおいて有効になり、
かつ一定のバージョンの後に来るバージョンにおいて削
除されたり、あるいは置換されれば、そのULIは所望
のバージョンにおいて有効であり、ULIで識別された
行が所望のバージョンのテキスト・ファイルの中に入れ
られる。
ト・ファイルは、変形経歴レコードを探索して所望のバ
ージョンにおいて有効な行のULIを識別することによ
って作成される。その識別された行は、行ファイルから
検索されて、作成されたテキスト・ファイルに入れられ
る。ULIが直ちに置換されることを指示するレコード
が、ULIが有効になることを指示するレコードの後に
来るように、レコードを変形経歴ファイル内に順序付け
すれば、探索は容易である。これらのレコードは一対で
処理され、そのバージョン番号が所望のバージョンのバ
ージョン番号と比較される。もしULIが所望のバージ
ョンの前に作成されたバージョンにおいて有効になり、
かつ一定のバージョンの後に来るバージョンにおいて削
除されたり、あるいは置換されれば、そのULIは所望
のバージョンにおいて有効であり、ULIで識別された
行が所望のバージョンのテキスト・ファイルの中に入れ
られる。
好ましい実施例ては、行ファイルと、FROM経路とT
O経路の変形経歴ファイルを用いて、FROM経路内の
FROMバージョンをTO経路内のTOバージョンに併
合して合成されたバージョンが作られる。併合の結果、
行は、新しいTOバージョンに追加されるか、またはT
Oバージョンから削除される。したがって、併合操作の
結果、TO変形経歴ファイルが修正されて、TO経路の
合成された変形経歴ファイルが作成される。この合成さ
れた変形経歴ファイルを用いて、TO経路内に、合成さ
れたバージョンを含む任意の所望のバージョンのテキス
ト・ファイルが作成される。
O経路の変形経歴ファイルを用いて、FROM経路内の
FROMバージョンをTO経路内のTOバージョンに併
合して合成されたバージョンが作られる。併合の結果、
行は、新しいTOバージョンに追加されるか、またはT
Oバージョンから削除される。したがって、併合操作の
結果、TO変形経歴ファイルが修正されて、TO経路の
合成された変形経歴ファイルが作成される。この合成さ
れた変形経歴ファイルを用いて、TO経路内に、合成さ
れたバージョンを含む任意の所望のバージョンのテキス
ト・ファイルが作成される。
本発明の第3の特徴として、独自の変更標識は、モジュ
ールの各バージョンを作成する操作と関連している。最
初に行をバージョンに追加するとき、その行のために作
られたULIは、バージョンに関連付けられた変更標識
と順序番号を有する。任意のバージョンについて、変更
標識リストを作ることができる。変更標識リストは、そ
のバージョンを作成するため使用されるすべての変更標
識を含んでいる。
ールの各バージョンを作成する操作と関連している。最
初に行をバージョンに追加するとき、その行のために作
られたULIは、バージョンに関連付けられた変更標識
と順序番号を有する。任意のバージョンについて、変更
標識リストを作ることができる。変更標識リストは、そ
のバージョンを作成するため使用されるすべての変更標
識を含んでいる。
併合操作の実施例では、TOバージョンとFROMバー
ジョンについて変更標識リストが作られ、両リストに含
まれる変更標識の共通リストが作られる。共通リストの
変更標識を有するULIによって識別された行の場合、
合成されたバージョン内の行の状態は、TOバージョン
とFROMバージョン内の行の状態と、所定の規則の集
まりとによって決まる。
ジョンについて変更標識リストが作られ、両リストに含
まれる変更標識の共通リストが作られる。共通リストの
変更標識を有するULIによって識別された行の場合、
合成されたバージョン内の行の状態は、TOバージョン
とFROMバージョン内の行の状態と、所定の規則の集
まりとによって決まる。
本発明のもう1つの実施例は、内部プログラムの制御の
下で動作し、そのプログラムを実行して上に述べた手順
を逐行するコンピュータである。
下で動作し、そのプログラムを実行して上に述べた手順
を逐行するコンピュータである。
索引付き行ファイルと変形経歴ファイルが作られ、コン
ピュータの記憶装置に格納され、それらのファイルを用
いて、所望のバージョンのテキストファイルが作成され
る、すなわち、2つのバージョンを併合して合成された
バージョンが作成される。
ピュータの記憶装置に格納され、それらのファイルを用
いて、所望のバージョンのテキストファイルが作成され
る、すなわち、2つのバージョンを併合して合成された
バージョンが作成される。
本発明のその他の利点や特徴は、図面を参照して以下の
詳細な説明を読まれれば明らかになるであろう。
詳細な説明を読まれれば明らかになるであろう。
実施例
本発明は、共通テキスト・ファイルの多数のバージョン
に関する情報を組織化する独特な方式を有する。この情
報は、共通テキスト・ファイルの前に作られた任意のバ
ージョンのテキスト・ファイルを直接作成することや、
任意の独立した、すなわち別個の2つの経路に導入され
た変更を効率的に併合して、これらの変更を含む合成さ
れたバージョンを作成することを考慮したやり方で組織
化される。
に関する情報を組織化する独特な方式を有する。この情
報は、共通テキスト・ファイルの前に作られた任意のバ
ージョンのテキスト・ファイルを直接作成することや、
任意の独立した、すなわち別個の2つの経路に導入され
た変更を効率的に併合して、これらの変更を含む合成さ
れたバージョンを作成することを考慮したやり方で組織
化される。
一般概念と技法
最初に、第1図と第2図を参照して、ここで使用する用
語を定義する。第1図において、モジュールは、システ
ムにチエツクインされる原始ファイル10の名前である
。この例では、モジュール名は八PPLYである。モジ
ュールのバージョンは、単一テキスト・ファイルの項で
概念化することができる。たとえば、もしテキスト・フ
ァイルXがシステム内にあれば、テキスト・ファイルX
を複製してテキスト・ファイルYを作成し、その後修正
することができる。したがって、YはXの異なるバージ
ョンを表す。次に、ファイルYは、システムにチエツク
インされて戻される。システムにチエツクインされたフ
ァイルのバージョンは変わらないので、システムにチエ
ツクインされた任意のファイルに対する要求で、チエツ
クインされた同一ファイルが検索される。
語を定義する。第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)で識
別される。
ージョン番号で識別される。バージョン(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)が形成される。
のバージョンを修正することによって作成される。第1
B図は、バージョン(M^IN、O)から作成されたモ
ジュールの2つの経路を示す。第1B図を参照すると、
経路内のバージョンがチエツクアウトされ(複製され)
、新しい経路名が付けられ、修正され、チエツクインさ
れて戻されると、新しい経路12(b)が形成される。
第1B図の例では、バージョン(MΔIN、O)がチエ
ツクアウトされ、経路名USERが付けられ、修正され
、チエツクインされる。このように、バージョン(Mへ
IN、0)からバージョン(USER,O)か作られる
。その後に2つの経路に導入される変更は独立している
。
ツクアウトされ、経路名USERが付けられ、修正され
、チエツクインされる。このように、バージョン(Mへ
IN、0)からバージョン(USER,O)か作られる
。その後に2つの経路に導入される変更は独立している
。
次に、第2図を参照して、名前付は法について説明する
。変形(Variant)は、特定のモジュールの単一
経路上の1つまたはそれ以上のバージョンに関して使用
される論理名である。この名前は、モジュール名と経路
名から成る。たとえば、第1B図では、2つの変形名は
、八PPLY : M^INと八PFLY: USER
である。バージョンの娘は、経路名とバージョン番号た
とえば(M^IN、1)を有する。
。変形(Variant)は、特定のモジュールの単一
経路上の1つまたはそれ以上のバージョンに関して使用
される論理名である。この名前は、モジュール名と経路
名から成る。たとえば、第1B図では、2つの変形名は
、八PPLY : M^INと八PFLY: USER
である。バージョンの娘は、経路名とバージョン番号た
とえば(M^IN、1)を有する。
システムの構成
第3八図は、汎用ディジタル・コンピュータにロードさ
れるバージョン管理手順13の使用法を示す。
れるバージョン管理手順13の使用法を示す。
ユーザーは、ユーザー・インタフェース14を使用して
、原始ファイル・モジュールをチエツクインし、モジュ
ールの所望のバージョンをチエツクアウトし、チエツク
アウトしたバージョンを修正し、チエツクアウトしたバ
ージョンをチエツクインし、名前を付け、新しい発展経
路を形成し、別個の経路内のモジュールを併合して、別
個の経路に沿って導入された変更を含む合成されたモジ
ュールを作ることができる。
、原始ファイル・モジュールをチエツクインし、モジュ
ールの所望のバージョンをチエツクアウトし、チエツク
アウトしたバージョンを修正し、チエツクアウトしたバ
ージョンをチエツクインし、名前を付け、新しい発展経
路を形成し、別個の経路内のモジュールを併合して、別
個の経路に沿って導入された変更を含む合成されたモジ
ュールを作ることができる。
いろいろなバージョンのテキストファイルは、機械読取
り可能な形に変換されて、構造的データーベース15に
格納される。バージョン管理手順13は、すべてのバー
ジョンのすべての行のテキストが格納されている索引付
き行ファイルを作る。各行は、独自の行識別子([1L
I)で識別される。そのほかに、バージョン管理手順1
3は、構造的データーベース15ノ中に各経路の変形経
歴(VH: VariantHistry)ファイルを
作る。変形経歴ファイルは、経路に沿った各バージョン
の行の状態に関する情報を格納する。
り可能な形に変換されて、構造的データーベース15に
格納される。バージョン管理手順13は、すべてのバー
ジョンのすべての行のテキストが格納されている索引付
き行ファイルを作る。各行は、独自の行識別子([1L
I)で識別される。そのほかに、バージョン管理手順1
3は、構造的データーベース15ノ中に各経路の変形経
歴(VH: VariantHistry)ファイルを
作る。変形経歴ファイルは、経路に沿った各バージョン
の行の状態に関する情報を格納する。
そのほかに、併合手順は、索引付き行ファイルと変形経
歴(VH)ファイルを用いて、2つの経路に沿って導入
された変更を含む合成されたバージョンを作る。
歴(VH)ファイルを用いて、2つの経路に沿って導入
された変更を含む合成されたバージョンを作る。
第3B図は、バージョン管理シス・テムとして構成し標
準型汎用ディジタル・コンピュータ17を示す。
準型汎用ディジタル・コンピュータ17を示す。
いろいろなバージョン管理手順は、コンピュータの記憶
装置にプログラムデータとして格納される。
装置にプログラムデータとして格納される。
コンピュータの記憶装置は、上記′憶装置と、ディスク
ドライブやテープドライブなどの周辺記憶装置を有する
。動作中、プログラムデータは通常のやり方で実行され
る。コンピュータの記憶装置の中に構造的データーベー
スを作り出したり、所望のバージョンのテキスト・ファ
イルを作り出したり、独立した経路からのバージョンを
併合したりするため、いろいろなバージョン管理手順が
実行される。
ドライブやテープドライブなどの周辺記憶装置を有する
。動作中、プログラムデータは通常のやり方で実行され
る。コンピュータの記憶装置の中に構造的データーベー
スを作り出したり、所望のバージョンのテキスト・ファ
イルを作り出したり、独立した経路からのバージョンを
併合したりするため、いろいろなバージョン管理手順が
実行される。
第4図は、一定の経路上に一定のモジュールの異なるバ
ージョンを作成するため使用される行ファイル(LN:
Line File)20と変形経歴(VH: Va
riantHistry)ファイル22の略図である。
ージョンを作成するため使用される行ファイル(LN:
Line File)20と変形経歴(VH: Va
riantHistry)ファイル22の略図である。
モジュールの独立した各経路ごとに、新しいVHファイ
ルが作られる。変形の新しいバージョンが作られるとき
には、いつでも、既存の最後のバージョンとチエツクイ
ンされるテキスト・ファイルとが比較される。
ルが作られる。変形の新しいバージョンが作られるとき
には、いつでも、既存の最後のバージョンとチエツクイ
ンされるテキスト・ファイルとが比較される。
その比較により、3種類の差が報告され、その結果によ
り、更新されたVHファイルが書き込まれ、そして多分
、LNファイルに追加される。これらの3種類の差とは
、 抹消: テキスト・ファイルの中で行が削除された。新
しいVHファイルに、それらのULIに関する新しいレ
コードが書き込まれる(新しいレコードは、それらの行
がこのバージョンにおいて“削除される″“ことを指示
する)。
り、更新されたVHファイルが書き込まれ、そして多分
、LNファイルに追加される。これらの3種類の差とは
、 抹消: テキスト・ファイルの中で行が削除された。新
しいVHファイルに、それらのULIに関する新しいレ
コードが書き込まれる(新しいレコードは、それらの行
がこのバージョンにおいて“削除される″“ことを指示
する)。
挿入: 変更されなかったULI ”M”を有する行の
すぐ前に、新しい行が挿入された。新しい行に新しいU
LIが割り当てられ、新しいレコードが、VHソファイ
ル中行Hに関する最初のレコードのすぐ前に導入される
。
すぐ前に、新しい行が挿入された。新しい行に新しいU
LIが割り当てられ、新しいレコードが、VHソファイ
ル中行Hに関する最初のレコードのすぐ前に導入される
。
新しい行のテキストを含む新しいレコードが、新しいU
LIを見出しとして、LNファイルに追加される。
LIを見出しとして、LNファイルに追加される。
置換: テキスト・ファイルに新しい行が導入され、チ
エツクアウトされたバージョンの1つまたそれ以上の行
が置換された。この変更は、削除と挿入の組合せとして
取り扱われる。新しいVl(ファイルに、削除された行
に関する新しいレコードが書き込まれ(新しいレコード
は、それらの行がこのバージョンにおいて置換されるこ
とを指示する)、新しいULIが新しい行に割り当てら
れ、新しいレコードが、VHソファイル中置換された行
に関するレコードのすぐ後に導入される。新しい行のテ
キストを含む新しいレコードが、新しいULIを見出し
として、LNファイルに追加される。
エツクアウトされたバージョンの1つまたそれ以上の行
が置換された。この変更は、削除と挿入の組合せとして
取り扱われる。新しいVl(ファイルに、削除された行
に関する新しいレコードが書き込まれ(新しいレコード
は、それらの行がこのバージョンにおいて置換されるこ
とを指示する)、新しいULIが新しい行に割り当てら
れ、新しいレコードが、VHソファイル中置換された行
に関するレコードのすぐ後に導入される。新しい行のテ
キストを含む新しいレコードが、新しいULIを見出し
として、LNファイルに追加される。
この実施例では、モジュールにおける変更の最小単位は
、行である。したがって、行内の文字を修正する場合、
この修正は、その行を削除し、新しい行で置き換えるこ
とによって行われる。
、行である。したがって、行内の文字を修正する場合、
この修正は、その行を削除し、新しい行で置き換えるこ
とによって行われる。
ここで第4図を参照すると、LNファイル20は、モジ
ュールのすべての開発経路内のすべてのバージョンにお
いて有効な行を有する索引付きファイルである。各行は
、2つの部分、すなわち変更標識26(モジュールに行
が追加された場合を識別する)と順序番号28(変更標
識内の行を識別する)から成る独自の行識別子(ULI
)24とによって識別される。ULIは、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ソファイル中レコー
ドは順序が付けられている。
付きリストから成る。それらのレコード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)は、(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に設定される。
イルを作成するために必要であり、経路がモジュール(
M^I8.0)から分かれたことを示している。バージ
ョン(M^IN、O)/(USER、−1)を含む、そ
れらのバージョンまでの2つの経路の開発の経過は、同
一であり、この同一性を表すために、MVHファイル中
のレコードに対応するレコードの集まりを作成すること
で、UVHファイルが作られる。対応するレコード中の
ULIと状態標識は同一であるが、UVHレコード内の
バージョン番号は−1に設定される。
(USER、−1)の作成は、トランスペアレントであ
る。通常の処理を受けるUSER経路内の最初のバージ
ョンは、(USER,−0)であり、(M^IN、O)
のテキスト・ファイルに行uuuが追加されている。
る。通常の処理を受けるUSER経路内の最初のバージ
ョンは、(USER,−0)であり、(M^IN、O)
のテキスト・ファイルに行uuuが追加されている。
バックアウト操作を用いれば、削除した行または置換し
た行を再び有効にすることが可能である。
た行を再び有効にすることが可能である。
このバックアウト操作は、モジュールの特定のバージョ
ンに関する変更を削除する。たとえば、定のULIで識
別された行を削除して、特定のモジュールを作り出すこ
とができよう。この変更をその後バックアウトすれば、
その行は再び有効になる。この有効化は、一定のULI
、バックアウト操作で作り出されたバージョンのバー
ジョン番号(VN)、および状態標識(八)を含むVl
lレコードに反映されるであろう。
ンに関する変更を削除する。たとえば、定のULIで識
別された行を削除して、特定のモジュールを作り出すこ
とができよう。この変更をその後バックアウトすれば、
その行は再び有効になる。この有効化は、一定のULI
、バックアウト操作で作り出されたバージョンのバー
ジョン番号(VN)、および状態標識(八)を含むVl
lレコードに反映されるであろう。
第5図は、最初の経路内に作られたモジュールの3つの
バージョン40を示す。これらのバージョンに対応する
LNファイル20とVHファイル22を、第4図に示し
である。次に、最初の経路に関するLNファイル20と
VHファイル22の作成について説明する。
バージョン40を示す。これらのバージョンに対応する
LNファイル20とVHファイル22を、第4図に示し
である。次に、最初の経路に関するLNファイル20と
VHファイル22の作成について説明する。
最初のバージョン40aに関するLNファイル20aは
、最初のバージョン40aのすべての行を含んでおり、
各行は、ULI 24で識別されている。ULI内の欄
Eは最初のバージョンを作成する動作に関する変更標識
である。
、最初のバージョン40aのすべての行を含んでおり、
各行は、ULI 24で識別されている。ULI内の欄
Eは最初のバージョンを作成する動作に関する変更標識
である。
第2のバージョン40bでは、最初のバージョン40a
の最初の行が新しい行で置換されている。次に、第2の
LNファイル20bを参照すると、新しい行がLNファ
イル20bに追加され、ULIで識別されている。欄S
1は、第2のバージョン40bを作成する操作に関する
変更標識である。LNファイル20bは、第2のバージ
ョン40bを作成する操作中に追加された行を入れるた
め、更新されている。
の最初の行が新しい行で置換されている。次に、第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に導入される変更を指示する追加レコー
ドを有する。
ァイル22aは、4つのレコード30を含んでおり、各
レコード30は最初のバージョンの行のULIの1つを
含み、その行がバージョン0において有効になることを
指定している。第2のVHファイル22bは、最初のV
■ファイル22aからのすべてのレコードと、第2のバ
ージョン40bに導入される変更を指示する追加レコー
ドを有する。
詳細に述べると、以下の説明を明確にするために、レコ
ードに順序番号が付けである。第2のバージョンにおい
て行E、1が置換されたことを指示するため、第2のレ
コードが追加されている。同じULIを有するレコード
が隣接していることに留意されたい。第3のレコードは
、削除された行に置き換えられた行を識別する。このレ
コードは、置き換えられた行を指示する最後のレコード
のすぐ後に来る。
ードに順序番号が付けである。第2のバージョンにおい
て行E、1が置換されたことを指示するため、第2のレ
コードが追加されている。同じULIを有するレコード
が隣接していることに留意されたい。第3のレコードは
、削除された行に置き換えられた行を識別する。このレ
コードは、置き換えられた行を指示する最後のレコード
のすぐ後に来る。
LNファイル20のように、第2のVHファイル22b
は、最初のVHファイル22aを更新することによって
作り出されるが、レコードは削除されていない。
は、最初のVHファイル22aを更新することによって
作り出されるが、レコードは削除されていない。
再び、第5図を参照すると、第3のバージョン40cは
、第2のバージョン40bの最初の2つの行を新しい行
で置換することによって更新される。新しいLNファイ
ル20cは、ULI S2.1で識別された行を第2の
LNファイル20bに加えることによって作られる。U
LIの欄S2は、第3のバージョンを作成する操作に関
する変更標識である。
、第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から作られたレコードである。
しいバージョン番号(VN)を有するレコードは、第2
のV)Iファイル22bから作られたレコードである。
第4のレコードは、第3のバージョンにおいて81.1
で識別された行が置換されることを指示する。第6のレ
コードは、第3のバージョンにおいてE、2で識別され
た行が置換されることを指示する。そして第7と第8の
レコードは、第3のバージョンにおいてS2.1とS2
,2で識別された行が追加されることを指示する。第3
のバージョンで追加された行を指示するレコードは、行
が置換されたことを指示する最後のレコードのすぐ後に
来る。
で識別された行が置換されることを指示する。第6のレ
コードは、第3のバージョンにおいてE、2で識別され
た行が置換されることを指示する。そして第7と第8の
レコードは、第3のバージョンにおいてS2.1とS2
,2で識別された行が追加されることを指示する。第3
のバージョンで追加された行を指示するレコードは、行
が置換されたことを指示する最後のレコードのすぐ後に
来る。
この時点で、経路内のすべてのバージョンのテキスト・
ファイルを作成するのに必要なすべての情報がLNファ
イル20cとVHファイル22cに入っている。選択し
たバージョンのテキスト・ファイルは、中間のバージョ
ンを作成する必要なく、直接作成される。
ファイルを作成するのに必要なすべての情報がLNファ
イル20cとVHファイル22cに入っている。選択し
たバージョンのテキスト・ファイルは、中間のバージョ
ンを作成する必要なく、直接作成される。
テキスト・ファイル作成手順
第6図は、経路内の選択したバージョン(VNH)を作
成する手順を示す流れ図である。
成する手順を示す流れ図である。
第6図を参照すると、最初にVHレコードが読み出され
(ステップ50)、保存される(ステップ52)。
(ステップ50)、保存される(ステップ52)。
続いて、次のVHファイルが読み出されるくステップ5
4)。もしそれ以上レコードが無ければ、ファイルの終
わりに達しており(ステップ56)、プロセスは、終了
ラベル(B)へ分岐する(ステップ57)。
4)。もしそれ以上レコードが無ければ、ファイルの終
わりに達しており(ステップ56)、プロセスは、終了
ラベル(B)へ分岐する(ステップ57)。
もし、そうでなければ、読み出されレコードと保存され
たレコードのULIが比較され、それらが相違するかど
うかが判断される(ステップ58)。もし相違していな
ければ、V)lファイル内のレコードの順序付けにより
、第2のレコードは、識別された行が置換されるバージ
ョン番号または削除されるバージョン番号を指示する。
たレコードのULIが比較され、それらが相違するかど
うかが判断される(ステップ58)。もし相違していな
ければ、V)lファイル内のレコードの順序付けにより
、第2のレコードは、識別された行が置換されるバージ
ョン番号または削除されるバージョン番号を指示する。
それにより、読み出されたレコードのバージョン番号が
Hと比較され、作成されるバージョンの後に来るバージ
ョンにおいて識別された行が削除されたがどうがか判断
される(ステップ60)。もしこのバージョン番号が阿
より小さけれは、前のバージョンまたは所望のバージョ
ンにおいて行が削除されているので、その行はバージョ
ンHに含跋れない。したがって、プロセスは、分岐して
点へへ戻る。
Hと比較され、作成されるバージョンの後に来るバージ
ョンにおいて識別された行が削除されたがどうがか判断
される(ステップ60)。もしこのバージョン番号が阿
より小さけれは、前のバージョンまたは所望のバージョ
ンにおいて行が削除されているので、その行はバージョ
ンHに含跋れない。したがって、プロセスは、分岐して
点へへ戻る。
もしこのバージョン番号がHより大きければ、その経路
内のすぐ後のバージョンにおいてその行が削除される。
内のすぐ後のバージョンにおいてその行が削除される。
したがって、状態標識の値が検査され(ステップ62)
、保存されたレコードのバージョン番号がHと比較され
る(ステップ64)。もし保存されたレコードのバージ
ョン番号がNより小さいか等しく、そして状態標識の値
が(^)であれば、識別された行は、前のバージョンま
たは所望のバージョンにおいて有効になり、行ファイル
から検索されて、バージョンHのテキスト・ファイルに
入れられる。もし、バージョン番号が8より大きければ
、このULIは、バージョンHに作用せず、プロセスは
点^へ分岐して戻る。
、保存されたレコードのバージョン番号がHと比較され
る(ステップ64)。もし保存されたレコードのバージ
ョン番号がNより小さいか等しく、そして状態標識の値
が(^)であれば、識別された行は、前のバージョンま
たは所望のバージョンにおいて有効になり、行ファイル
から検索されて、バージョンHのテキスト・ファイルに
入れられる。もし、バージョン番号が8より大きければ
、このULIは、バージョンHに作用せず、プロセスは
点^へ分岐して戻る。
ここで、ステップ58へ戻ると、もしULIが相違して
いれば、保存されたレコードが検査され〈ステップ62
)、バージョン番号(VN)が台と比較される (ステ
ップ64〉。もし保存されたレコードの状態標識が(八
)であり、バージョン番号(VN)が台より小さいか等
しければ、保存されたレコードのULI ’?−識別さ
れた行はテキスト・ファイルに入れられる(ステップ6
6)。もし保存されたレコードのバージョン番号が閂よ
り大きければ、識別された行はバージョンHの後に来る
バージョンに導入され、バージョンHには存在しない。
いれば、保存されたレコードが検査され〈ステップ62
)、バージョン番号(VN)が台と比較される (ステ
ップ64〉。もし保存されたレコードの状態標識が(八
)であり、バージョン番号(VN)が台より小さいか等
しければ、保存されたレコードのULI ’?−識別さ
れた行はテキスト・ファイルに入れられる(ステップ6
6)。もし保存されたレコードのバージョン番号が閂よ
り大きければ、識別された行はバージョンHの後に来る
バージョンに導入され、バージョンHには存在しない。
この場合、プロセスは点へへ分岐する。
上に述べたように、VHファイルの終わりに達するまで
、VH内の隣接する各対のレコードが処理される。対の
最初のレコードは保存されたレコードであり、対の第2
のレコードは次に読み出されたレコードである。
、VH内の隣接する各対のレコードが処理される。対の
最初のレコードは保存されたレコードであり、対の第2
のレコードは次に読み出されたレコードである。
次に、終了サブルーチン57について説明する。
状態標識が(八)であるかどうか、およびバージョン番
号(VN)が阿より小さいか等しいことを調べるために
最後のレコードが検査される(ステップ57b)。もし
上記の2つの条件に合えば(ステップ57c)、最後の
レコード内のULI″i′識別された行がバージョンH
に導入される(ステップ57d)。条件に合っていなけ
れば、その行はバージョンHに導入されず、プロセスは
呼出しプログラムへ戻る(ステップ57e)。
号(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で識別された行は含まれない。
ル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につい
てテキスト・ファイルの残りを作成するプロセスは、上
記の説明のすく後に来る。
ULIは相違していなく(ステップ58)、第4のレコ
ードのバージョン番号(VN)はHより大きく、第3の
レコードの状態標識の値は(^)であり(ステップ62
)、第1のレコードのバージョン番号(VN)はHに等
しいくステップ64)。したがって、第1のレコードで
識別された行stuは、バージョン1のテキスト・ファ
イルに含まれる(ステップ66)。バージョン1につい
てテキスト・ファイルの残りを作成するプロセスは、上
記の説明のすく後に来る。
以上により、第4図に示した手順は、一定の経路に関す
る変形経歴(Vl+)ファイルおよび行(LN)ファイ
ルを使用し、その経路内の選択されたバージョンのテキ
スト・ファイルを直接作成できることが明らかである。
る変形経歴(Vl+)ファイルおよび行(LN)ファイ
ルを使用し、その経路内の選択されたバージョンのテキ
スト・ファイルを直接作成できることが明らかである。
併合手順の説明
本方法の重要な特徴は、2つの独立した経路に沿って導
入された変更を併合して、合成されたバージョンを作成
できることである。この手順は第7図に示しである。括
弧内の文字は各バージョンを作成する操作に関する変更
標識である。これらの変更標識は該当するバージョンに
追加された新しいすべての行のULIに現れる。
入された変更を併合して、合成されたバージョンを作成
できることである。この手順は第7図に示しである。括
弧内の文字は各バージョンを作成する操作に関する変更
標識である。これらの変更標識は該当するバージョンに
追加された新しいすべての行のULIに現れる。
バージョン(T、0) 、 (T、1) 、 (1,2
)は、TO経路7゜内の最初の3つのバージョンを形成
する。FROM経路72内の最初のバージョン(F、O
)とTO経路内のバージョン(T、3)は、共にバージ
ョン(T、2)から分かれたものである。各経路は、そ
れ自体のVHファイルを有し、1つの共通LNファイル
を共有している。
)は、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経路内のすべてのバージョ
ンのテキスト・ファイルを作り出すことができるように
作成しなければならない。
合してバージョン(T、4)すなわちTOバージョンに
する操作によって、バージョン(7,2)で分かれた後
2つの経路に沿って為された変更を反映している合成バ
ージョン(7,5)が作り出される。したがって、合成
された変形経歴(RVH)ファイルは、第6図に説明し
た手順を用いて、RVHファイルから、合成されたバー
ジョン(T、5)を含むTO経路内のすべてのバージョ
ンのテキスト・ファイルを作り出すことができるように
作成しなければならない。
併合操作を実行するには、バージョン(F、2)と(T
、4)に関する変更リストが必要である。変更リストは
、そのリストを所有するバージョンを作るために利用さ
れた変更標識のリストである。表1:t、バージョン(
F、2)と(T、4)に関する変更リストを示す。
、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は、上記のリスト内の変更標識を示す。
、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)内の一定の行の状態と、所定の規則の集まり
によって判断される。
スト 八、B、C,D、E合成されたバージ
ョン内の一定の行の状態は、その一定の行を識別するU
LIに含まれる変更標識によって判断される。もし、変
更標識が共通リスト内にあれは、合成されたバージョン
内の一定の行の状態は、2つのバージョン(F、2)と
(7,4)内の一定の行の状態と、所定の規則の集まり
によって判断される。
共通リスト内の変更標識を有するULIによって識別さ
れた一定の行の状態を判断するために用いた所定の規則
の集まりは、第8図にマトリックス83で示しである。
れた一定の行の状態を判断するために用いた所定の規則
の集まりは、第8図にマトリックス83で示しである。
第8図を参照すると、マトリックス83は、FROM経
路内の一定の行の状態で明示された「行」と、TO経路
内の一定の行の状態で明示された「列」を有する。マト
リックス83の要素は、0から35の番号が付いたボッ
クスの中に記載しである。マトリックス83の「行」と
「列」を表示するために用いた記号の意味は、表3に定
義しである。さらに、マトリックス83の要素86を定
義するために用いた記号の意味は、表4に定義しである
。ボックス84内の(杓は、新しいレコードがRVHフ
ァイルに書き込まれることを示す。次に、このマトリッ
クスを使用する方法を詳しく説明する。
路内の一定の行の状態で明示された「行」と、TO経路
内の一定の行の状態で明示された「列」を有する。マト
リックス83の要素は、0から35の番号が付いたボッ
クスの中に記載しである。マトリックス83の「行」と
「列」を表示するために用いた記号の意味は、表3に定
義しである。さらに、マトリックス83の要素86を定
義するために用いた記号の意味は、表4に定義しである
。ボックス84内の(杓は、新しいレコードがRVHフ
ァイルに書き込まれることを示す。次に、このマトリッ
クスを使用する方法を詳しく説明する。
表1
(有効<−): ファイルが分岐し/前に併合された
とき、行は有効であり、それ以来変更されながった。
とき、行は有効であり、それ以来変更されながった。
(有効〉): ファイルが分岐し/前に併合された後
に、変更のバックアウトにより、このULIの変更が生
じた。
に、変更のバックアウトにより、このULIの変更が生
じた。
(非有効削除く−): ファイルが分岐し/前に併合
されたとき、行は削除され、それ以来変更されなかった
。
されたとき、行は削除され、それ以来変更されなかった
。
(非有効削除〉)・ ファイルが分岐し/前に併合され
た後に、行は削除された。
た後に、行は削除された。
(非有効置換〈−): ファイルが分岐し/前に併合
されたとき、行は置換され、それ以来変更されなかった
。
されたとき、行は置換され、それ以来変更されなかった
。
(非有効置換〉)、 ファイルが分岐し/前に併合さ
れた後に、行は置換された。
れた後に、行は置換された。
表4
併合の結果、ULIは有効のままであり、新しいVHレ
コードは書き込まれない。
コードは書き込まれない。
■= 併合の結果、ULIは非有効のままであり、新
しいVlルコードは書き込まれない。
しいVlルコードは書き込まれない。
Δ:
R: 併合の結果、ULIは置換され、新しいVll
レコードは書き込まれない。
レコードは書き込まれない。
A*: ULIがここで有効であることを指示する新
しいVFIレコードを作成する。
しいVFIレコードを作成する。
I*: ULIがここで削除されることを指示する新
しいV4fレコードを作成する。
しいV4fレコードを作成する。
R*: ULIがここで置換されることを指示する新
しいVHレコードを作成する。
しいVHレコードを作成する。
記号〈−と〉は、考えているVllレコードを作成した
変更と、共通リスト内の変更との比較結果を表す。これ
により、経路が分岐したとき、または最後に併合された
とき、VHレコードの情報が既に知られていたかどうか
、あるいは上記の最後の分岐点の後、情報が新しいもの
がどうがが判断される。
変更と、共通リスト内の変更との比較結果を表す。これ
により、経路が分岐したとき、または最後に併合された
とき、VHレコードの情報が既に知られていたかどうか
、あるいは上記の最後の分岐点の後、情報が新しいもの
がどうがが判断される。
最後の分岐点に関する変更が起きた時点を判断するため
現在用いられている方法は、VHレコード内のバージョ
ン番号と現に考えている経路上の″共通バージョン″と
を比較する必要がある。
現在用いられている方法は、VHレコード内のバージョ
ン番号と現に考えている経路上の″共通バージョン″と
を比較する必要がある。
前記“′共通バージョン番号は、標識の共通リストと、
最も早いバージョンて出発したTO経路またはFROM
経路の各有意バージョン内にある標識リストとを比較す
ることによって判断される。すべての共通標識を含んで
いる最初のバージョン、または共通リストに見いだされ
なかった標識を含んでいる最初のバージョンが、所望の
共通バージョンである。
最も早いバージョンて出発したTO経路またはFROM
経路の各有意バージョン内にある標識リストとを比較す
ることによって判断される。すべての共通標識を含んで
いる最初のバージョン、または共通リストに見いだされ
なかった標識を含んでいる最初のバージョンが、所望の
共通バージョンである。
したがって、新しい経路のバージョンOが併合されて、
その経路が分岐した元の経路に戻される単純なケースで
は、共通バージョンは、−1である。
その経路が分岐した元の経路に戻される単純なケースで
は、共通バージョンは、−1である。
次に、第9図〜第18図を参照して、2つのモジュール
を併合する手順について説明する。第9図は、FROM
経路内のバージョン(F、O) (FROMバージョン
)からMへIN経路内のバージョン(M、1)(T。
を併合する手順について説明する。第9図は、FROM
経路内のバージョン(F、O) (FROMバージョン
)からMへIN経路内のバージョン(M、1)(T。
バージョン)にする併合操作を示す。各バージョンのテ
キスト ファイルとULIが図示されている。そのほか
に、いろいろなバージョンについて、各バージョンが作
成されたとき作られなV)Iファイルが図示されている
。表5は、バージョン(F、O)と(M、1)に関する
変更リストを示す。表6は、共通TOリストと共通FR
OMリストを示す。
キスト ファイルと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である。
E、M1表1 共通りスト E FROM リスト E、FOTO リスト
E、Mlバージョン(F、0)に関す
るVHファイルは、FVHであり、バージョン(8,1
)に関するVHファイルは、TVHであり、バージョン
(8,2)に関するVUファイルは、RVIIである。
第10図は、総合的な併合操作を統括するMERGE−
MAINルーチンのステップを列挙した流れ図である。
MAINルーチンのステップを列挙した流れ図である。
このプログラムは、モジュールの2つの経路を併合する
のに必要な操作を実行する多数のサブルーチンを呼び出
す。
のに必要な操作を実行する多数のサブルーチンを呼び出
す。
次に第10図を参照すると、最初のステップ100は、
併合に含めるモジュール名と併合から除外するモジュー
ル名のリストを作ることである。この例では、モジュー
ルEは併合に含まれる。次に、併合リストを検査して、
併合するもつと多くのモジュールが存在するかどうかを
判断する(ステップ102) 6もしNoであれば、プ
ログラムは終了ラベル八103へ分岐する。もしYes
であれば、モジュールEに関するLNファイルと、FR
OM変形とTO突変形関するVHファイルが開かれ(ス
テップ104)、併合の結果、新しいVHファイル(R
VII)が作られる(ステップ106)。
併合に含めるモジュール名と併合から除外するモジュー
ル名のリストを作ることである。この例では、モジュー
ルEは併合に含まれる。次に、併合リストを検査して、
併合するもつと多くのモジュールが存在するかどうかを
判断する(ステップ102) 6もしNoであれば、プ
ログラムは終了ラベル八103へ分岐する。もしYes
であれば、モジュールEに関するLNファイルと、FR
OM変形とTO突変形関するVHファイルが開かれ(ス
テップ104)、併合の結果、新しいVHファイル(R
VII)が作られる(ステップ106)。
次に、変形経路を併合する手順が呼び出されろくステッ
プ108)。以下に、これらの手順について説明する。
プ108)。以下に、これらの手順について説明する。
もし併合がてきたならば、変形レコードが更新される(
ステップ112)。もし併合ができなければ、プログラ
ムはステップ102へ飛び越す。
ステップ112)。もし併合ができなければ、プログラ
ムはステップ102へ飛び越す。
次に、そのバージョンを記述する新しいレコードが作成
され(ステップ114)、LNファイルとVHファイル
が閉じられる(ステップ116)。プログラムはステッ
プ102へ戻る。もし併合すべきそれ以上のモジュール
がなければ、プログラムの終了部分くステップ103〉
が実行される。
され(ステップ114)、LNファイルとVHファイル
が閉じられる(ステップ116)。プログラムはステッ
プ102へ戻る。もし併合すべきそれ以上のモジュール
がなければ、プログラムの終了部分くステップ103〉
が実行される。
プログラムの終了部分(ステップ103)について説明
すると、併合を表すために、変更レコードが作成され(
ステップ103a)、新しいVllファイルが再び名付
けられ、古いVHファイルが追い出され(ステップ10
3b)、そして併合の結果が報告される(ステップ10
3c)、。
すると、併合を表すために、変更レコードが作成され(
ステップ103a)、新しいVllファイルが再び名付
けられ、古いVHファイルが追い出され(ステップ10
3b)、そして併合の結果が報告される(ステップ10
3c)、。
第11図は、MERGE−VΔRI^NT−PATHS
手順のステップを列記した流れ図である。この手順は、
あるモジュールの2つの経路を併合する仕方を管理する
。
手順のステップを列記した流れ図である。この手順は、
あるモジュールの2つの経路を併合する仕方を管理する
。
第11図について説明すると、バージョン(F、O)と
(8,1)について、TOり各ト、FROM リスト、
および共通リストが作られる(ステップ310)。これ
らのリストの内容は、表5と表6に記載しである。次に
、リストが検査され、FROMリストがTOリストのサ
ブセットであるかどうかが判断される(ステップ320
)。もしYesであれば、TOバージョン内の行の状態
を判断する際に、FROMバージョン内のすべての行の
状態が既に使用されているので、それ以上進む必要はな
い。
(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が呼び出される。
ルから最初のレコードが読み出される(ステップ340
)。次にファイルの終わりに達していないことが判断さ
れる(ステップ350)。続いて、手順は、読み出され
たレコードのULI内の変更標識を検査して、最初のT
VHレコードおよびFVHレコードのIJLI内の変更
標識が共通リスト内にあるかどうか(ステップ360)
、または最初のTVHレコード内の変更標識のみが共通
リスト内にあるかどうか(ステップ362)、または最
初のFVHレコードの変更標識のみが共通リスト内にあ
るかどうか(ステップ364)、または最初のFVHレ
コードの変更標識も最初のTVHレコードの変更標識も
共通リスト内にないかどうかが判断される。上記のどの
条件が真であるかに従って、該当するサブルーチン38
8,370,372または374が呼び出される。
次に第9図に示した例について、MERGE−VARI
^NTPATHSサブルーチン300の操作について説
明する。
^NTPATHSサブルーチン300の操作について説
明する。
TVHファイル(E、OO^)内の最初のレコードとF
VIIファイル(E、0 −I A)内の最初のレコ
ードが読み出される(ステップ340)。両レコード内
の変更標識(E)は共通りスト360の中にあるので、
サブルーチンPROCESS−BOTH−PATHSが
呼び出される(ステップ368)。
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は異なる。
する(ステップ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)。
され、そのバージョン番号がバージョン(F、O)のバ
ージョン番号より小さいか等しいかどうかが判断される
(ステップ512)。もし上記の通りであれば、レコー
ドの状態標識が保存される(ステップ513)。このケ
ースでは、レコードのバージョン番号(−1)は、FR
OMバージョンのバージョン番号より小さいので、状態
標識(八)が保存される。次の(第2)) FVHレコ
ード(E、1 −I A)が読み出され(ステップ5
14)、保存されたレコードのIILIと読み出された
次のFROMレコードのULIとが比較される(ステッ
プ516)。
このケースでは、ULIは相違しており、保存された状
態標識を用いて、所定の規則の集まりを履行するケース
命令文が実行される(ステップ518)。
態標識を用いて、所定の規則の集まりを履行するケース
命令文が実行される(ステップ518)。
前に述べたように、この規則の集まりは、第8図にマト
リックスとして示しである。第8図および表5および表
6を参照すると、2つの経路に関して、行は、分岐前、
有効であり、それ以来変更は行われなかった(Δ、<−
)。したがって、ケース命令文0が実行され、その行は
合成されたバージョンにおいて有効である。サブルーチ
ンの結果、 RVHファイルの最初のレコードは、TV
Hファイルの最初のレコードと同じであり、新しいレコ
ードは作られない。その後、サブルーチンは、呼出しサ
ブルーチンへ戻る(ステップ520)。
リックスとして示しである。第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つのレコードと同じであることがわ
かる。
トニツイテ、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)。
込まれ(ステップ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へ戻る。
出され(ステップ514)、そのULIと5番目のレコ
ードのULIとが比較される。ULIが同じであれば、
サブルーチンは分岐してステップ512へ戻る。
6番目のレコードの状態標識が保存され(ステップ51
3)、7番目のFVFIレコード(F、0 0 ^)
が読み出される(ステップ516)。6番目と7番目の
レコードのULIが比較され、相違していることが確か
められる(ステップ516)。
3)、7番目のFVFIレコード(F、0 0 ^)
が読み出される(ステップ516)。6番目と7番目の
レコードのULIが比較され、相違していることが確か
められる(ステップ516)。
次に、保存された状態標識を用いて、所定の規則の集ま
りのケース命令文の1つが実行される。
りのケース命令文の1つが実行される。
前に述べたように、この規則の集まりは、第8図に示し
たマトリックスに基づき、ケース命令文として履行され
る。第8図および表5と表6を参照すると、2つの経路
に関して、行は、分岐の後、置換された(R,>)。し
たがって、ケース命令文35が実行され、新しいレコー
ドが作られ、RVHファイルに書き込まれ、そして矛盾
メツセージが作られる。サブルーチンが実行された結果
、レコード(E、4 2 R)が作られ、7番目ノR
VI(しニア −4として書き込まれる。次に、サブル
ーチンは、呼出しサブルーチンへ戻る(ステップ52o
)。
たマトリックスに基づき、ケース命令文として履行され
る。第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)。
と共通リストの変更標識が比較され、どちらの変更標識
も共通リスト360,362,364内にないことが判
断される。したがって、サブルーチンNEWLINES
−IN−BOTH−PATI(Sが呼び出されル(ステ
ップ374)。
第17図は、このサブルーチンの流れ図である。
第17図を参照すると、最初のTV)lファイルのレコ
ードが処理された後(ステップ900)、FVHファイ
ルのレコードが処理される(ステップ91o)。もし、
2つの経路からの行が、合成されたバージョンにおいて
有効であると判断されれば(ステップ920)、警告メ
ツセージがプリントされ、有効な行が表示される(ステ
ップ922)。この特徴により、独立した経路に沿って
追加された行の間で起こり得る矛盾に対して注意が喚起
されるので、追加された行を再検査することができる。
ードが処理された後(ステップ900)、FVHファイ
ルのレコードが処理される(ステップ91o)。もし、
2つの経路からの行が、合成されたバージョンにおいて
有効であると判断されれば(ステップ920)、警告メ
ツセージがプリントされ、有効な行が表示される(ステ
ップ922)。この特徴により、独立した経路に沿って
追加された行の間で起こり得る矛盾に対して注意が喚起
されるので、追加された行を再検査することができる。
次に、これらの有効な行の追跡を維持する方法について
説明する。
説明する。
まず、ステップ900で、サブルーチンPROCESS
ULI−IN−TO−PATHが呼び出される。第14
図は、このサブルーチンの流れ図である。第14図を参
照すると、7番目のTVHレコードが新しい■■ファイ
ルへ書き込まれる(ステップ600)、8番目のTVH
レコードが読み出され(ステップ6o2)、2つのレコ
ードのULIが比較される(ステップ6o6)。
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へ
戻る。
^)であるかどうがを判断するため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)。
理と同じで、処理の結果、これらのレコード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)。
ージョン番号が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)。
れた状態を反映した新しい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番
目のレコードのULIの変更標識と共通リストの変更標
識とが比較され、ULIが共通リストの中にあるかどう
かが判断される(ステップ822)。このケースでは、
ULIは共通リスト内にないので、サブルーチンは分岐
してステップ800へ戻る。
8〜10番目のFVHレコードの処理は、上に述べた処
理と同じで、処理の結果、併合によりそれらの行が有効
になったことを反映している14〜16番目のレコード
が作られる。
理と同じで、処理の結果、併合によりそれらの行が有効
になったことを反映している14〜16番目のレコード
が作られる。
11番目のFVHレコードのULI内の変更標識が共通
リスト内にあることが判断され(ステ・ンプ822)、
サブルーチンは呼出しサブルーチンのステ・ノブ910
へ戻る(ステップ824)。2つの呼出しサブル−チン
において作られたカウントは、2つの経路内の新しい行
が合成されたバージョンにおり)で有効になることを指
示しており、警告メ・ンセージカくプリントされ、そし
て新しい行が表示される(ステップ922)。次に、サ
ブルーチンは呼出しサブル−チンのステップ350へ戻
る。
リスト内にあることが判断され(ステ・ンプ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図)が実行されて、併合手順が完了す
る。
目の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経路に為された変更が合成されたバージョンに入る
のを防止するためのものである。
RGE−ULIを示す。このサブルーチンは上の例では
使用されないが、FROMバージョンがFROMバージ
ョン内に作られた最後のバージョンでない場合に、サブ
ルーチ’y PROCESS−FROM−PATH−V
H−REC3ニよッテ呼び出されることがある。このサ
ブルーチンは、FROMバージョンの作成に続いてFR
OM経路に為された変更が合成されたバージョンに入る
のを防止するためのものである。
変更標識の作成と分岐点の判断は、第9図の例の場合に
は検査により可能であったが、数個の独立した経路が存
在し、それらの経路の間で既に併合が行われているもっ
と複雑なケースの場合は、変更リストの作成は、もっと
難しい。第19図は、そのような複雑なケースを示す略
図である。変更リストを使用して共通リストを作成する
ことは、上に述べた併合手順にとって重要であるが、さ
らに矛盾メツセージ、その他の有益な特徴の作成が容易
になる。
は検査により可能であったが、数個の独立した経路が存
在し、それらの経路の間で既に併合が行われているもっ
と複雑なケースの場合は、変更リストの作成は、もっと
難しい。第19図は、そのような複雑なケースを示す略
図である。変更リストを使用して共通リストを作成する
ことは、上に述べた併合手順にとって重要であるが、さ
らに矛盾メツセージ、その他の有益な特徴の作成が容易
になる。
次に、バージョンの変更リストを作成する一般的な手順
について説明する。この手順は、グラフ理論を応用した
ものである。有意バージョンは、変形(variant
)の最初のバージョン(バージョンO)、またはそこか
ら新しいバージョンが作成されたノく−ジョン、または
併合操作により生じたバージョン、またはそこから併合
が行われたバージョンのいずれかであると定義する。す
べての有意バージョンは、併合操作において共通のバー
ジョンになる候補のバージョンである。
について説明する。この手順は、グラフ理論を応用した
ものである。有意バージョンは、変形(variant
)の最初のバージョン(バージョンO)、またはそこか
ら新しいバージョンが作成されたノく−ジョン、または
併合操作により生じたバージョン、またはそこから併合
が行われたバージョンのいずれかであると定義する。す
べての有意バージョンは、併合操作において共通のバー
ジョンになる候補のバージョンである。
モジュールのバージョンは、有向の非循環グラフの一部
分であると考えられる。モジュールのすべてのバージョ
ンは、元の経路の元のバージョン(バージョン0)から
派生したものである。各ノ(−ジョンは、4つあるやり
方のうち1つで、すなわち、(a)データベースにモジ
ュールを追加することによって、(b)チエツクアウト
されたバージョンの中で検査することによって、(c)
新しい経路を作り出すことによって、または(d)併合
操作の結果として、作り出すことができる。
分であると考えられる。モジュールのすべてのバージョ
ンは、元の経路の元のバージョン(バージョン0)から
派生したものである。各ノ(−ジョンは、4つあるやり
方のうち1つで、すなわち、(a)データベースにモジ
ュールを追加することによって、(b)チエツクアウト
されたバージョンの中で検査することによって、(c)
新しい経路を作り出すことによって、または(d)併合
操作の結果として、作り出すことができる。
変更標識を作り出すアルゴリズムは、バージョンのグラ
フを、有意バージョンのグラフとして表すことから出発
する。各バージョンは、固有の変更リストが割り当てら
れる。変更リストは最初は空白である。最初の(最先の
)有意ノード(nocle)は、その変更リスト内にあ
る固有の変更標識を有する。次に、呼出しVISIT
(最先のノード)が作られる。ここで、VISITは、
次に説明する再帰手順である。
フを、有意バージョンのグラフとして表すことから出発
する。各バージョンは、固有の変更リストが割り当てら
れる。変更リストは最初は空白である。最初の(最先の
)有意ノード(nocle)は、その変更リスト内にあ
る固有の変更標識を有する。次に、呼出しVISIT
(最先のノード)が作られる。ここで、VISITは、
次に説明する再帰手順である。
手順VISIT (j)
(jはグラフのノードである。)
開始
各ノードkについて、リンク(j −> k)が存在す
る場合、DO 開始 もし、kが併合の結果であり、かつ ノードjの変更標識がリスト(k)の 中になければ、 リスト(k)<−COMBINE(j、k)さもなけれ
ば、 リスト(k)< −COMBIME(3,k)VISI
Tを呼び出す。
る場合、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を処理する規則は、特定のシ
ステムの要求に応じて変更することができよう。したが
って、本発明が特許請求の範囲に記載したものに限定さ
れないことは理解されるであろう。
す) 開始 合成されたリストを空にする リスト(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日 願書に最初に添付した図面の浄書
命名法を示す略図、 第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)内部モジュールの所望のバージョンが幾つかのバ
ージョンを含む開発経路内に含まれている場合に、所望
のバージョンのテキスト・ファイルを直接作成する方法
であって、開発経路内の幾つかのバージョンにおいて有
効なすべての行のテキストを索引付き行ファイルに格納
するステップ、および 前記行ファイルから所望のバージョンにおいて有効な行
のみを検索してテキスト・ファイルに入れるステップ、 から成るテキスト・ファイル作成方法。 - (2)モジュールの所望のバージョンが多数の考えられ
る経路のうちの一定の経路に含まれており、各経路が共
通モジュールのバージョン番号で識別された順序付きバ
ージョンの集まりを含んでおり、経路内の各バージョン
がすぐ前のバージョンから派生しており、経路における
各行の有効性および削除の状態の経歴がその経路の変形
経歴ファイルに格納されている場合に、モジュールの所
望のバージョンを格納する方法であって、 すべての経路内のすべてのバージョンにおいて有効なす
べての行のテキストを索引付き行ファイルに格納するス
テップ、 前記索引付き行ファイル中の各行を独自行識別子(UL
I)で識別するステップ、および一定の経路内の任意の
バージョンにおいて有効な行を識別する各ULIに関す
るレコードの集まりを、一定の経路の変形経歴ファイル
に格納するステップ(前記各レコードは、ULIで識別
された行が有効になる一定の経路内のバージョンのバー
ジョン番号の1っ、またはULIで識別された行が削除
された一定の経路内のバージョンのバージョン番号の1
っを指示する)、 から成るバージョン格納方法。 - (3)モジュールの所望のバージョンが多数の考えられ
経路のうちの一定の経路に含まれており、各経路が共通
モジュールのバージョン番号で識別された順序付きバー
ジョンの集まりを含んでおり、経路内の各バージョンが
すぐ前のバージョンから派生しており、経路内の任意の
バージョンにおいて有効な各行の有効性および削除の状
態の経歴がその経路の変形経歴ファイルに格納されてお
り、すべての経路内のすべてのバージョンにおいて有効
な行のテキストが索引付き行ファイルに格納されており
、前記索引付き行ファイル中の各行が独自性識別子(U
LI)で識別されている場合に、モジュールの所望のバ
ージョンのテキスト・ファイルを作成する方法であって
、所望のバージョンが含まれている一定の経路と、前記
一定の経路内の所望のバージョンのバージョン番号を識
別するステップ、 行ファイル中のどの行が所望のバージョンにおいて有効
であるかを判断するため前記一定の経路の変形経歴ファ
イルを探索するステップ、および 前記行ファイルから、所望のバージョンにおいて有効で
あると判断された行のテキストを検索するステップ、 から成るテキスト・ファイル作成方法。 - (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)各バージョンが考えられる多数の経路の1っに含
まれており、各経路が共通モジュールのバージョン番号
で識別された順序付きのバージョンの集まりを含んでお
り、経路内の各バージョンがすぐ前のバージョンから派
生しており、独自の変更標識が各バージョンを作成する
操作と関連付けられており、モジュールのすべての経路
に沿ったすべてのバージョンにおいて有効なすべての行
のテキストが独自行識別子(ULI)で識別されて索引
付き行ファイルに格納されており、各ULIが変更標識
と索引欄を含んでいる形式の、モジュールの幾つかのバ
ージョンを格納するバージョン管理方式において、 FROM経路内の選択されたバージョンをTO経路内の
最後のバージョンであるTOバージョンに併合してTO
経路内に合成されたバージョンのテキスト・ファイルを
作成する併合方法であって、 TO経路とFROM経路の両方において有効であった行
を識別するULIの中に含まれる変更標識の共通リスト
を作成するステップ、およびTOおよびFROMバージ
ョンにおける識別された行の状態および所定の規則の集
まりに従つて、前記共通リスト中の変更標識を有するU
LIで識別された行を合成されたバージョンのテキスト
・ファイルに入れるステップ、 から成るバージョン併合方法。 - (6)記憶装置を備え、内部プログラムの制御の下で動
作し、ユーザーが原始ファイルのモジュールを格納した
り、モジュールの新しいバージョンを作成して格納した
り、独立したモジュール開発経路(各経路は順序付きバ
ージョンの集まりである)を形成して名付けることがで
きるようになっているコンピュータであって、 前記記憶装置に格納され、すべての経路内のすべてのバ
ージョンにおいて有効なすべての行のテキストを含む索
引付き行ファイルを作成する索引付き行ファイル作成手
段(前記索引付き行ファイル中の各行は独自行識別子(
ULI)で識別される)、 前記記憶装置に格納され、一定の経路に沿ったすべての
バージョンに含まれた行を識別する各ULIと関連付け
られた一定のレコードの集まりから成る変形経歴ファイ
ルを作成する変形経歴ファイル作成手段(一定のULI
に関連付けられた一定のレコードの集まりの各レコード
は、ULIで識別された行が有効になる一定の経路内の
バージョンまたはULIが削除された一定の経路内のバ
ージョンを指示する)、および前記変形経歴ファイルと
索引付き行ファイルを使用し、中間バージョンを作成せ
ずに、前記一定の経路内の所望のバージョンのテキスト
・ファイルを直接作成する手段、 を備えているコンピュータ。 - (7)記憶装置を備え、内部プログラムの制御の下で動
作し、ユーザーが原始ファイルのモジュールを格納した
り、モジュールの新しいバージョンを作成して格納した
り、独立したモジュール開発経路(各経路は順序付きバ
ージョンの集まりであり、経路内のバージョンはバージ
ョン番号で識別される)を作成して名付けることができ
、そしてモジュールのすべての経路に沿ったすべてのバ
ージョンにおいて有効なすべての行のテキストを含む索
引付き行ファイルおよび一定の経路の変形経歴ファイル
を前記記憶装置内に形成するようになっているコンピュ
ータであって、 前記索引付き行ファイルは、行ファイル中の各行に関連
付けられた独自性識別子(ULI)を有し、 前記変形経歴ファイルは、順序付きレコードの集まりを
有し、 各レコードは、一定の経路内のバージョンの1っにおい
て有効な行に関連付けられた独自性識別子を有しており
、独自性識別子で識別された行が有効になる一定の経路
内のバージョン番号の1っ、または独自性識別子で識別
された行が削除されている一定の経路内のバージョン番
号の1っを指示することを特徴とするコンピュータ。
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)
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)
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4558413A (en) * | 1983-11-21 | 1985-12-10 | Xerox Corporation | Software version management system |
-
1988
- 1988-04-26 US US07/183,190 patent/US4912637A/en not_active Expired - Lifetime
-
1989
- 1989-04-21 JP JP1103317A patent/JPH0228831A/ja active Pending
- 1989-04-24 DE DE68925746T patent/DE68925746T2/de not_active Expired - Fee Related
- 1989-04-24 EP EP89304043A patent/EP0339901B1/en not_active Expired - Lifetime
- 1989-04-24 AU AU33371/89A patent/AU615536B2/en not_active Ceased
- 1989-04-25 CA CA000597671A patent/CA1316262C/en not_active Expired - Fee Related
Patent Citations (2)
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 |