JPH09505681A - リアルタイムシステムにおけるデータ管理システム - Google Patents

リアルタイムシステムにおけるデータ管理システム

Info

Publication number
JPH09505681A
JPH09505681A JP7528595A JP52859595A JPH09505681A JP H09505681 A JPH09505681 A JP H09505681A JP 7528595 A JP7528595 A JP 7528595A JP 52859595 A JP52859595 A JP 52859595A JP H09505681 A JPH09505681 A JP H09505681A
Authority
JP
Japan
Prior art keywords
data
transaction
management system
access
procedure
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP7528595A
Other languages
English (en)
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.)
Siemens AG
Original Assignee
Siemens AG
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 Siemens AG filed Critical Siemens AG
Publication of JPH09505681A publication Critical patent/JPH09505681A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/466Transaction processing
    • 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/99953Recoverability
    • 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

Abstract

(57)【要約】 リアルタイムシステムにおけるデータ管理システムにより、ユーザシステムに対し種々のデータジェネレーションの迅速かつ一貫性のあるオンライン管理が提供されるようにする。本発明によればこの課題は、次のようなアクセスデータ構造体により達成される。すなわちこのアクセスデータ構造体によりジェネレーション管理システム(GMS)は種々のデータジェネレーションの管理を、トランザクション実行のため事前にすでにトランザクション管理システム(TMS)により用いられていた同じデータオブジェクトに基づいて行えるようになる。

Description

