Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP2559959B2 - 複数の非同期的プロセスによりレコードを更新する方法 - Google Patents
[go: Go Back, main page]

JP2559959B2 - 複数の非同期的プロセスによりレコードを更新する方法 - Google Patents

複数の非同期的プロセスによりレコードを更新する方法

Info

Publication number
JP2559959B2
JP2559959B2 JP4301066A JP30106692A JP2559959B2 JP 2559959 B2 JP2559959 B2 JP 2559959B2 JP 4301066 A JP4301066 A JP 4301066A JP 30106692 A JP30106692 A JP 30106692A JP 2559959 B2 JP2559959 B2 JP 2559959B2
Authority
JP
Japan
Prior art keywords
control interval
record
data control
shared
external storage
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
JP4301066A
Other languages
English (en)
Other versions
JPH05307530A (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 JPH05307530A publication Critical patent/JPH05307530A/ja
Application granted granted Critical
Publication of JP2559959B2 publication Critical patent/JP2559959B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores
    • G06F9/526Mutual exclusion algorithms
    • 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/99931Database or file accessing
    • Y10S707/99938Concurrency, e.g. lock management in shared database
    • 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/99931Database or file accessing
    • Y10S707/99939Privileged access

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Multi Processors (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、多数同時トランザクシ
ョン処理システム用の、データベース保全(integ
rity)管理手順に関するものであり、特に、単一の
データ制御インターバル即ちブロック内において、ブロ
ックレベルでのロック競合を生ずることなく、同時にレ
コードを更新する方法に関するものである。
【0002】
【従来技術】マルチプロセッシング環境における、オペ
レーティングシステムのロック管理部分は、プロセスに
代って、記憶リソース上のロックの指定及び再指定を行
なうものである。このロック動作は、適当なトランザク
ションのシリアル化及びデータベースの一貫性を保証す
るが、プロセスの同時性を劣化させる要因ともなり得
る。同一資源(リソース)を用いて処理する多くの同時
プロセスから生じる高い同時性要求を有する資源を、ロ
ック管理部が頻繁にロックすると、データ処理のスルー
プットが低下することになり得る。このロック競合状況
においては、このような資源を同時プロセス間で割り当
てる必要がある。更に、ロック競合を並び変えるために
強いられる待ち状態によって、プロセスの多くの処理速
度が落ちることになる。また、ロック管理部もロック、
ロック解除、並びに待ち状態の解決及び状態の再開に処
理時間を消費しなくてはならない。
【0003】リレーショナルデータベース管理システム
においては、マルチプロセッサデータベース環境におい
て、同時プロセスを用いて動作するので、ロック管理部
のような機能を用いることになる。当該技術の現状は、
シー.ジェイ.デイト(C.J.Date)の「DB2
への案内」(Addison−Wesley Publ
ishing Co.,pp191−195、1984
年)、及びシー.ジェイ.デイト(C.J.Date)
の「データベースシステムの紹介」(Addison−
Wesley Publishing Co.,pp4
22−427、1986年)を参照することによって、
認めることができよう。また、エッチ.エフ.コースら
(H.F.Korth et al)の「データベース
システムの概念」McGraw Hill,Inc,p
p356−402,1986年)も、データベースシス
テムの同時性制御の一般論について開示している。
【0004】一般的にマルチプロセッサシステムでは、
そしてデータベース管理システムでは特に、一人のユー
ザが編集または更新の目的のためにファイルをアクセス
すると、アクセス中の更新が完了または保証されるま
で、他の全てのユーザは締め出されてしまう。ファイル
共有環境において同時性を改善するためには、多数のユ
ーザに、更新されているファイルを同時に読むことを、
許すようにしなくてはならない。また、あるユーザが異
なるレコードを更新している同じファイルにおいて、別
のユーザにレコードの更新を許すようにしなくてはなら
ない。
【0005】当該技術分野において、データベースシス
テムにおける同時性を改善する多くの方法が提案されて
いる。リチャード A.クルスら(Rechard
A.Crus et al)の米国特許第471652
8号は、ロック処理にかかるオーバヘッドと同時性との
間のトレードオフを管理することができる可変細分性を
用いて、階層的ロッキング及びロック促進技術を代表す
る方法を開示するものである。クルスらは、一対の調和
(coordinated)されたロッキング制限を用
いることを教示しており、第1の制限を、資源毎に「小
さな細分性」ロックの数に割り当て、第2の制限を、各
プロセスに指定可能なロックの全数に配置してある。
「小さな」ロック制限を越えると、これらの方法は全て
の小さなロックを引っ込め、資源全体に単一の全体的ロ
ックを付与し(ロックの段階的拡大)、それにより、ロ
ックの総数を減少させるようにしている。プロセスが、
全ロック数の制限に対して、更にロックを付け加えるこ
とを要求した時、そのロックを拒否する。しかしなが
ら、クルスらは、同時ブロックアクセスの際にブロック
レベルでのロック競合を回避するための一定の細分性
(したがって、低いオーバヘッド)の技術を提供してい
ない。
【0006】米国特許第5043876号において、チ
ャールズ アール.テリイ(Charles R.Te
rry)は、ファイル共有環境で用いるための、N−レ
ベルファイルシャドウ技術を開示している。テリイは、
各共有ファイルのN−レベルのシャドウコピーを保持
し、他のユーザが同時に同じファイルを更新していて
も、そのファイルの一貫したコピーを、多数のユーザが
読むことを可能にしたものである。この共有ファイルを
オープンにした各ユーザは、ファイルの最新の保証され
たコピーを見ることができるが、そのファイルをオープ
ンにした後に生じる更新トランザクションには気づくこ
とはない。しかしながら、テリイの技術は一度に1つの
更新トランザクションしか許しておらず、ファイルまた
はブロックレベルでの更新のロック競合のために、他の
複数の同時更新プロセスが待機しなければならない。
【0007】
【発明が解決しようとする課題】ロッキング競合と同時
性との問題は、当該技術分野では重大であると考えられ
るが、レコードレベルでのロッキングのみにより、共有
メモリ内に多数のレコードを含んでいる共通データブロ
ックの同時アクセス動作を管理するための教示または示
唆は記載されていない。即ち、同一ブロックまたはデー
タ制御インターバル(CI)への2つ以上の同時更新ト
ランザクションは、通常、テリイ及びその他が教示して
いるように、データ制御インターバルCIレベルでのロ
ックを必要とする。レコードレベルのロッキングのみに
よるシリアル化を用いた2つ以上の更新プロセスによ
り、単一のブロックに同時アクセスを可能とする方法に
対して、当該技術分野では強い要求がある。関連した未
解決の問題及び欠陥を解決することは、当該技術分野で
は重大なことであり、したがって本発明の目的は、これ
ら従来技術の問題点を解決してレコードレベルでのロッ
キングのみによって、更新プロセスのシリアル化を保つ
ことである。
【0008】
【課題を解決するための手段】本発明の方法は、仮想記
憶アクセス方法(VSAM)に、ブロックまたはデータ
制御インターバル(CI)レベルのロッキングのオーバ
ヘッドなしに、分散型マルチプロセッサ環境において、
レコードレベルの共有データの一貫性を維持させるもの
である。レコードレベルのロックのみを用いて、2つ以
上のプロセスを同時に更新することができる。本発明
は、多数の専用バッファ(プライベート・バッファP
B)データの制御インターバル・コピー、共有ローカル
・キャッシュSLC無効化プロトコル及び条件付書き込
み機能のための方法を備えたものである。 動作におい
て、本発明のVSAMレコードレベル共有(RLS)方
法は、第1のプロセスまたはワーク単位(UOW)が、
共有する構造型外部記憶装置(SES)から、対象とな
るレコードを含むデータ制御インターバルCIの専用バ
ッファ(PB)コピーを、共有するローカルキャッシュ
(SLC)内の専用バッファPBに、取り込むことを許
可する。専用バッファは1つのワーク単位に専属のもの
で、1つの専用バッファは1つのワーク単位によっての
みアクセスされ、更新される。この取り込みの後、第1
のワーク単位UOWは、全ての更新を対象レコードに記
録(log)し、変更されたデータ制御インターバルC
Iを共有構造型外部記憶SESに戻して条件付きで書き
込む。この共有構造型外部記憶SESへの書き込みは、
第2のワーク単位UOWによって同一データ制御インタ
ーバルCIへの暫定的な書き込みがなかったことを条件
としている。第2のワーク単位UOWが実際に合間に同
一データ制御インターバルCIを書き込んだならば、第
1のワーク単位UOWは、そのデータ制御インターバル
CIの最新のコピーについて共有構造型外部記憶SES
を参照し、それを第1のワーク単位UOWからの記録さ
れた更新と組み合わせ、再び更新されたデータ制御イン
ターバルCIを共有構造型外部記憶SESに戻して条件
付きで書き込むことによって、再度実行する。
【0009】したがって、本発明のレコードレベル共有
方法は、共有データ集合(セット)の変更のシリアル化
のためにも、共有ローカル・キャッシュSLCの一貫性
のためにも、共有ローカルキャッシュ(SLC)バッフ
ァもデータ制御インターバルCIレベルのロッキングを
必要としない。代りに、キャッシュ入力の有効性を試験
し、条件付でキャッシュに書き込むための本発明の新規
なプロトコルを用いて、データ制御インターバルCIレ
ベルの競合を検出する。
【0010】本発明の目的は、上記した様に、レコード
レベルでのロッキングによって、更新プロセスのシリア
ル化を保つことであるが、この目的は、本発明の専用バ
ッファ(PB)のコピー、共有ローカル・キャッシュS
LCバッファの無効化、及び条件付共有構造型外部記憶
SES書き込み方法によって、達成させる。 これらの
方法の利点は、データ制御インターバルCIをロッキン
グ及びロッキング解除する際、マルチシステムデータ共
有環境において、かなりのオーバヘッドコストとなるオ
ーバヘッドを回避することができることである。本発明
の別の利点は、新規なプロトコルが、同一データ制御イ
ンターバルCI内の異なるレコードをアクセスする、多
数の更新トランザクションのためのデータ共有ロック競
合を低減させることができることである。
【0011】本発明の更に別の利点は、更新トランザク
ションの確認(commit)を待つことなく、トラン
ザクションを更新することによって同時にアクセスされ
るレコードを含むデータ制御インターバルCIからの無
変更レコードを読み出すことができることである。即
ち、レコードレベルでの読み出し/書き込み動作は、デ
ータ制御インターバルCI(即ちブロック)レベルで競
合するものではない。
【0012】本発明の方法は、ロッキング及び改訂(v
ersioning)の混成技術として考えられる。共
有ローカル・キャッシュSLC内の各専用バッファのコ
ピーは、そのために作成されたワーク単位によってのみ
アクセス可能な、一貫性があるが恐らく古いデータ制御
インターバルCIの改訂版を表す。また、レコードレベ
ルのロッキングが用いられる。
【0013】制御インターバルCIレベルのロッキング
がないので、データ制御インターバルCIコピーは、1
つ以上の共有ローカルメモリ内に同時に存在することが
できる。これらの共有ローカル・キャッシュSLCコピ
ーの各々を、同時に更新することもでき、各共有ローカ
ル・キャッシュSLCコピーの「有効性」を共有構造型
外部記憶SESレベルで監視するようにする。レコード
レベルのロッキングを行なうので、同一データ制御イン
ターバルCI内のいかなる同時更新も、異なるレコード
に対して実行されるべきである。同一データ制御インタ
ーバルCIの異なるコピーに対して複数の同時更新を行
なう場合、本発明のレコードマージ再実行(RMR)法
にしたがって、多数の共有ローカル・キャッシュSLC
コピーをマージし、いくつかの同時トランザクションか
らの全ての更新されたレコードを含んでいる新しいデー
タ制御インターバルCIを共有構造型外部記憶SES内
に形成する。
【0014】ワーク単位(UOW)は、本発明の新パラ
メータであり、VSAM要求パラメータリスト(RP
L)上で指定しなくてはならない。VSAMは、単一の
ワーク単位UOWに代って全ての動作(activit
y)を追跡するための内部構造を有する。ワーク単位U
OW構造に含まれるのは、データ制御インターバルCI
に関連する専用バッファ・コピーを含む共有ローカル・
キャッシュSLC内の専用バッファへのポインタと、ワ
ーク単位UOWに対して関連するデータ制御インターバ
ルCIの変更ログを表にしたワーク単位UOWログブロ
ックとである。
【0015】1つの専用バッファPBのみを、データセ
ット毎のワーク単位UOW毎に保持するようにする。ワ
ーク単位UOWが第2のデータ制御インターバルCIに
アクセスする時、無変更の場合は無条件解放、または本
発明の条件付書き込み方法のいずれかによって、第1の
データ制御インターバルCIが解放される。条件付書き
込み要求により、試験、無効化、マージ及び条件付書き
込みの再試行のサイクルを、新しい(更新及びマージを
行なった)データ制御インターバルCIが共有構造型外
部記憶SESに書き込まれるまで、繰り返すことにな
る。
【0016】特殊なデータ制御インターバルCIレベル
ロッキング方法を用いて、データ制御インターバルまた
は制御領域内に存在するスペース(空間)に時折起こる
枯渇に応答して生じる、VSAMデータ制御インターバ
ル及びデータ制御領域の分割(CI/CA分割)によっ
て起こされる問題を克服する。これらの分割手順は、V
SAM管理ガイドまたは先に引用したボールの参考文献
に開示されている。
【0017】実施例の説明において、以下にあげる略語
を、以下に定義したように用いるが、これらは、明細書
に記載した参考文献、及び、例えば、「MVS/ESA
VSAM 管理ガイド」(SC26−4518,In
ternational Business Mach
ines,Inc,Armonk,NY)、及びマリリ
ン ボール(Marilyn Bohl)の「IBM直
接アクセス記憶装置の紹介」(Science Res
earch Associated,Inc., Pa
lo Alto, CA,1981年)のような、適当
なIBMシステムマニュアルを参照することによって、
明瞭になるであろう。
【0018】 API Application Programming Interface BMF Buffer Management Facility CA Control Area CI Control Interval CI/CA Conrl Interval/Control Area CIDF CI Definition Field KSDS Key−Sequenced Data Set PB Private Buffer RLS Record Level Sharing RMR Record Merge Redo RPL Request Parameter List SDSH Shared Data Storage Hierarchy SES Structured External Storage SLC Shared Local Cache TLCE Test Local Cache Entry UOW Unit of Work 仮想記憶アクセス方法(VSAM): 本発明の方法を、IBM社が用いているVSAMプロト
コルに関して説明する。VSAMは、当該技術分野では
公知の方法で、階層的記憶機能内の空間を管理する機構
であり、ここでは、本発明方法の動作を例示するために
用いている。先に引用した参考文献には、本発明のVS
AMアプリケーションを実行するのに必要な全てのVS
AMの詳細を、開示している。本発明はVSAMアプリ
ケーションに限定されるものではなく、当該技術の熟練
者には明白であるように、いかなる同様な分散型同時ト
ランザクション処理システムにも適用できるものであ
る。
【0019】図1(A)は、一例としてあげたマルチプ
ロセッサ記憶階層の一部を示すものである。構造型外部
記憶(SES)機能10を、共有ローカル・キャッシュ
SLC12で代表される複数の共有ローカルキャッシュ
(SLC)に結合して示している。共有構造型外部記憶
SES10に記憶されているデータは、図では制御イン
ターバルCI14で代表される、レコードのデータ制御
インターバル(CI)において、組織化される。各デー
タ制御インターバルCIは、ある特定のデータ型のレコ
ードを含む、補助的記憶装置の固定長領域である。この
ようなレコードの例は、記憶装置内のキーシーケンスで
順序付けされた、キーシーケンス型データセット(KS
DS)のレコードを含んでいる。複数のデータ制御イン
ターバルCIは、データ制御領域(CA)(図示せず)
と呼ばれる補助的な記憶装置の複数の固定長領域に、組
織されている。
【0020】1つのデータ制御インターバルCIは、V
SAMがデータレコードやそれらを記述した制御情報を
記憶するために用いられる、補助的な記憶装置の1つの
連続領域である。これは、記憶階層において、1つの記
憶レベルと別のレベルとの間のデータ転送の典型的な単
位である。そのサイズは、データセットによって変化す
るが、各データ制御インターバルCIのサイズは、1つ
のデータセット内では固定であり、VSAMが受け入れ
可能な限度内で、VSAMまたはユーザのいずれかによ
って固定される。VSAMは、使用中の補助的記憶装置
のハードウエアタイプ、ユーザデータレコードのサイ
ズ、及びユーザアプリケーションプログラムがI/Oバ
ッファを使用可能にする仮想記憶空間の最少量に基づい
て、サイズを選択する。このように、データ制御インタ
ーバルCIは、デバイスとは独立したデータ転送単位で
あり、一般的に、トラック、ブロックまたはレコードの
ような他のデータ記憶単位を包含するか、またはそれら
に包含されるようなものであって良い。
【0021】ある場合では、1つのレコードを挿入ある
いは延長することは、対応するデータ制御インターバル
CI内で使用可能な自由空間以上のものを必要とするこ
とがあり、その場合は、「制御インターバル分割」処理
に進み、VSAMがデータ制御インターバルCI内に記
憶されたレコードを同一CA(データ制御領域)内の未
使用データ制御インターバルCIに移動させる。これに
よって、いくらかの空間を解放し、新しい即ち更新され
たレコードを保持するようにする。
【0022】制御領域CA内に自由データ制御インター
バルCIがない場合、自由データ制御インターバルCI
を要求する挿入から、「制御領域分割」に進み、既に割
り当てられた空間を用いることにより、または最初に割
り当てた空間が満杯でデータ集合定義において拡張が得
られるのであればデータ集合を拡張することによって、
VSAMは新しい制御領域を作る。そして、VSAMは
満杯の制御領域CA内のデータ制御インターバルCIの
ほぼ半分の内容を、新しい制御領域CA内の自由データ
制御インターバルCIに移動させる。次に、新しいレコ
ードを、レコードキーによって指示された2つの制御領
域CAの一方に挿入することによって、きっかけとなっ
た挿入処理を完了する。これらの制御領域CAの各々に
おいてデータ制御インターバルCIの約半分が自由とな
ったので、後続の挿入は、これ以上制御領域CAの分割
を必要としない。CI/CA分割は、フリースペース
(自由空間)を十分に分配されたデータ集合には通常発
生しないものであり、VSAM制御の下で自動的に発生
する。
【0023】VSAMレコードレベル共有(RLS)に
関する発明: 本発明のレコードレベル共有(RLS)方法は、VSA
Mアプリケーションプログラムインターフェース(AP
I)に、アプリケーションの作業単位(UOW)のため
の支援を含ませるように、拡張したものである。ワーク
単位UOWは、VSAM要求パラメータリスト(RP
L)によって指定された、新しいパラメータである。V
SAMは、その動作をワーク単位UOWの代りに追跡す
るための内部構造を保持している。図1(B)を参照す
ると、ワーク単位UOWブロック構造は、VSAMバッ
ファ管理機能(BMF)から得られた専用バッファ(P
B)内のデータ制御インターバルCIのコピーへのポイ
ンタ16と、ワーク単位UOWをそれらの要求パラメー
タ・リストRPL内で指定するPUT/ERASE要求
によって専用バッファ(PB)のコピー20になされた
レコード修正に関する情報を含んでいるワーク単位UO
Wログへのポインタ18とを含んでいる。
【0024】VSAMは、データ集合毎のワーク単位U
OW毎に1つ以下のバッファー管理機能BMFバッファ
に関する情報を保持している。一般的に、VSAMは、
ワーク単位UOWがデータ集合内の異なるデータ制御イ
ンターバルCIへの参照を要求するまで、ワーク単位U
OWに対する専用バッファを保持するようにしている。
VSAMは、次にRELEASE NOWRITE要求
をバッファー管理機能BMFに発して修正していないバ
ッファを解放し、かつREASE WRITE要求を発
行して修正したバッファを書き込み、解放する。
【0025】図2は、ワーク単位UOW専用バッファ
と、図1(A)の共有ローカル・キャッシュSLC12
によって代表される共有ローカル・キャッシュSLCと
の間の関係を図示したものである。バッファー管理機能
BMFはすべてのバッファを管理する。共有ローカル・
キャッシュSLCは、図1(A)に示した共有データ記
憶階層(SDSH)における1つの記憶レベルである。
図2の共有ローカル・キャッシュSLC内において、デ
ータ制御インターバルCI22によって例示されている
多数のデータ制御インターバルCIコピーを、図1の共
有構造型外部記憶SESから書き込み、記憶している。
共有構造型外部記憶SESは、他のコピーを他の共有ロ
ーカル・キャッシュSLCに書き込むこともできるが、
このようなローカル制御インターバルCIコピー全ての
「有効性」を監視しなくてはならない。ワーク単位UO
W専用バッファを共有ローカル・キャッシュSLCに含
ませることもでき、該バッファは図1(A)に示したよ
うに、単一のワーク単位UOWによってなされたレコー
ドの更新を保持するのに用いられる。 図2は、データ
制御インターバルCI22のローカルコピーを同時にア
クセスするワーク単位UOWの数に応じて、必要な回数
だけ、ワーク単位UOW専用バッファにデータ制御イン
ターバルCI22のローカルコピーを書き込むことがで
きることを、示している。ワーク単位UOW専用バッフ
ァは、図2において専用バッファPB24で例示されて
いる。図2の専用バッファPB26は、ワーク単位UO
Wjに対するデータ制御インターバルCI22の第2の
コピーとすることもでき、この場合、専用バッファPB
24はワーク単位UOWiの第1のコピーとなる。
【0026】図2において、ワーク単位UOWiが第2
のデータ制御インターバルCI28へのアクセスを要求
した後、VSAMは、専用バッファPB24に対する2
つの使用可能なRELEASE(解放)命令の1つを発
行する。RELEASE NOWRITEは、無修正専
用バッファPBの無条件解放である。RELEASEW
RITE(以下に論ずる)は、条件付書き込み要求であ
り、局部的にまたは別の共有ローカル・キャッシュSL
Cにおいて、他の共有ワーク単位UOWの代りに、同一
データ制御インターバルCIの別のコピーに対して発せ
られたRELEASE WRITEによって、専用バッ
ファPB24またはデータ制御インターバルCI22が
無効化された時は、この要求は行なわれない。これは、
2つ以上のワーク単位UOWが同一データ制御インター
バルCIのコピーを(LOCATE UPDATEコマ
ンドによって)得て、バッファを修正し、そして修正さ
れた専用バッファに書き込もうとする(RELEASE
WRITEコマンドによって)時に、起こるものであ
る。最初のRELEASE WRITEは実行される
が、その他のものは実行されない。書き込みが実行され
ないと、VSAMに、以下に述べるレコードマージ再実
行(RMR)処理を行なわせることになる。
【0027】レコードレベル共有機能(RLS) VSAMは、次にあげる新しい機能を用いて、レコード
レベルで共有するVSAMデータ集合のデータ制御イン
ターバルCIへの、キャッシュアクセスを得る。
【0028】(a)LOCATE READ機能。この
機能は、図2においてデータ制御インターバルCI22
で例示されている、共有ローカル・キャッシュSLC内
の共有バッファへのワーク単位UOWアクセスを開始す
る。要求されたデータ制御インターバルCIがローカル
共有ローカル・キャッシュSLC内には得られない場
合、VSAMは、図1(A)の共有構造型外部記憶SE
S10からローカルコピーを書き込ませる。多数のロー
カルワーク単位UOWが共有バッファ22を共有する
(読み取る)ことができる。
【0029】(b)LOCATE UPDATE機能。
この機能は、図2の専用バッファPB24のようなデー
タ制御インターバルCIのプライベート(共有されてい
ない)バッファコピーへのアクセスを開始する。この機
能は、また、一貫性(consistency)または
「変更バージョン」のトークンを作成し、それを専用バ
ッファPBに書き込む。データ制御インターバルCIの
専用バッファ・コピーは、更新するワーク単位UOWに
よるアクセス要求に応答して作成され、そのワーク単位
UOWによる別のデータ制御インターバルCIへのアク
セス要求に応答して除去(解放)される。
【0030】(c)RELEASE NOWRITE機
能。この機能は、データ制御インターバルCIのコピー
への呼び出し元ワーク単位UOWのアクセスを除去す
る。この機能は、更新または変更されたいかなる専用バ
ッファ・コピーに対しても、無効である。対象となる専
用バッファ・コピーは除去即ち解放される。
【0031】(d)RELEASE WRITE機能。
これは、専用バッファPBの内容をデータ制御インター
バルCIの共有ローカル・キャッシュSLCバッファ及
び中央共有構造型外部記憶SESキャッシュに書き込
む、条件付書き込み機能である。最初のステップは、専
用バッファPB一貫性トークンの有効性をチェックし、
当該トークンが無効の場合条件付書き込み未遂行メッセ
ージを返送する。当該トークンが有効な場合、次のステ
ップは、専用バッファPBの内容を共有ローカル・キャ
ッシュSLCバッファ(例えば図3のバッファ22)に
書き込み、そして専用バッファPBの内容を共有構造型
外部記憶SESに書き込むために、共有構造型外部記憶
SESキャッシュからの許可を要求する。共有構造型外
部記憶SESがこのデータ制御インターバルCIの共有
ローカル・キャッシュSLCバッファコピーを(以前の
RELEASE WRITE処理の共有構造型外部記憶
SES CROSS−INVALIDATサブ機能によ
って)無効化してあった場合、次のステップにおいて条
件付書き込み未遂行メッセージを返送する。共有構造型
外部記憶SESキャッシュが専用バッファPBの内容を
受け入れるなら、この機能は、最初に新しい一貫性トー
クンを発生して専用バッファPBに書き込み、専用バッ
ファPBは全ての以前の一貫性トークンを無効化し、そ
して新しい一貫性トークンを共有ローカル・キャッシュ
SLC共有バッファに書き込む。最後に、更新された共
有ローカル・キャッシュSLCバッファの内容を共有構
造型外部記憶SESに書き込み、共有構造型外部記憶S
ESは、SES CROSS−INVALIDATEサ
ブ機能を用いて、データ制御インターバルCIの他の共
有ローカル・キャッシュSLCコピー全てを無効化す
る。専用バッファPBの内容を共有構造型外部記憶SE
S及び共有ローカル・キャッシュSLCの双方に首尾よ
く転送すると、この専用バッファPBへのワーク単位U
OWのアクセスを排除して専用バッファPBを廃止す
る。
【0032】(e)TEST BUFFER VALI
DITY機能。この機能は、共有ローカル・キャッシュ
SLCバッファ内のローカル一貫性トークンを、チェッ
クし、MVSテストローカルキャッシュエントリ(TL
CE)有効コマンドを発し、共有構造型外部記憶SES
をチェックしてSES CROSS−INVALIDA
TE処理がまだ生じていないことを確認する。
【0033】(f)SES CROSS−INVALI
DITY機能。これは、RELEASE WRITE機
能の共有構造型外部記憶SESキャッシュに関するサブ
機能であり、マルチシステム環境における共有ローカル
・キャッシュSLC一貫性の基本である。共有構造型外
部記憶SESは、図1に示すような1組の接続された共
有ローカル・キャッシュSLCの内容を登録し、監視す
る。共有ローカル・キャッシュSLCエントリを共有構
造型外部記憶SESに書き込んだ時、共有構造型外部記
憶SESは他の共有ローカル・キャッシュSLC内の名
称付データの既存の全てのコピーを無効化し、無効化さ
れた共有ローカル・キャッシュSLCエントリの共有構
造型外部記憶SESへのいかなる条件付書き込みも、実
行させないようにする。共有構造型外部記憶SESキャ
ッシュのこの条件付書き込み能力は、VSAMデータC
I上の共有ローカル・キャッシュSLCの境界を横切る
書き込み競合を決定するための手段である。この条件付
書き込みが行なわれないと、VSAM レコード・マー
ジ再実行RMR過程が開始される。
【0034】(g)テストローカルキャッシュエントリ
(TLCE)有効機能。これは、DFP バッファー管
理機能BMF及び共有構造型外部記憶SESキャッシュ
によって設けられる標準機能の1つである。本発明のV
SAM レコードレベル共有方法は、ロッキングの前に
VSAMレコードが先ず突きとめられなければならない
ような場合に、バッファー管理機能BMF テスト・ロ
ーカルキャッシュ・エントリTLCE機能を用いる。こ
のような場合は、アプリケーションの要求によりレコー
ド識別子の全てが特定されないような場合を含む。その
例は、GET連続、「以上」のGETキー、及びGET
全体的キー検索である。このような要求に対して、VS
AMはバッファー管理機能BMFを用いて、データ制御
インターバルCIを含む共有ローカル・キャッシュSL
Cバッファへのアクセスを得る。制御インターバルCI
を検索して要求されたレコードを突きとめる。レコード
を突きとめた後、VSAMはレコード識別子全体を知る
ことができる(キーシーケンス型データセットKSDS
に対するキーまたはキーなしタイプ(key−less
type)に対するRIN)。次に、レコード識別子
をロック名称として用いて、レコードロックが許可され
る。ロックされたレコードをアプリケーションに戻す前
に、VSAMは、そのレコードの共有ローカル・キャッ
シュSLCコピーが、共有構造型外部記憶SESキャッ
シュ内の中央データによって判定されたレコードの最新
版であることを保証しなければならない。VSAMは、
バッファー管理機能BMF テスト・ローカルキャッシ
ュ・エントリTLCE 有効機能を用いて、アクセスさ
れたデータ制御インターバルCIが、ある共有ローカル
・キャッシュSLC内のどれか別のワーク単位UOWに
よって変更されていないことを確認する。共有ローカル
・キャッシュSLCのバッファの有効性と、排他的レコ
ードロックとに対する2つの要求を組み合わせにより、
レコードの最新版がアプリケーションに戻されることを
保証する。共有ローカル・キャッシュSLCのバッファ
コピーが有効でない場合、またはレコードが局部的に発
見されない場合、VSAMはバッファー管理機能BMF
を呼び出し、データ制御インターバルCIの共有構造型
外部記憶SES版の共有ローカル・キャッシュSLC内
に新しいバッファコピーを得る。また、キーシーケンス
型データセットKSDSレコードに対して、CI/CA
分割処理は、所望のレコードを新しいデータ制御インタ
ーバルCIに移しておくこともできる。このような場
合、VSAMはキーシーケンス型データセットKSDS
インデクスを検索し、実際に必要な新しいデータ制御イ
ンターバルCIを突きとめる。
【0035】(h)Record−Level Loc
king機能。本発明のVSAMレコードレベル共有方
法は、共有ローカル・キャッシュSLCバッファエント
リ(データ制御インターバルCI)レベルのロッキング
を使用しない。その代りに、テスト・ローカルキャッシ
ュ・エントリTLCE有効及びRELEASE WRI
TE機能を用いて、共有ローカル・キャッシュSLCバ
ッファエントリレベルの競合を検出する。この方法は、
共有ローカル・キャッシュSLCバッファのロッキング
によるオーバヘッドを回避することができ、分散型デー
タ共有システムに大幅な節約が得られる。この方法は、
また、多数のトランザクションが互いに待たずに、同一
データ制御インターバルCI内の異なるレコードを更新
することができるので、ロック競合を減少させることも
できる。また、承認(commit)を待たずに、他の
ワーク単位UOWによって修正されたレコードを含むデ
ータ制御インターバルCIのコピーから、無修正レコー
ドを読み出すこともできる。したがって、記憶処理は、
共有ローカル・キャッシュSLCレベルの競合に遭遇す
ることはない。データ制御インターバルCIレベルのロ
ッキングがないため、データ制御インターバルCIの複
数のコピーが同時に1つ以上の共有ローカル・キャッシ
ュSLC内に存在する、上述の状況が生じることになる
これらの共有ローカル・キャッシュSLCコピーの各々
は、同時に更新できる。レコードのロッキングは、いか
なる同時更新でもデータ制御インターバルCI内の異な
るレコードに対していつでも行なえるように、実行され
る。このような同時更新は、レコード・マージ再実行R
MR機能を要求することになる。
【0036】(i)レコードマージ再実行(RMR)機
能。この機能は、種々の共有ローカル・キャッシュSL
Cからの複数のデータ制御インターバルのコピー内で変
更されたレコードをマージして、その変更されたレコー
ドの全てを含む単一のデータ制御インターバルのコピー
を形成するものである。これは、以下の例から最良に認
められよう。
【0037】図3には、共有ローカル・キャッシュSL
C1内のデータ制御インターバルCIのコピーを、変化
後のレコード3を有するものとして示し、共有ローカル
・キャッシュSLC2内のデータ制御インターバルCI
の別のコピーを変化後のレコード14として示してい
る。LOCAL UPDATE機能は、単一の共有ロー
カル・キャッシュSLCの環境において、同一データ制
御インターバルCIのこのような多数の専用バッファ・
コピーを発生することができるものである。したがっ
て、データ制御インターバルCI1のこのような専用バ
ッファコピーが2つ同一共有ローカル・キャッシュSL
C或は異なる共有ローカル・キャッシュSLCに存在す
れば、この機能は、これら2つの専用バッファ・コピー
をマージして、図3の下方に示すような制御インターバ
ルCI1の単一のレコードマージコピーを形成すること
ができる。
【0038】図4は、レコード・マージ再実行RMR処
理中の、データ制御インターバルCIの共有ローカル・
キャッシュSLC及び共有構造型外部記憶SESコピー
を示すものである。この例では、図4(A)に示すよう
に、システム1及びシステム2は、両方とも同一データ
制御インターバルCI内でレコードを更新する。各シス
テムは、まず、制御インターバルCI1のコピーをその
共有ローカル・キャッシュSLCに読み込み、制御イン
ターバルCI1の共有ローカル・キャッシュSLCコピ
ー内の1つのレコードを更新する。
【0039】システム1は次に、その制御インターバル
CI1のコピーに対して、RELEASE WRITE
(条件付書き込み)コマンドを発する。RELEASE
WRITEが実行され、システム2の共有ローカル・
キャッシュSLCエントリを含む制御インターバルCI
1の他の共有ローカル・キャッシュSLCコピーの全て
を無効化する。この処理結果を図4(B)に示す。
【0040】システム2がその制御インターバルCI1
のコピーにRELEASE WRITEコマンドを発す
ると、システム2の共有ローカル・キャッシュSLCエ
ントリがシステム1のコピーの既に実行されたRELE
ASE WRITEによって無効化されているので、条
件付書き込みは実行されない。そのRELEASEWR
ITEコマンドの未遂行が通知されると、システム2は
次に共有構造型外部記憶SES読み取りコマンドを発し
て、制御インターバルCI1の有効コピーを得る。この
有効コピーを受け取った後、システム2は、図4(C)
に示すように、制御インターバルCI1の2つの異なる
コピーを有することになる。
【0041】VSAMは次に、システム1のワーク単位
UOWによってレコード14に加えられた変更を、共有
構造型外部記憶SESから得られた制御インターバルC
I1の有効コピーに再び加える。システム2は制御イン
ターバルCI1の新たに更新された有効コピーに対し
て、RELEASE WRITEを再発生し、それによ
りこの書き込みは実行される。レコード・マージ再実行
RMR処理はこれで完了し、その結果は図4(D)に示
ようになる。最後にシステム2によって実行された共有
構造型外部記憶SESの書き込みのため、図4(B)に
示すシステム1内の制御インターバルCI1の共有ロー
カル・キャッシュSLCコピーは、無効化される。
【0042】CI/CA分割問題 上述のいくつかのレコードレベル共有機能は、VSAM
CI/CA分割機能が起こす問題に適合させるため
に、少々修正しなくてはならない。本発明の方法は、グ
ローバルデータ集合レベルの排他的ロックを用いて、C
I/CA分割とデータ集合に対して関連するインデック
スの更新とをシリアル化する。CI/CA分割によって
なされたインデクス及びデータの変更は、直ちに共有ロ
ーカル・キャッシュSLC及び共有構造型外部記憶SE
Sのキャッシュに書き込まれる。この変更はワーク単位
UOWの専用バッファにはバッファ記憶されない。
【0043】CI/CA分割は、1つのデータ集合に関
してシリアル化されるが、CI/CA分割の原因となら
ないGET/PUT/ERASE要求に関してはシリア
ル化されない。本発明のレコードレベルでのロックは、
ロックされたレコードを含んでいるCI/CAのCI/
CA分割を妨げるものではない。また、変更された制御
インターバルCIの専用バッファ・コピーの存在も、別
のワーク単位UOWが同一データ制御インターバルCI
の分割または同一データ制御インターバルCIを含む制
御領域CAを分割することを妨げることはないが、CI
/CA分割及び同時アクセスに跨る協調及びシリアル
化、並びに分割内に関係した制御インターバルCIの書
き込みの延期が必要とされる。
【0044】VSAM CI/CA分割中の1つの制御
インターバルCIから他の制御インターバルCIへの既
存レコードの移動には、本発明のVSAM レコードレ
ベル共有シリアル化方法にある程度の拡張を加えること
が必要とされる。レコードレベル共有レコードロックの
名称は、レコードキーを基にしているので、1つの制御
インターバルCIから別の制御インターバルCIへのレ
コードの移動は、レコードのロックに影響を与えるもの
ではなく、CI/CA分割前、最中及び後のレコードへ
のアクセスを適切にシリアル化する。しかしながら、本
発明のSESCROSS−INVALIDATE機能
は、CI/CA分割処理がレコードを新しい制御インタ
ーバルCIに移動させる時に、データ制御インターバル
CIの一貫性を保持するのにそれ自体では十分ではな
い。以下の例は、CI/CA分割中のシリアル化に関連
する典型的な問題を示したものである。
【0045】図5(A)は、ワーク単位UOW1の専用
バッファPB内のデータ制御インターバルCI1を示し
たものである。ワーク単位UOW1は、そのデータ制御
インターバルCI1のコピー内のレコード2を変更して
いる。その制御インターバルCI1のコピーを共有ロー
カル・キャッシュSLCにも共有構造型外部記憶SES
にも書き込んでいない。
【0046】次にワーク単位UOW2が、使用可能な制
御インターバルCI1の空間を越えるある処理によっ
て、制御インターバルCI1への分割を起こさせる。制
御インターバルCI分割は、2つの共有ローカル・キャ
ッシュSLCバッファを用い、図5(A)に示すような
制御インターバルCI1と制御インターバルCI8とを
形成する。制御インターバルCI1のワーク単位UOW
2コピーは、ワーク単位UOW1におけるレコード2に
対する変更を含んでいない。
【0047】ワーク単位UOW2に対する制御インター
バル分割データ移動及びインデクス更新ステップは、次
の通りである。(a)制御インターバルCI8を作成し
書き込む。(b)インデクスを更新し、制御インターバ
ルCI1に対するキーを変更し、制御インターバルCI
8に対するエントリを追加する。(c)制御インターバ
ルCI8に移動されたレコードを除去して、新しい制御
インターバルCI1を書き込む。
【0048】ここで、ワーク単位UOW2の制御インタ
ーバル分割のインデクス更新と新しい制御インターバル
CI1の書き込みステップとの間で、第3のワーク単位
UOW(ワーク単位UOW3)がインデクスを検索し、
制御インターバルCI8を見つけ、レコード15を修正
し、そして更新した制御インターバルCI8を書き込む
と仮定する。3つのワーク単位UOW全てのバッファの
結果的に得られた状況がを図5(A)に示されている。
【0049】次に、ワーク単位UOW1は、その制御イ
ンターバルCI1の専用バッファ・コピーを書き込む。
ワーク単位UOW2はまだその制御インターバルCI1
の専用バッファ・コピーを書き込んでいない。したがっ
て、ワーク単位UOW1の専用バッファ・コピーはまだ
有効であり、ワーク単位UOW1はRELEASEWR
ITEを共有ローカル・キャッシュSLCに発行し、共
有構造型外部記憶SES(図示せず)は実行される。こ
の書き込みは制御インターバルCI1のワーク単位UO
W2専用バッファ・コピーを無効化することになる(S
ES CROSS−INVALIDATEによって)。
そしてワーク単位UOW2が制御インターバルCI1を
書き込もうとしても、この条件付書き込みは実行されな
い。
【0050】本例で生じた図5(A)に示す状況は、先
に図4について論じたレコード・マージ再実行RMRの
例より、はるかに複雑である。元々ワーク単位UOW1
に連係されているログが、ワーク単位UOW1のREL
EASE WRITEが実行された時に削除されている
ので、ワーク単位UOW2はワーク単位UOW1によっ
て制御インターバルCI1に行なわれたレコード変更の
ログにアクセスすることができない。また、ワーク単位
UOW3によるロッギングされたレコードの変更は、何
らかの形でセーブしなくてはならない。
【0051】図5(B)は、本発明の方法が対処しなく
てはならない別の問題を示すものである。これは、先に
図5(A)について論じた例の変更例である。ワーク単
位UOW1は、制御インターバルCI1の専用バッファ
・コピーを保持し、該コピーは、変更されたレコード1
0を含んでいる。ワーク単位UOW1の専用バッファ・
コピーは、共有ローカル・キャッシュSLCにも共有構
造型外部記憶SESにも書き込まれていない。
【0052】ワーク単位UOW2は、次に制御インター
バルCI1の分割を生じさせる。この分割の間に、ワー
ク単位UOW1はその制御インターバルCI1の専用バ
ッファ・コピーのRELEASE WRITEを首尾よ
く行ない、レコード10に対するロックを解除する。分
割により既に、レコード10の旧版を新しい制御インタ
ーバルCI8に移動させ、新しいキー位置を示すキーシ
ーケンス型データセットKSDSインデックスを更新し
ている。
【0053】ワーク単位UOW3は、次にレコード10
に対するロックを得て、新しい制御インターバルCI8
に保持されているレコード10の旧版を(新しいキーシ
ーケンス型データセットKSDSインデクスによって)
見つける。この動作は、本発明のレコードレベル共有方
法の基本的レコードアクセス法の一貫性を破るものであ
り、防止しなくてはならない。
【0054】本発明は、起こり得る種々の状況の全てを
処理するために複雑な代替レコード・マージ再実行RM
R手順を組み込むより、むしろ、好適なシリアル化技術
を用いて、レコード/制御インターバルのアクセス法を
CI/CA分割処理と調和させることにした。これらの
好適なCI/CA分割のシリアル化技術を以下に述べ
る。
【0055】レコード/制御インターバルのアクセスと
制御インターバル分割との間のシリアル化 制御インターバル分割プロセスは、制御インターバル定
義フィールド(CIDF)内のあるビット(CIDFB
USY)をセットし次に制御インターバルCIを書き込
むことによって、開始する。これは、全てのアクセスプ
ロセスに、制御インターバル分割が進行中であることを
知らせるものである。制御インターバル分割が完了する
前にシステムに障害が生じた場合、制御インターバルC
Iへの以後の全てのアクセスは、このセットされたCI
DFBUSYビットに注目し、必要な回復処理を呼び出
し、その分割を一掃するか或は完了させる。制御インタ
ーバル分割における最後のステップは、移動され、かつ
CIDFBUSYビットが不能化されたレコードがない
状態で、分割された制御インターバルCIを書き換える
ことである。
【0056】本発明のレコードレベル共有(RLS)方
法に対して、CIDFBUSYビットをセットするのに
通常用いられるRELESE WRITE機能は、共有
ローカル・キャッシュSLCの無効化のために、実行さ
れないことがある。したがって、制御インターバル分割
プロセスは、バッファー管理機能BMFに制御インター
バルCIの有効なコピーを要求し、CIDFBUSYビ
ットがセット状態を維持するようになるまで、繰り返し
このビットをセットするように試みなくてはならない。
【0057】本発明のレコードレベル共有方法は、制御
インターバルCIを共有ローカル・キャッシュSLCま
たは共有構造型外部記憶SESに書き込もうとしている
他のワーク単位UOWからの干渉がない状態で、制御イ
ンターバル分割がCIDFBUSYビットを一旦セット
したなら、制御インターバル分割を完了させる。首尾良
く書き込みが実行され分割している制御インターバルC
I内のCIDFBUSYをセットすると、SES CR
OSS−INVALIDATE処理が開始され、その制
御インターバルCIのその他のすべての現存するワーク
単位UOWの専用バッファ・コピーを無効化する。ワー
ク単位UOWがそのデータ制御インターバルCIの専用
バッファ・コピーを変更し(或は既に変更してあり)、
その無効化した専用バッファPBを書き込もうとして
も、この条件付書き込みは実行されない。すると、ワー
ク単位UOWはバッファー管理機能BMFから制御イン
ターバルCIの有効なコピーを得て、そのCIDFBU
SYビットがセットされていることを発見する。このよ
うにセットされたビットを発見すると、ワーク単位UO
Wは、「制御インターバル分割ロック」を要求せざるを
得なくなる。この分割ロックの処理はワーク単位UOW
を制御インターバル分割プロセスとシリアル化するもの
で、それを行なう好適な方法である。
【0058】このように、ワーク単位UOWが制御イン
ターバルCIを読み取り、セットされたCIDFBUS
Yビットを見ると、直ちに制御インターバル分割ロック
を要求する。そしてそのワーク単位UOWは制御インタ
ーバル分割プロセスの完了と制御インターバル分割ロッ
クの解放とを待つことになる。
【0059】ワーク単位UOWがあるデータ制御インタ
ーバルCIの専用バッファ・コピーを有し、他のワーク
単位UOWによる動作によってそのデータ制御インター
バルCIを分割するような状況は、以下のように要約す
ることができる。 (a)制御インターバルCIの分割
の最中に制御インターバルCIのワーク単位専用バッフ
ァ・コピーが得られた場合、それはセットされたCID
FBUSYビットを含んでいる。このセットされたビッ
トが含まれていると、ワーク単位処理により専用バッフ
ァPBを解放させ、制御インターバル分割ロックを要求
させる。
【0060】(b)制御インターバル分割の前にワーク
単位専用バッファ・コピーが得られた場合、CIDFB
USYビットをセットする制御インターバル分割ステッ
プは、そのワーク単位専用バッファ・コピーを無効化す
るために既に(SES CROSS−INVALIDA
TEによって)処理されている。そのワーク単位UOW
に対する要求の後続処理において、以下のようにして無
効な専用バッファ・コピーを検出する。
【0061】(1)連続処理:レコードに対してロック
を得た後であってレコードをアプリケーションに返送す
る前に、VSAMはTEST BUFFER VALI
DITY要求をバッファー管理機能BMFに発する。こ
の要求は実行されない。 (2)PUT−for−UpdateまたはERASE
機能:対象レコードは以前のPUT−for−Upda
te要求によって、見つかっておりロックされている。
したがって、無効な専用バッファPBデータを保持して
いる専用バッファPBにおいてレコードを変更すること
ができる。その後、VSAMが無効な専用バッファ・コ
ピーを書き込もうとする時、BMF RELEASE
WRITE機能は、専用バッファ・コピーの無効のた
め、実行されない。 (3)直接またはスキップ連続要求:要求されたレコー
ドを見つけようとする前に、VSAMは、ワーク単位専
用バッファPBを解放する。専用バッファPBが変更さ
れていた場合、BMF RELEASE WRITEが
発せられる。共有構造型外部記憶SESが無効化されて
いるため、この要求は実行されない。
【0062】TEST BUFFER VALIDIT
Y機能が実行されず専用バッファPBを変更した時、及
びRELEASE WRITE機能が実行されない時は
いつでも、VSAMはレコード・マージ再実行RMR機
能を実行して、レコードの変更をデータ集合に再度適用
する。このように、専用バッファPBの無効化、CID
FBUSYビットがセットされる時にとられる動作、及
び制御インターバル分割のロックの組み合わせによっ
て、制御インターバル分割処理及び同一のデータ制御イ
ンターバルCIへの同時記憶更新をシリアル化すること
ができる。この好適な方法は、図5に関して上述した2
つの問題を以下のようにして回避することができる。
【0063】図5(A)に示した例では、ワーク単位U
OW2が制御インターバルCI1を分割した後にワーク
単位UOW1が制御インターバルCI1を書き込んでい
るが、その間にワーク単位UOW3が、この分割によっ
て作成された新しい制御インターバルCI8を変更し、
書き込んでいる。ワーク単位UOW2が書き込もうとし
た時、ワーク単位UOW1の書き込みによりワーク単位
UOW2の専用バッファ・コピーを無効化しているの
で、この書き込みは実行されない。ワーク単位UOW2
は、ワーク単位UOW1、3によってどのレコードが変
更されたかを判断できないので、この状況から回復する
事ができなかった。更に、レコードロックがワーク単位
UOW1及び2の一方又は双方によって既に解放されて
いる場合も考えられる。
【0064】この問題を上記したCIDFBUSYを基
にしたシリアル化手順によって解決する。ワーク単位U
OW2に対する制御インターバル分割プロセスでは、デ
ータ移動ステップを行う前にCIDFBUSYビットを
セットし、制御インターバルCI1を書き込み、それに
よりワーク単位UOW1のコピーを無効化する。制御イ
ンターバルCI分割が完了する前にワーク単位UOW1
が書き込もうとすると、ワーク単位UOW1の専用バッ
ファPBの無効のためこの書き込みは実行されないの
で、これにより、制御インターバル分割が完了するまで
ワーク単位UOW1による制御インターバルCI1のコ
ピーの書き込みを禁止する。そして、ワーク単位UOW
1はレコード・マージ再実行手順を開始してその専用バ
ッファ・コピーを再度有効化し、制御インターバル分割
が完了する前にワーク単位UOW1が制御インターバル
CI1を再度読み出した場合は、CIDFBUSYビッ
トがセット状態にあることが発見され、ワーク単位UO
W1は要求を出し、上記したように制御インターバル分
割ロックが解除されるまで待機する。
【0065】図5(B)に示した例では、CIDFBU
SYを基にしたシリアル化手順は、ワーク単位UOW1
がレコード10の更新版を書き込むことを禁止し、ワー
ク単位UOW1は制御インターバル分割が完了するまで
レコード10のレコードレベルでのロックを保持する。
ワーク単位UOW3は、ワーク単位UOW1が更新を完
了するまでレコードロックを待ち続け、一方、ワーク単
位UOW1は制御インターバル分割が完了するのを待っ
ている。これによって、レコードアクセスの一貫性を維
持することができる。
【0066】レコードアクセス/制御インターバルのア
クセス及び制御領域分割の間のシリアル化: 図6(A)及び(B)は、制御領域分割処理によって行
なわれる制御インターバル・データの移動とインデクス
の更新とを示したものである。図6(A)は、制御領域
分割処理の前の制御領域CAの様子を示している。制御
領域CAは4つの制御インターバルCIを含んでいる。
【0067】図6(B)で、制御領域分割処理により、
制御インターバルCI3の内容を制御インターバルCI
5に移動し、制御インターバルCI4の内容を制御イン
ターバルCI6に移動した状態を示している。この分割
処理は、キーシーケンス型データセットKSDSインデ
クス30を更新して、新しい制御領域CA及びデータ移
動を反映するようにしている。制御インターバルCI3
及び制御インターバルCI4はフリースペース(空)の
制御インターバルCIとして、書き直される。制御領域
分割処理の結果得ら得る2つの制御領域CAが図6
(B)に示されている。
【0068】制御領域CA内の制御インターバルCIに
対する他のワーク単位UOWによるレコードの更新と同
時に行なわれた制御領域分割によるデータ移動は、制御
インターバル分割の例で示したのと同様な複雑なレコー
ド・マージ再実行要求RMRを生ずる可能性がある。し
たがって、本発明は、変更された制御インターバルCI
の書き込みをこれら制御インターバルCIの制御領域移
動とシリアル化することを選択し、以下のシリアル化方
法を考慮した。
【0069】(1)バッファ無効化:このアプローチ
は、制御領域分割処理によって新しい制御領域CAに移
動された各制御インターバルCIに対するバッファを保
持するものである。これによって、制御領域分割は、移
動された制御インターバルCIに対する更新を検出でき
るようになる。この制御領域分割による、フリースペー
スの制御インターバルCIで移動された制御インターバ
ルCIを書き直す試みは、専用バッファ・コピーの無効
化のため、実行されない。したがって、制御領域分割処
理は、制御インターバルCIを再度読み取り、そしてそ
れを新しい制御領域CA内の新しい位置に再び書き込ま
なくてはならない。不幸にして、制御インターバルCI
を新しい制御領域CAに移動する時、他のワーク単位U
OWがその間に制御インターバルCIを修正し書き直す
場合がある。これは図5(A)に関して既に述べた状況
と類似したものである。制御領域分割処理は、他の2つ
のワーク単位UOWによってなされた変更をマージしな
くてはならないが、これらの変更の記録(log)は得
ることができない。このアプローチに関する別の問題
は、制御領域分割を行なっているシステムが、分割処理
の間に、誤動作する可能性があることである。このよう
な誤動作が起こると、制御領域分割バッファからの全て
の無効化指示を除去してしまう。このような状況からど
のように回復することができるかは、明白ではない。
【0070】(2)制御領域分割処理中の制御インター
バル・レベルロッキング: このアプローチは、制御領域分割処理中に移動する制御
インターバルCIの集合(CIセット)をバッファー管
理機能BMFに教えるように、VSAMに要求する。バ
ッファー管理機能BMFは、直接クロスシステム信号伝
達を用いるか、或はある新しいDFPロック管理機能
(現状では1つの要求として識別しないので、したがっ
て定義しない)を用いるかのいずれかによって、制御領
域分割処理によって移動させられる制御インターバルC
Iを含む全てのバッファへのアクセスを禁止する。VS
AMがこれら制御インターバルCIの1つへのアクセス
を要求し、このような「アクセス禁止応答」を受ける
と、制御インターバル分割ロックに対する要求が発せら
れて、全ての処理が制御領域分割処理の完了を待たなけ
ればならないようにする。このやりかたはうまく行くよ
うに見えるが、制御インターバルレベルのシリアル化を
開始及び中止するのに、クロスシステムの信号伝達を必
要とし、そのために必要な論理手段は過度に複雑とな
る。
【0071】(3)移動される全ての制御インターバル
CIのCIDFBUSYビットのセット:いかなる制御
インターバルCIの移動またはインデクスの更新にも先
だって、制御領域分割処理は、移動させることになって
いる各制御インターバルCI内のCIDFBUSYをセ
ットする。このアプローチは、図5に関して既に論じた
制御インターバル分割状況のために用いられるのと同一
のシリアル化技術であるという利点がある。したがっ
て、これは制御インターバル分割及び制御領域分割シリ
アル化の双方に対して、好適な方法である。
【0072】レコード・マージ再実行RMR/制御イン
ターバル分割の例: 図7は、制御インターバル分割処理中のレコード・マー
ジ再実行処理RMRを示したものである。この図に示し
た例では、ワーク単位UOW1は、データ制御インター
バルCI1の専用バッファ・コピー内の2つのレコード
を変更している。ワーク単位UOW1がその修正された
専用バッファ・コピーを書き込む前に、ワーク単位UO
W2がこの制御インターバルCIを分割する。制御イン
ターバル分割により、元の制御インターバルCI1内で
ワーク単位UOW1が修正したレコード(古いコピー)
の1つを残しておき、別の1つを新しい制御インターバ
ルCI8に移動させる。ワーク単位UOW1のレコード
・マージ再実行RMR処理は、制御インターバルCI1
と制御インターバルCI8の双方にアクセスし、変更を
加える。
【0073】図7(A)の例では、ワーク単位UOW1
は制御インターバルCI1内のレコード3とレコード1
5とを変更したが、ワーク単位UOW1は、制御インタ
ーバルCI1の修正された専用バッファ・コピーをまだ
書き込んでいない。図7(B)では、ワーク単位UOW
2は次のようにして制御インターバルCI1を分割す
る。ワーク単位UOW1は、制御インターバルCI1の
修正された専用バッファ・コピーをまだ書き込んでいな
いので、ワーク単位UOW1によって書き込まれた制御
インターバルCIは、レコード3及びレコード15のワ
ーク単位UOW1が修正する前の状態のコピーを含んで
いる。制御インターバル分割処理により首尾よく制御イ
ンターバルCI1及び制御インターバルCI8を書き込
み、次にキーシーケンス型データセットKSDSインデ
クスを更新する。
【0074】制御インターバル分割の完了に続いて、ワ
ーク単位UOW1は制御インターバルCI1を書き込も
うとする。ワーク単位UOW1による制御インターバル
CI1の専用バッファ・コピーは、制御インターバル分
割によってなされた制御インターバルCI1の書き込み
によって無効化されたので、ワーク単位UOW1はレコ
ード・マージ再実行RMR処理を開始する。レコード・
マージ再実行RMR処理により、制御インターバルCI
1の有効なコピーを得て、図7(C)に示すように、ワ
ーク単位UOW1は、レコード3に対して更新を再度適
用する。
【0075】レコード・マージ再実行RMR処理は、制
御インターバルCI1のキー範囲における変化を検出
し、このキー範囲がもはやレコード15を含んでいない
ことを発見する。次に、制御インターバルCI1の有効
な専用バッファ・コピーが書き込まれ、RELEASE
WRITE機能によって解放される。 キーシーケン
ス型データセットKSDSインデクスが次に検索され、
制御インターバルCI8においてレコード15を見つ
け、レコード15に記録されたワーク単位UOW1によ
る変更を、図7(D)に示すように、制御インターバル
CI8に適用する。
【0076】図7(D)に示す制御インターバルCI8
の専用バッファ・コピーが次に書き込まれ、RELEA
SE WRITE機能によって該コピーは解放される。
制御インターバルCI1の旧版の専用バッファ・コピー
はRELEASE NOWRITE機能によって解放さ
れる。レコード・マージ再実行RMRは、図7(D)に
示すような結果をもって完了する。
【0077】
【発明の効果】本発明は以上のように構成されているの
で、複数のプロセスがデータを共有する環境において複
数のプロセスがそれぞれ独自にレコードを更新すると
き、レコードのデータ一貫性を保全しながら、システム
の応答速度を低下させることなくアクセスの同時性を保
証することができる。このための制御に必要なオーバー
ヘッドも低レベルに押さえることができる。
【図面の簡単な説明】
【図1】データIC及びVSAM ワーク単位UOW情
報の、共有ローカル・キャッシュSLC(SLV)及び
構造型外部記憶装置(SES)を示すブロック図。
【図2】本発明のVSAM レコードレベル共有(RL
S)に必要な共有ローカル・キャッシュSLCバッファ
構成を示すブロック図。
【図3】データ制御インターバル(CI)の2つの共有
ローカル・キャッシュSLC専用バッファ(PB)に適
用した、本発明のレコードマージ再実行(RMR)方法
を説明するための説明図。
【図4】レコード・マージ再実行RMR例の間での共有
ローカル・キャッシュSLC内容の展開を示す説明図。
【図5】キーシーケンス型データセットKSDS CI
/CA分割及びインデクス更新の例に対する、共有ロー
カル・キャッシュSLCの内容の展開を示す説明図。
【図6】制御領域(CA)分割処理の期間間に行なわれ
るデータ制御インターバルCIの移動及びインデクスの
更新の効果を示す説明図。
【図7】制御インターバルCI分割処理中に実行する、
例示的なレコード・マージ再実行RMRの実行の間の共
有ローカル・キャッシュSLCの展開を示す説明図。
【符号の説明】
10 構造型外部記憶(SES)機能 12 共有ローカルキャッシュ(SLC) 14、22 データ制御間隔(CI)
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ケネス・マイケル・カプルカ アメリカ合衆国95123、カリフォルニア 州 サン・ノゼ、フェルダー・ドライブ 6378番地 (56)参考文献 欧州特許出願公開454610(EP,A)

Claims (4)

    (57)【特許請求の範囲】
  1. 【請求項1】データ集合が複数のデータ制御インターバ
    ル(CI)の形で組織されて共有構造型外部記憶(SE
    S)手段に記憶されており、複数の非同期的プロセスが
    前記データ集合の中のレコードにそれぞれアクセスして
    該レコードを独自に更新する方法において、 (1)アクセスしようとするプロセスによるアクセス要
    求に応答して、前記共有構造型外部記憶SESにおいて
    前記レコードを含むデータ制御インターバルを識別する
    ステップと、 (2)前記識別されたデータ制御インターバルを、前記
    アクセス要求を発したプロセスのみがアクセスしうる専
    用バッファ(PB)にコピーするステップと、 (3)前記アクセス要求を発したプロセスにより、前記
    専用バッファ中の前記制御インターバルのコピー内の前
    記レコードを更新して、更新された制御インターバルの
    コピーを形成するステップと、 (4)前記共有構造型外部記憶のデータ制御インターバ
    ルがまだ他のプロセスによって更新されていない場合
    は、前記更新された制御インターバルのコピーによって
    前記共有構造型外部記憶のデータ制御インターバルを更
    新し、他のプロセスによって更新されている場合には、
    前記レコードを含むデータ制御インターバルを前記共有
    構造型外部記憶から前記アクセス要求を発したプロセス
    のみがアクセスしうる前記専用バッファ(PB)にコピ
    ーしてステップ(3)乃至(4)を繰り返すステップ
    と、 から成り、これにより前記更新された制御インターバル
    のコピーによって前記共有構造型外部記憶のデータ制御
    インターバルを更新することを特徴とする方法。
  2. 【請求項2】請求項1記載の方法において、ステップ
    (2)に続いて、 (2.1)前記アクセス要求を発したプロセスに対し
    て、第1のレコードに関する排他的なレコードレベルの
    ロックを許可するステップと、 (2.2)前記専用バッファにある制御インターバルの
    コピーに、データの有効性を判定するための一貫性トー
    クンを付加するステップとを更に含むことを特徴とする
    請求項1記載の方法。
  3. 【請求項3】各々少なくとも2つのレコードを含む複数
    の記憶データ制御インターバルの形で組織されたデータ
    集合が共有構造型外部記憶に記憶されており、同時的に
    活動する複数の非同期的プロセスが、同じデータ制御イ
    ンターバルを共有構造型外部記憶においてアクセスし、
    レコードレベルのロッキングのみを用いてレコードを独
    自に更新するようにした方法において、 (a)第1のプロセスによって要求された所定のデータ
    制御インターバル内のレコードが、前記共有構造型外部
    記憶内に存在しているかを判定するステップと、 (b)共有構造型外部記憶から前記レコードを含むデー
    タ制御インターバルのコピーを前記第1のプロセスのみ
    がアクセスできる専用バッファに取り込むステップと、 (c)前記第1のプロセスによって前記専用バッファに
    取り込まれたデータ制御インターバルのコピーを変更す
    るステップと、 (d)前記変更されたデータ制御インターバルのコピー
    を、条件付で共有構造型外部記憶に書き込むステップで
    あって、前記第1のプロセスが前記データ制御インター
    バルを取り込んだ後に、第2のプロセスが同じデータ制
    御インターバルを共有構造型外部記憶内で変更しなかっ
    た場合、前記変更された制御インターバルのコピーを前
    記共有構造型外部記憶に書き込むステップと、 (e)前記第1のプロセスが前記データ制御インターバ
    ルを取り込んだ後に、第2のプロセスが同じデータ制御
    インターバルを共有構造型外部記憶内で変更している場
    合、前記レコードを含む前記記憶データ制御インターバ
    ルのコピーを共有構造型外部記憶から取り込み、前記ス
    テップ(c)乃至(e)を繰り返すステップと、 から成り、これにより変更されたデータ制御インターバ
    ルのコピーを前記共有構造型外部記憶に書き込むことを
    特徴とする方法。
  4. 【請求項4】請求項3記載の方法において、ステップ
    (a)により第1のプロセスによって要求された所定の
    データ制御インターバル内のレコードが、前記共有構造
    型外部記憶内に存在しているものと判定されたとき、前
    記第1のプロセスに対して前記レコードに排他的レコー
    ドレベルのロックを許可するステップをステップ(a)
    に続いて含むことを特徴とする請求項3記載の方法。
JP4301066A 1991-12-23 1992-11-11 複数の非同期的プロセスによりレコードを更新する方法 Expired - Lifetime JP2559959B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US07/812,677 US5355477A (en) 1991-12-23 1991-12-23 Method for updating a block using record-level locks by committing the update if the block has not been updated by another process otherwise spinning
US812677 1991-12-23

Publications (2)

Publication Number Publication Date
JPH05307530A JPH05307530A (ja) 1993-11-19
JP2559959B2 true JP2559959B2 (ja) 1996-12-04

Family

ID=25210314

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4301066A Expired - Lifetime JP2559959B2 (ja) 1991-12-23 1992-11-11 複数の非同期的プロセスによりレコードを更新する方法

Country Status (3)

Country Link
US (1) US5355477A (ja)
EP (1) EP0549140A3 (ja)
JP (1) JP2559959B2 (ja)

Families Citing this family (77)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5414839A (en) * 1992-06-19 1995-05-09 Digital Equipment Corporation Hybrid lock escalation and de-escalation protocols
JP2711216B2 (ja) * 1993-01-26 1998-02-10 インターナショナル・ビジネス・マシーンズ・コーポレイション オブジェクトを管理するためのシステム及び方法
US5485607A (en) * 1993-02-05 1996-01-16 Digital Equipment Corporation Concurrency-control method and apparatus in a database management system utilizing key-valued locking
US5678040A (en) * 1993-10-29 1997-10-14 Motorola, Inc. Method for managing a hierarchical design transaction
JP2708386B2 (ja) * 1994-03-18 1998-02-04 インターナショナル・ビジネス・マシーンズ・コーポレイション 同時更新及び複写手順を通して重複データベースを回復させる方法及び装置
US5752250A (en) * 1994-12-02 1998-05-12 Fujitsu Limited Instance updating method and apparatus therefor
US5557793A (en) * 1995-01-31 1996-09-17 Unisys Corporation In an object oriented repository, a method for treating a group of objects as a single object during execution of an operation
US5745747A (en) * 1995-02-06 1998-04-28 International Business Machines Corporation Method and system of lock request management in a data processing system having multiple processes per transaction
US5706509A (en) * 1995-04-28 1998-01-06 Intel Corporation Application independent record level synchronization
US5687366A (en) * 1995-05-05 1997-11-11 Apple Computer, Inc. Crossing locale boundaries to provide services
US6453325B1 (en) 1995-05-24 2002-09-17 International Business Machines Corporation Method and means for backup and restoration of a database system linked to a system for filing data
US6029160A (en) * 1995-05-24 2000-02-22 International Business Machines Corporation Method and means for linking a database system with a system for filing data
US5860137A (en) * 1995-07-21 1999-01-12 Emc Corporation Dynamic load balancing
US6173306B1 (en) 1995-07-21 2001-01-09 Emc Corporation Dynamic load balancing
US5870758A (en) * 1996-03-11 1999-02-09 Oracle Corporation Method and apparatus for providing isolation levels in a database system
US5864544A (en) * 1996-05-20 1999-01-26 Her Majesty The Queen In Right Of Canada As Represented By The Minister Of Communications TDD communication system which receives timing signals from a satellite and automatically, successively, repetitively, and alternatingly transmits and receives compressed signals in a single channel
US5870743A (en) * 1996-06-24 1999-02-09 Oracle Corporation Method and apparatus for parallelizing operations that create a table
US6256712B1 (en) 1997-08-01 2001-07-03 International Business Machines Corporation Scaleable method for maintaining and making consistent updates to caches
US6026413A (en) * 1997-08-01 2000-02-15 International Business Machines Corporation Determining how changes to underlying data affect cached objects
GB2330220B (en) * 1997-10-07 2002-04-10 Ibm Access control for groups of related data items
US7013305B2 (en) * 2001-10-01 2006-03-14 International Business Machines Corporation Managing the state of coupling facility structures, detecting by one or more systems coupled to the coupling facility, the suspended state of the duplexed command, detecting being independent of message exchange
US6430562B1 (en) * 1999-03-01 2002-08-06 Electronic Data Systems Corporation Integrated resource management system and method
US6449614B1 (en) 1999-03-25 2002-09-10 International Business Machines Corporation Interface system and method for asynchronously updating a share resource with locking facility
US6449697B1 (en) 1999-04-23 2002-09-10 International Business Machines Corporation Prestaging data into cache in preparation for data transfer operations
US7596563B1 (en) * 1999-10-28 2009-09-29 Hewlett-Packard Development Company, L.P. Computerized file system and method
US6757893B1 (en) * 1999-12-17 2004-06-29 Canon Kabushiki Kaisha Version control system for software code
US6681225B1 (en) 2000-05-31 2004-01-20 International Business Machines Corporation Method, system and program products for concurrent write access to a global data repository
US7487152B1 (en) 2000-05-31 2009-02-03 International Business Machines Corporation Method for efficiently locking resources of a global data repository
JP3796397B2 (ja) 2000-06-15 2006-07-12 アイ・ティー・エックス翼ネット株式会社 車両取引システム及び車両取引方法
CZ299529B6 (cs) * 2000-12-21 2008-08-27 Heaven Industries, S.R.O. Zpusob udržování logické integrity mezi objekty vinteraktivních aplikacích pocítacu, jeho použití pro systém sdílení dat v sítích, systém pro sdílení dat v sítích, zpusob sdílení dat v sítích a použití tohoto zpusobu
US7328263B1 (en) * 2001-01-30 2008-02-05 Cisco Technology, Inc. Controlling access of concurrent users of computer resources in a distributed system using an improved semaphore counting approach
US6807541B2 (en) * 2002-02-28 2004-10-19 International Business Machines Corporation Weak record locks in database query read processing
GB2386706A (en) * 2002-03-14 2003-09-24 New Mind Technology Ltd Integrated office management
CA2422161C (en) * 2003-03-14 2009-10-06 Ibm Canada Limited - Ibm Canada Limitee Decoupled object identification for object switching in database systems
US7747660B1 (en) * 2003-03-24 2010-06-29 Symantec Operating Corporation Method and system of providing access to a virtual storage device
CA2425033A1 (en) * 2003-04-08 2004-10-08 Ibm Canada Limited - Ibm Canada Limitee Multi-level locking hierarchy in a database with multi-dimensional clustering
US7158999B2 (en) * 2004-02-20 2007-01-02 Mainstar Software Corporation Reorganization and repair of an ICF catalog while open and in-use in a digital data storage system
US20050192962A1 (en) * 2004-02-26 2005-09-01 Patricia Furrer Apparatus, system, method for enabling web-applications to access enterprise managed data
US8762331B2 (en) * 2004-06-29 2014-06-24 Microsoft Corporation Concurrent transactions and page synchronization
EP1736872A3 (en) 2005-06-20 2008-04-16 International Business Machines Corporation Method, system and computer program for concurrent file update
US7668810B2 (en) * 2006-01-27 2010-02-23 International Business Machines Corporation Controlling consistency of data storage copies
US7461065B2 (en) * 2006-01-31 2008-12-02 International Business Machines Corporation Method and system for utilizing shared numeric locks
US8868504B2 (en) * 2007-03-07 2014-10-21 Oracle International Corporation Database system with active standby and nodes
US7895474B2 (en) * 2007-05-03 2011-02-22 International Business Machines Corporation Recovery and restart of a batch application
US7895172B2 (en) * 2008-02-19 2011-02-22 Yahoo! Inc. System and method for writing data dependent upon multiple reads in a distributed database
US20100023560A1 (en) * 2008-07-25 2010-01-28 Mitel Networks Corporation Method and apparatus for concurrently updating a database
US8103714B2 (en) * 2008-08-15 2012-01-24 International Business Machines Corporation Transactional quality of service in event stream processing middleware
JP5466717B2 (ja) * 2009-02-06 2014-04-09 インターナショナル・ビジネス・マシーンズ・コーポレーション データの整合性を維持するための装置、方法、およびコンピュータ・プログラム(データの整合性を維持するための装置)
US8423505B2 (en) * 2010-01-09 2013-04-16 International Business Machines Corporation Catalog reorganization apparatus and method
US9171044B2 (en) * 2010-02-16 2015-10-27 Oracle International Corporation Method and system for parallelizing database requests
US8290987B2 (en) 2010-07-12 2012-10-16 International Business Machines Corporation Processing of splits of control areas and control intervals
US8589361B2 (en) 2010-08-30 2013-11-19 Oracle International Corporation Reduced disk space standby
US9092149B2 (en) * 2010-11-03 2015-07-28 Microsoft Technology Licensing, Llc Virtualization and offload reads and writes
US9146765B2 (en) 2011-03-11 2015-09-29 Microsoft Technology Licensing, Llc Virtual disk storage techniques
US8868492B2 (en) 2011-06-15 2014-10-21 Oracle International Corporation Method for maximizing throughput and minimizing transactions response times on the primary system in the presence of a zero data loss standby replica
US9817582B2 (en) 2012-01-09 2017-11-14 Microsoft Technology Licensing, Llc Offload read and write offload provider
US9251201B2 (en) 2012-12-14 2016-02-02 Microsoft Technology Licensing, Llc Compatibly extending offload token size
US10152500B2 (en) 2013-03-14 2018-12-11 Oracle International Corporation Read mostly instances
US9348859B2 (en) 2013-03-25 2016-05-24 International Business Machines Corporation Providing record-level sharing (RLS) to local data sets
US10311154B2 (en) 2013-09-21 2019-06-04 Oracle International Corporation Combined row and columnar storage for in-memory databases for OLTP and analytics workloads
US9767178B2 (en) 2013-10-30 2017-09-19 Oracle International Corporation Multi-instance redo apply
US10747752B2 (en) 2015-10-23 2020-08-18 Oracle International Corporation Space management for transactional consistency of in-memory objects on a standby database
US11657037B2 (en) 2015-10-23 2023-05-23 Oracle International Corporation Query execution against an in-memory standby database
US9864705B2 (en) 2015-11-01 2018-01-09 International Business Machines Corporation Dynamic access method switching for open data sets
US10698771B2 (en) 2016-09-15 2020-06-30 Oracle International Corporation Zero-data-loss with asynchronous redo shipping to a standby database
US10891291B2 (en) 2016-10-31 2021-01-12 Oracle International Corporation Facilitating operations on pluggable databases using separate logical timestamp services
US11475006B2 (en) 2016-12-02 2022-10-18 Oracle International Corporation Query and change propagation scheduling for heterogeneous database systems
US10803039B2 (en) 2017-05-26 2020-10-13 Oracle International Corporation Method for efficient primary key based queries using atomic RDMA reads on cache friendly in-memory hash index
US10691722B2 (en) 2017-05-31 2020-06-23 Oracle International Corporation Consistent query execution for big data analytics in a hybrid database
US10719446B2 (en) 2017-08-31 2020-07-21 Oracle International Corporation Directly mapped buffer cache on non-volatile memory
US10732836B2 (en) 2017-09-29 2020-08-04 Oracle International Corporation Remote one-sided persistent writes
US11086876B2 (en) 2017-09-29 2021-08-10 Oracle International Corporation Storing derived summaries on persistent memory of a storage device
US10956335B2 (en) 2017-09-29 2021-03-23 Oracle International Corporation Non-volatile cache access using RDMA
US10802766B2 (en) 2017-09-29 2020-10-13 Oracle International Corporation Database with NVDIMM as persistent storage
US11675761B2 (en) 2017-09-30 2023-06-13 Oracle International Corporation Performing in-memory columnar analytic queries on externally resident data
US11170002B2 (en) 2018-10-19 2021-11-09 Oracle International Corporation Integrating Kafka data-in-motion with data-at-rest tables
US11204940B2 (en) 2018-11-16 2021-12-21 International Business Machines Corporation Data replication conflict processing after structural changes to a database

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4604694A (en) * 1983-12-14 1986-08-05 International Business Machines Corporation Shared and exclusive access control
US4775955A (en) * 1985-10-30 1988-10-04 International Business Machines Corporation Cache coherence mechanism based on locking
US4716528A (en) * 1986-02-03 1987-12-29 International Business Machines Corporation Method for managing lock escalation in a multiprocessing, multiprogramming environment
JPH0833857B2 (ja) * 1987-02-18 1996-03-29 株式会社日立製作所 システム間デ−タベ−ス共用システムジヤ−ナルマ−ジ方式
US4853843A (en) * 1987-12-18 1989-08-01 Tektronix, Inc. System for merging virtual partitions of a distributed database
US5043876A (en) * 1988-05-27 1991-08-27 International Business Machines Corporation N-level file shadowing and recovery in a shared file system
US4961134A (en) * 1988-07-15 1990-10-02 International Business Machines Corporation Method for minimizing locking and reading in a segmented storage space
US5210848A (en) * 1989-02-22 1993-05-11 International Business Machines Corporation Multi-processor caches with large granularity exclusivity locking
US5060144A (en) * 1989-03-16 1991-10-22 Unisys Corporation Locking control with validity status indication for a multi-host processor system that utilizes a record lock processor and a cache memory for each host processor
US5155824A (en) * 1989-05-15 1992-10-13 Motorola, Inc. System for transferring selected data words between main memory and cache with multiple data words and multiple dirty bits for each address
US5163148A (en) * 1989-08-11 1992-11-10 Digital Equipment Corporation File backup system for producing a backup copy of a file which may be updated during backup
JP2575543B2 (ja) * 1990-04-04 1997-01-29 インターナショナル・ビジネス・マシーンズ・コーポレイション 同時アクセス管理方法
US5255387A (en) * 1990-04-27 1993-10-19 International Business Machines Corporation Method and apparatus for concurrency control of shared data updates and queries

Also Published As

Publication number Publication date
EP0549140A3 (en) 1993-11-03
US5355477A (en) 1994-10-11
EP0549140A2 (en) 1993-06-30
JPH05307530A (ja) 1993-11-19

Similar Documents

Publication Publication Date Title
JP2559959B2 (ja) 複数の非同期的プロセスによりレコードを更新する方法
US5920872A (en) Resource management using resource domains
US5276835A (en) Non-blocking serialization for caching data in a shared cache
US5668958A (en) Heterogeneous filing system with common API and reconciled file management rules
EP0442715B1 (en) Transaction processing system and method with reduced locking
US5574902A (en) Efficient destaging of updated local cache pages for a transaction in a multisystem and multiprocess database management system with a high-speed shared electronic store
US7120746B2 (en) Technique for data transfer
US6366928B1 (en) Method for moving an open file being accessed by at least one user
US6665783B2 (en) Memory-to-memory copy and compare/exchange instructions to support non-blocking synchronization schemes
CN101807169B (zh) 事务型存储器访问的混合硬件软件实现
EP2378420A1 (en) Ownership reassignment in a shared-nothing database system
EP0506321A2 (en) Accessing data in a transaction-oriented system
EP0490525A2 (en) Removal of data from a shared cache
JPH01112443A (ja) スペース管理システム
JP2000284995A (ja) データ処理装置及び記録媒体
JP4746838B2 (ja) データベースへのアクセスを制御するための異なったデータベースサーバ間のデータベースのオーナーシップのパーティション化
KR20010112529A (ko) 주 메모리 트랜잭션 처리 시스템에서 병렬적 회복 연산을 위한 디피런셜 로깅 방법 및 장치
CN113220490A (zh) 异步写回持久化内存的事务持久化方法及系统
Dong et al. Fine-Grained Re-Execution for Efficient Batched Commit of Distributed Transactions (Extended Version)."
JP2009009599A (ja) 故障後、どこで回復するかについての情報を管理する方法、故障後、回復するための方法、および、多数のキャッシュを含むシステムにおける故障の後、データ項目の現在のバージョンを回復させるための方法
US5784623A (en) Using a parent latch that covers a plurality of child latches to track the progress of a process attempting to acquire resources
JP3107094B2 (ja) 共用バッファのロック期間短縮処理方法及び装置
Rastogi et al. Distributed multi-level recovery in main-memory databases
JP4286857B2 (ja) ノード間共用ファイル制御方法
JPWO1993003436A1 (ja) 共用バッファのロック期間短縮処理方法及び装置