JPH07117895B2 - ソースデータのためのバージョン管理方法および装置 - Google Patents

ソースデータのためのバージョン管理方法および装置

Info

Publication number
JPH07117895B2
JPH07117895B2 JP3252960A JP25296091A JPH07117895B2 JP H07117895 B2 JPH07117895 B2 JP H07117895B2 JP 3252960 A JP3252960 A JP 3252960A JP 25296091 A JP25296091 A JP 25296091A JP H07117895 B2 JPH07117895 B2 JP H07117895B2
Authority
JP
Japan
Prior art keywords
version
data
level
file
source
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.)
Expired - Lifetime
Application number
JP3252960A
Other languages
English (en)
Other versions
JPH04248623A (ja
Inventor
リチャード、デアー、フォスター
エロリー、ケント、マッコーリー
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH04248623A publication Critical patent/JPH04248623A/ja
Publication of JPH07117895B2 publication Critical patent/JPH07117895B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

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

Landscapes

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

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はソフトウェア開発支援ツ
ールの分野に関する。より詳細には、本発明は単一エン
ティティーにプログラムソースデータの複数のバージョ
ンを記憶して異なるアクセス機構のバージョンに対する
変更を許可するためのシステムに関する。
【0002】
【従来の技術及び課題】バルクデータ記憶ライブラリは
一般にソフトウェア開発プロジェクト用のソースコード
あるいは出版界についてのブックバージョンのような関
係データの大型レポジトリとして機能する。
【0003】一般にこれらアプリケーションではソース
データの多数のバージョンを維持し、バージョン化技術
がデータの容易に理解される直感的な考察を与えること
が本質的に要求される。
【0004】最近のバルクデータ記憶技術は下記のよう
な種々の方法によりデータバージョンの記憶と取り出し
を可能にしている。
【0005】1) フルコピーバージョン化はデータの
多数のバージョンを維持する最も基本的な方法である。
与えられた一つのソースオブジェクトの各バージョンの
多数のフルコピーの維持には大容量の記憶媒体(DAS
D)が必要であり、DASDの使用が問題でない場合に
小さいバルクデータアプリケーションにおいてのみ一般
に適用可能である。
【0006】2) デルタバージョン化は一つの共通の
ベースに対し多数の変更をなすことを可能にすると共に
DASDのより効率のよい利用を可能にする。デルタバ
ージョン化は一般に一つの与えられたベースバージョン
に対する変化(デルタ)のみを表わす多数の小さいファ
イルの作成により行われる。しかしながらデルタバージ
ョン化では夫々の与えられるバージョンをそれをつくる
潜在的に多数の複数ファイルからはじめに作成し、その
後それを再構成するための固有のマージプロセスを使用
する必要がある。更に、これら複数ファイル間の従属関
係は別の制御ファイル(これはデータの一つのバージョ
ンを記憶させたりとり出したりすべき時毎に別途アクセ
スしなくてはならない)内に一般に維持される。デルタ
ファイルはまた変化されるべきラインを固有に識別する
ための何らかの外部機構を必要とする。基本的に二種の
デルタスキームがある。すなわち、フルソースコピーが
最も古いバージョンであり、デルタがより新しいバージ
ョンを表わすようなものおよびフルソースコピーが最新
のバージョンでありデルタがより古いバージョンである
ものである。前者の形式を“順”デルタ、後者を“逆”
デルタと呼ぶ。
【0007】3) いくつかのバージケョン化スキーム
が開発されており、それらはマージオペレーションに用
いることの出来る各ラインを固有に識別するために一つ
のファイル内の各レコードにライン識別子を付加するも
のである。しかしながら、この方法の実行にはマージ制
御情報をつくり維持する多数の別ファイル(各バージョ
ンに1個ずつ)をつくり維持しなければならない。そう
しないとバージョン従属性はレコードが可能でなくな
り、あるいは追跡が可能でなくなる。
【0008】今日の情報処理アプリケーションは大いに
拡張されたバルクデーダバージョン制御能力を、そのデ
ータの効率よく利用する拡張能力と共に必要とする。
【0009】これら技術によりアクセスされるべきキー
エリアは次の通りである:a) ソースデータの複数バ
ージョンを同時にアクセスし、制御し、そして変更する
能力。
【0010】b) ソースに対する増分的変化のヒスト
リを維持し、それら変化が生じたヒストリ上の順位を固
有に識別する能力。
【0011】c) 一つの関係バージョンに対する変化
を検出し、記録し、その通知を与える能力。
【0012】d) 制御データおよびソースデータ、並
びにアプリケーションで定義されるデータをより感覚的
に制御された、効率のよい方法で維持する能力。
【0013】e) 多量のデータ記憶要求を容易にする
際に外部記憶機構(DASD)の使用を最少にする能
力。
【0014】本発明は単一エンティティーバージョン化
(SEV)と呼ぶ新規なバルクデータ記憶技術を提供す
るものである。
【0015】固有の制御構造を用いることによりSEV
は単一エンティティーのコンファイン内のソースデータ
の複数のバージョンの記憶を効率よく可能にする。SE
Vはこれを完全なカプセルの形でソースと組合される固
有のバージョン識別と制御データの発生と維持により達
成する。
【0016】本発明の目的は特定の現存するバージョン
から新しいソースバージョンの導出を可能にすると共に
従属性(または関係)バージョンの識別および記録表記
法をサポートすることである。
【0017】本発明の他の目的は変化が生じたヒストリ
的順で識別される増分的ソース変化のアクティビティの
完全なヒストリを与えることである。
【0018】本発明の他の目的はバルクデータの従属性
(または関係)バージョンを識別するための手段を提供
することである。
【0019】本発明の他の目的は基礎の、あるいは関係
のバージョン変化を検出し、記録し、その通知を与える
能力を提供することである。
【0020】本発明の更に他の目的は任意の特定された
バージョンレベルでエンティティー内にアプリケーショ
ン定義データを記録する能力を与えることである。本発
明の他の目的はソースデータエンティティー内の特定さ
れたバージョンレベルへの逐次化されたアクセスを与え
ることである。
【0021】
【課題を解決するための手段】上記目的を達成するため
に本発明は、CPU、主記憶装置および補助記憶装置か
らなるシステム記憶装置、アプリケーションプログラ
ム、およびシステム記憶装置内にあって個々のデータ項
目を有する、ソースデータのバージョンを備えたプログ
ラミングコード発生システムにおいて、ソースデータの
ためのバージョン管理を行うバージョン管理装置であっ
て、データレポジトリおよび抽出手段を備え、 I)データレポジトリはシステム記憶装置内にあって、
一つまたはそれ以上のバージョン/レベル制御データフ
ィールド対を有する制御データエレメントと、一つまた
はそれ以上のデータ項目データエレメントとを有し、 a)制御データエレメントのバージョン/レベル制御デ
ータフィールド対のそれぞれは、ソースコードのバージ
ョンのレベルを固有に識別するものであって、 i) ソースデータのバージョンのうちの一つを識別す
るバージョン識別子を含むバージョン制御データエレメ
ント、および ii)一つまたはそれ以上のポインタ変数を有するポイ
ンタ変数フィールドを含むレベル制御データエレメント
を有し、 b)データ項目データエレメントのそれぞれはプレフィ
ックスフィールドおよびデータフィールドを有し、プレ
フィックスフィールドは一つまたはそれ以上のポインタ
変数のうちのただ一つを含み、データフィールドは個々
のデータ項目のうちの一つを含み、プレフィックスフィ
ールドのうちの二つ以上が共通のポインタ変数を持って
おり、 II)抽出手段はアプリケーションプログラムにより呼
出し可能であって、データレポジトリからソースデータ
のバージョンの特定のバージョンレベルを抽出するもの
であって、読出し制御手段および読出しデータ手段を有
し、読出し制御手段は制御データエレメントを得るのに
用いられ、読出しデータ手段はデータ項目データエレメ
ントのそれぞれを読出すことにより特定のバージョンレ
ベルのコピーをつくり、特定のデータ項目データエレメ
ントのプレフィックスエリア内のポインタ変数が特定の
バージョンを識別するバージョン識別子を有するバージ
ョン制御データエレメントと対をなすレベル制御データ
エレメント内の一つまたはそれ以上のポインタ変数のう
ちの一つと一致したとき、データ項目データエレメント
のうちの特定の一つをコピー内に選択的に置くものであ
る、ソースデータのためのバージョン管理装置を提供す
るものである。
【0022】
【実施例】オペレーションの観点から、SEVは使用ア
プリケーション“内”となるように設計される。好適な
実施例ではSEV機能(SEV)は内部プログラム呼出
しを介してその使用アプリケーションによりとり出され
る。次の呼出し可能な機能は上記のキー機能を行う。
【0023】a) 抽出。一つのSEVファイルから一
つの特定されたバージョンを抽出し、それを表示ファイ
ルに置く(この表示ファイルからそれを編集しうる)。
【0024】そしてオプションとして、一つのSEVフ
ァイルから選ばれたユーザ(アプリケーション定義)デ
ータを抽出し、それを一つの特定された受信ファイルに
置く。
【0025】b) 記憶。前レベルファイルに対し変更
されたファイルを比較し、変化を検出し、記憶されるべ
き新しいSEVファイルを構成する。
【0026】そしてオプションとして、一つの特定され
たユーザファイルからとり出されたユーザデータを記憶
されるべきSEVファイルに置く。
【0027】c) 消去。SEVファイルから一つの特
定されたバージョンまたは変更レベルを消去する。
【0028】d) BLCDリセット。一つの特定され
たBLCDリストエントリ(ファイルが記憶されたとき
に構成された)を削除する。
【0029】e) LOCKON/LOCKOFF。S
EVエンティティーのVCDまたはLCD制御データ内
にSEVロックフラグのオン/オフ“状態”をセットす
る。このロックフラグをSEV抽出オペレーションで検
査し、ロックフラグ“オン”のとき選択されたバージョ
ンまたはレベルを抽出せず、適正なリターンコードをア
プリケーションにもどす。
【0030】f) PUTDATA。特定された入力フ
ァイルからアプリケーション定義のデータをコピーし、
それをSEVエンティティー内のECD、VCDまたは
LCD制御データエリアに記録する。
【0031】g) GETDATA。SEVエンティテ
ィーのECD、VCDまたはLCD制御データエリアか
らアプリケーション定義のデータをとり出し、そのデー
タを特定された出力ファイルに書込む。
【0032】はじめに、次の定義をこの実施例において
用いる用語に対して行う。
【0033】a) バルクデータ、ソースデータまたは
ソース。大型ファイルに一般に含まれるデータのタイプ
であり、本の内容データ、プログラムソースコード等が
それである。
【0034】b) 導出バージョン。前のバージョンか
らはじめに導出されるソースバージョン。前のバージョ
ン“にもとづく”ソースバージョンである。
【0035】c) 基本/関係バージョン。より高次の
バージョンを導出するソースデータ。
【0036】d) 制御データ。一般には他のデータに
ついての処理情報の照合のためまたはそれを含めるため
に用いられるデータエンティティー。
【0037】e) タイムスタンプ。多くのアプリケー
ションではタイムスタンプの使用は一般的である。これ
は事象がそれの生じるヒストリ上のシーケンスにより識
別しうるようにその事象に“日付および/または時刻”
仕様を付加するために用いられる。
【0038】f) 呼出し/使用。アプリケーションS
EVはアプリケーションプログラムで呼出し可能な一群
の機能として動作するように設計される。SEVの機能
は一般にその機能により定義されるようにSEV出力フ
ァイル、データファイル、および種々の演算情報をもど
す。すべてのSEV機能は各オペレーションの完了時に
“成功/失敗”インジケータをもどす。
【0039】g) 編集済テキスト。エンドユーザ(す
なわちプログラマまたは本の編集者)により一般に作成
され、検討され、変更されるソースファイルに対する照
合。
【0040】h) バージョン。ファイルへの反復的な
変更を一般に表わすソースファイルの版。ソースファイ
ルの新しいバージョンはしばしばそのファイルの前のバ
ージョンから導出される。SEV内の各バージョンは1
以上の“変更レベル”(異なるタイムスタンプをもつバ
ージョンのインスタンス)からなる。
【0041】i) SEVファイル。SEVファイルは
SEV技術に組込まれた種々の機能によりつくられ維持
されるワーキングファイルである。SEVファイルはソ
ースの複数のバージョンおよびそのソースについて動作
するのに必要な制御データを保持する単一エンティティ
ーである。
【0042】SEV技術はその好適な実施例において多
数の共通なプログラミング技術を利用する。これら技術
は周知であり専門的なプログラミング界で受け入れられ
ている。
【0043】a) 入力/出力処理。標準I/O処理が
すべてのSEVの読取および書込動作について用いられ
る。これには標準I/Oエラーチェックおよび処理、フ
ァイルエンド(EOF)処理が含まれる。
【0044】b) 外部記憶媒体。好適な実施例では記
憶媒体として直接アクセス記憶装置(DASD)の使用
を想定している。DASDはバルク記憶(ライブラリ)
アプリケーションで用いられる共通記憶媒体である。
【0045】c) 記憶域マッピング。このプログラミ
ング技術は処理のために記憶手段に書込まれるとき外部
的に記憶されたデータを“マッピング”するために用い
られる。記憶域マッピングにより、特定のデータに定義
された変数名がタグされる。この技術はSEV制御デー
タを照合し、一致して処理しうるようにする。
【0046】d) アレイ処理。このプログラミング技
術は記憶域にマッピングされたデータをスキャンするた
めに用いられる。SEVはバージョンポインタ、ポイン
タ変数リストデータ、SEV組込み機能用制御データ等
の検索のために標準アレイ処理技術を用いる。
【0047】ポインタ変数リストの概念はSEVバージ
ョン処理を容易にするキーとなる方法である。
【0048】a) 新しいソースバージョンがつくられ
る度ごとに新しいポインタ変数リストがつくられる。夫
々のリストは全体としてソースの一つの固有のバージョ
ンを構成するラインポインタ変数シーケンス(すなわち
ライン番号)を含む。SEVポインタ変数リストはレベ
ル制御データ(LCD)内に維持される(図11参
照)。
【0049】b) 一つの新しい変更バージョンがすで
に存在するバージョン仕様内につくられると、一つの新
しいポインタ変数リストがつくられ、そのバージョンの
LCDエレメントにすでに存在するものに加えられる。
この特徴はソースの夫々の増分的な変更レベルが保存さ
れてアクセスされうるようにそのレベルを固有に識別す
る能力を与える。
【0050】c) SEVのキー特徴はSEVファイル
に記憶されたソースオブジェクトの各バージョンを固有
に識別する。各ポインタ変数リストに時間スタンプを付
すことにより、SEVは各バージョンをそれがつくられ
た順に固有に識別することが出来るようになる。
【0051】次にSEV制御ライン構成を述べる。
【0052】基本的なSEV制御ライン構造は次の三つ
の制御データエレメントからなっている。
【0053】i) エンティティー制御データ(EC
D)。エンティティーレベルデータ、HILINE値す
なわち最高の現割当てライン番号、およびオプションと
してのアプリケーション定義データを識別する。SEV
エンティティー1つにつき1個のECDエレメントのみ
が存在する。
【0054】ii) バージョン制御データ(VCD)。
バージョンレベルデータ、バージョン/レベル仕様、S
EVベースレベル変化検出リスト、SEV組込み機能制
御変数、およびオプションとしてのアプリケーション定
義データを識別する。
【0055】c) レベル制御データ(LCD)。SE
Vタイムスタンプ付ポインタ変数リストおよびオプショ
ンとしてのアプリケーション定義データを含む。LCD
エレメント内の各タイムスタンプは特定の変更レベルま
たはそのバージョンのインスタンスに対応する。
【0056】SEV“ECD”制御データ(図11の1
001)は常にソースエンティティー内の第1エレメン
トである。1つのエンティティーには1個のECD制御
データエレメントのみがある。ECDデータに続き、ソ
ースのバージョンの数により付加的な制御データエレメ
ントがある。ECDエレメントはエンティティーレベル
のSEV制御データを記録し、そのエンティティーレベ
ルにアプリケーション定義データ(すなわち全体として
そのエンティティーに適用するデータ)を記録するため
に使用される。ECDエレメントは次のものを含む。
【0057】a) アプリケーション定義データ(10
01A) b) このSEVエンティティー内のバージョンの数
(1001B) c) 現HILINE識別子(1001C)。
【0058】SEV“VCD”制御データ(図11の1
002)は常に一対の制御データエレメント(LCDデ
ータと結合した)の内の第1のものであって、固定バー
ジョン制御データを記録するために用いられる。VCD
エレメントもバージョンレベルのアプリケーション定義
データの記録に用いられる。VCDエレメントは次のも
のを含む。
【0059】a) バージョン識別(1002A) b) アプリケーション定義データ(1002B) c) バージョン識別子(1002C) d) ベース識別子(1002D) e) ロックフラグ(1002E) f) BLCDエントリリスト(1002F) g) 次のLCDエレメント内のポインタ変数リストの
数(1002G) SEV“LCD”制御データ(図11の1003)は常
に一対の制御データエレメント(VCDデータと結合し
た)の内の第2のものであり、SEVタイムスタンプ付
ポインタ変数リストの記録に用いられる。1つのLCD
エレメントには2以上のタイムスタンプ付ポインタ変数
リストがある。これは複数の変化が一つの与えられたバ
ージョンに対しなされるとき生じる。実際のタイムスタ
ンプ付ポインタ変数リストはタイムスタンプ(1003
C)、ポインタ変数の数(1003D)およびポインタ
変数自体(1から多数のエントリまで)(1003E、
F、G)からなる。LCDエレメントは次のものを含
む。
【0060】a) アプリケーション定義データ(10
03A) b) ロックフラグ(1003B) c) タイムスタンプ値(1003C) d) 次のリスト内のポインタ変数の数(ここでは3個
が示されている)(1003D) e) ポインタ変数1(1003E) f) ポインタ変数2(1003F) g) ポインタ変数3(1003G)。
【0061】プログラム開発支援環境において最も重要
な因子の一つは、複数レベルの従属ソースコードを発生
し維持する際にそのソースの基本(または関係)バージ
ョンが変更されたことについての特定の知識である。想
定によれば、ソースの下位レベルへの変更は発生順序に
従ってその開発支援環境を正しく維持するためにそのソ
ースの高次レベルのバージョンへと順方向にフィットさ
れるべきものとする。この知識がないと、或る低次レベ
ルの変化(これは高次バージョンに含まれるべきもの)
が検出されず正しくない結果を生じさせる。ソースの複
数バージョンが複数の人により同時に変更されつつある
場合には、この状況は極めて制御し難いものとなる。
【0062】ベースレベル変更検出(BLCD)はSE
Vの組込み機能であって、そのソースの従属バージョン
が変更された事実を自動的に検出し記録する機能であ
る。バージョンが記憶されるべき時に生じるこのプロセ
スに対し次の三つの基本的段階がある。
【0063】1. そのソースの一つのバージョンが変
更されたことの決定(ファイル比較プロセス毎に)。
【0064】2. 従属バージョンの識別のためSEV
VCD制御データの走査(ベース識別子仕様で決定さ
れる)。
【0065】3. 各バージョンのBLCDリスト内の
変更されたバージョンの識別の記録。
【0066】より高次のレベルのバージョンへの次のア
クセスは、ベースレベルの変更が検出されたこと、およ
びどの特定バージョンが実際に変更されたかについての
自動的な通知をもたらす。この情報は呼出しアプリケー
ションにもどされる。
【0067】ベースレベル変更検出はVCD制御データ
エレメント内のバージョン識別子フィールドとベース識
別子フィールドを利用して検査されるべき従属バージョ
ンの連鎖を決定する。
【0068】(注):バージョン識別子は一つの新しい
バージョンがつくられるときに割当てられる単なる
“次”の値である。ベース識別子はその新しいバージョ
ンがつくられるときに特定される基本/関係バージョン
識別子をポイントする。例えば次の通りである。
【0069】 この例ではPARTAに三つのバージョン(VER.
A,VER.B,VER.C)があり、VER.Aが変
更されたとしている。第2タイムスタンプ付ポインタ変
数リスト(VER.Aの第2変更レベルを示す)に注意
されたい。
【0070】1. 第1VCD/LCD制御データ群
(VER.A)の照合。
【0071】バージョンID(A)は“01”であっ
て、これがこのソースの1回目の発生であることを示
す。
【0072】従属性ID(B)は“00”であって、こ
のレベルが他のレベルのいずれにも従属しないことを示
す。
【0073】ベースID(B)は“00”であるから、
VER.A(C)についてのBLCD内部リストは関係
する従属性レベルのないことを示す。
【0074】2. 第2VCD/LCD制御データ群
(VER.B)の照合。
【0075】バージョンID(A)は“02”であり、
これがこのソースの2回目の発生であることを示す。
【0076】ベースID(B)は“01”であり、この
バージョンが前のバージョンID“01”にもとづくも
のであることを示す。
【0077】VER.B(C)についてのBLCDリス
トはバージョンID“01”(および適正に付加された
タイムスタンプ“TS2”)を含み、それにVER.B
が従属する。
【0078】3. 第3VCD/LCD制御データ群
(VER.C)の照合。
【0079】バージョンID(A)は“03”であり、
これがそのソースの3回目の発生であることを示す。
【0080】ベースID(B)は“02”であり、この
バージョンが前のバージョンID“02”(これはその
前のバージョンID“01”にもとづく)にもとづくこ
とを示す。
【0081】VER.C(C)についてのBLCDリス
トはバージョンID“01”(および適正に付されたタ
イムスタンプ“TS2”)を含み、それにVER.Cが
従属する(VER.Bを介して)。
【0082】(注):BLCDリストは行われた「基
本」変化の数により複数のエントリを含むことが出来
る。各バージョンIDに付加されるタイムスタンプは変
化されたバージョン/変更レベルに対する特定の照合を
与える。選ばれたBLCDエントリはBLCDリセット
機能によりアプリケーションの制御によって削除しう
る。一般に、BLCDリセット機能はエンドユーザのア
クション(例えば基本変化の解決)が行われた後の通知
を「オフ」にするために用いることが出来る。ロジック
フロー SEV抽出オペレーション: SEVディスプレイエンティティービルトオペレーシ
ョン(図1)はアプリケーションプログラムがレポジト
リからソースエンティティーの一つのバージョンをとり
出すように命令されたとき呼出される。一般に、このと
り出されたソースは検討され、変更され、そしてレポジ
トリにもどされる。
【0083】図1の101において、選ばれたSEVエ
ンティティー(入力ファイル)がレポジトリから読取ら
れて処理アレイにマッピングされる。102で、VCD
制御データエレメントが走査されてこの選ばれたバージ
ョンIDおよびそれに対応するポインタ変数リストを見
い出す。103でロックフラグ状態が検査され、「オ
ン」であれば「ロック完了状態」リターンコードが10
4でセットされ、呼出しプログラムへリターンがなさ
れ、「オフ」であれば105で各ソースラインがSEV
入力ファイルから、そのファイルのエンド(EOF)が
106で検出されるまで読出される。各ソースラインが
読出されると、付加ラインIDが107においてポイン
タ変数リスト内の各エントリと比較される。ポイタン変
数リスト内のエントリと照合する各ラインIDは108
でディスプレイ出力ファイルに書込まれる。106にお
いて、SEV入力ファイル内でファイルエンドとなる
と、ベースレベル変化検出(BLCD)リストが109
で検査される。BLCDリストエントリが110で見出
されれば、エントリリストとBLCDリターンコードイ
ンジケータが呼出しプログラムにもどされるべきものと
してセットされる。この新しくつくられたディスプレイ
ファイルと、もしあればELCDリストのアドレスが適
正なリターンコードインジケータと共に111で呼出し
プログラムにもどされる。SEV記憶オペレーション: SEV記憶エンティティービルトオペレーション(図
2、3)はアプリケーションプログラムが変更されたフ
ァイルをレポジトリにもどすように命令されたとき呼出
される。キーSEVアルゴリズムおよびSEVエンティ
ティーをつくり維持するように設計された処理ロジック
のほとんどはこのとき実行される。
【0084】201でSEVファイルが特定のバージョ
ンについてすでに存在するかどうか、または新しいSE
Vエンティティーをつくるべきかどうかのテストがなさ
れる。これが新しいSEVエンティティーであれば、初
期値“1”が202において第1ポインタ変数として用
いられる。値“1”はADDID変数に割当てられ、そ
こでそれがソース内の各ラインのタグ付けに用いられ
る。次に203においてADDID番号(#)がこのバ
ージョン用につくられた新しいタイムスタンプ付ポイン
タ変数リストに置かれる。ADDID変数は204にお
いて入力ファイル内の各ラインのはじめに付加される。
各ラインは205においてこの新しくつくられたSEV
出力ファイルに置かれ、呼出しプログラムにもどる。
【0085】201でのテストが、このSEVエンティ
ティーがすでに存在することを示すならば、前レベルの
バージョンが206で比較のために抽出される。この比
較はそのファイル207の前のレベルに対し記憶される
べきファイルのバージョンを比較することである。これ
らファイルが同じであれば、呼出しプログラムにもど
る。異なれば208で比較プログラムはその比較結果を
比較出力ファイルに書込む(詳細は「比較プログラム」
で述べる)。比較出力ファイルは209で読込まれて相
対レコード番号と実際に変化したラインデータをとり出
す。比較ファイルが210(図3)でエンドとならない
限り、前のレベルファイルが211で読込まれ、ライン
数の読みの順次カウントが維持される。このラインカウ
ントはファイル内の相対位置の追跡を可能にする。比較
プログラム出力ファイルからとり出された相対レコード
番号は212において前のレベルファイルの相対レコー
ド番号と比較される。両者が等しくなければ、このライ
ン(前のレベルファイルから読出される)は変更されず
SEV出力ファイルに213で直接コピーされる。もし
等しければこのライン(前レベルファイルから読出され
る)は付加または削除ラインとして比較プログラム出力
において識別されるラインと照合する。
【0086】214で比較データが「削除」ラインを示
す場合には、図4に示す処理が行われる。まず301に
おいて、新しいHILINE数がECD制御データエレ
メント内のHILINE値からとり出される。HILI
NE値は常に「最後に使用された」ラインID番号を反
映する。HILINE番号は1だけ増加され、この増加
された番号がDELID変数内に置かれる。ラインID
は比較プログラムにより識別されるラインにあるとき3
02で保存される。このラインIDは前のバージョンに
あるこの削除されたラインに対する前の照合を識別し、
適正に更新する。SEV制御データ内のポインタ変数リ
ストのすべてが303で走査されて削除されたラインに
対する照合をさがす。整合ポインタ変数があれば、新D
ELID変数がそのポインタ変数リストに加えられる。
このアクションにより、処理中の「削除」ラインはすべ
ての前のバージョンにより適正に照合され続ける。DE
LID変数は次に比較プログラム出力内に識別されるソ
ースラインのはじめに付加される。DELID値は次に
305でSEV制御データ内のHILINE値に置かれ
る。複数の「削除」ラインが比較プログラム出力ファイ
ルに識別される場合には、夫々の削除ラインは固有のD
ELID値(HILINE+1)を受け、前のバージョ
ンのポインタ変数リストの同じ処理が行われる。固有の
DELID変数の付加された「削除」ソースラインは次
に306でSEV出力ファイルに置かれる(注:「削
除」ラインの処理は前のバージョンのポインタ変数リス
トの更新のみを含む。削除されたラインに対する照合は
記憶中のソースのバージョンのポインタ変数リストには
ない。)。比較出力ファイルは次に再び読出され(図2
の209)で次の相対レコード番号と実際に変化したラ
インデータをとり出す。
【0087】比較データ(図3の215)が「付加」ラ
インを示すなら(「削除」でない場合)、図5に示すよ
うな処理が行われる。まず401で新しいHILINE
番号(#)がECD制御データエレメント内のHILI
NE値からとり出される。このHILINE値は常に
「最後に使用された」ラインのID番号を反映する。こ
のHILINE番号は1だけ増加され、ADDID変数
に置かれる。次に402でこのADDID変数は処理中
のこの新しいバージョンについてのポインタ変数リスト
に置かれる。この値はこの記憶動作について比較プログ
ラム出力に識別されたすべての付加ラインを識別するた
めに用いられる。ADDID変数は次に403で比較プ
ログラム出力内で識別されたソースラインのはじめに付
加される。この付加されたソースラインは404でSE
V出力ファイルに置かれる。この比較出力ファイルは次
に再び読込まれ(図2の209)で次の相対レコード番
号と実際に変化したラインデータをとり出す。210で
のテストが比較ファイルのエンドを検出すると、前レベ
ルファイル内の変化しないラインの残部が216,21
7でSEV出力ファイルにコピーされる。
【0088】上記のように、ベースレベル返歌検出はす
べての従属バージョンのBLCDリスト内の変更された
ソースバージョンのバージョンIDをレコードするSE
Vの特徴である。図3に示す他の処理はBLCDに関係
する。
【0089】218で走査がVCD制御データエレメン
ト内のバージョンID/ベースIDデータ内に含まれる
バージョン従属性連鎖について行われて処理中のバージ
ョンに従属するソースバージョンを識別する。この走査
は219において、従属性連鎖のエンドとなるとき終了
する。この連鎖における220で見出された夫々の識別
される従属性バージョンについて、その従属性バージョ
ンのBLCDリスト内で処理中のバージョンのバージョ
ンIDが221でレコードされる。各バージョンについ
ての結果としてのこのときのBLCDリストは変化され
た現バージョンにより潜在的に影響されるソースの各バ
ージョンのリストを含む(注:このBLCDリストは呼
出しプログラムが一つの与えられたソースバージョンの
とり出しを要求するたびにSEV抽出プロセスで検査さ
れる。もし一つのBLCDリストが存在すれば、それが
固有のリターンコードと共に呼出しプログラムにもどさ
れる。この情報は基本の(または関係の)バージョン変
化を呼出しプログラムに知らせる役割をもつ。)。最後
に付加されたADDIDまたはDELID値(これら二
つの値の内の大きい方)がECD制御データエレメント
内のHILINE値に置かれ(図2の222)、以降の
処理が次のHILINE値を利用することになる。HI
LINE値の処理が完了する時点222ですべての必要
な制御データは処理されており、すべてのソースライン
はSEV出力ファイルに適正な順に置かれている。この
SEV出力フィイルのアドレスは呼出しプログラムにも
どされる。
【0090】上述したBLCD方法はSEV VCD制
御データエレメント内に保持されるBLCDリストを構
成する。このBLCD処理はSEV STOREプロセ
ス内の部分機能として実行される。
【0091】他の方法はSTOREプロセスで部分的に
行うのではなく、SEVEXTRACTプロセスの部分
機能としてBLCD処理全体を開始するものである。こ
の方法は次のように行われる:i) VCD制御データエ
レメント内のBLCDエントリリストがバージョン/レ
ベル従属性リストで置換えられる点を除き、SEV構成
とあまり変わらない。各従属性リストエントリはバージ
ョンIDとそれに対応する変更レベルタイムスタンプと
からなる。バージョン/レベル従属性エントリは新しい
バージョンが特定されるときにSEV STOREオペ
レーションの部分として一つのバージョンが記憶される
たびに従属性リスト内に置かれる。このエントリは特定
のバージョンとその新しいバージョンを導出させる変更
レベル(そのタイムスタンプを介して)を識別する。更
に、エントリは従属性仕様コマンドを介して入力され
る。
【0092】ii) EXTRACTオペレーションの部
分としてSEV処理は抽出されつつあるバージョンのバ
ージョン従属性リストからとり出される各バージョン/
レベル従属性エントリのタイムスタンプ値を比較し、こ
のタイムスタンプ値を適正な基本または関係バージョン
にある各変更レベルのタイムスタンプ値と比較する。こ
れら基本または関係バージョンは抽出されたバージョン
の従属性リストで識別されるバージョン(それに上記抽
出されたバージョンが従属する)である。
【0093】iii) 比較されるバージョン/レベルのタ
イムスタンプより「高い」適正なバージョン/レベルの
タイムスタンプはその基本または関係バージョンが抽出
されるバージョンの最後のアクセス以来変化されたこと
を示す。夫々の識別された、変化したバージョン/レベ
ルは使用アプリケーションに使用可能なリストに組入ら
れる。
【0094】iv) 前の実施例と同様に、基本の変化し
たバージョンが識別されると、自動BLCD通知が使用
アプリケーションにもどされ、その変化したバージョン
リストがアクセスされる。
【0095】v) BLCDリセットオペレーションは特
定されたバージョン/レベル従属性エントリを削除する
か、あるいはより高いタイムスタンプで特定されたエン
トリを更新することにより行われる。エントリの削除は
そのバージョンを適正基本バージョンとしては識別され
得ないようにする。エントリをより高い(または最高)
の基本変更レベルのタイムスタンプに等しいタイムスン
タプで更新する場合には従属性エントリは維持されつづ
けるという効果があるが、比較オペレーションは「将
来」の基本変化を識別するためにのみリセットされる。比較プロセス: 前述のように、SEVは変更されたファイル(記憶中
の更新されたファイル)をそのファイルの元のバージョ
ンと比較するために標準的比較プロセスを利用する。こ
の比較プロセスの唯一の要件はその出力が「差」ファイ
ルを含むことである。
【0096】この比較の目的は「付加」されまたは「削
除」されているラインの形の2つのファイルの間の差を
識別することである。この比較プロセスはそのファイル
内の各ラインの位置を識別するために相対ライン番号と
呼ぶ基準値を割当てる。付加され、削除されたライン
(そして夫々の番号)はそのファイル内のそれらの位置
に対して識別される。この差情報は比較出力ファイルに
置かれる。
【0097】この例では比較出力ファイル内の相対ライ
ン番号は前のレベル(マージ)ファイルを参照する。そ
れ故プロセスが比較出力ファイルと前のレベルファイル
をアクセスして新しいマージドファイルをつくる。変化
のないラインは前レベルファイルからコピーされ識別さ
れた、付加/削除ラインが適正な順で新しいファイルに
組入れられる。サンプル比較プログラム出力 マージファイル:FILE.A ターゲットファイル:FILE.B Rel Line# Dels# Adds# C 000005 000002 LINEA−このラインは付加済 LINEB−このラインは付加済 C 000014 000001 LINEC−このラインは削除済 C 000055 000001 000002 LINEX−このラインは削除済 LINEY−このラインは付加済 LINEZ−このラインは付加済 この例は次の事を示す: ファイル内のライン番号“000005”において2ラ
インが付加された(LINEAおよびLINEB)。
【0098】ファイル内のライン番号“000014”
において1ラインが削除された(LINEC)。
【0099】ファイル内のライン番号“000014”
において1ラインが削除され(LINEX)、2ライン
が付加された(LINEYおよびLINEZ)。SEV BLCDリセットオペレーション 図6に示すSEV BLCDリセットオペレーション
はBLCDリストエントリを削除するために使用され
る。まず51おいて選ばれたSEVエンティティー(入
力フィイル)が読まれる。次に52で選ばれたバージョ
ンBLCDリストが参照され、53でこの特定されたB
LCDリストエントリが削除される。54でSEV出力
ファイルのアドレスが呼出しプログラムにもどされる。SEV消去オペレーション 図7に示すSEV消去オペレーションは現在バージョ
ンまたは変更レベルを消去するために使用される。まず
601で選ばれたSEVエンティティー(入力ファイ
ル)が読込まれる。バージョン消去が602で特定され
ると、バージョン制御データ(VCD)エレメントとす
べての関係レベル制御データ(LCD)エレメントの両
方が603で削除される。変更レベル消去が604で特
定されると、特定されたレベル制御データ(LCD)エ
レメント内のポインタ変数リストのみが605で削除さ
れる。制御データは606で走査されて消去の結果とし
て発生する「参照されない」ソースラインがあるかどう
かを決定する。もしあれば607でそれらラインを削除
する。SEV出力ファイルのアドレスは608で呼出し
プログラムにもどされる。SEV PUTDATAオペレーション 図8のSEV PUTDATAオペレーションは特定
された入力ファイルからアプリケーション定義データを
コピーし、SEVエンティティー内のECD、VCDま
たはLCD制御データエリアにそのデータを記録するた
めに使用される。701で選ばれたSEVエンティティ
ー(入力ファイル)が読込まれる。要求により特定され
るECD(702)、VCD(704)またはLCD
(706)により、入力ファイルは適正な制御データエ
リアにコピーされる(703,705または707)。
再構成SEV出力プログラムのアドレスが呼出しプログ
ラムにもどされる(708)。SEV GETDATAオペレーション 図9のSEV GETDATAオペレーションはEC
D、VCDまたはLCD制御データエリアからアプリケ
ーション定義データをとり出し、そのデータを特定され
た出力ファイルに書込むために用いられる。まず801
で選ばれたSEVエンティティー(入力ファイル)が読
まれる。ECD(802)、VCD(804)またはL
CD(806)のどれが特定されたかにより、適正な制
御データが特定された出力ファイルにコピーされる(8
03,805または807)。次に呼出しプログラムに
もどされる。SEV LOCKON/OFFオペレーション 図10のSEV LOCK ON/OFFオペレーシ
ョンはSEVエンティティーのVCDまたはLCD制御
データエリアにSEV LOCKフラグのオン/オフ
「状態」をセットするために用いられる。まず901で
選ばれたSEVエンティティー(入力ファイル)が読込
まれる。特定されたのがVCD(902)かLCD(9
06)かにより、そしてロックが「オン」(904,9
08)または「オフ」(905,909)にセットされ
るべきかにより(検査903と907で示すように)適
正な処理が行われる。再構成SEV出力ファイルのアド
レスが呼出しプログラムにもどされる(910)。 図12はSEV制御データエレメントの例を含むSE
Vエンティティーの概念図である。全エンティティーは
単一のカプセルの形で含まれる。また、STORE処理
(図2、3)で述べたように順次割当てられるポインタ
変数“0001”、“0002”等は発生を時間順に識
別される増分的なソース変化アクティビティーのヒスト
リを与える。 1. 項目1101はECDエレメント(図11の10
01で抽象的に定義される)を示し、そこに、例えばア
プリケーション定義名“PARTA”が記録される。 2. 項目1102はVCDエレメントを示し、そこに
例えばアプリケーション定義バージョン仕様(VER.
A)が記録される。 3. 項目1103はLCDエレメントを示しそこに例
えばタイムスタンプ付ポインタ変数リストが記録(項目
1104)されて対応するVCDエレメント(項目11
02)で特定されるバージョンを示す。 4. 項目1104は他のVCDエレメントを示し、そ
こに例えばアプリケーション定義バージョン仕様(VE
R.B)が記録される。 5. 項目1106はLCDエレメントを示し、そこに
例えばタイムスタンプ付ポインタ変数リストが記録され
(項目1107)、対応するVCDエレメント(項目1
105)に特定されるバージョンを表わす。 6. 項目1108は他のVCDエレメントを示し、そ
こに例えばアプリケーション定義バージョン仕様(VE
R.C)が記録される。 7. 項目1109はLCDエレメントを示し、そこに
例えば2つのタイムスタンプ付ポインタ変数リストが記
録され(項目1110と1111)、対応するVCDエ
レメント(項目1108)に特定されるバージョンの2
つの変更レベルを表わす。 8. 項目1112はポインタ変数“0001”を接頭
部とするソースライン群を示す。 9. 項目1113はポインタ変数“0002”を接頭
部とする第2のソースライン群を示す。 10. 項目1114はポインタ変数“0003”と
“0004”を接頭部とする第3のソースライン群を示
す。 11. 項目1115は3個の制御データエレメントの
構造内に記録しうるアプリケーション定義データを示
す。 各バージョン仕様に関連するポインタ変数リストは、抽
出されたときに全体でソースの正しい表示を構成するソ
ースラインを識別するのに適したポインタ変数を含む。SEVポインタ変数処理ロジックシナリオ 以下の4つのシナリオはソースファイルの初期発生と
その後のそのファイルへの変更を処理するためのロジッ
クステップを示す。図13は編集されたファイルがエン
ドユーザにどのように見えるかを、図14〜17はSE
Vファイルがそれへの変更がなされるときどのようにな
るかを示すものである。
【0100】各ステップに付す参照番号は図1〜7のフ
ローを参照するものである。 VER.A 新データエンティティーの初期記憶(図13の120
1)。VER.A:一つの新SEVエンティティーがは
じめにECDエレメントに含まれるパート名でつくら
れ、バージョン“VER.A”がVCDエレメントに置
かれ、タイムスタンプ付ポインタ変数リストがLCDエ
レメントに置かれる。図14は編集されたソースが記憶
されるときの結果としてのSEVエンティティーを示
す。 201 これは新SEVエンティティー。 202 初期ポインタ変数を“1”にセット。 203 変数“1”を付加タイムスタンプ(ts1)と
共にVER.Aについての新しくつくられたポインタ変
数リストに置く。 204 初期ポインタ変数“1”をファイル内の各レコ
ードに付す。 205 各レコードを出力ファイルに置く。 222 ADDID値“1”を制御データ内のHILI
NE値フィールドに置く。 223 SEVファイルのアドレスを呼出しプログラム
にもどす。 VER.B バージョンBはバージョンAから導出され、ライン
“X”が編集されたファイルに付加された(図13の1
202)ものである。新しいVCD/LCD制御エレメ
ント対がつくられて新しいバージョン“VER.B”と
新しいタイムスタンプ付ポインタ変数テーブルを識別す
る。図15は編集されたソースが記憶されるときの結果
としてのSEVエンティティーを示す。 201 これは現存するSEVエンティティー。 206 比較のために前レベルバージョン(VER.
A)を獲得。 207 VER.Bの更新されたファイルを前バージョ
ン(VER.A)と比較。 208 比較プロセスで比較ファイルをつくり、ライン
Xを付加ライン(その適正な相対レコード番号をもつ)
として識別。 209 比較ファイルを読取り、相対レコード番号と変
更(付加/削除)情報を取り出す。 210 比較ファイルのEOFテスト。 211 前レベルファイルを読込み、読取られたライン
の数のラインカウントを維持。 212 ラインカウントが相対レコード番号に等しいか
どうかを決定。 213 No:変化のないラインを出力ファイルに置く
(ラインカウントが相対レコード数に等しくなるま
で)。 215 比較出力ファイルが「付加」されたレコードを
示す。 401 HILINE番号が制御データからとり出され
て“1”だけ増加される。加算ID値(ADDID)は
2となる。ADDID値“2”がラインXを表わすポイ
ンタ変数として割当てられる。 402 ADDID値“2”をVER.B用の新しくつ
くられたポインタ変数リスト(これはVER.Aポイン
タ変数リストから導出された)に置き、新しいタイムス
タンプ(ts1)を与える。 403 ADDID値“2”をラインXに付加。 404 ラインXを出力ファイルに置く。 209 比較ファイルを再び読込み、エンドオブファイ
ル(EOF)インジケータをもどす。 216,217 入力ファイル内のレコードの他のもの
を出力ファイルに置く(前レベルファイルのEOFま
で)。 218 バージョン従属性連鎖を走査(BLCDテス
ト)。 219 従属性走査のエンド(何もなし)。 222 ADDID値“2”を制御データ内のHILI
NE番号フィールドに置く。 223 SEVファイルのアドレスを呼出しプログラム
にもどす。 VER.C(変更レベル1) バージョンCはバージョンBから導出されたものであ
り、ライン“D”が編集されたファイルから削除されて
いる(図13の1203)。VER.C(変更レベル
1):新しいVCD/LCD制御エレメント対がつくら
れて新しい“VER.C”と新しいタイムスタンプ付ポ
インタ変数リストを識別する。図16は編集されたソー
スが記録されるときの結果としてのSEVエンティティ
ーを示す。 201 これは現存するSEVエンティティーである。 206 比較のために前レベルバージョン(VER.
A)を取込む。 207 VER.Cについての更新されたファイルを前
バージョン(VER.B)と比較。 208 比較プロセスで比較ファイルをつくり、ライン
Dを削除ライン(その適正な相対レコード番号で)とし
て識別する。 209 比較ファイルを読込み、相対レコード番号と変
更(付加/削除)情報をとり出す。 210 比較ファイルのEOFテスト。 211 前レベルファイルを読込み、読取られたライン
の数のラインカウントを維持。 212 ラインカウントが相対レコード数に等しいか? 213 No:変化のないラインを出力ファイルに置く
(ラインカウントが相対レコード数に等しくなるま
で)。 214 比較出力ファイルが「削除」レコードを示す。 301 HILINE数“2”を制御データからとり出
し、“1”だけ増加する。削除ID値(DELID)は
3となる。DELID値“3”をラインDを表わすポイ
ンタ変数として割当てる。 302 ラインDについての前のポインタ変数“1”を
保持。 303 ラインDの新ポインタ変数は“3”であるか
ら、すべての前のポインタ変数リストをその前のポイタ
ン変数“1”の値について走査する。VER.AとVE
R.Bについてのポインタ変数リストがポインタ変数
“1”への照合を含むものとして見出されると、新DE
LID値“3”がVER.AとVER.Bのポインタ変
数リストに付加される。 304 DELID値“3”をラインDに付加。 305 DELID値“3”を制御データHILINE
数に置く。 306 ラインDを出力ファイルに置く。 209 比較ファイルを再び読込み、EOFインジケー
タをもどす。 216,217 入力内のレコードの他のものを出力フ
ァイルに置く(前レベルファイルからのEOFまで)。 218 バージョン従属性連鎖を走査(BLCDテス
ト)。 219 従属性走査のエンド(何もなし)。 222 DELID値“3”を制御データ内のHILI
NE数に置く。 223 SEVファイルのアドレスを呼出しプログラム
にもどす。 VER.C(変更レベル2) バージョンC(2)はバージョンC(1)から導出され
たものであり、ライン“B”は編集ファイル内で“B”
に変えられた(図13の1204)。VER.C(変更
レベル2):新しいタイムスタンプ付ポインタ変数リス
トが現存のLCDエレメントに付加される。図17は編
集されたソースが記録されるときの結果としてのSEV
エンティティーを示す。 201 これは現存するSEVエンティティーである。 206 比較のために前レベルバージョン(VER.
A)を取込む。 207 VER.C(2)用の更新されたファイルを前
バージョンVER.C(1)と比較。 208 この比較プロセスが出力ファイルを発生し、ラ
インBを検出ラインとして(その適正な相対レコード番
号で)識別し、ラインBを付加ライン(その適正な相
対レコード番号で)として識別する。 209 この比較ファイルを読取り、「第1」相対レコ
ード番号と変化(付加/削除)情報をとり出す。 210 比較ファイル用EOFテスト。 211 前レベルファイルを読込み、読取ったラインの
数のラインカウントを維持。 212 ラインカウントは相対レコード番号と同じか。 213 No:変化しないラインを出力ファイルに置く
(ラインカウントが相対レコード番号と同じになるま
で)。 214 比較ファイル出力が削除レコードを示す。 301 HILINE番号“3”を制御データからとり
出し1を加算。削除ID値(DELID)は4となる。
DELID値“4”をラインBを表わすポインタ変数と
して指定。 302 ラインBの前のポインタ変数“1”を保持。 303 ラインBは新ポインタ変数“4”を受けるか
ら、すべての前ポインタ変数リスト、その前のポインタ
変数値“1”についても走査する。VER.A、VE
R.B、VER.C(1)のポインタ変数リストがポイ
ンタ変数“1”への参照を含むから、新DELID値
“4”をVER.A、VER.BおよびVER.C
(1)用ポインタ変数リストに付加。 304 DELID値“4”をラインBに付加。 305 DELID値“4”を制御データHILINE
番号に置く。 306 ラインBを出力ファイルに置く。 209 比較ファイルを再び読込み、「次」の相対レコ
ード番号と変更(付加/削除)情報をとり出す。 210 比較ファイル用EOFテスト。 211 前レベルファイルを読込み、読取ったラインの
数のラインカウントを維持。 212 ラインカウントは相対レコード番号と同じか。 213 No:変化しないラインをこのカウントが相対
レコード番号と同じになるまで出力ファイルに置く。 215 比較ファイル出力は付加レコードを示す。 401 HILINE番号“4”を制御データからとり
出し1を加える。加算ID(ADDID)値は5にな
る。ADDID値“5”をラインBを表わすポインタ
変数として指定。 402 ADDID値“5”をVER.C(2)用の新
しくつくられたポインタ変数リスト(これは元のVE
R.C(1)ポインタ変数リストからとり出された)に
置き、新しいタイムスタンプ(ts2)を与える。 403 ADDID値“5”をラインBに適用。 404 ラインBを出力ファイルに置く。 209 比較ファイルを再び読込み、EOFインジケー
タをもどす。 216,217 入力内のレコードの残りのものを出力
ファイルに置く(前レベルファイルからのEOFま
で)。 218 バージョン従属性連鎖を走査(BLCDテス
ト)。 219 従属性走査のエンド(何もなし)。 222 最後のID値“5”(ADDID)を制御デー
タ内のHILINE番号に置く。 223 SEVファイルのアドレスを呼出しプログラム
にもどす。
【図面の簡単な説明】
【図1】EXTRACT処理を示すフローチャート。
【図2】STORE処理を示すフローチャート。
【図3】STORE処理を示すフローチャート。
【図4】DELETE LINES処理を示すフローチ
ャート。
【図5】ADD LINES処理を示すフローチャー
ト。
【図6】ベースレベル変更検出リセットオペレーション
を示すフローチャート。
【図7】ERASEオペレーションを示すフローチャー
ト。
【図8】PUTDATAオペレーションを示すフローチ
ャート。
【図9】GETDATAオペレーションを示すフローチ
ャート。
【図10】LOCK ON/OFFオペレーションを示
すフローチャート。
【図11】ECD、VCDおよびLCDの構造を示す制
御ブロック図。
【図12】SEVファイルの概念図であってサンプルデ
ータと制御エレメントを示す図。
【図13】SEVファイルに対する反復変更の例を示す
ブロック図。
【図14】例バージョンAを記憶することによるSEV
エンティティーを示す図。
【図15】例バージョンBを記憶することによるSEV
エンティティーを示す図。
【図16】例バージョンC、変更1を記憶することによ
るSEVエンティティーを示す図。
【図17】例バージョンC、変更2を記憶することによ
るSEVエンティティーを示す図。
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 25TH ACM/IEEE DESIG N AUTOMATION CONFER ECE,PROCEEDINGS 1988. 12 JUNE 1988,ANAHEIM,U S PAGE275−281 H.−T.CHO U ET AL. VERSIONS A ND CHANGE NOTIFICAT ION IN AN OBJECT−OR IENTED DATABASE SYS TEM