【発明の詳細な説明】 リアルタイムシステムにおけるデータ管理システム リアルタイムシステムにおけるデータ管理システムによって、そのユーザシス テムに対し迅速かつ確実な(一貫した)種々のデータジェネレーションのオンラ イン管理が提供されようにすべきである。 本発明の課題は、この要求を満たすようにしたデータ管理システムを実現する ことにある。 本発明によればこの課題は、請求項1に記載の特徴を備えたデータ管理システ ムにより解決される。 トランザクションコントロールをジェネレーション管理と機能的に結合し、こ の結合をデータ管理システムの各データオブジェクトに対し共通に用いられるデ ータ構造体を介して行うことによって、トランザクション管理システムによって も用いられた同じデータオブジェクトに基づき種々のデータジェネレーションの 管理が実行される。このことで迅速かつ確実なオンライン管理が可能になる。 請求項2には本発明の1つの実施形態が示されている。この実施形態によれば 、1つのトランザクション内で形成された新しい各データオブジェクトが統合さ れて1つのデータジェネレーションが形成され、それらのデータオブジェクトは GEN_IDに基づきその 生成順序に応じて一義的に識別可能である。このことでジェネレーション管理シ ステムはたとえば、もはや不要なデータジェネレーションをまとめて消去できる ようになり、つまりただ1つのデリート命令により消去できるようになる。 請求項3には本発明の別の実施形態が示されている。この実施形態によれば、 あるトランザクションに対し並行する読み出しシーケンスを実行させることがで きる。 請求項4には本発明のさらに別の実施形態が示されている。この実施形態によ れば、あるトランザクションに対し並行なトランザクションが同じデータオブジ ェクトに対してアクセスすることが防止される。 請求項5には本発明のさらに別の実施形態が示されている。ダイナミックな割 り当てによって、種々の細分性のデータオブジェクトの処理が可能になる。つま り、最小の細分性を有するデータオブジェクト(データエレメント)に対しても 、それよりも大きい細分性を有するデータオブジェクト(データグループ)に対 しても、TGSEを割り当てることができる。このようなダイナミックな割り当 ては、TGSEを必要に応じてダイナミックに生成するかまたは共通のプールか ら取り出すことにより達成される。 さらに請求項6には本発明の別の実施形態が示されている。この実施形態によ って、各TGSEをトラン ザクション管理システムによりその生成順序に従い互いに結合してジェネレーシ ョントリーを形成することができ、次にこのジェネレーショントリーはジェネレ ーション管理システムにより管理される。この実施形態は、TGSEのダイナミ ックな割り当てを前提とする。 次に、図面を参照して本発明の実施例について詳細に説明する。 図において、各ブロック間の矢印により機能的関係(たとえばプロシージャコ ール、矢印の先端は呼び出されるプロシージャを示す)が表されている。 図1および図2には本発明によるデータ管理システムEDBの構造が示されて おり、これに対して種々のアプリケーションAPPLがアクセスできる。 このデータ管理システムは2つのレイヤから成り、つまりアプリケーション固 有のシステムレイヤ(以下ではアプリケーション固有データベースADBと称す る)と、アプリケーションに依存しないシステムレイヤ(以下では汎用データベ ースGDBと称する)により構成されている。 汎用データベースGDBは中央機能と局部機能を有しており、中央機能はセン トラルコントロールシステムCUにおいて実現されており、局部機能は汎用モジ ュールGMにおいて実現されている。 さらにセントラルコントロールシステムCUは、ア クセス(個別アクセスまたはアクセスシーケンス)を集中的にコントロールする セントラルアクセスコントロールシステムCTCCと、汎用アクセスアルゴリズ ムALGと、ユーザデータのセーブのためバックグラウンドメモリへのインタフ ェースを実現するセービングシステムNVSIと、可変長のデータを管理するデ ータプールVLPと、更新されたユーザデータをリアルタイムシステムの種々の プロセッサへ分配するために用いられる分配システムDDFCとを有している。 汎用モジュールGMはデータ内容を表す定義モジュールを成しており、これに はユーザデータを記憶させるためのデータ構造ならびにそれに必要とされるアク セス構造つまりアドレッシング方式および基本的なアクセスプロシージャが含ま れている。さらに汎用モジュールには、セントラル機能システムをサポートする 付加的な構造すなわち調整および一貫性保証をサポートする構造(ローカルアク セスコントロールシステムCTCL)、ならびに種々のプラットフォームへのユ ーザデータの分配を支援する構造(ローカルデータ分配システムDDFL)も含 まれている。その際、汎用モジュールにおける上記の各構造の記述はユーザに依 存することなく行われ、つまりデータ構造のデータレイアウトに依存しないよう にして行われる。 各構成要素(たとえばローカルアクセスコントロールシステムCTCL,ロー カル分配システムDDFL ならびにこれに必要な付加的なデータ定義、種々のアドレス方式)の組み合わせ により、様々な形式の汎用モジュールが形成される。相応のアプリケーションの データモデリングから生じる要求により変形形態が決められる。 各汎用ジュールは、個別アクセスのコントロールに係わる基本的なアクセスプ ロシージャのセットを有している。このセットには、ユーザデータを読み出すた めのプロシージャGET、ユーザデータを修正するためのプロシージャSET、 ならびにユーザのデータエレメントを生成ないし消去するためのプロシージャC REATEおよびDELETEが含まれている。ユーザのデータへのアクセスは 、これらの特別なアクセスプロシージャを介してのみ可能である(データのカプ セル化)。相応の持続性要求を有するデータは、バックグラウンドメモリ上にコ ア・イメージ・フォーマット(core-image format)でセーブされる。これによ り、所属のロードオペレーションを伴う交換機コンピュータのリスタート後に目 下のデータができりかぎり速く得られる。 アプリケーション固有のデータベースADBはビュー(View)とモジュールイ ンスタンス(Modulinnstance)を有しており、この場合、モジュールインスタン スは汎用モジュールからのインスタンシエーション(Instantiation)により形 成される。 このインスタンシエーションにより、データコンテナ(汎用モジュール)が所 定のデータ宣言でインスタンシエーションされ、このことによりデータ構造体な らびにそれらのデータ構造体へのアクセスアルゴリズムが互いに関連づけられる 。ビューにより目下のアプリケーションAPPLに対するインタフェースが形成 される。これによりビューは、そのアプリケーションにおける概念的なデータモ ジュールの論理的イメージとなる。 アクセスコントロールシステムによりデータ管理システムEDBに対するユー ザのアクセスがコントロールされ、その際、アップデートオペレーションにより データ管理システムにおけるデータが一貫した出発状態から一貫した終了状態へ 移行することが保証される。そしてこのような一貫性を保証する目的で、アクセ スコントロールシステムは全体的(アトミック)にアクセスシーケンス(トラン ザクションないし読み出しシーケンス)を処理し、つまり1つのトランザクショ ンはたとえば全体的に実行されるかまたは全体的に拒否される。 さらにアクセスコントロールシステムは、互いに並行するアクセスシーケンス による同時のアクセスをコーディネートする。 アクセスコントロールシステムはCTCCを有しており、全体で1つのアクセ スシーケンスのコントロー ルに係わるコントロールジョブ(たとえばSTART_TA,DO_TA,AB ORT_TA)をユーザに対して実行する。 セントラルデータプールVLPにより、可変長の半永続的なデータと過渡的な データが管理される。このセントラルデータプールには、それにより提供される データを格納し操作するために、データもプリミティブのセットも含まれている 。 セントラルデータプールにより管理されるすべてのデータは、データプールに よりカプセル化される。したがってこれらのデータに対するすべてのアクセスは 、上記のプリミティブを介してのみ行われる。さらに前述のモジュールインスタ ンスに対し、データプールから任意の長さのブロックを用意でき、その際、用意 された各データブロックはその用意に際して割り当てられる論理キーにより識別 される。 汎用アクセスアルゴリズムALGはすべての汎用モジュールに共通の機能を有 しており、つまりデータメンテナンスの論理構成のためのアルゴリズム(たとえ ばリンクされたリスト、バイナリトリー)を有するとともに、データの物理的記 憶のためのメカニズムも有しており、つまりデータベース内部の管理構造ないし アクセス構造を通してデータ構造に依存しない手法を有している。そしてこの汎 用アクセスアルゴリズムは、もっぱら汎用モジュールによって呼び出される。 DDFCはあるプラットフォーム(プロセッサ)から別のプラットフォーム( プロセッサ)へのユーザデータの転送をコントロールし、これにより種々異なる プラットフォーム(プロセッサ)間のデータ一貫性が保証される。DDFCはG MIのDDFLによりダイナミックに呼び出される。 汎用モジュールは既述のようにデータコンテナとして用いられ、これにはデー タ構造体ならびにそれらのデータ構造体に特有のアクセスアルゴリズムがアプリ ケーションに依存しない形で、つまりデータレイアウトに依存しない形式で記述 されている。汎用モジュールはデータ管理システムに対するアクセスプロシージ ャを有しており、それらのプロシージャは個々のアプリケーションで利用でき、 このことで汎用データベースGDB中に含まれているデータに対する読み出しま たは書き込みが実現される。 データ構造体固有の部分とデータアクセスおよびデータ処理の一般的な部分と に分けられる汎用モジュールの内部構造に基づき、一般的な機能を汎用アルゴリ ズムALGと呼ぶことができ、それらは各汎用モジュールにより利用できる。そ れというのはそれらは汎用データベースのセントラルモジュールCMに格納され ているからである。さらに汎用モジュールは、セントラルアクセスコントロール システムCTCCとデータプールVLPにより利用できるようになる他の一般的 な機能も使用する。 汎用モジュールを導入した主要な目的はソフトウェアの再利用性と代用性にあ る。汎用モジュールによりライブラリが形成され、そのライブラリからアプリケ ーション固有のオブジェクトクラスをインスタンシエーションにより生成でき、 つまり一般的なデータレイアウト情報(CHILL内のスペースセーバたとえば ANY_ASSIGN)を固有のレイアウト情報で置き換えることにより生成で きる。アプリケーションは適切な汎用モジュールを選択してそれらをインスタン シエーションすることができ、さらにインスタンシエーションされたそれらのモ ジュールを結合して1つまたは複数のビューを形成することができる。 アプリケーションとユーザモジュールとの間にアプリケーションプロシージャ レイヤVIEWを挿入することにより、個々のアプリケーションと論理的なデー タ構造との独立性が達成される。ユーザアクセスプロシージャを用いることで1 つまたは複数のオブジェクトクラスに対するアクセスが行われ、その際、1つの ユーザモジュールにより1つのオブジェクトクラスがそれぞれ管理される。ユー ザアクセスプロシージャには個々のデータオブジェクトの所望の属性がパラメー タとして含まれており、それらのパラメータは、ユーザアクセスプロシージャ実 行後にアプリケーションに戻されるリターンパラメータである。このようにして ユーザアクセスプロシージャによりアプリケーションに対して、記憶されている アプリケーションデータに対する固有のヴューイング方式が用意される。したが って論理的なデータ構造の変更が行われても、アプリケーションに対しいかなる 影響も及ぼさない。 アプリケーションないしユーザは、そのユーザデータの管理のためにもっぱら ユーザアクセスプロシージャVIEWを利用する。依存するデータの一貫した変 更のためにユーザプロシージャコールの相応のシーケンスは、セントラルアクセ スコントロールシステムへの命令によりトランザクションとして表される。トラ ンザクションの実行およびバックグラウンドメモリへのデータのセーブならびに データの分配は、データ管理システムにより自主的に行われ、したがってそれら はユーザには全く見えないものである。 図3には1つのトランザクションにおける準備フェーズと作動フェーズが示さ れている。 ユーザによりコントロールされる準備フェーズにおいてトランザクションが段 階的に構築され、これはユーザにより順次連続して個別アクセスのためのアクセ スプロシージャ(SET,GET等)がコールされることで行われる。基本的に 、1つのトランザクション内で任意の個数の個別アクセスを相応のアクセスプロ シージャのコールにより開始させることができる。 準備フェーズはプロシージャSTART_TAによ り開始され、プロシージャDO_TAにより終了される。プロシージャSTAR T_TAはトランザクションに対しトランザクション識別子TA_IDを割り当 て、それをユーザに引き渡す。そしてユーザは、このTA_IDを個別アクセス のためのアクセスプロシージャのコールに際し入力パラメータとして利用する。 準備フェーズ中、アクセスプロシージャのコールが記録され、アクセスを受け るデータの必要に応じた変更が準備される。この準備フェーズにおいてユーザは 、プロシージャABORT_TAのコールによりトランザクションを拒否するこ とができる。 プロシージャDO_TAのコールにより同時に作動フェーズが開始され、この フェーズはもっぱらセントラルアクセスコントロールシステムによりコントロー ルされるので、ユーザのコールとは無関係に進行する。したがって作動フェーズ 中は、個別アクセスのための他のコールを考慮できない。 さらにこの準備フェーズ中、トランザクションのコーディネートが行われ、つ まり並行する他のトランザクションとのあらゆるコンフリクト状況が識別されて 調整される。その際、コーディネートは次のようにして行われる。すなわち、よ り早く開始されたトランザクションは継続して実施されるのに対し、並行する他 のトランザクションは相応の否定的な通報をユーザへ戻すことで拒絶される。こ のようにしてすべてのコン フリクト状況が準備フェーズ中に解消されるので、トランザクションは作動フェ ーズにおいて互いに無関係に実行できる。 図4にはセントラルアクセスコントロールシステムCTCCの構造が示されて いる。セントラルアクセスコントロールシステムCTCCは、トランザクション 管理システムTMS、ジェネレーション管理システムGMS、リソース管理シス テムRMS、ならびにコンフリクト管理システムCMSを有している。 トランザクション管理システムTMSは、データ管理システムのデータオブジ ェクトに対するトランザクション指向のアクセスをコントロールする。 ジェネレーション管理システムGMSは、作動フェーズ中にトランザクション 管理システムによりトランザクションに対し割り当てられたジェネレーション識 別子GEN_IDに基づき、トランザクション内で生成されたデータジェネレー ションを管理する。この管理において、新たに生成されたデータジェネレーショ ンのアップデートが行われ、つまり新たなデータジェネレーションがワークメモ リおよび/またはディスクにおけるその最終的なメモリロケーションへ転送され る。さらにこの管理において、読み出しシーケンス(データ管理システムのデー タオブジェクトに対し論理的に関連する一連の読み出しアクセス)がコントロー ルされる。 この形式の管理により、並行して1つのトランザクションが行われている間に 、同じジェネレーションにおける複数のデータオブジェクトから成るグループを 1つの読み出しシーケンス内で読み出すことができる。 リソース管理システムRMSは、トランザクション管理システムおよび/また はジェネレーシヨン管理システムのアクセスに際して用いられるアクセスデータ 構造体を管理する。 コンフリクト管理システムCMSは、並行に動作するトランザクションにより トリガされる同じデータオブジェクトへの書き込みアクセスをコーディネートし 、ある読み出しシーケンスが最も古いデータジェネレーションのデータオブジェ クトへの読み出しアクセスを同時に実行しようとするときに、そのデータジェネ レーションの消去を防止する。 RMSは最大のデータ構造として分岐フィルタプールTGS_POOLを有し ており、これはトランザクション管理システムTMSによってもジェネレーショ ン管理システムによっても利用される。分岐フィルタプールは、トランザクショ ン管理システムTMSからトランザクション内で受け取った新たなデータ(トラ ンザクション指向入力)を、それらのデータがジェネレーション管理システムに よりメモリおよびディスクの最終的なメモリロケーションに格納されてしまうま で保持するために用いられる。 RMSはさらに、トランザクションの適切な管理を可能にするログブックTG _LOGと、種々のデータジェネレーションの管理に用いられるスコープテーブ ルSCOPE_TABと、管理可能な最小のデータ構造として既述の分岐フィル タ構造体TGSEを有している。 図5には分岐フィルタプールTGS_POOLのアーキテクチャが示されてい る。 分岐フィルタプールのアーキテクチャによれば、相応のヘッダ0〜10を有す る10個のトランザクションリーフTLが設けられている。このことから、トラ ンザクション管理システム10は並列して10個のトランザクションをサポート することになる。それというのは、対応づけられたトランザクション識別子TA _IDが所属のヘッダの対応のデータフィールドにエントリされることで、もっ ぱら特定のトランザクションにのために各トランザクションリーフTLが確保さ れるからである。さらに付加的な11番目のトランザクションリーフが設けられ ており、これは利用可能なメモリが十分にないため(このことはヘッダ内のデー タフィールドFREE_MEMORYにより示される)所属のトランザクション リーフが不足したとき、目下のアクティブなトランザクションに対しその実行の 継続を可能にさせるために設けられている。 リソース管理システムがトランザクションリーフを利用できるようになるには 、3つの条件が満たされなければならない。第1の条件として、ヘッダのデータ フィールドFREE_MEMORY中に示されるヒープの空きメモリロケーショ ンが所定の閾値よりも大きくなければならない。第2の条件として、ヘッダのデ ータフィールドTA_IDがエントリを有していてはならない。さらに第3の条 件として、トランザクションの状態を表すヘッダのデータフィールドSTATE が状態”フリー”示していなければならない。 データフィールドSTATEのデータ内容は半永続的なトランザクションリー フ内の過渡的なパラメータであり、これが必要とされるのは、半永続的なパラメ ータFREE_MEMORYおよびTA_IDが他のトランザクションに対しト ランザクションリーフの再使用可能を表しているにもかかわらず、アップデート フェーズ中に1つのトランザクションリーフをさらに確保できるようにするため である。 図6にはトランザクションリーフのアーキテクチャが示されており、ここでは 殊にトランザクションリーフTGLのヘッダに含まれているデータフィールドが 示されている。 データフィールドBEGIN_USED_AREAは、トランザクションリー フTGLによりトランザクションの入力データを記憶させるために利用されるメ モリ領域の始端を表している。データフィールドEND_USED_AREAは 上記のメモリ領域の最後を表している。データフィールドEND_USED_A REAは同時に、別のTGLにより利用可能なメモリ領域の始端を表している。 データフィールドLENGTH_USED_AREAには管理のための冗長的 なパラメータが格納されており、これはデータフィールドBEGIN_USED _AREAの内容とデータフィールドEND_USED_AREAの内容の間に おけるメモリの差を示している。 さらにデータフィールドEND_UPDATEDAREAは、トランザクショ ンによりすでにディスクへ伝送されたメモリ領域の目下の終端を表す。 図7には分岐フィルタ構造体TGSEの構成が示されており、これは分岐フィ ルタプール内で管理される最小のデータ構造を成し、トランザクション管理シス テムまたはジェネレーション管理システムのプリミティブにより1つのトランザ クションに対応づけられ、トランザクションリーフTGLへオーバレイ構造とし てセットされる。 データフィールドPATTERNは監視のための1つのパラメータであって、 これは分岐フィルタ構造体が、データプールVLPによりトランザクションに対 応づけられた完全なメモリブロックとリンクされてい ることを表す。 トランザクション識別子TA_IDは分岐フィルタ構造体を要求した(対応づ けた)トランザクションを示すものであり、分岐フィルタ構造体に属するデータ 構造体たとえばデータオブジェクトをもっぱら当該のトランザクションのために 確保する。 コマンド識別子COM_IDおよび論理キーLOG_KEYにより、汎用モジ ュールとの通信に用いられるデータオブジェクトごとのプロトコル情報が表され る。 バックワードリファレンスPTR_BACK_REFは、論理キーのためのト ランスレータディバイスにおけるエントリを指すポインタを表し、あるいはジェ ネレーショントリーの場合には先行の分岐フィルタ構造体を指すポインタを表す 。フラグFによりこれら両方の事例が区別される。 ポインタPRT_OLD_DATAは、データオブジェクトの古いイメージを 指すポインタを表し、あるいはジェネレーショントリーの場合には次の分岐フィ ルタ構造体を指すポインタを表す。これら両方の事例は、やはりフラグFにより 区別される。 さらにポインタPTR_NEW_DATAは、データオブジェクトの新しいイ メージを指すポインタを表し、この場合にはフラグFにより、新たなイメージの データを別のリーフフォームにダウンロードすべきか 否かが示される。 データフィールドTGSE_Lは、データフィールドNEW_DATAに記憶 されたデータの物理的な長さを表す。 データフィールドOLD_BLK_Lは、データプールVLPにより割り当て られた古いメモリブロックの物理的な長さを表す。 データフィールドNEW_BLK_Lは、データプールVLPにより割り当て られた新たなメモリブロックの物理的な長さを表す。 ポインタPTR_NEXT_TGSEは、同じトランザクション内で割り当て られ次の分岐フィルタ構造体を指すポインタを表す。 さらにデータフィールドNEW_DATAは、新しいデータを格納するための データコンテナを表す。 図7に基づく分岐フィルタ構造体TGSEの説明で半永続的な分岐フィルタプ ールTGS_POOLの説明は終わりである。そこで次に、RMSの別のデータ 構造すなわちいわゆるログブックTG_LOGの説明を続ける。 図8には、トランザクション管理のためのログブックTG_LOGの構造が示 されている。半永続的なログブックは、分岐フィルタプール中にある各々のトラ ンザクション識別子TA_IDに対しそれぞれ1つの行の確保された表を成して いる。 半永続的なログブックはトランザクション管理のための表であり、その表のヘ ッダには目下のトランザクション識別子TA_ID_ACTが含まれている。こ の目下のトランザクション識別子の値は新たにスタートする個々のトランザクシ ョンに対応づけられ、その後、インクリメントされる。ヘッダ中の目下のトラン ザクション識別子は循環カウンタとして設けられている。 次に、ログブックの実例としての1つの行の各フィールドについて詳細に説明 する。 データフィールドPROCGRP_IDには、トランザクションをスタートさ せたプロセスグループに関する情報が含まれている。 状態フィールドSTATUSには、トランザクションのおかれている状態(フ ェーズ)に関する情報が含まれている。1つのトランザクションは基本的に3つ のフェーズに分けられており、つまり、ともにトランザクション管理システムの コントロール下にある準備フェーズと作動フェーズ、ならびにジェネレーション 管理システムのコントロール下にあるジェネレーションフェーズであり、このジ ェネレーションフェーズでは新たなデータがメモリおよびディスク上のその最終 的なメモリロケーションへ伝送される。これら種々のフェーズにおける個々のス テップは、付加情報として状態フィールドに記録される。そしてこの記録によっ て一貫性管理システムは、リアルタイムシステムのリスタートをトリガするイベ ントに対し適切に応答できるようになる。 図9にはスコープテーブルSCOPE_TABの構造が示されており、次にこ のテーブルの目的について詳細に説明する。 トランザクションの開始は、トランザクション識別子TA_IDのアロケーシ ョンにより一義的にマーキングされる。さらに、あるトランザクションの作動フ ェーズ内での新たなデータジェネレーションの形成には、やはり一義的に識別可 能なジェネレーション識別子が必要である。トランザクションのジェネレーショ ンフェーズにおいて実行されるすべてのアクションはジェネレーション識別子に 基づき行われるので、ジェネレーション識別子をトランザクション識別子とリン クできるようにして、1つのトランザクションで新たに導入されたデータをアク セスできるようにするために、半永続的なデータ構造体つまり上述のスコープテ ーブルSCOPE_TABを設ける必要がある。 スコープテーブルの別の目的は、ジェネレーション管理システムにより管理さ れるデータジェネレーションのすべてのスコープを記録することにある。そして 、あるトランザクションにジェネレーション識別子を割り当てるため、トランザ クション管理システムによりスコープテーブルが利用される。この理由で、スコ ープテーブルにはジェネレーション識別子のプールも含まれている。 スコープテーブルに記録されるジェネレーションのすべてのスコープは、スコ ープテーブルの終端を示すパラメータGEN_ID_OLDと、スコープテーブ ルの始端を有するパラメータGEN_ID_NEWにより記述される。さらに、 パラメータGEN_IDNEWはジェネレーション識別子のプールを指すポイン タを有しており、これは循環カウンタとして設けられている。 次に、RMSに含まれているリソースプリミティブについて詳細に説明する。 これはアクセスコントロールシステムCTCCのアクセスデータ構造体のまわり のシェルを成すものであり、それらのデータ構造体をアクセスコントロールシス テムの他のすべての機能ブロックに対しトランスペアレントにするものである。 次に、このプロシージャの利用について以下の図のフローチャートに基づき詳細 に説明する。 プロシージャAPPOINT_TAIDはトランザクション識別子のプールを 評価し、要求されたトランザクションに対し目下のトランザクション識別子を割 り当て、次に目下のトランザクション識別子の値をインクリメントする。 プロシージャALLOC_TGLは分岐フィルタプールTGS_Pの半永続的 なヘッダを評価し、トラン ザクションに対し1つのトランザクションリーフを割り当て、あるいはリソース の不足を検出し、それに応じてトランザクション・ポストプロセスを高い優先度 でトリガする。 プロシージャENTER_TG_LOGBOOKは、トランザクション情報た とえばあるトランザクションの状態に関する情報をログブックTG_LOGへ転 送する。 プロシージャVERIFY_TAIDは、後で詳しく説明するプロシージャD O_TAのユーザからコントロールシステムへパラメータとして転送されたトラ ンザクション識別子TA_IDをベリファイし、このトランザクション識別子T A_IDがログブック内に依然として記録されているか否かを確認する。 プロシージャDETMINE_TA_STATEは、ログブック内の対応のエ ントリに基づき1つのトランザクションの状態を判定する。 プロシージャAPPOINT_GENIDはジェネレーション識別子のプール を評価し、目下のジェネレーション識別子を割り当て、目下のジェネレーション 識別子の現在の値をインクリメントする。 プロシージャALLOC_TGSEは、ADBのためのCTCCのサービスプ ロシージャを成す。これによりアプリケーション固有のデータベースADBのモ ジュールインスタンスが、あるトランザクションに対 しトランザクションコントロールされる入力のための半永続的な分岐フィルタ構 造体TGSEを割り振れるようになる。この場合、プロシージャALLOC_T GSEには以下のアクティビティが含まれている。 −モジュールインスタンスから与えられた入力パラメータセットのチェック −利用可能なアクセスデータ構造体のチェックならびに、十分なメモリ容量が利 用できなければ高優先度の与えられたトランザクション・ポストプロセスのコー ル −割り振られた分岐フィルタ構造体への新しいデータのコピーならびに所属の分 岐構造体チェーンへの当該分岐フィルタ構造体の挿入 −以下で説明するコンフリクト管理システムのプロシージャTA_CONTRL のコールならびに、コンフリクトがなければ該当するデータオブジェクトのデー タアクセス部分への上述の分岐フィルタ構造体の挿入 プロシージャCONFIRM_TADATAは分岐フィルタ構造体チェーン中 を通り抜け、データプールVLPに対しそのデータプールの関連するメモリブロ ックであればプロシージャCONFIRM_SE_IZEを用いて通知する。 プロシージャDETMINE_TGSLINKはログブックTG_LOGを評 価し、それにより分岐フィ ルタポインタTGS_LINKを決定する。 プロシージャDETMINE_TGSEINFOは分岐フィルタ構造体TGS Eを評価し、それによりたとえばトランザクション識別子TA_IDまたは分岐 フィルタ構造体のリンク形式のような特定の情報をデータフィールドPATTE RNから求める。 プロシージャDETMINE_OLDTAIDはログブックを評価し、それに よりその中に記録されている最も小さいトランザクション識別子TA_IDを求 める。 プロシージャENTER_TGSHEADERはトランザクションの状態情報 たとえばディスクエラー情報を分岐フィルタプールTGS_Pのヘッダにおける 対応の状態フィールドへ伝送する。 プロシージャTA_ROLLBCKMEMにより、トランザクションコントロ ールされた入力の取り消し(ロールバック)が可能になる。このプロシージャに よって以下のアクションが実行される: −このプロシージャは1つのトランザクションの分岐フィルタ構造体チェーン中 を通り抜ける。 −メモリブロックが分岐フィルタ構造体チェーン内に組み入れられていれば、こ のプロシージャによってデータプールVLPはそれらのメモリブロックを解放す る。 −コマンド識別子がクリエートコマンドと一致してい たならば、このプロシージャは当該トランザクションを要求するモジュールイン スタンスの機能複合体プラットホームNewへ通知する。 −このプロシージャはデータアクセスパスから対応の分岐フィルタ構造体を解放 する。 −そしてこのプロシージャは、トランザクションリーフTGLおよび分岐フィル タプールTGS_Pのヘッダ中のエントリをリセットする。 プロシージャTA_ROLLBCKMEMはディスクエラーの場合にも用いさ れる。 プロシージャTA_ROLLFORWARDにより、リカバリイベントの場合 にトランザクションコントロールされた入力の継続(ロールフォワード)が可能 になり、この目的でこのプロシージャには後で説明するプロシージャDO_TA の一部分が含まれている。含まれているこのプロシージャへのエントリポイント は、リカバリイベント発生時におけるトランザクションの状態に依存する。 次に、図10〜図12に基づきリソース管理システムRMSの複合プリミティ ブについて説明する。 図10には、プロシージャDO_TADATAのフローチャートが示されてい る。 プロシージャDO_TADATAにより以下のことが行われる。すなわち、ア クセスコントロールシステムへ与えられたトランザクションデータをアップデー トインスタンスUPDATEへ転送し、これはノートブックNOTEBOOKへ 記憶させるためにもディスクDISKへさせるためにも行われる。その際、2つ の可能な値”TGSLEAF”または”VLPを有する入力パラメータTASK により、トランザクションリーフのヘッダ中のエントリで定められているトラン ザクションデータによりプロシージャがはたらくのか、あるいはデータプールV LP中の対応のメモリブロックに格納されているトランザクションデータにより プロシージャがはたらくのかが決定される。このプロシージャにおいて生じ得る 出力パラメータOUTPUTは、”Disk−Error”,”NO_SUCC ESS”および”SUCCESS”である。 図11にはプロシージャDO_HEADERのフローチャートが示されている 。このプロシージャにより分岐フィルタプール、トランザクションリーフおよび 1つのトランザクションのログブックのヘッダにおけるエントリが、ノートブッ クへの格納の役割をもつアップデートインスタンスへ与えられる。その後、プロ シージャが分岐フィルタチェーンを進行し、すべてのリンク情報を含むデータプ ールのメモリブロックのヘッダを、やはりノートブックへの格納を行うアップデ ータインスタンスへに与える。一貫性の理由でこのプロシージャにより同様に、 アクセスデータ構造体に関するデータに係わるヘッダ情報が同じノートブックへ 入力されるようにしなければならない。必要であればこのプロシージャは、ディ スクDISKへ格納する役割を有するアップデートインスタンスもコールする必 要がある。このプロシージャは入力パラメータを有していないのに対し、その出 力パラメータはプロシージャDO_TADATAの出力パラメータと同一である 。さらにこのプロシージャはログブック中のトランザクションの状態エントリを 2回、変化させ、詳細には1回目で状態情報TA_CLOSEDを状態情報TA _TGSHPREPへ変換し、2回目で状態情報TA_TGSHPREPを状態 情報TA_TGHSUCCへ変換し、これはプロシージャ進行中、ディスクへの 格納の役割をもつアップデータ情報がコールされたときに行われる。 図12には、プロシージャDO_TGSE_ENTRYのフローチャートが示 されている。このプロシージャは分岐プール構造体チェーンを進行し、1つの分 岐フィルタ構造体をデータアクセスパスへ組み入れるリンク情報を、ノートブッ クへの格納の役割をもつアップデートインスタンスへ転送する。その際に必要で あれば、このプロシージャはUPDATE: DISKのコールによりディスク への格納も行わせる。このプロシージャは入力パラメータを有しておらず、出力 パラメータとして先行のプロシージャと同じパラメータを有する。さらにこのプ ロシージャは、生じ得る状 態情報TA_TGSHPREPないしはTA_TGSHSUCCを状態情報TA _DISKPREPへ変換する。 これまではモジュールインスタンスに対するアクセスコントロールシステムの インタフェースプロシージャについて説明してきた。次に、ユーザに対するアク セスコントロールシステムのインタフェースプロシージャについて、図13〜図 15を参照しながら詳細に説明する。 図13にはプロシージャSTART_TAのフローチャートが示されている。 このプロシージャによりトランザクションがオープンされ、その際、このプロシ ージャによりアクセスコントロールシステムに対し入力パラメータとしてプロシ ージャグループ識別子が与えられる。そして出力パラメータとして、図13に示 されているパラメータTA_IDおよび/または”LACK OFF REOU RCES”を得る。このプロシージャの進行中、状態情報は”NO_TRANS ”をとる。 図14にはプロシージャABORT_TAのフローチャートが示されている。 このプロシージャによりユーザは、そのユーザによりアクティブにされたトラン ザクションを再び中止できるようになる。この場合、入力パラメータとしてユー ザはアクセスコントロールシステムへ当該トランザクションに属するトランザク ション識別子を与え、それに応じて所属のトランザクションがこのプロシージャ により取り消される。このプロシージャの出力パラメータも図14に示されてい る。プロシージャ開始にあたり生じ得る状態情報”TA_STARTED”また は”TA_NODISKNB”は、このプロシージャにより状態情報”TA_A BORTED”に変換される。 図15にはプロシージャDO_TAのフローチャートが示されている。このプ ロシージャにより準備フェーズが終了させられ、トランザクションの作動フェー ズが開始される。このプロシージャの入力パラメータはトランザクション識別子 TA_IDであり、他方、このプロシージャの出力パラメータはやはり図15に 示されている。1つのトランザクションの状態はこのプロシージャによって2回 、変更される。1回目では、目下の状態情報”TA_STARTEDが状態情報 ”TA_CLOSED”に変換される。そして2回目では目下の情報”TA_C LOSED”が状態情報”TA_DISKSUCC”に変換されるかまたは、” TA_DISKNOSUCC”あるいは”TA_NODISKNB”に変換され る。 次に、ジェネレーション管理システムについて詳細に説明する。 既述のようにジェネレーション管理システムは、データ管理システムのデータ オブジェクトに対する読み 取り指向のアクセスをコントロールする。この場合、読み取り指向のアクセスに は、互いに論理的に結合された複数の読み取り要求から成るシーケンスが含まれ ている。この種のシーケンス内では、一貫性のあるデータオブジェクトのセット つまり特定の時点で有効なデータオブジェクトセットがアクセスされるように保 証されており、しかもこのことはそれに並行するトランザクションがアクセスさ れるデータオブジェクトの1つまたは複数をアップデータするときでも保証され る。このような同時性を保証する目的で、各データオブジェクトの新しいイメー ジと古いイメージがワークメモリへもディスクへも記憶される。1つのトランザ クションの作動フェーズ中に割り当てられるジェネレーション識別子GEN_I Dは、ジェネレーション管理システムにより1つのトランザクションのジェネレ ーションフェーズ中に利用され、このことで当該トランザクションにより形成さ れた新たなデータジェネレーションを一義的に識別することができる。 特定のデータオブジェクトに対し2回以上のアップデータが実行された場合、 そして2つ以上の古いデータジェネレーションがメモリに保持されていた場合、 いわゆるジェネレーショントリーが伸びる始める。 図16には特定のデータオブジェクトに対する実例としてのジェネレーション トリーが示されている。このジェネレーショントリーには3つのジェネレーショ ンD1,D2,D3が含まれている。最も新しいジェネレーションD3は分岐フ ィルタ構造体中に含まれているのに対し、最も古いジェネレーションD1はその 最終的なロケーションとしてワークメモリ中にある。ジェネレーショントリーに 対するデータアクセスパスはリストの形でトランスレータ構造体により実現され ており、以下ではこれをトランスレータリストTRLと称する。トランスレータ 構造体のレコードフィールドは、論理インデックスを介してアクセスコントロー ルシステムによりコントロールされ、分岐フィルタ構造体を指す物理的なポイン タないしはジェネレーショントリーが存在しなければワークメモリ中のデータオ ブジェクトを指す物理的なポインタを有している。トランスレータ構造体のレコ ードフィールドを以下ではその機能に応じてデータリンクフィールドと称する。 ジェネレーショントリーを解体するため、ジェネレーション管理システムTM S(図4参照)はトランザクションポストプロセスシステムを有しており、これ は1つのトランザクション内で半永続的に分岐フィルタプールTGS_Pに格納 されているすべてのデータ(入力データ)をそこからワークメモリ内およびディ スク上におけるそれらの最終的なメモリロケーションへ伝送する。このためトラ ンザクションポストプロセスシステムの開始により、それらのデータに属するト ランザクションに対しジェネレーションフェーズの開 始が指示される。しかし、トランザクションポストプロセスシステムにより同時 に、新たに取り込まれたそれらのデータの下にある最も古いデータジェネレーシ ョンのデータが最終的に壊される。したがってトランザクションポストプロセス システムの開始により、これらのデータに属するトランザクションに対しジェネ レーションフェーズの終了が指示される。 このトランザクションポストプロセスシステムは、技術的にはアクセスコント ロールシステムの内部トランザクションとして実現されており、したがって他の トランザクションに対し同期がとられコーディネートされる。 トランザクションポストプロセスシステムは異なる2つの理由で開始され、こ のため異なる2つのプロセス優先度を有している。TGS_POOLにおけるリ ソース不足を解消する目的でトランザクションポストプロセスシステムを開始す る場合、これは管理プロセスよりも高い優先度を有する。1つのトランザクショ ンにより新たに取り込まれたデータをその最終的なメモリロケーションへ転送す る目的でトランザクションポストプロセスシステムを開始する場合には、管理プ ロセスと同レベルの優先度を有する。 図17にはトランザクションポストプロセスシステムのフローチャートが示さ れており、この場合、そこに記されている参照符号については後で詳しく説明す る。 次に、もっぱらジェネレーション管理システムのタスクをサポートするために 用いられるリソース管理システムRMSのアクセスデータ構造体について詳しく 説明する。 図18には、ジェネレーション管理システムに関連して導入されるアクセスデ ータ構造体、すなわち目下の読み出しシーケンスの記録されるいわゆる読み出し ログブックSEQ_LOGBOOKが示されている。この読み出しログブックを 用いることで保証されるのは、目下の読み出しシーケンスで得られるデータオブ ジェクトがトランザクションポストプロセスシステムによっても物理的に消去さ れないようになることである。しかも読み出しログブックは、読み出しシーケン スの時間監視にも関与する。それというのは過度に長く進行する読み出しシーケ ンスはシステムに対し悪影響を及ぼすからである。この関与は、時間監視により 読み出しログブック中のエントリを周期的にスキャンすることで達成される。こ の場合、所定の時間限界を越えた読み出しシーケンスが検出されれば、その読み 出しシーケンスは拒絶される。 読み出しログブックはデータフィールドPROCGRP_IDを有しており、 これには読み出しシーケンスをコールしたプロセスグループに関する情報が含ま れている。このフィールドは、トランザクションログ ブック中の相応のフィールドと同様にリカバリポストプロセスのサポートに用い られる。 読み出しログブックはさらにデータフィールドSEQ_STATUSを有して おり、このデータフィールドによってトランザクションポストプロセスシステム に対し経過中の目下の読み出しシーケンスが指示され、これによりジェネレーシ ョン識別子に属するデータオブジェクトが物理的に消去されないようになる。 次に、もっぱらジェネレーションにより利用されるリソース管理システムのリ ソースプリミティブについて詳細に説明する。これはトランザクション管理シス テムのリソースプリミティブと同様、リソース管理システムのアクセスデータ構 造体周囲のシェルを成す。 プロシージャVERIFY_GENIDはジェネレーション識別子GEN_I Dをベリファイし、それをジェネレーション管理システムへ伝送し、さらにジェ ネレーション管理システムはそれをスコープテーブルSKOPE_TABELE に記憶させる。 プロシージャALLOC_SEQRECははじめに1つの読み出しシーケンス に対し、ジェネレーション識別子に対応する読み出しログブック中のレコードを 割り当てる。 プロシージャENTER_SEQLOGは、読み出しシーケンスの状態情報を 読み出しログブックへ伝送する。 プロシージャDETMINE_GENIDOLDはスコープテーブルを評価し 、最も古いジェネレーション識別子GEN_ID_OLDを求める。 プロシージャTRANS_GENTAIDはスコープテーブルに基づき、この プロシージャに与えられたジェネレーション識別子に対応するトランザクション 識別子を求める。 さらに、トランザクションポストプロセスシステムTAPPのプロシージャP OSTPROC_TGSEは1つのトランザクションの分岐フィルタ構造体チェ ーンを通り、その際に以下のアクティビティを実行する: −トランザクションポストプロセスに与えられた優先度が低ければ、このプロシ ージャはコンフリクトチェックを実行し、これは図22に基づき後で詳しく説明 するコンフリクト管理システムのプロシージャGEN_CONCTRLをコール することによって実行される。 −このプロシージャは1つの分岐フィルタ構造体の内容をワークメモリ中の最終 的なメモリロケーションにコピーし、データプールのリンクされたメモリブロッ クであればその分岐フィルタ構造体をデータアクセスパスからはずし、その旨デ ータプールへ通報する。 −このプロシージャはトランザクションのバッファメ モリへトランザクションデータを引き渡し、必要であればその間にアップデート オペレーションを行わせる。 −さらにこのプロシージャはトランザクションリーフのヘッダをアップデートし 、分岐フィルタ構造体番号NO_TGSEをトランザクションログブックへエン トリする。 トランザクションポストプロセスシステムのプロシージャPOSTPROC_ HEADERには以下のアクティビティが含まれている。 −このプロシージャは分岐フィルタプールのヘッダにおける過渡的な状態情報を 変更して値”TA_CLOSEDにする。 −このプロシージャは分岐フィルタプールのヘッダとトランザクションのトラン ザクションリーフに対するアクセスフィールド(ロックフィールド)を解放する 。 −このプロシージャはトランザクションログブック中の状態情報を変化させて値 ”GEN_DISKPREP”にし、分岐フィルタプールのヘッダにおける対応 のレコードに入り込む。 −このプロシージャは分岐フィルタプールのヘッダにおける対応のレコード中の データならびにトランザクションログブック中のデータをバッファメモリNOT EBOOK(NB)へ転送する。 −さらにこのプロシージャはディスクDISKへのアップデートオペレーション を開始させてそれをコントロールする。 プロシージャGEN_ROLLBCKによりジェネレーションフェーズ中のト ランザクションの取り消し(ロールバック)が可能になり、以下のアクションを 実行する: −このプロシージャは半永続的な分岐フィルタ構造体チェーンを進む。 −このプロシージャは分岐フィルタ構造体とデータアクセスパスの間のリンクデ ータを評価し、必要に応じて分岐フィルタ構造体をデータアクセスパスと新たに リンクさせ、リンクデータをバッファメモリに伝送し、必要であればその間にデ ィスクへのアップデートオペレーションを行わせる。 −このプロシージャは、ディスクへのアップデートを行わせるアップデートイン スタンスUPDATEをコールする。 −さらにこのプロシージャはプロシージャCONFIRM_TADATAを利用 し、これはトランザクション管理システムによっても利用され、これについては すでに説明した。 次に、ユーザとジェネレーション管理システムとの間のインタフェースプロシ ージャについて、図19および図20を参照して詳細に説明する。 図19にはプロシージャBEGIN_GETSEQUENCEのフローチャー トが示されており、ユーザがこれをコールすることで読み出しシーケンスが開始 される。このプロシージャは読み出しシーケンスに対し、その時点で目下のジェ ネレーション識別子に対応する読み出しログブック中のレコードフィールドを割 り当て、パラメータSEQ_STATUSを変化させて値”closed”にす る。このことで、目下のジェネレーション識別子に属するデータオブジェクトが 、トランザクションポストプロセスによっても消去される可能性がなくなる。し かもこのプロシージャにより時間監視も呼び起こされ、これにより長く進行する 読み出しシーケンスがシステムに対し悪影響を及ぼすことがなくなる。このプロ シージャの入力パラメータとして、パラメータPROCGRP_IDが用いられ る。また、このプロシージャの出力パラメータはジェネレーション識別子GEN _ID、ならびにメッセージ”リソース不足”および”アクセプト”を含むメッ セージパラメータである。 図20にはプロシージャEND_GETSEQUENCEのフローチャートが 示されている。このプロシージャによって1つの読み出しシーケンスが終了され 、その読み出しシーケンスのジェネレーション識別子に属するすべてのデータオ ブジェクトがトランザクションポストプロセスのために解放され、これはこのプ ロシージャによりパラメータSEQ_STATUSが値”FREE”に変えられ ることで行われる。このプロシージャの入力パラメータはパラメータGEN_I Dである。また、このプロシージャの出力パラメータはメッセージ”スコープ外 ”または”アクセプト”を有するメッセージパラメータである。 次に、コンフリクト管理システムについて詳細に説明する。これは、設計上の 措置では完全にはまえもって回避できないような同時発生するトランザクション のアクセスコンフリクトを処理するものである。コンフリクト管理システムは基 本的に2つのプロシージャを有しており、つまりトランザクション管理システム のコントロール下にある1つのフェーズ中のアクセスコンフリクトを処理するプ ロシージャTA_CONCTRLと、ジェネレーション管理システムのコントロ ール下にある1つのトランザクションのフェーズ中のアクセスコンフリクトを処 理するプロシージャGEN_CONCTRLを有している。 図21にはプロシージャTA_CONCRTLのフローチャートが示されてい る。これはプロシージャALLOC_TGSEに埋め込まれており、1つのトラ ンザクションの準備フェーズ中のコンフリクトを処理するが、これは2つのトラ ンザクションがそれらの分岐フィルタ構造体を、データアクセスパスの同じデー タリンクフィールドで1つのデータオブジェクトと結 合しようとしたときに生じるものである。このようなコンフリクト状況を回避す るため、データリンクフィールドはポインタフィールドのほかにアクセスフィー ルドを有しており、これはそのアクセスフィールドがまだふさがれていない場合 つまり他のトランザクション識別子によりそのアクセスフィールドがすでに占有 されていない場合に、トランザクションがそのトランザクション識別子を格納す るフィールドである。これに応じて、分岐フィルタ構造体とデータアクセスパス とのリンクは、分岐フィルタ構造体を指す物理的なポインタの格納により行われ る。ある分岐フィルタ構造体を1つのトランザクション内で特定のデータリンク フィールドと結合させようとしたときに、他のアクティブなトランザクションに よりそのデータリンクフィールドのアクセスフィールドがすでに占有されている と、コンフリクトに至ることになる。このようなコンフリクトのコーディネート は以下のようにして制御される: −この場合、1つのデータオブジェクトに対するアクセスフィールドをはじめに 確保した準備フェーズ中のトランザクションを継続させる。他のトランザクショ ンは拒否する。 −すでに作動フェーズに至っていたトランザクションはアクセスコンフリクトに 基づきもはや拒否されない。 図22にはプロシージャGEN_CONCTRLのフローチャートが示されて いる。このプロシージャはトランザクションポストプロセスシステムのプロシー ジャPOSTPROCR_TGSEに埋め込まれており、トランザクションポス トプロセスシステムと1つのトランザクションのジェネレーションフェーズ中の 1つの読み出しシーケンスとの間におけるコンフリクトを処理する。正確にはこ のプロシージャGEN_CONCTRLは、トランザクションポストプロセスに 与えられた優先度が低ければ、あるデータジェネレーションに対し読み出しシー ケンスがアクセスしようとしたときにそのデータジェネレーションを消去する。 これに対しトランザクションポストプロセスに与えられた優先度が高ければ(こ れはリソース不足のときにアクセスコントロールシステムに対して実行される) 、読み出しシーケンスが拒絶されてデータジェネレーションが消去される。 次に、1つのトランザクションまたは1つの読み出しシーケンスにおいてまと められた個別アクションあるいは正確にいえば、この個別アクションを実行する ためのプロシージャについて、図23、図24、図25を参照しながら詳細に説 明する。 図23には、ユーザモジュールに含まれており個々の読み出しアクションを実 行するプロシージャGETが示されている。このプロシージャは、1つのトラン ザクション内でも1つの読み出しシーケンス内でもコールすることができる。プ ロシージャGETの入力パラメータは、読み出しアクションの識別子と、データ オブジェクトへのデータアクセスパスを介して導かれる論理キーである。プロシ ージャGETが1つのトランザクション内で用いられるならば、トランザクショ ンの識別子はトランザクション識別子TA_IDである。そうではなくプロシー ジャGETが1つの読み出しシーケンス内で用いられるならば、その識別子はジ ェネレーション識別子GEN_IDである。プロシージャGETの出力パラメー タは、データオブジェクトと、チェックメッセージを戻すためのメッセージパラ メータである。 まずはじめに、論理キーに基づいてデータアクセスパスのリストを進む。 図24には、複数のリストを含みユーザに依存しないデータモジュールVLP に格納されているデータアクセスパスの構造が実例として示されている。このデ ータアクセスパスには、データブロックUBを指すポインタであるリストエレメ ントをもったデータブロックリストUBLが含まれており、さらに1つのデータ ブロックUB内にはオブジェクトクラスリストOCLおよびデータオブジェクト リストDOLが含まれている。論理キーには上記のリストのインデックスが含ま れており、つまりインデックスUBL_IX,OCL _IX,DOL_IXが含まれていて、これらのインデックスに基づきデータオ ブジェクトOCIを指すポインタないしは分岐フィルタ構造体TGSEを求める ことができる。 まずはじめにプロシージャGETはデータアクセスパスを進み、ユーザに依存 しないセントラルデータプールVLPに設けられているプロシージャRD_BL Kをコールする。このプロシージャは戻り値として、データオブジェクトリスト DOLを指す物理的なポインタを供給する。トランザクションの場合、このポイ ンタはトランザクションの準備フェーズに続く作動フェーズではじめて用いられ 、これによって本来のアクセスが実行される。 次に、パラメータ”データオブジェクトリストDOLを指すポインタ”と”D OL_IX”を有するプロシージャACCESS_OCIがコールされる。この プロシージャはたとえばDOLのヘッダを検査して、与えられたパラメータ”D OL_IX”が有効なインデックスであるか否かを判定する。 インデックス”DOL_IX”が有効であれば、次にインデックス”DOL_ IX”に対応するリストDOLのリストフィールドが分析される。その際、リス トフィールドのアクセスフィールド(ロックフィールド)に格納されている識別 子がトランザクション識別子であるのかジェネレーション識別子であるのかがチ ェックされる。図23には分岐ブロックが示されている。 この場合、ジェネレーション識別子であれば、プロシージャEVAL_GEN TREEに基づきデータアクセスパスに続くジェネレーショントリーが評価され 、それに応じて、そのジェネレーション識別子に対応する物理的なポインタがデ ータオブジェクトに戻される。 識別子IDがトランザクション識別子であればプロシージャALLOC_TG SEがコールされ、このプロシージャはプロシージャSETを介して後続の書き 込みアクションを準備し、他のトランザクションに対しそのデータオブジェクト をロックする。さらにその結果、当該トランザクションの作動フェーズ中、トラ ンザクションポストプロセスはこのデータオブジェクトに関していかなるアクシ ョンも実行できなくなる。 ユーザ固有のデータモジュールGMIにはさらに、1つのトランザクション内 でデータオブジェクトを変形するプロシージャSETが含まれている。このプロ シージャの入力パラメータは、トランザクション識別子TA_ID,データアク セスパスを通って導かれる論理キー、新たに受け取るべきデータを指すポインタ 、ならびにその新たなデータの長さに関する情報である。また、出力パラメータ はリターンメッセージのためのパラメータである。 プロシージャSETではプロシージャGETのように、プロシージャRD_B LKとACCESS_OCIにより実行されるデータアクセスが行われる。その 後、プロシージャSETはCTCCに含まれているプロシージャALLOC_T GSEをコールし、このプロシージャにより新しい分岐フィルタ構造体TGSE が要求され、新しいデータないし新しいデータオブジェクトが分岐フィルタ構造 体へコピーされる。プロシージャSETがプロシージャGETにより準備されて いた場合には、新しい分岐フィルタ構造体への上記の割り当ては省略される。 ユーザ固有のデータモジュールにはさらに、1つのオブジェクトクラスを1つ のデータオブジェクトの分だけ拡げるプロシージャCREATEと、1つのオブ ジェクトクラスを1つのデータオブジェクトの分だけ小さくするプロシージャD ELETEも含まれている。これら両方のプロシージャは、本発明の説明にとっ ては重要ではないので、ここで詳細には説明しない。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 シュテファン ラング ドイツ連邦共和国 D−81371 ミュンヘ ン ダイザーシュトラーセ 24 (72)発明者 ユルゲン ランターマン ドイツ連邦共和国 D−81477 ミュンヘ ン グルブランソンシュトラーセ 21

Claims (1)

  1. 【特許請求の範囲】 1.リアルタイムシステムにおけるデータ管理システムにおいて、 a)トランザクション管理システム(TMS)が設けられており、該トランザク ション管理システムは、ユーザとデータ管理システムとの間におけるトランザク ションをコントロールし、1つのトランザクションは互いに論理的に依存してい るデータへの複数のアクセスから成るシーケンスであり、 b)アクセスデータ構造体(TGSE)が設けられており、該アクセスデータ構 造体は前記トランザクション管理システムにより1つのトランザクション内で、 修正すべきデータオブジェクトのアクセスパス中に挿入され、該アクセスデータ 構造体は、データオブジェクトにおける古いイメージへの第1の出力側とデータ オブジェクトにおける新しいイメージへの第2の出力側とを備えた分岐フィルタ を有しており、 c)ジェネレーション管理システム(GMS)が設けられており、該ジェネレー ション管理システムは、1つのトランザクション内で形成された新しいデータジ ェネレーションを当該トランザクション終了後、該トランザクションにより挿入 されたアクセスデータ構造体(TGSE)に基づき管理することを特 徴とする、 リアルタイムシステムにおけるデータ管理システム。 2.管理データ構造体(TGL)が設けられており、該管理データ構造体を用い て、前記トランザクション管理システムは1つのトランザクション内で挿入され たアクセスデータ構造体(TGSE)をそれらのリンクにより結合して、所定の ジェネレーション識別子(GEN_ID)を有する1つのデータジェネレーショ ンを形成し、次に前記ジェネレーション識別子は、このようにして結合されたデ ータジェネレーションの管理のために前記ジェネレーション管理システムへ送ら れる、請求項1記載のリアルタイムシステムにおけるデータ管理システム。 3.前記ジェネレーション管理システムは読み出し管理システム(LMS)を有 しており、該読み出し管理システムは互いに論理的に関連する複数のアクセスい わゆる読み出しシーケンスをコントロールし、前記読み出し管理システムは、ジ ェネレーション管理システムへ送られたジェネレーション識別子(GEN_ID )を使用することによって一貫性のある読み出しシーケンスアクセスを実行する 、請求項1または2記載のリアルタイムシステムにおけるデータ管理システム。 4.前記アクセスデータ構造体(TGSE)はロック フィールド(TA_ID)を有しており、該ロックフィールドを用いることで1 つのトランザクションは、トランザクション識別子(TA_ID)の格納により その背後にあるデータオブジェクトへのアクセスをもっぱら自身のために確保で きる、請求項1〜3のいずれか1項記載のリアルタイムシステムにおけるデータ 管理システム。 5.前記アクセスデータ構造体(TGSE)は各データオブジェクトに対しダイ ナミックに割り当てられる、請求項1〜4のいずれか1項記載のリアルタイムシ ステムにおけるデータ管理システム。 6.1つのアクセスデータ構造体(TGSE)のデータレイアウトは、1つのア クセスデータ構造体(TGSE)の分岐フィルタにおける第1の出力側が、それ よりも古いアクセスデータ構造体(TGSE)も指せるように構成されている、 請求項5記載のリアルタイムシステムにおけるデータ管理システム。