Claims (7)

    【特許請求の範囲】
  1. 【請求項1】CPU、主記憶装置および補助記憶装置か
    らなるシステム記憶装置、アプリケーションプログラ
    ム、および前記システム記憶装置内にあって個々のデー
    タ項目を有する、ソースデータのバージョンを備えたプ
    ログラミングコード発生システムにおいて、前記ソース
    データのためのバージョン管理を行うバージョン管理装
    置であって、データレポジトリおよび抽出手段を備え、 I)前記データレポジトリは前記システム記憶装置内に
    あって、一つまたはそれ以上のバージョン/レベル制御
    データフィールド対を有する制御データエレメントと、
    一つまたはそれ以上のデータ項目データエレメントとを
    有し、 a)前記制御データエレメントの前記バージョン/レベ
    ル制御データフィールド対のそれぞれは、ソースコード
    のバージョンのレベルを固有に識別するものであって、 i) 前記ソースデータのバージョンのうちの一つを識
    別するバージョン識別子を含むバージョン制御データエ
    レメント、および ii)一つまたはそれ以上のポインタ変数を有するポイ
    ンタ変数フィールドを含むレベル制御データエレメント を有し、 b)前記データ項目データエレメントのそれぞれはプレ
    フィックスフィールドおよびデータフィールドを有し、
    前記プレフィックスフィールドは前記一つまたはそれ以
    上のポインタ変数のうちのただ一つを含み、前記データ
    フィールドは前記個々のデータ項目のうちの一つを含
    み、前記プレフィックスフィールドのうちの二つ以上が
    共通のポインタ変数を持っており、 II)前記抽出手段は前記アプリケーションプログラム
    により呼出し可能であって、前記データレポジトリから
    前記ソースデータのバージョンの特定のバージョンレベ
    ルを抽出するものであって、読出し制御手段および読出
    しデータ手段を有し、前記読出し制御手段は前記制御デ
    ータエレメントを得るのに用いられ、前記読出しデータ
    手段は前記データ項目データエレメントのそれぞれを読
    出すことにより前記特定のバージョンレベルのコピーを
    つくり、前記特定のデータ項目データエレメントのプレ
    フィックスエリア内のポインタ変数が前記特定のバージ
    ョンを識別するバージョン識別子を有するバージョン制
    御データエレメントと対をなすレベル制御データエレメ
    ント内の前記一つまたはそれ以上のポインタ変数のうち
    の一つと一致したとき、前記データ項目データエレメン
    トのうちの特定の一つを前記コピーに選択的に置くもの
    である、 ソースデータのためのバージョン管理装置。
  2. 【請求項2】前記バージョン制御データエレメントは更
    にバージョンロックフラグを含み、前記レベル制御デー
    タエレメントは更にレベルロックフラグを含んでいて、
    前記アプリケーションプログラムにより呼出し可能な、
    前記バージョンロックフラグおよびレベルロックフラグ
    をセットしたりリセットしたりするためのロックオン/
    ロックオフ手段を備えている、請求項1に記載の装置。
  3. 【請求項3】a) 前記アプリケーションプログラムに
    より呼出し可能であって、アプリケーション定義による
    データを入力ファイルから前記制御データエレメントに
    コピーするためのPUT手段と、 b) 前記アプリケーションプログラムにより呼出し可
    能であって、前記アプリケーション定義によるデータを
    前記制御データエレメントから取り出して前記アプリケ
    ーション定義によるデータを特定の出力ファイルに置く
    ためのGET手段とを更に備えた、請求項2に記載の装
    置。
  4. 【請求項4】前記アプリケーションプログラムにより呼
    出し可能であって、前記特定のバージョンレベルの前記
    データレポジトリへの変更バージョンを記憶するための
    記憶手段を備え、前記制御データエレメントは更に最高
    位使用ポインタ変数識別子を有する識別制御エレメント
    を有し、前記最高位使用ポインタ変数識別子は前記記憶
    に関し前記記憶手段により更新され、前記データ項目デ
    ータエレメントのための新しいポインタ変数の割り当て
    において前記記憶手段により用いられる、請求項1に記
    載の装置。
  5. 【請求項5】前記記憶手段が、 a) 前記変更バージョンを前記特定のバージョンと比
    較し、比較出力ファイルをつくる比較手段と、 b) 前記データレポジトリを前記比較出力ファイル内
    の削除ラインの指示に応じて更新する削除ライン処理手
    段と、 c) 前記データレポジトリを前記比較出力ファイル内
    の付加ラインの指示に応じて更新する付加ライン処理手
    段とを備えている、請求項4に記載の装置。
  6. 【請求項6】前記バージョン制御データエレメントは、
    前記バージョンのうちの一つがベースとしている前記ソ
    ースデータのベースバージョンを識別するベースバージ
    ョン識別子と、変更によりポテンシャル的に影響を受け
    た前記ソースデータのうちの一つまたはそれ以上の従属
    バージョンを識別するベースレベル変更検出リストとを
    更に有し、前記記憶手段は前記変更バージョンを記憶す
    るとき前記ベースレベル変更検出リストを更新するベー
    スレベル変更検出リスト更新手段を更に備え、前記抽出
    手段は、前記ベースレベル変更検出リストを検査するこ
    とにより、前記一つまたはそれ以上の従属バージョンの
    うちの一つを前記データレポジトリから抽出するとき前
    記変更を検出し、前記アプリケーションプログラムへ通
    知をもどす検出手段を更に備えている、請求項4に記載
    の装置。
  7. 【請求項7】個々のデータ項目を有するソースデータの
    バージョンを含むプログラミングコード発生システムに
    おいて、前記ソースデータのためのバージョン管理を行
    うバージョン管理方法であって、 a) 前記ソースデータの第1バージョンに対する変更
    によりポテンシャル的に影響を受ける前記ソースデータ
    のうちの一つまたはそれ以上の従属バージョンを識別す
    るベースレベル変更検出リスト手段を有する第1バージ
    ョン制御データエレメントと一つまたはそれ以上のデー
    タ項目データエレメントを含む第1セットとを有する前
    記ソースデータの第1バージョンをデータレポジトリに
    つくるステップと、 b) 前記ソースデータの第1バージョンを第2バージ
    ョンが依存するベースバージョンであるものと識別する
    ベースバージョン識別子を含む第2バージョン制御デー
    タエレメントと、前記第1バージョンに依存するように
    前記第1セットの第1サブセットを含む一つまたはそれ
    以上のデータ項目データエレメントを有する第2セット
    とを有する、前記ソースデータの第2バージョンをつく
    るステップと、 c) 前記第1バージョンの個々のデータ項目の前記第
    1セットの第2サブセットを修正し、第1バージョンの
    修正された結果を前記データレポジトリに記憶させるス
    テップと、 d) すべてのベースバージョン識別子を走査して前記
    第1バージョンに依存する前記ソースデータのすべての
    バージョンを決定し、前記第2バージョン制御データエ
    レメント内の前記ベースバージョン識別子を走査するこ
    とにより前記第2バージョンを識別するステップと、 e) 前記第1バージョンのインジケータを前記第2バ
    ージョン制御データエレメントの前記ベースレベル変更
    検出リスト手段に置くステップと、 f) 前記第2バージョンのアクセスの次のアクセスに
    よりそのアクセス機構に自動的に通知し、前記第1バー
    ジョンの修正に係る、前記2バージョンの前記ベースレ
    ベル変更検出リスト手段内の前記第1バージョンの前記
    インジケータを見出すステップとを含んでいる、ソース
    データのためのバージョン管理方法。
JP3252960A 1990-12-20 1991-09-04 ソースデータのためのバージョン管理方法および装置 Expired - Lifetime JPH07117895B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US630928 1990-12-20
US07/630,928 US5278979A (en) 1990-12-20 1990-12-20 Version management system using pointers shared by a plurality of versions for indicating active lines of a version

Publications (2)

Publication Number Publication Date
JPH04248623A JPH04248623A (ja) 1992-09-04
JPH07117895B2 true JPH07117895B2 (ja) 1995-12-18

Family

ID=24529150

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3252960A Expired - Lifetime JPH07117895B2 (ja) 1990-12-20 1991-09-04 ソースデータのためのバージョン管理方法および装置

Country Status (3)

Country Link
US (1) US5278979A (ja)
EP (1) EP0492071A3 (ja)
JP (1) JPH07117895B2 (ja)

Families Citing this family (222)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2993528B2 (ja) * 1991-05-18 1999-12-20 富士通株式会社 テキスト管理・復元方式
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
US5403639A (en) * 1992-09-02 1995-04-04 Storage Technology Corporation File server having snapshot application data groups
US5666530A (en) * 1992-12-02 1997-09-09 Compaq Computer Corporation System for automatic synchronization of common file between portable computer and host computer via communication channel selected from a plurality of usable channels there between
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
JPH06309204A (ja) * 1993-04-20 1994-11-04 Matsushita Electric Ind Co Ltd データ処理方法及びその装置
US5870764A (en) * 1993-05-12 1999-02-09 Apple Computer, Inc. Method of managing a data structure for concurrent serial and parallel revision of a work
JPH07104983A (ja) * 1993-10-05 1995-04-21 Fujitsu Ltd 世代管理装置および世代管理方法
JP2863805B2 (ja) * 1993-11-26 1999-03-03 富士通株式会社 版数管理方式
ATE180070T1 (de) * 1993-12-10 1999-05-15 Cheyenne Advanced Tech Ltd Inkrementales datensicherungssystem
JP3287679B2 (ja) * 1993-12-28 2002-06-04 キヤノン株式会社 文書処理装置及び方法
JPH07239776A (ja) * 1994-02-28 1995-09-12 Nec Corp ソフトウェアシステム管理装置
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
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
WO1995030955A1 (de) * 1994-05-10 1995-11-16 Siemens Aktiengesellschaft Datenverwaltungssystem eines realzeitsystems
JP3727076B2 (ja) * 1994-08-25 2005-12-14 富士通株式会社 プログラム管理方法および装置
JPH0869404A (ja) * 1994-08-29 1996-03-12 Fujitsu Ltd データのバックアップ方法及びそれを利用したデータ処理装置
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 プログラムのバージョン生成方式
US5740359A (en) * 1994-12-27 1998-04-14 Kabushiki Kaisha Toshiba Program execution system having a plurality of program versions
US5675802A (en) * 1995-03-31 1997-10-07 Pure Atria Corporation Version control system for geographically distributed software development
US5680621A (en) * 1995-06-07 1997-10-21 International Business Machines Corporation System and method for domained incremental changes storage and retrieval
US5768582A (en) * 1995-06-07 1998-06-16 International Business Machines Corporation Computer program product for domained incremental changes storage and retrieval
US6519767B1 (en) * 1995-06-07 2003-02-11 Microsoft Corporation Compiler and method for automatically building version compatible object applications
AU6500596A (en) 1995-07-20 1997-02-18 Novell, Inc. Transaction log management in a disconnectable computer and network
CA2227432C (en) * 1995-07-20 2001-05-22 Novell, Inc. Transaction synchronization in a disconnectable computer and network
GB2303948B (en) * 1995-08-03 2000-06-28 Ibm A data processing system
IES66902B2 (en) * 1995-10-20 1996-02-07 Open Software Systems Ltd A version control facility
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
US5950210A (en) * 1996-01-29 1999-09-07 Nelson; Paul M. Database row version differentiation process
US5715454A (en) * 1996-03-11 1998-02-03 Hewlett-Packard Company Version control of documents by independent line change packaging
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
US5842216A (en) * 1996-05-03 1998-11-24 Mitsubishi Electric Information Technology Center America, Inc. System for sending small positive data notification messages over a network to indicate that a recipient node should obtain a particular version of a particular data item
US5970503A (en) * 1996-06-12 1999-10-19 Base Ten Systems, Inc. Method for online revision control
US8145701B2 (en) 1996-06-28 2012-03-27 Jordaan Consulting Ltd. Iii, Llc Methods and systems for providing storage of a data file over a computer network
US6412017B1 (en) * 1996-07-01 2002-06-25 Microsoft Corporation Urgent replication facility
US5832520A (en) * 1996-07-03 1998-11-03 Miller, Call, Plauck And Miller Automatic file differencing and updating system
US5878434A (en) * 1996-07-18 1999-03-02 Novell, Inc Transaction clash management in a disconnectable computer and network
US6049809A (en) * 1996-10-30 2000-04-11 Microsoft Corporation Replication optimization system and method
US5903897A (en) * 1996-12-18 1999-05-11 Alcatel Usa Sourcing, L.P. Software documentation release control system
US5842213A (en) * 1997-01-28 1998-11-24 Odom; Paul S. Method for modeling, storing, and transferring data in neutral form
US6374250B2 (en) * 1997-02-03 2002-04-16 International Business Machines Corporation System and method for differential compression of data from a plurality of binary sources
US7330870B1 (en) 1997-02-11 2008-02-12 International Business Machines Corporation Streaming computer system and method with multi-version protocol compatibility
US6018747A (en) * 1997-11-26 2000-01-25 International Business Machines Corporation Method for generating and reconstructing in-place delta files
US6195795B1 (en) * 1997-12-19 2001-02-27 Alcatel Usa Sourcing, L.P. Apparatus and method for automatic software release notification
DE69908121T2 (de) * 1998-03-23 2004-04-01 Microsoft Corp., Redmond Anwendungsprogrammierungsschnittstelle in einem betriebssystem
US6604236B1 (en) 1998-06-30 2003-08-05 Iora, Ltd. System and method for generating file updates for files stored on read-only media
EP0981099A3 (en) * 1998-08-17 2004-04-21 Connected Place Limited A method of and an apparatus for merging a sequence of delta files
US6272677B1 (en) 1998-08-28 2001-08-07 International Business Machines Corporation Method and system for automatic detection and distribution of code version updates
US7197534B2 (en) * 1998-09-01 2007-03-27 Big Fix, Inc. Method and apparatus for inspecting the properties of a computer
US8914507B2 (en) * 1998-09-01 2014-12-16 International Business Machines Corporation Advice provided for offering highly targeted advice without compromising individual privacy
US6256664B1 (en) * 1998-09-01 2001-07-03 Bigfix, Inc. Method and apparatus for computed relevance messaging
US6263362B1 (en) * 1998-09-01 2001-07-17 Bigfix, Inc. Inspector for computed relevance messaging
US7181438B1 (en) 1999-07-21 2007-02-20 Alberti Anemometer, Llc Database access system
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
US7139999B2 (en) 1999-08-31 2006-11-21 Accenture Llp Development architecture framework
US6772338B1 (en) * 1999-10-26 2004-08-03 Ricoh Co., Ltd. Device for transfering data between an unconscious capture device and another device
US6757893B1 (en) 1999-12-17 2004-06-29 Canon Kabushiki Kaisha Version control system for software code
GB9930124D0 (en) 1999-12-21 2000-02-09 Ibm File system for a computer and method of synchronising sets of files
US7028251B2 (en) * 2000-03-02 2006-04-11 Iora, Ltd. System and method for reducing the size of data difference representations
US6662181B1 (en) * 2000-05-08 2003-12-09 International Business Machines Corporation Mechanism for selection using access control structures for authoring systems
US6816906B1 (en) * 2000-05-08 2004-11-09 International Business Machines Corporation Mechanism for building access control structures for authoring systems
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
AU2001296576A1 (en) * 2000-10-04 2002-04-15 Siemens Energy And Automation, Inc. Manufacturing system software version management
US7490301B2 (en) * 2000-12-25 2009-02-10 Fujitsu Limited Computer readable recording medium storing program for managing CAD data
US6961931B2 (en) * 2001-01-10 2005-11-01 International Business Machines Corporation Dependency specification using target patterns
US6643654B1 (en) 2001-06-25 2003-11-04 Network Appliance, Inc. System and method for representing named data streams within an on-disk structure of a file system
US20030033303A1 (en) * 2001-08-07 2003-02-13 Brian Collins System and method for restricting access to secured data
US20040205587A1 (en) * 2001-08-07 2004-10-14 Draper Stephen P.W. System and method for enumerating arbitrary hyperlinked structures in which links may be dynamically calculable
JP4055393B2 (ja) * 2001-10-30 2008-03-05 ソニー株式会社 データ処理装置およびその方法とプログラム
JP2003223440A (ja) 2001-11-21 2003-08-08 Ricoh Co Ltd 文書処理装置
US7373364B1 (en) 2002-03-05 2008-05-13 Network Appliance, Inc. System and method for creating a point-in-time restoration of a database file
US7467167B2 (en) * 2002-03-19 2008-12-16 Network Appliance, Inc. System and method for coalescing a plurality of snapshots
US7051050B2 (en) * 2002-03-19 2006-05-23 Netwrok Appliance, Inc. System and method for restoring a single file from a snapshot
US6993539B2 (en) 2002-03-19 2006-01-31 Network Appliance, Inc. System and method for determining changes in two snapshots and for transmitting changes to destination snapshot
US7475098B2 (en) * 2002-03-19 2009-01-06 Network Appliance, Inc. System and method for managing a plurality of snapshots
US7043485B2 (en) 2002-03-19 2006-05-09 Network Appliance, Inc. System and method for storage of snapshot metadata in a remote file
US7039663B1 (en) * 2002-04-19 2006-05-02 Network Appliance, Inc. System and method for checkpointing and restarting an asynchronous transfer of data between a source and destination snapshot
US7010553B2 (en) 2002-03-19 2006-03-07 Network Appliance, Inc. System and method for redirecting access to a remote mirrored snapshot
US7225204B2 (en) * 2002-03-19 2007-05-29 Network Appliance, Inc. System and method for asynchronous mirroring of snapshots at a destination using a purgatory directory and inode mapping
US7072910B2 (en) 2002-03-22 2006-07-04 Network Appliance, Inc. File folding technique
GB0209648D0 (en) * 2002-04-26 2002-06-05 Oracle Int Corp Project management system
US20040073581A1 (en) * 2002-06-27 2004-04-15 Mcvoy Lawrence W. Version controlled associative array
US7107385B2 (en) * 2002-08-09 2006-09-12 Network Appliance, Inc. Storage virtualization by layering virtual disk objects on a file system
US7873700B2 (en) * 2002-08-09 2011-01-18 Netapp, Inc. Multi-protocol storage appliance that provides integrated support for file and block access protocols
CA2421825C (en) 2002-09-20 2012-07-10 Mks Inc. Version control system for software development
US7707184B1 (en) 2002-10-09 2010-04-27 Netapp, Inc. System and method for snapshot full backup and hard recovery of a database
US7340486B1 (en) * 2002-10-10 2008-03-04 Network Appliance, Inc. System and method for file system snapshot of a virtual logical disk
US20040177343A1 (en) * 2002-11-04 2004-09-09 Mcvoy Lawrence W. Method and apparatus for understanding and resolving conflicts in a merge
US7099902B2 (en) * 2002-12-13 2006-08-29 Sun Microsystems, Inc. Checkout and replace script
US7337388B2 (en) * 2003-01-02 2008-02-26 Microsoft Corporation Tool-based iterative document management
US8010491B2 (en) * 2003-02-28 2011-08-30 Microsoft Corporation Method for managing multiple file states for replicated files
US7389309B2 (en) * 2003-02-28 2008-06-17 Microsoft Corporation Method for managing file replication in applications
US7111021B1 (en) 2003-03-21 2006-09-19 Network Appliance, Inc. System and method for efficient space accounting in a file system with snapshots
US7457982B2 (en) * 2003-04-11 2008-11-25 Network Appliance, Inc. Writable virtual disk of read-only snapshot file objects
US7577692B1 (en) 2003-04-25 2009-08-18 Netapp, Inc. System and method for reserving space to guarantee file writability in a file system supporting persistent consistency point images
US7437523B1 (en) 2003-04-25 2008-10-14 Network Appliance, Inc. System and method for on-the-fly file folding in a replicated storage system
CA2434644A1 (fr) * 2003-06-30 2004-12-30 Archidata Inc. Systeme pour la certification des plans et devis produits par les professionnels et les maitres d'ouvrage de la construction
US7472254B2 (en) * 2003-10-10 2008-12-30 Iora, Ltd. Systems and methods for modifying a set of data objects
US7783611B1 (en) 2003-11-10 2010-08-24 Netapp, Inc. System and method for managing file metadata during consistency points
US7721062B1 (en) 2003-11-10 2010-05-18 Netapp, Inc. Method for detecting leaked buffer writes across file system consistency points
US7401093B1 (en) 2003-11-10 2008-07-15 Network Appliance, Inc. System and method for managing file data during consistency points
CA2451253A1 (en) * 2003-11-27 2005-05-27 Ibm Canada Limited - Ibm Canada Limitee Method for competitive peer programming
US7409497B1 (en) 2003-12-02 2008-08-05 Network Appliance, Inc. System and method for efficiently guaranteeing data consistency to clients of a storage system cluster
WO2005064469A1 (en) * 2003-12-19 2005-07-14 Network Appliance, Inc. System and method for supporting asynchronous data replication with very short update intervals
US7921110B1 (en) 2003-12-23 2011-04-05 Netapp, Inc. System and method for comparing data sets
US7478101B1 (en) 2003-12-23 2009-01-13 Networks Appliance, Inc. System-independent data format in a mirrored storage system environment and method for using the same
US8041888B2 (en) 2004-02-05 2011-10-18 Netapp, Inc. System and method for LUN cloning
US7313720B1 (en) 2004-02-12 2007-12-25 Network Appliance, Inc. Technique for increasing the number of persistent consistency point images in a file system
US7966293B1 (en) 2004-03-09 2011-06-21 Netapp, Inc. System and method for indexing a backup using persistent consistency point images
US7571196B2 (en) * 2004-03-31 2009-08-04 Microsoft Corporation Type evolution
US7430571B2 (en) 2004-04-30 2008-09-30 Network Appliance, Inc. Extension of write anywhere file layout write allocation
US7334094B2 (en) * 2004-04-30 2008-02-19 Network Appliance, Inc. Online clone volume splitting technique
US7409511B2 (en) * 2004-04-30 2008-08-05 Network Appliance, Inc. Cloning technique for efficiently creating a copy of a volume in a storage system
US7409494B2 (en) 2004-04-30 2008-08-05 Network Appliance, Inc. Extension of write anywhere file system layout
US7334095B1 (en) 2004-04-30 2008-02-19 Network Appliance, Inc. Writable clone of read-only volume
US7799273B2 (en) 2004-05-06 2010-09-21 Smp Logic Systems Llc Manufacturing execution system for validation, quality and risk assessment and monitoring of pharmaceutical manufacturing processes
US7444197B2 (en) 2004-05-06 2008-10-28 Smp Logic Systems Llc Methods, systems, and software program for validation and monitoring of pharmaceutical manufacturing processes
US8667465B2 (en) * 2008-03-31 2014-03-04 Accurev, Inc. System for estimating a software product release time from version information
US8473893B2 (en) * 2008-09-30 2013-06-25 Accurev, Inc. Integration of external software analysis processes with software configuration management applications
US9292276B1 (en) 2004-07-19 2016-03-22 Micro Focus (IP) Development Limited Method and system for utilizing change packages
US8548967B1 (en) 2007-12-12 2013-10-01 Accurev, Inc. System for visual query and manipulation of configuration management records
US8341590B1 (en) 2007-12-12 2012-12-25 Accurev, Inc. System for relating workflow status to code component status in a software project
US20060026567A1 (en) * 2004-07-27 2006-02-02 Mcvoy Lawrence W Distribution of data/metadata in a version control system
US7984085B1 (en) 2004-10-25 2011-07-19 Network Appliance, Inc. Rate of change of data using on-the-fly accounting
US7730277B1 (en) 2004-10-25 2010-06-01 Netapp, Inc. System and method for using pvbn placeholders in a flexible volume of a storage system
US7636744B1 (en) 2004-11-17 2009-12-22 Netapp, Inc. System and method for flexible space reservations in a file system supporting persistent consistency point images
US9165003B1 (en) 2004-11-29 2015-10-20 Netapp, Inc. Technique for permitting multiple virtual file systems having the same identifier to be served by a single storage system
US7707165B1 (en) 2004-12-09 2010-04-27 Netapp, Inc. System and method for managing data versions in a file system
US7506111B1 (en) 2004-12-20 2009-03-17 Network Appliance, Inc. System and method for determining a number of overwitten blocks between data containers
US7424497B1 (en) 2005-01-27 2008-09-09 Network Appliance, Inc. Technique for accelerating the creation of a point in time prepresentation of a virtual file system
US7757056B1 (en) 2005-03-16 2010-07-13 Netapp, Inc. System and method for efficiently calculating storage required to split a clone volume
JP2006268800A (ja) * 2005-03-25 2006-10-05 Fuji Xerox Co Ltd 議事録作成支援装置、議事録作成支援方法及びプログラム
US8055702B2 (en) * 2005-04-25 2011-11-08 Netapp, Inc. System and method for caching network file systems
US7689609B2 (en) * 2005-04-25 2010-03-30 Netapp, Inc. Architecture for supporting sparse volumes
US7617370B2 (en) * 2005-04-29 2009-11-10 Netapp, Inc. Data allocation within a storage system architecture
US7698349B2 (en) * 2005-05-25 2010-04-13 Microsoft Corporation Dimension member sliding in online analytical processing
US7716182B2 (en) * 2005-05-25 2010-05-11 Dassault Systemes Enovia Corp. Version-controlled cached data store
US7712087B2 (en) * 2005-06-28 2010-05-04 Oracle International Corporation Methods and systems for identifying intermittent errors in a distributed code development environment
JP4659537B2 (ja) * 2005-07-05 2011-03-30 株式会社日立製作所 ファイル提供方法、ストレージ装置及びファイル提供プログラム
US20070016628A1 (en) * 2005-07-14 2007-01-18 Lenevo (Singapore) Pte.Ltd. Classification system for versionable objects
US7653682B2 (en) * 2005-07-22 2010-01-26 Netapp, Inc. Client failure fencing mechanism for fencing network file system data in a host-cluster environment
US7650366B1 (en) 2005-09-09 2010-01-19 Netapp, Inc. System and method for generating a crash consistent persistent consistency point image set
US7707193B2 (en) * 2005-09-22 2010-04-27 Netapp, Inc. System and method for verifying and restoring the consistency of inode to pathname mappings in a filesystem
US7873963B1 (en) 2005-10-25 2011-01-18 Netapp, Inc. Method and system for detecting languishing messages
US7325111B1 (en) 2005-11-01 2008-01-29 Network Appliance, Inc. Method and system for single pass volume scanning for multiple destination mirroring
US7716649B2 (en) * 2005-12-15 2010-05-11 International Business Machines Corporation Activity-based software traceability management method and apparatus
US8359571B2 (en) * 2005-12-19 2013-01-22 International Business Machines Corporation Computer method and apparatus for activity-based version selection in a configuration management system
US8429610B2 (en) * 2005-12-20 2013-04-23 International Business Machines Corporation Computer method and apparatus for providing version-aware impact analysis
US8775974B2 (en) * 2005-12-21 2014-07-08 International Business Machines Corporation Multi-contextual delta navigation in a compare view
US7693864B1 (en) 2006-01-03 2010-04-06 Netapp, Inc. System and method for quickly determining changed metadata using persistent consistency point image differencing
US8005793B1 (en) 2006-04-18 2011-08-23 Netapp, Inc. Retaining persistent point in time data during volume migration
US8548947B2 (en) * 2006-04-28 2013-10-01 Hewlett-Packard Development Company, L.P. Systems and methods for file maintenance
US7769723B2 (en) * 2006-04-28 2010-08-03 Netapp, Inc. System and method for providing continuous data protection
US8165221B2 (en) 2006-04-28 2012-04-24 Netapp, Inc. System and method for sampling based elimination of duplicate data
US7464238B1 (en) 2006-04-28 2008-12-09 Network Appliance, Inc. System and method for verifying the consistency of mirrored data sets
US9026495B1 (en) 2006-05-26 2015-05-05 Netapp, Inc. System and method for creating and accessing a host-accessible storage entity
US8412682B2 (en) * 2006-06-29 2013-04-02 Netapp, Inc. System and method for retrieving and using block fingerprints for data deduplication
US7921077B2 (en) * 2006-06-29 2011-04-05 Netapp, Inc. System and method for managing data deduplication of storage systems utilizing persistent consistency point images
US8010509B1 (en) 2006-06-30 2011-08-30 Netapp, Inc. System and method for verifying and correcting the consistency of mirrored data sets
US7987167B1 (en) 2006-08-04 2011-07-26 Netapp, Inc. Enabling a clustered namespace with redirection
US7747584B1 (en) 2006-08-22 2010-06-29 Netapp, Inc. System and method for enabling de-duplication in a storage system architecture
US7865741B1 (en) 2006-08-23 2011-01-04 Netapp, Inc. System and method for securely replicating a configuration database of a security appliance
US8116455B1 (en) 2006-09-29 2012-02-14 Netapp, Inc. System and method for securely initializing and booting a security appliance
US9015703B2 (en) * 2006-10-17 2015-04-21 Manageiq, Inc. Enforcement of compliance policies in managed virtual systems
US8949825B1 (en) 2006-10-17 2015-02-03 Manageiq, Inc. Enforcement of compliance policies in managed virtual systems
US8612971B1 (en) 2006-10-17 2013-12-17 Manageiq, Inc. Automatic optimization for virtual systems
US9086917B1 (en) 2006-10-17 2015-07-21 Manageiq, Inc. Registering and accessing virtual systems for use in a managed system
US8234640B1 (en) 2006-10-17 2012-07-31 Manageiq, Inc. Compliance-based adaptations in managed virtual systems
US8458695B2 (en) 2006-10-17 2013-06-04 Manageiq, Inc. Automatic optimization for virtual systems
US8234641B2 (en) 2006-10-17 2012-07-31 Managelq, Inc. Compliance-based adaptations in managed virtual systems
US9038062B2 (en) * 2006-10-17 2015-05-19 Manageiq, Inc. Registering and accessing virtual systems for use in a managed system
US8752045B2 (en) 2006-10-17 2014-06-10 Manageiq, Inc. Methods and apparatus for using tags to control and manage assets
US9697019B1 (en) 2006-10-17 2017-07-04 Manageiq, Inc. Adapt a virtual machine to comply with system enforced policies and derive an optimized variant of the adapted virtual machine
US8949826B2 (en) 2006-10-17 2015-02-03 Managelq, Inc. Control and management of virtual systems
US7739546B1 (en) 2006-10-20 2010-06-15 Netapp, Inc. System and method for storing and retrieving file system log information in a clustered computer system
US7685178B2 (en) * 2006-10-31 2010-03-23 Netapp, Inc. System and method for examining client generated content stored on a data container exported by a storage system
US8996487B1 (en) 2006-10-31 2015-03-31 Netapp, Inc. System and method for improving the relevance of search results using data container access patterns
US8423731B1 (en) 2006-10-31 2013-04-16 Netapp, Inc. System and method for automatic scheduling and policy provisioning for information lifecycle management
US7720889B1 (en) 2006-10-31 2010-05-18 Netapp, Inc. System and method for nearly in-band search indexing
US7613947B1 (en) 2006-11-30 2009-11-03 Netapp, Inc. System and method for storage takeover
US7711683B1 (en) 2006-11-30 2010-05-04 Netapp, Inc. Method and system for maintaining disk location via homeness
US7676510B1 (en) * 2006-12-22 2010-03-09 Network Appliance, Inc. Space reservation monitoring in a fractionally reserved data storage system
US8301673B2 (en) * 2006-12-29 2012-10-30 Netapp, Inc. System and method for performing distributed consistency verification of a clustered file system
US7853750B2 (en) * 2007-01-30 2010-12-14 Netapp, Inc. Method and an apparatus to store data patterns
US9563640B2 (en) * 2007-02-09 2017-02-07 Micro Focus Software Inc. Techniques for versioning files
US8868495B2 (en) * 2007-02-21 2014-10-21 Netapp, Inc. System and method for indexing user data on storage systems
US8219821B2 (en) 2007-03-27 2012-07-10 Netapp, Inc. System and method for signature based data container recognition
US8533410B1 (en) 2007-03-29 2013-09-10 Netapp, Inc. Maintaining snapshot and active file system metadata in an on-disk structure of a file system
US8510524B1 (en) 2007-03-29 2013-08-13 Netapp, Inc. File system capable of generating snapshots and providing fast sequential read access
US7849057B1 (en) 2007-03-30 2010-12-07 Netapp, Inc. Identifying snapshot membership for blocks based on snapid
CN100462916C (zh) * 2007-04-10 2009-02-18 中兴通讯股份有限公司 一种在嵌入式软件中记录版本信息的方法
US7827350B1 (en) 2007-04-27 2010-11-02 Netapp, Inc. Method and system for promoting a snapshot in a distributed file system
US7882304B2 (en) * 2007-04-27 2011-02-01 Netapp, Inc. System and method for efficient updates of sequential block storage
US8219749B2 (en) * 2007-04-27 2012-07-10 Netapp, Inc. System and method for efficient updates of sequential block storage
US8762345B2 (en) * 2007-05-31 2014-06-24 Netapp, Inc. System and method for accelerating anchor point detection
CA2637168C (en) * 2007-07-11 2015-12-01 Jeb Stuart Thorley Method and system for version independent software release management
US8301791B2 (en) * 2007-07-26 2012-10-30 Netapp, Inc. System and method for non-disruptive check of a mirror
US8793226B1 (en) 2007-08-28 2014-07-29 Netapp, Inc. System and method for estimating duplicate data
US7865475B1 (en) 2007-09-12 2011-01-04 Netapp, Inc. Mechanism for converting one type of mirror to another type of mirror on a storage system without transferring data
JP2011501839A (ja) * 2007-10-04 2011-01-13 グローバル インフィニプール ゲーエムベーハー データエンティティ及びそのバージョンにアクセスするための方法
US7996636B1 (en) 2007-11-06 2011-08-09 Netapp, Inc. Uniquely identifying block context signatures in a storage volume hierarchy
US8418173B2 (en) 2007-11-27 2013-04-09 Manageiq, Inc. Locating an unauthorized virtual machine and bypassing locator code by adjusting a boot pointer of a managed virtual machine in authorized environment
US8407688B2 (en) * 2007-11-27 2013-03-26 Managelq, Inc. Methods and apparatus for storing and transmitting historical configuration data associated with information technology assets
US8380674B1 (en) 2008-01-09 2013-02-19 Netapp, Inc. System and method for migrating lun data between data containers
US9424323B2 (en) * 2008-01-31 2016-08-23 Oracle International Corporation Application tier data dictionary
US8725986B1 (en) 2008-04-18 2014-05-13 Netapp, Inc. System and method for volume block number to disk block number mapping
US8219564B1 (en) 2008-04-29 2012-07-10 Netapp, Inc. Two-dimensional indexes for quick multiple attribute search in a catalog system
US8250043B2 (en) * 2008-08-19 2012-08-21 Netapp, Inc. System and method for compression of partially ordered data sets
JP5181140B2 (ja) * 2009-02-23 2013-04-10 インターナショナル・ビジネス・マシーンズ・コーポレーション データベースを検索するためのコンピュータ・システム、方法及びコンピュータ・プログラム
US8266136B1 (en) 2009-04-13 2012-09-11 Netapp, Inc. Mechanism for performing fast directory lookup in a server system
US8694966B2 (en) * 2010-03-04 2014-04-08 Oracle International Corporation Identifying test cases to be run after changes to modules of a software application
US10146520B1 (en) * 2010-12-14 2018-12-04 Ivanti, Inc. Updating a running application on a computing device
US20130086323A1 (en) * 2011-09-30 2013-04-04 Oracle International Corporation Efficient cache management in a cluster
US9395979B1 (en) * 2012-12-20 2016-07-19 Sprint Communications Company L.P. Pre-emptive development conflict resolution
CN103248524B (zh) * 2013-05-09 2016-04-27 北京泛华恒兴科技有限公司 基于柔性测试技术的测试数据版本控制方法、装置及系统
US10528342B2 (en) * 2017-10-16 2020-01-07 Western Digital Technologies, Inc. Function tracking for source code files

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4558413A (en) * 1983-11-21 1985-12-10 Xerox Corporation Software version management system
US5133066A (en) * 1985-10-24 1992-07-21 International Business Machines Corporation Method for selecting multiple versions of data in a reduced record units text editing system
US4714992A (en) * 1985-11-26 1987-12-22 International Business Machines Corporation Communication for version management in a distributed information service
US4809170A (en) * 1987-04-22 1989-02-28 Apollo Computer, Inc. Computer device for aiding in the development of software system
US4912637A (en) * 1988-04-26 1990-03-27 Tandem Computers Incorporated Version management tool

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
25THACM/IEEEDESIGNAUTOMATIONCONFERECE,PROCEEDINGS1988.12JUNE1988,ANAHEIM,USPAGE275−281H.−T.CHOUETAL.VERSIONSANDCHANGENOTIFICATIONINANOBJECT−ORIENTEDDATABASESYSTEM