JP7528595A 1994-05-10 1995-05-03 リアルタイムシステムにおけるデータ管理システム Pending JPH09505681A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
DE4416552.8 1994-05-10
DE4416552 1994-05-10
PCT/DE1995/000583 WO1995030955A1 (de) 1994-05-10 1995-05-03 Datenverwaltungssystem eines realzeitsystems

Publications (1)

Publication Number Publication Date
JPH09505681A true JPH09505681A (ja) 1997-06-03

Family

ID=6517820

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7528595A Pending JPH09505681A (ja) 1994-05-10 1995-05-03 リアルタイムシステムにおけるデータ管理システム

Country Status (8)

Country Link
US (1) US6662202B1 (ja)
EP (1) EP0760130B1 (ja)
JP (1) JPH09505681A (ja)
CN (1) CN1149479C (ja)
AT (1) ATE165174T1 (ja)
DE (1) DE59501924D1 (ja)
ES (1) ES2116745T3 (ja)
WO (1) WO1995030955A1 (ja)

Families Citing this family (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7971204B2 (en) 2004-03-13 2011-06-28 Adaptive Computing Enterprises, Inc. System and method of co-allocating a reservation spanning different compute resources types
WO2005089246A2 (en) 2004-03-13 2005-09-29 Cluster Resources, Inc. System and method for providiing advanced reservations in a compute environment
US8782654B2 (en) 2004-03-13 2014-07-15 Adaptive Computing Enterprises, Inc. Co-allocating a reservation spanning different compute resources types
US7490325B2 (en) 2004-03-13 2009-02-10 Cluster Resources, Inc. System and method for providing intelligent pre-staging of data in a compute environment
US20070266388A1 (en) 2004-06-18 2007-11-15 Cluster Resources, Inc. System and method for providing advanced reservations in a compute environment
US8176490B1 (en) 2004-08-20 2012-05-08 Adaptive Computing Enterprises, Inc. System and method of interfacing a workload manager and scheduler with an identity manager
US8271980B2 (en) 2004-11-08 2012-09-18 Adaptive Computing Enterprises, Inc. System and method of providing system jobs within a compute environment
US8863143B2 (en) 2006-03-16 2014-10-14 Adaptive Computing Enterprises, Inc. System and method for managing a hybrid compute environment
US7996455B2 (en) 2005-06-17 2011-08-09 Adaptive Computing Enterprises, Inc. System and method for providing dynamic roll-back reservations in time
US9075657B2 (en) 2005-04-07 2015-07-07 Adaptive Computing Enterprises, Inc. On-demand access to compute resources
US7921425B2 (en) * 2005-03-14 2011-04-05 Cisco Technology, Inc. Techniques for allocating computing resources to applications in an embedded system
US9231886B2 (en) 2005-03-16 2016-01-05 Adaptive Computing Enterprises, Inc. Simple integration of an on-demand compute environment
US8041773B2 (en) 2007-09-24 2011-10-18 The Research Foundation Of State University Of New York Automatic clustering for self-organizing grids
US8484115B2 (en) 2007-10-03 2013-07-09 Palantir Technologies, Inc. Object-oriented time series generator
US8429194B2 (en) 2008-09-15 2013-04-23 Palantir Technologies, Inc. Document-based workflows
US8041714B2 (en) * 2008-09-15 2011-10-18 Palantir Technologies, Inc. Filter chains with associated views for exploring large data sets
US20100070426A1 (en) 2008-09-15 2010-03-18 Palantir Technologies, Inc. Object modeling for exploring large data sets
CN102004745B (zh) * 2009-09-02 2013-06-12 中国银联股份有限公司 数据转移系统及方法
US10877695B2 (en) 2009-10-30 2020-12-29 Iii Holdings 2, Llc Memcached server functionality in a cluster of data processing nodes
US11720290B2 (en) 2009-10-30 2023-08-08 Iii Holdings 2, Llc Memcached server functionality in a cluster of data processing nodes
US8732574B2 (en) 2011-08-25 2014-05-20 Palantir Technologies, Inc. System and method for parameterizing documents for automatic workflow generation
US20130173427A1 (en) * 2012-01-03 2013-07-04 Advanced E-Commerce Research Systems, Inc. Apparatus and method of data sharing between online marketplaces
US9870384B2 (en) * 2012-03-30 2018-01-16 International Business Machines Corporation Database system transaction management
US9348677B2 (en) 2012-10-22 2016-05-24 Palantir Technologies Inc. System and method for batch evaluation programs
US8855999B1 (en) 2013-03-15 2014-10-07 Palantir Technologies Inc. Method and system for generating a parser and parsing complex data
US8903717B2 (en) 2013-03-15 2014-12-02 Palantir Technologies Inc. Method and system for generating a parser and parsing complex data
US8868486B2 (en) 2013-03-15 2014-10-21 Palantir Technologies Inc. Time-sensitive cube
US8909656B2 (en) 2013-03-15 2014-12-09 Palantir Technologies Inc. Filter chains with associated multipath views for exploring large data sets
US8930897B2 (en) 2013-03-15 2015-01-06 Palantir Technologies Inc. Data integration tool
US9870543B2 (en) 2013-08-12 2018-01-16 GoodData Corporation Custom-branded analytic applications in a multi-tenant environment
US8938686B1 (en) 2013-10-03 2015-01-20 Palantir Technologies Inc. Systems and methods for analyzing performance of an entity
US9105000B1 (en) 2013-12-10 2015-08-11 Palantir Technologies Inc. Aggregating data from a plurality of data sources
US9286329B2 (en) * 2014-01-31 2016-03-15 GoodData Corporation Generating analytics application using reusable application modules
US8924429B1 (en) 2014-03-18 2014-12-30 Palantir Technologies Inc. Determining and extracting changed data from a data source
CN108090137B (zh) * 2017-11-29 2021-11-26 四川巧夺天工信息安全智能设备有限公司 一种解析edb数据库源文件中过长字段的方法
CN107992561A (zh) * 2017-11-29 2018-05-04 四川巧夺天工信息安全智能设备有限公司 一种解析edb数据库源文件中过长字段的方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01319837A (ja) * 1988-05-27 1989-12-26 Internatl Business Mach Corp <Ibm> 共用ファイル環境をサポートする方法
JPH03296838A (ja) * 1990-04-17 1991-12-27 Toshiba Corp 履歴データ管理方式
JPH0457127A (ja) * 1990-06-27 1992-02-24 Toshiba Corp 版管理装置
JPH04168569A (ja) * 1990-10-31 1992-06-16 Chubu Nippon Denki Software Kk 文書ファイルの世代管理方式
JPH04337866A (ja) * 1991-05-14 1992-11-25 P C Ee Kk データベース管理装置
JPH0619769A (ja) * 1992-06-30 1994-01-28 Oki Electric Ind Co Ltd レコードロック制御方法

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4627019A (en) * 1982-07-08 1986-12-02 At&T Bell Laboratories Database management system for controlling concurrent access to a database
US5027316A (en) * 1986-09-11 1991-06-25 International Business Machines Corporation Versioning of message formats in a 24-hour operating environment
JPS6370350A (ja) * 1986-09-11 1988-03-30 インタ−ナショナル・ビジネス・マシ−ンズ・コ−ポレ−ション デ−タのバ−ジョン管理方法
US4809170A (en) * 1987-04-22 1989-02-28 Apollo Computer, Inc. Computer device for aiding in the development of software system
US5179703A (en) * 1987-11-17 1993-01-12 International Business Machines Corporation Dynamically adaptive environment for computer programs
US5440730A (en) * 1990-08-09 1995-08-08 Bell Communications Research, Inc. Time index access structure for temporal databases having concurrent multiple versions
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
US5287496A (en) * 1991-02-25 1994-02-15 International Business Machines Corporation Dynamic, finite versioning for concurrent transaction and query processing
US5280612A (en) * 1991-11-26 1994-01-18 International Business Machines Corporation Multiple version database concurrency control system
US5410703A (en) * 1992-07-01 1995-04-25 Telefonaktiebolaget L M Ericsson System for changing software during computer operation
US5687363A (en) * 1994-03-30 1997-11-11 Siemens Stromberg-Carlson Distributed database architecture and distributed database management system for open network evolution
US5682533A (en) * 1994-09-27 1997-10-28 Telefonaktiebolaget Lm Ericsson (Publ) Updating software within a telecommunications switch without interrupting existing communication and neither moving nor converting data

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01319837A (ja) * 1988-05-27 1989-12-26 Internatl Business Mach Corp <Ibm> 共用ファイル環境をサポートする方法
JPH03296838A (ja) * 1990-04-17 1991-12-27 Toshiba Corp 履歴データ管理方式
JPH0457127A (ja) * 1990-06-27 1992-02-24 Toshiba Corp 版管理装置
JPH04168569A (ja) * 1990-10-31 1992-06-16 Chubu Nippon Denki Software Kk 文書ファイルの世代管理方式
JPH04337866A (ja) * 1991-05-14 1992-11-25 P C Ee Kk データベース管理装置
JPH0619769A (ja) * 1992-06-30 1994-01-28 Oki Electric Ind Co Ltd レコードロック制御方法

Also Published As

Publication number Publication date
CN1149479C (zh) 2004-05-12
CN1151796A (zh) 1997-06-11
ATE165174T1 (de) 1998-05-15
EP0760130A1 (de) 1997-03-05
US6662202B1 (en) 2003-12-09
DE59501924D1 (de) 1998-05-20
WO1995030955A1 (de) 1995-11-16
ES2116745T3 (es) 1998-07-16
EP0760130B1 (de) 1998-04-15

Similar Documents

Publication Publication Date Title
JPH09505681A (ja) リアルタイムシステムにおけるデータ管理システム
US5758333A (en) Data management system including user-independent generic database
CN105404592B (zh) 管理消息队列
Bogia et al. Flexibility and control for dynamic workflows in the worlds environment
Lampson Designing a global name service
JP3848085B2 (ja) トランザクションデータの高速記憶常駐処理方法および処理システム
CN101350009B (zh) 一种协同文档编写系统
CN102306197B (zh) 保证跨数据源操作结果一致性的装置和方法
US5909688A (en) Information management system
Strom et al. Concurrency control and view notification algorithms for collaborative replicated objects
CN110147225A (zh) 一种代码生成方法、装置及计算机设备、存储介质
US5423038A (en) Specialized data management method
JPH07306778A (ja) ソフトウェアの分散開発環境における開発管理方式
CN109493072A (zh) 一种基于联盟区块链的隐私合约保护的方法
JPH09512123A (ja) データ記憶装置
CN110659261A (zh) 一种数据挖掘模型发布方法及模型和模型服务管理方法
CN101169740B (zh) 一种ejb构件的动态迁移方法
JPH09511858A (ja) Osiエージェントにおける要求の並列実行
O'Grady Flexible data sharing in a groupware toolkit.
CN109325221A (zh) 表格文件的合并方法和装置
CN105302586A (zh) 软件升级处理方法、装置、终端及服务器
US7159012B2 (en) Computational data processing system and computational process implemented by means of such a system
JPH02292641A (ja) データベース管理方法
CN111400279B (zh) 数据操作方法、装置和计算机可读存储介质
CN113392074B (zh) 一种采用内存文档的物联网设备安全管理方法