Also Published As

Publication number Publication date
JPH04248623A (ja) 1992-09-04
US5278979A (en) 1994-01-11
EP0492071A2 (en) 1992-07-01
EP0492071A3 (en) 1993-04-21

Similar Documents

Publication Publication Date Title
JPH07117895B2 (ja) ソースデータのためのバージョン管理方法および装置
EP0339901B1 (en) Improved version management tool
Tichy RCS—A system for version control
US8140964B2 (en) Annotation validity using partial checksums
US5553279A (en) Lossless distribution of time series data in a relational data base network
US5907848A (en) Method and system for defining transactions from a database log
US6055546A (en) Method and apparatus for preserving non-current information that can be overwritten in a computer file
US20030167423A1 (en) Program product, method, and system for testing consistency of machine code files and source files
US20070245332A1 (en) Method and apparatus to perform an application software migration
US5418954A (en) Method for preparing and dynamically loading context files
WO1998040827A9 (en) Method and system for defining transactions from a database log
JPH05342264A (ja) インデックス付け及び検索のための方法及び装置
US6829616B2 (en) Method, system, and program for implementing a database trigger
US20080120270A1 (en) Database system
KR20040101077A (ko) 테이블에 이루어진 변화를 식별하고 저장하기 위한 시스템및 방법
JPS62173545A (ja) デ−タデイクシヨナリ・デイレクトリの維持管理方式
US6085036A (en) Data base structure and management
US5129081A (en) System for processing data using logic language
US20030220939A1 (en) Information processing system, information processing method, and information processing program
CN114780139A (zh) 一种镜像成分的分析方法、系统及存储介质
JP2643811B2 (ja) データベース再編成方式
CN113792026A (zh) 数据库脚本的部署方法、装置及计算机可读存储介质
JP3245047B2 (ja) バージョン管理装置及び方法
JP3769775B2 (ja) 分散リンク情報維持方法
WO2001053948A2 (en) Continuous inventorying monitor