JPH0683692A - データベースアクセス方法およびシステム - Google Patents
データベースアクセス方法およびシステムInfo
- Publication number
- JPH0683692A JPH0683692A JP5050947A JP5094793A JPH0683692A JP H0683692 A JPH0683692 A JP H0683692A JP 5050947 A JP5050947 A JP 5050947A JP 5094793 A JP5094793 A JP 5094793A JP H0683692 A JPH0683692 A JP H0683692A
- Authority
- JP
- Japan
- Prior art keywords
- database
- dbms
- lock
- data
- store
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2308—Concurrency control
- G06F16/2336—Pessimistic concurrency control approaches, e.g. locking or multiple versions without time stamps
- G06F16/2343—Locking methods, e.g. distributed locking or locking implementation details
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1471—Saving, restoring, recovering or retrying involving logging of persistent data for recovery
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
- Y10S707/99938—Concurrency, e.g. lock management in shared database
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99951—File or database maintenance
- Y10S707/99952—Coherency, e.g. same view to multiple users
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99951—File or database maintenance
- Y10S707/99952—Coherency, e.g. same view to multiple users
- Y10S707/99953—Recoverability
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
て記憶することができるデータベースか、あるいは、一
部はDASDに記憶され、一部は高速電子ストアに記憶
されたデータベースの現データにアクセスする時間を最
小限にし、その上、複数ユーザシステムに関してデータ
のコヒーレンシを保持する、コンピュータインプリメン
トした方法である。
Description
コンピュータ記憶を管理する方法に関する。本発明は、
特に、全体がDASD指向外部記憶サブシステムに記憶
されるか、あるいは、一部が外部記憶サブシステムに記
憶されるとともに一部が共用高速電子ストアに記憶され
ているデータベースの現データにアクセスする時間を最
小限にし、その上、複数ユーザシステムに関してデータ
コヒーレンシを保持する方法に関する。
ーティングし、かつ、データを共用するデータベースシ
ステムでは、大域ロッキングが採用され、異なるシステ
ムに関してコヒーレンシが保持されている。COMPU
TER ARCHITECTURE AND DESI
GN,A.J.Gore,Addison Wesle
y,1989には、次のような問題点の1つとしてデー
タコヒーレンシ問題が説明されている。すなわち、多数
のプロセッサ間でデータを共用した場合、そのデータの
複数の矛盾するコピーが存在する。その理由は、データ
を局所的に修正する機会が複数回あるので、そのデータ
へのパスが複数個あるからである。
憶装置を含む複数コンピュータのデータ共用システムの
コンテキストで取り上げられている。このようなシステ
ムでは2次レベルの記憶装置は1つ以上のDASD(d
irect accessstorage devic
e)よりなる。DASDは独立にオペレーティングする
コンピュータシステムにより共用されている。各コンピ
ュータシステムはデータベース管理システム(data
base managenent system; D
BMS)を含む。DBMSはDASD指向外部記憶サブ
システムに記憶されているデータベースにアクセスす
る。このようなサブシステムは「共用ディスク(S
D)」システムと言うことができる。
は、システム間キャッシングが高速で、頻繁にアクセス
される共用電子ストア(shared electro
nic store; SES)の形式で提供されるア
ーキテクチャを提案している。種々の理由で、データは
DASDおよび局所処理から獲得された後、データベー
スシステムによりSESに入力される。SESはストア
インキャシュとして用いられる。ストアインキャシュで
は、データのバージョンをDASDサブシステムに記憶
されているバージョンよりも新しくすることができる。
のDBMSの内部記憶装置内に、バッファを所有し保持
している。局所的に実行される1つ以上のアプリケーシ
ョンによるアクセスのために、そのバッフアからデータ
が取り出される。各DBMSは、さらに、バッファ空間
を割り当て、しかも、バッファ空間の参照を制御するバ
ッファマネージャ(BM)を含む。そのバッファマネー
ジャはテーブル、リストを含むとともに、そのバッファ
についての情報を含む他の構造にアクセスすることがで
きる。
larity)の階層構造のデータ構造を含むものと仮
定した場合、これらのデータ構造をDBMSのバッファ
に局所的にキャッシングすることができることは好まし
いことである。バッファマネージャはこれらのデータ構
造の移動を、そのバッファと外部記憶との間で、SES
および/またはDASDを介して調整する。
ロセッサ上で実行されるアプリケーションにより生成さ
れるトランザクションアクティビティに応答して、その
データをローカルバッファに置く。このようなアプリケ
ーションはreadおよびwriteオペレーションを
生成し、それらのオペレーションはローカルバッファを
利用してそのデータにアクセスする。
ョンによるデータベース内容へのアクセスを逐次化す
る。本発明では、各DBMSはローカルロックマネージ
ャ(LLM)を含み、LLMにより、他の資源の間で局
所的に記憶されたデータ構造へのアクセスを制御する。
一般的なデータ構造の間でコヒーレンシをとる必要があ
り、しかも、複数ローカルバッファが存在する多重DB
MS環境において同一データ構造のバージョン間でコヒ
ーレンシをとる必要があるため、ロッキングが付与され
る。
るMVSのようなオペレーティングシステムは、そのシ
ステムの種々の資源に対してロックの階層構造を含む。
ロックは名前、範囲、および排他性を有する。システム
間ロッキングをサポートするため、大域ロックマネージ
ャはLLMと協調してロックの認可を管理する。共用デ
ィスクシステムでの大域ロッキングは、”RECOVE
RY AND COHERENCY−CONTROL
PROTOCOLS FOR FAST INTERS
YSTEM TRANSFER AND FINE−G
RANULARITY LOCKING IN A S
HARED DISKS TRANSACTION E
NVIRONMENT”という表題のIBM Rese
archReport RJ8017に詳細に説明され
ている。これは、C.Mohan他により著され、19
91年3月15日に発行されたものである。
および管理は、上述した環境においてデータのシステム
間コヒーレンシをサポートするのに必要であるが、トラ
ンザクション経路長および応答時間が益々長くなるとい
う点で実質的にコストがかかる。複数システム間でのデ
ータコヒーレンシを保持し、その上、トランザクション
経路長と応答時間を軽減するため、充分な挑戦が複数シ
ステム環境で行われている。
ベースの外部記憶に共用アクセスを行うとともに、高速
電子ストアに共用アクセスを行うことにより、多重DB
MS環境でデータのコヒーレンシを保持し、その上、大
域ロッキングのオーバヘッドを軽減することにある。
の次のような重要な観察により達成された。すなわち、
データベースに「システム間インタレスト」(他のシス
テムのread意図または更新意図)を有するDBMS
バッファマネージャの一部に関するローカル知識を利用
して次のようにすることができる。すなわち、インタレ
ストのレベルに最も良く適応するバッファ管理方策を選
択することにより、ローカルバッファと外部記憶との間
のデータの移動を効率的に管理することができる。それ
と関連することであるが、DBMSはまた親資源(すな
わ、データベース)に関するインタレストのレベルを利
用して、子資源(すなわち、レコードまたはページ)に
対して、大域ロックマネージャのロック呼び出しを回避
できる。そのため、バッファマネージャの一部にあるデ
ータベースに対するシステム間インタレストのレベルを
知ることにより、多重システム環境のデータベースのベ
ースコヒーレンシのオーバヘッドを充分に削減すること
ができる。例えば、データベースに対するシステム間イ
ンタレストがないとき、DBMSが「コミット時非強
制」方策に従った場合、DBMSはデータベース更新
を、トランザクションコミット処理とは非同期に、DA
SDに書き込む。このことにより、トランザクション応
答時間が改善されるとともに、ロック保持時間が短縮さ
れ並行性がより良くされる。一方、バッファマネージャ
がデータベースに対するシステム間インタレストを検出
した場合、本発明によれば、「コミット時強制」方策に
従いコヒーレンシを保持する。それに関連して、トラン
ザクションにより更新されたページに対するロックを解
放する前に、「コミット時強制」はDBMSが次のこ
と、すなわち、トランザクションにより更新されたペー
ジが記憶装置に書き込まれ、しかも、更新トランザクシ
ョンがコミット時にロックを解放する前に、変更された
ページを他のシステムに通知することを保証することを
必須とする。本発明では、DASD I/Oアクティビ
ティおよびトランザクションコミット処理のオーバヘッ
ドを補償するため、更新されたページはSESに書き込
まれる。SESの高速read/write機能はトラ
ンザクションコミット処理を短縮し、トランザクション
に対するシステム応答時間を短縮する。
タベースに関する知識を次のようにすることにより、す
なわち、DBMSがそのデータベースを用いる単なるシ
ステムである場合か、あるいはそのデータベースを用い
て全てのシステムがデータベースのみを読み取る場合に
は非強制方策に従い、他方、1つのデータベースがその
データベースを更新し、しかも、他のデータベースがそ
のデータベースを読み取るか、あるいは、複数システム
がそのデータベースを更新する場合には強制方策に、選
択的に、DBMSが従うことにより利用する。
ステム間インタレストのレベルを任意の時点で変更する
ことを許可する。本発明により、全ての関係するDBM
Sはこのような変更に動的に適合することができる。こ
のような監視に基づく方法は多重システム複合体を含
み、この多重システム複合体は、複数のデータベース管
理システム(DBMS)と、直接アクセス記憶装置と、
共用ストアとを含む。直接アクセス記憶装置はDBMS
に接続されており、1つ以上のデータベースを記憶す
る。共用ストアはDBMSに接続されており、複数のD
BMSにより高速アクセスを行うためデータを一時的に
記憶する。このようなシステムでは、DBMSは1つ以
上のデータベースからのデータをトランザクションに供
給し、データベース処理を行う。
してデータベースのコヒーレンシを、次のステップによ
り保持する。すなわち、他の任意のトランザクション
が、指定されたデータベースからのデータ更新を他の任
意のDBMSに要求しない場合、第1トランザクション
が、指定されたデータベースからのデータを第1DBM
Sに対して要求することに応答して、前記第1DBMS
にて、前記直接アクセス記憶装置からデータを獲得し、
前記第1DBMSのデータに対してトランザクションオ
ペレーションが実行され、コミットされるステップと、
指定されたデータベースのデータを更新する、第2DB
MSに対する要求と並行する第2トランザクション要求
であって、前記指定されたデータベースからのデータに
対し、前記第1DBMSに行う第2トランザクション要
求に応答して、データが共用ストアにある場合は、前記
共用ストアからの前記第1DBMSによりそのデータが
獲得され、前記データが共用ストアにない場合は、前記
直接アクセス記憶装置からの前記データが獲得され、前
記データに対する更新トランザクションオペレーション
が第2DBMSで実行されコミットされ、前記トランザ
クションオペレーションのコミットに同期して、前記デ
ータが前記共用ストアにおかれるステップとにより保持
する。
配置を更新することにより、他のシステムの同一のデー
タの他のバージョンを無効にすることができるので、そ
の更新を、更新システムによるか、あるいは関係のある
情報を全域ロックマネージャに登録するかのいずれかに
より、直接、他のシステムに通知する。この全域ロック
マネージャにより、別のシステムは他のシステムがその
データの無効コピーを有することを検出することができ
る。
に説明する。
トする多重システム環境を理解するための図である。図
1において、2つのCPUのプロセッサ1およびプロセ
ッサ2を図示してある。プロセッサ1および2はそれぞ
れ例えばIBM System/360または370ア
ーキテクチャCPUであって、IBM MVSオペレー
ティングシステムを有するCPUを備えることができ
る。IBM System/360アーキテクチャCP
Uは、1968年9月3日にAmdahl他に付与され
た米国特許3,400,371号に充分に記載されてい
る。外部記憶へのアクセスを共用するCPUを含む構成
は、米国特許3,400,371号に開示されるととも
に、1980年6月10日にLuiz他に付与された米
国特許4,207,609号に開示されている。
ム(DBMS)10,20を実行する。DBMSはロー
カルロックマネージャ(LLM)11,21と、バッフ
ァマネージャ(BM)12,22を含む。BMはそれぞ
れデータを記憶するローカルバッファ13,23を保持
する。DBMSは、それぞれ、1つ以上のアプリケーシ
ョン14,24を、アプリケーション生成トランザクシ
ョンの要件に応えて、データを読み取り更新するものと
してサーブする。
DASDベースの外部記憶30(以下、“DASD”と
いう)上で、1つ以上のデータベースの形式で利用可能
であることを断定する。そのデータベースはページとレ
コードの階層構造を含み、各ページは1つ以上のレコー
ドを含む。
との関係を示す。図1に示すように、各CPUは、ロー
カルバッファ形式の内部記憶と、DASD30および高
速ストアインキャッシュ32形式の外部記憶とにともに
アクセスする。この高速ストアインキャッシュ32は、
以下、“共用電子ストア(shared electr
onic store)”、または“SES”という。
DASD30はデータベースの究極のリポジトリであ
り、データページがDASD30からバッファ13,2
3にデータパス17,27を介して選択的に移動され
る。データパス17,27はCPUオペレーティングシ
ステムとDASD30の間の通常のI/O結合である。
SES32にはページがストアインキャッシングされ、
そのページはトランザクション処理のためにローカルバ
ッファ13,23に転送される。SES32と、プロセ
ッサ1および2とを結合した光ファイバリンク18およ
び28のような高速リンクを介して、SES32に書き
込まれ、SES32から読み取られる。SES32は制
御ロジックを含み、その制御ロジックは、BM12,2
2のロジックによりリンク19,29上にReadおよ
びWriteのようなコマンドを発行することにより呼
び出される。
るために個々にログ36,37を保持している。ログベ
ースのデータベース回復はデータベースシステムでは周
知の機構である。本発明に係る方法に対するデータベー
スシステムの適応を後程説明する。
ーションはページをアドレスにより参照する。DBMS
はページを含むデータベースを命名し、そのページを指
定する。そのページがバッファ13にて利用できない場
合は、そのページはDASD30またはSES32のい
ずれかから獲得しなければならない。
関するデータのコヒーレンシは、全域ロック管理により
確認される。その全域ロック管理は全域ロックマネージ
ャ(GLM)33で具現化され、GLM33はLLM1
1,21に接続されている。DBMS10,20はトラ
ンザクション間のレコードレベルの並行性をサポートす
るものと仮定する。この並行性により、システム内およ
びシステム間の並行性が1ページ内の1つのレコード上
で認められる。しかし、システム間のコヒーレンシの単
位はページである。コヒーレンシの単位をページにした
のは、ローカルバッファマネージャがページをI/Oの
単位として取り扱っているからである。次の説明で、G
LMは、GLMのCPUで実行するか、あるいは補助処
理モードでDBMSのうちの1つのDBMSのCPUで
実行することができる自治権のあるコンポーネントであ
るものと仮定する。さらに、LLMとGLMは周知のメ
ッセージ配達またはメール投函技法により通信するもの
と仮定する。
の知識に基づきコヒーレンシのオーバヘッドを回避する
か、あるいは軽減する。このことを記述するため、デー
タベースに関するシステム間インタレストのレベルは、
昇順で、つぎの(a)〜(c)のようにすることができ
る。すなわち、 (a)レベルAインタレスト。このレベルAインタレス
トでは、1つのレベルがそのデータベースを用いるか、
あるいはそのデータベースを用いて全システムがそのデ
ータベースを読み取る。
ンタレストでは、1つのシステムがそのデータベースを
更新し、他のシステムがそのデータベースを読み取る。
ンタレストでは、複数システムがそのデータベースを更
新する。
に示す環境において、そのデータベースのページコヒー
レンシのオーバヘッドが回避されるか、あるいは軽減さ
れる。
ce−at−commit)方策に従うとともに、共用
ディスク環境でコヒーレンシを保持するため、バッファ
プールに局所的にキャッシュされている全てのページを
ロッキングするShareモードのページキャッシュロ
ックと、Updateモードのページキャッシュロック
とを含む全域ロックを、DBMSは獲得し、ページを更
新するであろう。これらの全域ロックはトランザクショ
ンロックに付加されており、メッセージオーバヘッドを
有する。
(force−at−commit)方策に従いながら
コヒーレンシを保持するために、DBMSはページがデ
ィスクに書き込まれたことを確認しなければならず、し
かも、変更されたページがページロックを解放する前に
他のシステムに通知されることを確認しなければならな
い。発明者は、高速read/write機能を有する
共用電子ストアを用いることにより、トランザクション
コミット処理におけるディスクI/Oプロシージャのオ
ーバヘッドを充分に減少させることができる。そのた
め、更新されたページを強制的に急速にこのストアにい
れることができる。しかし、共用電子ストアに関わら
ず、非強制(no−force)方策の方が強制(fo
rce)方策より速く、よりコストがかからず、しか
も、効率が良くなるようにしている。データベースに対
するシステム間インタレストの知識を有することによ
り、DBMSは、データベースに対するレベルAインタ
レストがあるときは非強制方策に従い、データベースに
対するレベルBまたはレベルCインタレストがあるとき
は強制方策に選択的に従うことができる。
することにより、別の最適化が生じる。以前は、共用デ
ィスクを有する多重システムにおいて、1ページ内にサ
ブページ分の並行性を供給することにより、DBMSは
ページキャッシュロックを獲得し、異なるシステムから
のページに対して並行更新を逐次化する必要があった。
しかし、レベルBインタレストにおいて、1つのシステ
ムのみがデータベースを更新し、しかも、他のシステム
がデータベースを読み取るとき、更新しているシステム
は、そのページに対するページキャッシュロックを獲得
する必要はない。というのは、その更新しているシステ
ムは他のシステムがデータベースを更新していないこと
を知っているからである。
対するシステム間インタレストのレベルをDBMSに通
知することにより、幾つかの重要でかつ予測できない最
適化を提供する。レベルAでオペレーティングすると
き、DBMSはコミット時非強制方策に従うことができ
る。重要なことであるが、このことは、1つのDBMS
のみがデータベースにアクセスし、そのデータベースを
更新するとき、そのDBMSはコミット時非強制方策に
従い、バッチ処理するためI/OオペレーションをDA
SDによりグループ化するが、トランザクション更新と
いうコミットにより、同期をとって各更新をDASDに
書き込む必要がないことを意味する。DBMSがレベル
Sインタレストでオペレートすると、全域ページキャッ
シュロッキングは必要でない。レベルBインタレストで
オペレートすると、1つのシステムのみが更新し、その
ため、その1つのシステムはページキャッシュロッキン
グをそのページから獲得して、そのページの並行更新を
逐次化する必要はない。
電子ストアを有するシステムのDBMSにシステム間イ
ンタレスト情報を供給することと、次のような能力を有
するシステム投資とに基づくものである。その能力と
は、システム間インタレスト情報の変更に応答して非強
制または強制方策を選択的にインプリメントし、その
上、同一の情報に応答してページキャッシュロッキング
方策をインプリメントする能力である。これは重要なこ
とである。というのは、従来のシステムはデータベース
をシステム間で用いることに対して静的な方策を宣言す
るからである。例えば、従来例では、宣言されたモード
でread onlyまたはread/writeを使
用する前に、read onlyまたはread/wr
iteを複数システムにより使用するため、データベー
スが宣言される。
関係のない手段による明白なアクションが必要である。
本発明では、外部アクションを必要とせず、しかも上述
したコヒーレンシの減少により最適化される動的な方法
で、DBMSはシステム間インタレストの変更を監視し
応動する。
ジをキャッシングする適正な階層ロッキングスキーマを
用いて、DBMSに現状態が通知されるとともに、DL
Mによるシステム間インタレストの変更が通知される。
好ましい実施例では、その階層はデータベースに対する
データベースP(物理)ロックを含み、そのデータベー
スPロックから、データベースページに対するページP
ロックが伝わる。本発明では、BMはこの階層ロッキン
グスキーマを活用して、データベースに対するシステム
間インタレストの変更に適合する。本発明では、データ
ベースに対するBMロッキングは、オブジェクトに対す
るトランザクションロッキングと異なる。BMロッキン
グの目的は、キャッシュコヒーレンシを多重システム環
境で保持することにあり、その目的は単一システム環境
では意味がない。Pロックはシステムレベルのロックで
あり、トランザクションレベルのロックではない。さら
に、本発明では、競合や、データベースPロックを参照
する他のアクティビティの場合、BMプロシージャ
(「Pロック終了」)を呼び出さなければならないこと
をLLMが知らされる点で、BMロックは交渉可能であ
る。データベースPロックが交渉可能であることによ
り、BMはシステム間インタレストの変更に動的に応動
する。全域ロックマネージャによるシステム間Pロック
管理を次に説明する。
プを示す。ステップ40にて、DBMSでオープンされ
ていないデータベースに対してアクセスをしようとす
る。そのデータベースがこのDBMSでオープンされて
いる間、要求されたデータベースに対するBMロッキン
グが、ステップ42にて、検査され、別のシステムが現
在そのデータベースを用いているか否かを判定する。否
定判定された場合は、そのデータベースが獲得されてオ
ープンされ、データベースPロックが獲得され、GLM
33で表が作成され、ステップ43に移行する。ステッ
プ43にて、データベースに対するインタレストが他に
ない場合、用いているDBMSは、非強制方策に従って
そのバッファを管理することができ、しかも、このデー
タベースのページに対する更新に対してページPロック
を獲得せずにすますことができる。現在保持されている
モードと互換性がないモードか、あるいは、結果のモー
ドを変更させるモードのデータベースPロックを、別の
システムが要求するときは何時でも、データベースPロ
ックは交渉可能であるので、GLM33はDBMSに通
知することになる。その他のDBMSの要求はステップ
45にて判定される。システム間read/write
(レベルB)インタレスト、またはシステム間writ
e−write(レベルC)インタレストになるような
要求である場合、ステップ47に移行する。しかも、こ
のデータベースにアクセスしている全てのDBMSのバ
ッファは、次のような強制方策により管理されることに
なる。強制方策とは、コミットされた更新を有するペー
ジが、更新しているシステムにより共用ストアに書き込
まれ、しかも、このデータベースからのページに対する
要求がまず共用ストアをルックしついでDASDをルッ
クすることにより満足される方策である。この強制方策
に必要なステップはページに対する更新を他のシステム
に通知することである。このような通知はシステム間メ
ッセージ転送により指示することができる。その転送で
は、更新しているシステムは他のシステムにその更新を
通知し、他のシステムはそのメッセージを確認する。本
出願人から入手可能なIMS製品のデータ共用モード
は、この技法を「バッファ無効メッセージ」に利用して
いる。あるいはまた、ページ更新が1つのシステムによ
り認められる情報を、この目的のためにGLMに保持さ
れている情報を用いて、他の全てのシステムに供給する
ことができる。この点に関して、例えば、第3の米国特
許を参照されたい。この米国特許には、バッファリング
されたページの最新の更新を示すバージョン番号と、ペ
ージのバッファリングされたバージョンが更新されるご
とにインクリメントされるページに対する全域ロックマ
ネージャバージョン番号とを比較することが開示されて
いる。ここに記載して実施例の一部とする。ステップ4
7にて、2つ以上のシステムがこのデータベースを更新
するデータベースPロックを保持した場合、全ての更新
者(updater)に対するBMはページロックを獲
得しなければならない。他方、複数のシステムが読み取
っている間に、1つのシステムのみが更新している場
合、その更新しているシステムはページロックを獲得す
る必要はない。DBMSがステップ47にあるときで、
かつ、データベースPロックがデータベースPロック
(レベルCインタレスト、ステップ50における判定)
を有する他の全てのシステムにより解放された場合はい
つでも、DBMSはステップ43の方策最適化に戻るこ
とができる。そうでない場合は、ステップ47の方策が
維持される。
プンされたとき、直ちに、データベースが用いられてい
ることを、GLM33がDBMSに通知する場合は、ス
テップ53に移行する。ステップ53にて、そのデータ
ベースを要求しているDBMSは、まず、システムがそ
のデータベースを更新しているか否かを判定する。肯定
判定された場合は、ステップ47に移行し、DBMSは
ステップ47の方策を採用する。そのデータベースが用
いられているが、更新されていない場合は、DBMSは
ステップ43の最適化を採用する。他方、DBMSが更
新するためデータベースをオープンしていない場合はス
テップ55に移行し、BMSはステップ47の方策を採
用しない。また、DBMSがデータベースに関する更新
インタレストを放棄するが、まだReadインタレスト
がある時は、図2に示す論理を適用する。
されたとき、BMがデータベースPロックを獲得する。
このロックは、少なくともデータベースの任意のページ
をBMのシステムにキャッシュすることができる限り保
持される。そのロック名は、トランザクションにより獲
得されたデータベースと異なるような名前である。同様
に、BMにより獲得されたページPロックは、トランザ
クションにより獲得されたページロックと異なる名前が
命名される。BMに対するPロック認可に関連して、G
LM33は、また、他のシステムのロックの結果状態
(RSOS)を示すデータオブジェクトをフィードバッ
クする。重要なことであるが、他のシステムのロックの
結果状態は、任意のシステムにより保持されているロッ
クであって、要求されたデータベースに対するロックの
うちで最高位のモードであり、要求しているシステムの
モードを排除する。BMはRSOSを用いるとともに、
データベースPロックの要求されたロックモードを用
い、BMがDBMS記憶装置に保持している「キャッシ
ュされた状態」データオブジェクトに対する値を取り出
す。キャッシュされた状態オブジェクトの値を用いて上
述した最適化を行うことができるか否かを判定する。
ぞれ本実施例に係るGLM33,LLM11,BM13
で保持されるデータ構造を示す。図4および図5は他の
システムでの同様のデータ構造の典型例を示す。図3は
GLMで保持されているバッファロッキング表を示す。
バッファロッキング表のエントリは、そのロックが適用
される資源を識別するフィールド61を含む。その資源
はデータベースであっても良いし、ページであっても良
く、資源オブジェクトの名前に暗に含まれている。フィ
ールド63は、ロックを保持するDBMSの待行列のア
ンカーであり、かつ、各システムが保持するロックモー
ドである。フィールド65(N)はそのロックが交渉可
能か否かを示す。本発明はBMロックが交渉可能である
という点に基づいているが、本発明者は、BMロックを
交渉不可能にする必要がよくあるという点を、優先順位
に関する設計考慮事項に入れようと意図している。フィ
ールド66はそのロックが交渉されることになる条件
(C1およびC2)を示す。フィールド67はそのロッ
クが保持されている最高位モードに対応して、そのロッ
クの結果状態を与える。最後に、フィールド68はその
ロックを要求しているシステムの待ち行列のアンカーで
あり、それらのシステムが要求したロックモードであ
る。
れているロッキング表を示す。LLMロック表の各エン
トリはフィールド60,62a,69,62b,および
64を含む。フィールド60はロックが適用される資源
を命名するためのものである。フィールド62aはその
ロックを保持するトランザクションの待ち行列と、その
ロックを保持するトランザクションのモードをアンカー
するためのものである。フィールド69はBM33のP
ロック終了ルーチンを示す。フィールド62bはそのロ
ックを要求するトランザクションの待ち行列をアンカー
するためのものである。フィールド64は命名された資
源上のロックの結果保持状態を示す。
用いられる。LLM/GLMメッセージ交換には、GL
M33からのメッセージであって、次のことをLLM1
1に通知するメッセージに対する準備を含む。すなわ
ち、命名された資源であって、DBMS10により保持
されたロックと衝突するか、あるいは、そのロックの結
果状態を変更する資源のロックに対する要求を、GLM
が別のDBMSから受信したことを、LLM11に通知
する。したがって、DBMSからロック要求を受信する
と、直ちに、GLM33はそのロック表をスキャンし、
その要求により、そのロックの結果状態が変化したか、
あるいは、そのロックが保持され、しかも、メッセージ
をこの趣旨でLLM11に送信したかを判定する。その
メッセージがロック衝突か、あるいはそのロックの結果
状態の変化を示す場合、LLM11はアクションするた
めBM13のロック終了を呼び出す。
はそれぞれPロック終了プロシージャ71を含む。Pロ
ック終了プロシージャ71は、次に説明するが、BMが
保持されたロックのアップグレードまたはダウングレー
ドを交渉することができるロジックを含む。このプロシ
ージャに対する呼び出しアドレスは、図4に示すLLM
のロック表のロック終了フィールドに保持されている。
そのDBMSに割り振られたローカルメモリでは、バッ
ファマネージャ70は、DBMSによりオープンされた
全てのデータベースに対するデータベース制御ブロック
73にアクセスすることができる。各データベース制御
ブロック73はダーティページリスト74を伴ってい
る。また、バッファマネージャ70はwriteページ
リスト75を保持している。writeページリスト7
5はオペレーティングシステムI/OサービスによりD
ASD30に書き込まれたページのリストである。デー
タベース制御ブロック73は制御情報、フラグ、および
データ構造を含み、それらは、データベースのローカル
保守および管理をインプリメントするのに必要なデータ
構造であり、しかも、他のDBMSで同一のデータベー
スのローカル制御によりその保守および管理を調整する
のに必要なものである。図5に示すように、データベー
ス制御ブロックはデータベースを識別するフィールド7
3aと、データベース上で保持されたロックのモードを
識別するフィールド73cを含む。フィールド73dは
そのデータベースに関連する「キャッシュされた状態」
値を示す。フィールド73eはストア従属性(SD)フ
ラグを含む。ストア従属性(SD)フラグは、セットさ
れた場合はそのデータベースが「ストア従属」であり、
リセットされた場合はそのストアが「非ストア従属」で
ある。最後に、フィールド73fのポインタは、ローカ
ルメモリのこのダーティデータベースに対するダーティ
ページリスト74を突き止める。ダーティページリスト
74は通常のリスティングであるか、あるいは、ローカ
ルバッファに保持されているページであって、更新され
たページのシーケンスである。そのページは外部記憶に
戻さなければならない。そのリスト自体は、そのリスト
の各ページであるように、ラッチ(L)によりラッチさ
れる。writeページリスト75はBM70により保
持され、次のようなページを累積する。すなわち、外部
記憶に書き込むためのオペラティブシステムの外部記憶
管理コンポーネントに渡たそうとするページを累積す
る。本発明の方法の記述を容易にするため、ロックモー
ドX,SIX,S,IX,およびISを採用する。これ
らのロックモードはデータベースに関するDBMSのイ
ンタレストがこの順で低くなる。これらのモードは“G
ranularity of Locks and D
egrees of Consistency in
a Shared Database”IBM Res
earchReport RJ 1654,J.Gra
y,et alで提案されているロックモードに対応す
るが、その意味は異なる。この点、IXおよびISのよ
うなモードは、本発明では、その意図を表わすためでは
なく、そのロックモード間の互換関係を利用するため用
いられている。これは、これらのロックモードに対して
どのモードが開発されたかを理解する基礎にでき、これ
を用いると、新しい互換関係を確立し規定することをせ
ずに済む。ロッキングの異なるモードの間での互換関係
を表1に示す。“no”は対応するモードに互換性がな
いことを示す。
タベースにアクセスし、アクティビティを更新するレベ
ルAインタレストを示す。レベルBでは、そのデータベ
ースを更新している単一のシステムがSIXモードのデ
ータベースPロックを保持する。また、読み取っている
システムはISモードのデータベースPロックを保持す
る。IXモードのデータベースPロックは、並行してデ
ータベースを更新しているシステムにより保持されてい
る。これらのシステムは、これらのシステムが更新して
いるページに対してXモードロックを獲得するのは当然
である。Sモードのロックは、Sモードのロックを保持
しているシステムがデータベースを読み取っており、し
かも、他のシステムもそのデータベースを読み取ること
ができることを示す。
トの異なるレベルにマッピングする。このことは、BM
がキャッシュされた状態値を計算することで暗に示す。
この点では、キャッシュされた状態はX,SIX,S,
IX,およびISの値を有することができる。Xのキャ
ッシュされた状態は、1つのDBMSのみがデータベー
スに対するread/writeインタレストを有し、
そのインタレストがレベルAインタレストに対応するこ
とを暗に示す。read/writeインタレストを有
するシステムに対して、RSOSはヌルであり、他のシ
ステムはデータベースに対してインタレストを持たない
ことを暗に示す。SIXのキャッシュされた状態は、1
つのシステムのみがread/writeインタレスト
を有し、他のシステムは全てreadインタレストのみ
を有することを暗に示す。これらの条件はレベルBイン
タレストに対応する。表1に示すロック互換性マトリッ
クスを用いると、readインタレストを有するシステ
ムはISのキャッシュ状態を有することになるであろ
う。read/writeインタレストを有するシステ
ムに対しては、RSOSはISである。readerシ
ステムに対して、ROSOはSIXである。Sのキャッ
シュされた状態は、全てのシステムがデータベースに対
してreadインタレストのみを有することを暗に示
す。これはレベルAインタレストであることを暗に示
す。これらのシステムに対するRSOSはヌル、すなわ
ちSである。IXのキャッシュされた状態は、少なくと
も2つのシステムがwriteインタレストを有し、他
のシステムがデータベースに対してreadインタレス
トを有することができることを暗に示す。これはレベル
Cインタレストに対応する。writeインタレストを
有するシステムはIXモードのデータベースPロックを
保持し、readインタレストを有するシステムがある
場合は、そのシステムはISモードのロックを保持す
る。このインタレストレベルの全てのシステムに対する
RSOSはIXである。
ドおよびRSOSモードのキャッシュされた状態を示
す。
は、第3のカラム、すなわち、キャッシュされた状態の
値の計算法を示す。例えば、表2のライン3を次のよう
に仮定する。すなわち、DBMSがISモードまたはS
モードのデータベースPロックを要求し、しかも、RS
OSがISの値、すなわち、他のDBMSがreadの
ためにそのデータベースにアクセスしていることを示す
ISの値を有するという指示を、DBMSが受信したと
仮定する。この場合、要求しているDBMSはそのキャ
ッシュされた状態をSと計算する。表2の第4カラム
は、要求モードおよびRSOSに基づき、BMが獲得す
ることになる実際のロックモードを示す。従って、例え
ば、RSOSがヌルのとき、BMがIXモード,SIX
モード,またはXモードのデータベースPロックを要求
する場合、BMはXモードのロックを獲得することにな
る。IXモード,SIXモード,またはXモードで保持
されているロックは、DBMS障害の間、GLM33に
より保存される。これは必要なことである。このように
すると、そのバッファと無関係な他のバージョンと矛盾
するそのバッファのオブジェクトに、そのシステムの障
害時、他のシステムによりアクセスすることができない
からである。表2の第5カラムは、キャッシュされた状
態に基づいてBMがページPロックを獲得しなければな
らないか否かを示す。ページPロックはキャッシュされ
た状態がIXであるときに必要である。IXは、2つ以
上のシステムが更新のため同一のデータベースにアクセ
スする(更新は、全てのシステムに認められている)
が、それらのシステムはそのデータベースの異なるペー
ジにのみ並行してアクセスすることができることを示
す。従って、表2の最初の4行では、カラム4の実際の
ロックおよび構成を有するDBMSは、SESからその
ページを読み取らない。一方、最後の4行では、DBM
SはまずSESからページを獲得しようとし、ついで、
ページ獲得が成功しない場合は、DASDからページを
獲得しようとする。表2の第5行では、キャッシュされ
た状態がSIXであるとき、更新しているシステムはま
ずページを獲得するためストアを参照する。このシステ
ムが唯一の更新者(updater)になる前に、更新
されたページを他のシステムによりSESに書き込むこ
とができるか、あるいは、このシステムは局所でキャッ
シュされないページを書き込む。更新されたページに対
するバッファ管理方策であって、キャッシュされた状態
に基づき従うバッファ管理方策は、カラム7に与えられ
る。最後のカラムには、その関連するBMのロック終了
プロシージャを稼働し、そのロックを交渉する条件を挙
げる。最後のカラムでは、ISLCはシステム間ロック
競合を参照し、他方、RSOS−CHはRSOSの変更
を参照する。これらは条件C1 および条件C2 であり、
GLMのBMMロック表(図3)に挙げられている。
れたときのBMロック終了プロシージャでの処理ステッ
プを示す。
しいRSOSとに基づき計算された、新しいキャッシュ
された状態を示す。この表3は表2と関連させて読むべ
きであり、併せて、DBMSにより保持された実際のロ
ックを、キャッシュされた状態の変化により変化させる
ことができることを理解すべきである。さらに、キャッ
シュ状態のダウングレードにより、モード階層におい
て、1つのロックモードから次の低位のロックモードに
移行することを、表3を参照して理解すべきである。
されない新しいRSOSがGLMにより供給されたと
き、キャッシュされた状態がBMのロック終了処理によ
りアップグレードされることを意図している。これは、
データベースに対するBMデータベースPロックを保持
する任意のDBMSに対する全域ロック処理で、通常起
こることである。そのデータベースでは、別のDBMS
がそのデータベースPロックをダウングレードするか、
あるいは放棄する。従って、任意のDBMSがそのデー
タベースPロックを放棄するか、あるいはダウングレー
ドするとき、GLMは各DBMSに対して新しいRSO
Sを計算する。命名されたデータベースに対するデータ
ベースPロックを保持するDBMSに対して通信された
最後のRSOSにより新しいRSOSが制限されていな
い場合、そのDBMSは新しいRSOSを含むメッセー
ジで通知される。
レードを理解するため、表2を参照するとともに、次の
ことを参照されたい。すなわち、 1.第2カラムを「現キャッシュされた状態」と解釈
し、第3カラムを「新しいキャッシュされた状態」と解
釈する。
状態を用い、新しいキャッシュされた状態を見付ける。
状態を比較し、ページPロック、SESアクション、お
よびバッファ管理方策を処理する。例えば、その新しい
キャッシュされた状態がSIXである場合、このような
ロックはXモードで最早獲得されないので、ページPロ
ックは保持される。
プグレードされたとき、データベースに対する多重シス
テム共用が終了するので、SESは不連続に使用される
ことに注意すべきである。SESのこのデータベースの
変更されたページをディスクに書き込まなければなら
ず、しかも、このデータベースの全てのページをSES
から除去する必要がある。
ープン法と、データベースに対するデータベースPロッ
クのDBMSによる獲得法および変更法を理解するため
のものである。まず、図7のDBMS1にて、トランザ
クションがデータベース(DB1)に対するLロックを
獲得したことを示すトランザクション(TX )から、要
求が受信される。そのトランザクションはそのBMを要
求し、DB1のページをローカルバッファに固定する。
それに応答して、DBMS1のBMはDB1をオープン
し、固定ページ要求を満足する可能な限り最低位のモー
ドで、データベースPロックを要求する。図7に示すよ
うに、固定ページプロシージャはISモードのみを要求
する。GLMに対する要求メッセージはデータベースの
識別と、要求されたロックと、要求されたロックモード
と、BMに対するPロック終了プロシージャ呼び出しと
を含む。他のDBMSは、現在、DB1にアクセスして
いないと仮定すると、GLMはRSOSがヌルであると
計算し、要求されたロックの認可を要求されているモー
ドに戻し、RSOSがヌルであることをBMに通知す
る。今、BMはキャッシュされた状態値がSモード、す
なわち、DB1に対して更新システム間インタレストが
ないモードに等しいと計算する。このDB1に対する制
御ブロックのSDフィールドがリセットされ、次のこと
を示す。すなわち、ページがDASDから獲得されよう
としており、要求されたページがローカルバッファにD
ASDからのreadオペレーションにより固定された
ことを示す。
るページのレコードに対する更新ロックを獲得したと仮
定する。それに関して、トランザクションは、更新の意
図と、そのページのIDをBMに通知するBM“set
write”プロシージャを開始する。その更新プロ
シージャの実行を許可するため、BMはBMが保持する
データベースPロックのモードをアップグレードしなけ
ればならない。図7を説明する。BMは、IXモードの
データベースPロックに対する変更呼び出しをロックマ
ネージャに要求し、そのロック名と、要求されたモード
を送信する。再び、他のシステムはこのデータベースに
対してインタレストを有しないものと仮定する。GLM
はRSOSがヌルであると計算し、そのロックテーブル
に適正にエントリし、命名されたPロック(IXモー
ド)の認可をRSOSのヌル値とともに戻す。IXモー
ドの認可と、RSOSのヌル値とに応答して、BMはキ
ャッシュされた状態モードがXであると計算する。表2
に示すアップグレード力学を維持すると、BMはデータ
ベースPロックをXモードにアップグレードする要求を
直ちに行う。Xモードに対するデータベースPのアップ
グレードはデータベースに対するシステム間インタレス
トがない場合に認可される。BMおよびGLでは、Bに
より保持されているデータベースPロックはXモードで
あり、他方、BMでは、キャッシュされた状態はXであ
り、SDフィールドがリセットされ、しかも、BMは、
Xのキャッシュされた状態に応答して、非強制方策に従
うことになる。このシーケンスに従うと、BM1は要求
トランザクションに戻り、writeプロシージャの続
行を許可する。更新が完了すると、更新されたページは
このデータベースに対するダーティページリストに置か
れる。他の幾つかの判定基準のアクティビティが欠ける
か、満足されない場合、DB1のクローズが開始される
と仮定すると、BMは、データベースのキャッシュされ
た状態により暗に示されるような非強制方策を用いて、
このデータベースに対するダーティページを全てそのバ
ッファからキャストする。一度、ダーティページがDA
SDに書き込まれ、しかも、DB1にさらにアクティビ
ティがない場合、DB1のページはローカルキャッシュ
から除去され、データベースPロックは、BMとLLM
/GLMの間でロック解放要求を発行することにより放
棄される。
からSIXまたはIXモードにダウングレードするため
に用いられる方法の擬似コードインプリメンテーション
を示す。この処理はDBMS1のBMのロック終了にあ
る。GLMに向けられたその後のロック要求が、ロック
終了が完了するまで延期されるので、その点で、LLM
/GLMロック終了はデータベースPロックに対するそ
の後のロック要求を逐次化することがアサートされる。
システム間ロック競合が起こるので、そのロック終了は
DBMS1のLLMへのメッセージによりトリガされ
る。そのメッセージは資源名と、RSOSの新しい値を
含む。このような競合は、例えば、ISまたはIXモー
ドのデータベースPロックに、DBMS2がデータベー
スreadまたはデータベース更新オペレーションを行
うことを要求したときに生じる。一度、データベースP
ロックがSIX/IXにダウングレードされると、その
データベースはストア従属になる。ここで、ページがS
ESにある場合(そのページが局所的にキャッシュされ
ていないか、あるいはそのバッファが無効にされた場
合)は、更新DBMSは強制バッファ方策に従い、DB
MSの最初の検査を読み取り、ページがストアにない場
合はDASDからページを獲得する。
似コードで示す。その論理は、(データベースを読み取
る)ISモードか、あるいは(そのデータベースを更新
する)IXモードのデータベースPロックを獲得し、他
方、DBMS1はXモードのデータベースPロックを保
持する。パート1では、「DB1に対するストア従属変
換ロック」と呼ばれるロック(データベースPロックと
は異なるロック)は、その意図が読み取りのみである場
合、SモードでDBMS2により獲得され、その意図が
データベースの更新である場合、Xモードで獲得され
る。ストア従属変換ロックの目的は、そのプロセスをD
BMS2で逐次化することにある。そのプロセスはDB
MS2のPロック終了によりPロックを獲得する。DB
MS2のPロック終了は、キャッシュされた状態をDB
MS2がデータベース制御ブロックでマークする前に、
DBMS3のデータベースロック要求により呼び出され
るかもしれない。
ISモードのロックを要求している場合は、DBMS1
はそのデータベースPロックをXモードからSIXモー
ドにダウングレードする。DBMS2がIXモードのロ
ックを要求している場合、DBMS1はそのロックをI
Xモードにダウングレードする。そのデータベースPロ
ックのダウングレードに暗に含まれていることは、デー
タベースを非ストア従属からストア従属に変換すること
である。ダウングレードに備えるため、DBMS1は影
響されたデータベースに対するダーティページリスト上
のページをDASDに書き込む。この書き込みを行うた
め、DBMS1はステップ151でそのリストをラッチ
し、そして、ステップ152−157を備えるループを
実行し、各ページをそのリストにラッチし、しかも、各
ページをローカルwriteページリストに移動する。
それらのページが全てwriteページレストに転送さ
れると、ステップ158そのページをwriteするD
ASD writeI/Oプロセスを開始する。全ての
ページがDASDに書き込まれると、「データベース変
換」ログレコードは、データベースPロックがダウング
レードされる前に、強制的にDBMS1のログに入れら
れる。ステップ160では、データベースPロックは必
要なグレードにダウングレードされる。その後、ロック
終了プロシージャはダーティページリストのラッチを解
放し、書かれたページを全てクリーンであるとマーク
し、ページ更新の必要がある全てのトランザクションを
レジュームする。
PロックをXモードからダウングレードする方法を示
す。図8を説明する。最初に上左部から開始する。DB
MS1のBM1はDB1のデータベースPロック(Xモ
ード)を保持する。DB1のキャッシュされた状態はX
であり、非ストア従属である。DBMS2のトランザク
ションTxはDB1に対するLロックを獲得し、しか
も、BM2にデータベースのページ固定を要求する。B
M2に対する要求はGLMに対して行われ、ISモード
のDB1−Pロックを要求する。GLMはそのロックテ
ーブルを検査し、その要求に応じてシステムロック競合
が生じ、その競合によりLLMがBM1のPロック終了
を呼び出すかを判定する。それに応答して、BM1のP
ロック終了は表4のパート2の擬似コードを実行する。
そして、そのPロック終了はPロックのダウングレード
を要求する。その要求が認可され、キャッシュ状態およ
びPロックモードがSIXにセットされ、しかも、DB
1に対する制御ブロックのSDフラグがセットされる。
Pロック終了はLLM/GLMに戻る。GLMはSIX
のRSOSを戻すDBMS2ロック要求を認可する。
今、DBMS2はISモードのPロックを所持し、その
キャッシュされた状態をISにセットし、DB1制御ブ
ロックのSDフラグをセットする。
保持されるとき、DBMS1のデータベースPロックを
解放するために用いられる方法を擬似コードで示す。表
5では、そのプロセスは、XモードのデータベースPロ
ックに対するDBMS2の要求によりトリガされ、デー
タベースの更新を行う。本発明者は次のことを意図して
いる。すなわち、データベースアプリケーションが排他
的にそのデータベースの制御を行うとき、例えば、対応
するデータベースLロックが既にXモードで要求アプリ
ケーションにより保持されているときのようなとき、D
BMS1がXモードのデータベースPロックのみを要求
することを意図している。表5では、ロックが競合状態
にあるためデータベースPロックを解放することをDB
MS1に通知する。一度、データベースPロックがXモ
ードでDBMS2に認可されると、データベースは非ス
トア従属モードのままである。
Xモードでデータベースに対するストア従属変換ロック
を獲得し、XモードのデータベースPロックを獲得し、
「データベースオープン」ログレコードを強制的にログ
データセットに書き込む。このログデータセットは、そ
のデータベースが非ストア従属であり、しかも、そのロ
ーカルバッファの制御ブロックの非ストア従属を、Pロ
ックおよびキャッシュ状態モードとともにマークする。
つぎに、このデータベースに対するストア従属変換ロッ
クが解放され、他のDBMSにPロック要求を許可す
る。
ベースPロックの解放法を説明する。パート2では、D
BMS1がXモードのデータベースPロックを保持して
いる場合、DBMS1はこのデータベースに対するダー
ティページを全てDASDに対するローカルバッファに
書き込み、他にバッファリングされているデータベース
のページを除去する。Sモードのロックが保持されてい
る場合は、その影響されたデータベースに対してキャッ
シングされたページはそのローカルバッファから除去さ
れる。そして、そのデータベースPロックが解放され
る。そのロックが解放されると、DBMS1はそのロッ
クを獲得するまで、そのデータベースにアクセスするこ
とができない。表6はDBMS1でそのデータベースP
ロックをSからISモードにダウングレードすることを
示す。表6のプロセスはIXモードのデータベースPロ
ックに対するDBMS2の要求によりトリガされ、デー
タベース更新オペレーションを行う。GLM/LLMは
ロック競合をDBMS1のPロック終了プロシージャに
通知する。表3に示す第6ラインが必要とするように、
RSOSがIXであるとき、データベースPロックをS
からISにダウングレードすることは、そのデータベー
スがストア従属であることを意味する。また、表6は、
DBMS1がISモードのデータベースPロックを保持
し、そのキャッシュ状態がSにセットされている場合に
用いられる。この条件では、DBMS1のPロック終了
に、RSOS状態の変化が通知される。
Xモードのストア従属変換ロックをGLMから獲得す
る。そして、DBMS2はIXモードのデータベースP
ロックを要求する。認可された場合(ライン302)、
BMはRSOSを検査し、そのロックをSIXにアップ
グレードし、DBMS2は「データベースオープン」ロ
グレコードをそのログデータセットに書き込む。「デー
タベースオープン」ログレコードは、データベースがス
トア従属であり、キャッシュ状態を制御ブロックに入力
する間、そのデータベースに対する制御ブロックにその
ストア従属フラグをセットする。そして、そのストア従
属変換ロックが解放され、処理がDBMS2で続行され
る。
ロック競合の通知か、あるいはRSOSの変化の通知を
受信すると、ストア従属フラグをデータベース制御ブロ
ックにセットし、データベースPロック状態をISに変
化させ、(必要である場合)そのPロックをSからIS
にダウングレードする。
ードにより、データベースが「ストア従属」であるか否
かが正確に示されように、そのデータベースPロックを
管理することにより、BMはある成果を得ることができ
る。本発明者は、「ストア従属」に従って、DBMSが
readまたはwriteのためにSESを用いている
か否かのセンスを送ることを意図する。ストア従属性を
データベースPロックにより追跡する主な理由は、SE
Sのハード障害に起因して、そのデータベースのデータ
が利用できなくなる時間を軽減することにある。ハード
障害が生じると、DBMSはこのデータベースに対する
データベースPロックが保持されるモードに関し、LL
M/GLMに照会し、この照会により、データベースが
ストア従属か否かを直ちに判定することができる。ロッ
クがIXまたはSIX状態で任意のBMにより保持され
ている場合、BMはコミット時強制方策に従い、更新さ
れたページをSESに書き込む。この点で、そのデータ
ベースはストア従属であり、そのデータベースが障害時
回復を必要としているとしてマークしなければならな
い。そうでない場合は、そのデータベースは非ストア従
属であり、SESの障害により影響されない。この判定
プロセスは「損害評価」と呼ばれている。データ利用可
能性の点から見ると、損害評価を直ちに実行して、他の
SESを利用できる場合は、他のSESを用いるべきで
あり、データベースの障害時回復を開始する。
データベースがストア従属か否かを正確に反映している
ことを確認するため、DBMSは、そのキャッシュ状態
をXからダウングレードする際と、データベースを「非
ストア従属」に変換する際と、ロックの紛失に直面した
ときにストア従属性を判定する際に、事前に幾つか注意
しなればならない。
ているDBMSが非強制管理方策を採用し、DASDか
らページを読み取り、DASDにページを書き込む。D
BMSがそのキャッシュ状態をXからダウングレードす
ると、SESをそのデータベースに対して用いることが
できるまで、2つのアクションを行わなければならな
い。まず、ダウングレードDBMSは「データベース変
換」ログレコードをそのログに書き込まなければならな
い。次に、SESの使用に対して変換する間、DBMS
は、そのデータベースのダーティページをDASDに書
き込むことにより、そのダーティページをそのローカル
バッファから除去しなければならない。
更新されると、最後の更新DBMSは、そのデータベー
スを「ストア従属」から「非ストア従属」に変換するこ
とを担当しなければならない。DBMSは、そのキャッ
シュされた状態を監視することにより、最後の更新して
いるシステムであるか否かを判定する。この点で、その
キャッシュされた状態がSIXまたはXである場合、D
BMSは最後の更新しているシステムであると決定す
る。
スPロックが紛失された場合、DBMSは既に説明した
ログレコードを用いて、そのデータベースが「ストア従
属」か否かを判定しなければならない。このため、次の
ログレコードが利用可能である。
ード: データベースが「ストア従属」か否かを通知す
る標識を用いて第1の更新時に書き込まれる。
ログレコード: 障害時回復可能であり、かつ、オープ
ンされてから任意の更新があったデータベースに対して
DBMSチェックポイント処理を行う間に書き込まれ
る。そのレコードはデータベースが「ストア従属」か否
かを表す標識を含む。
ド: 「非ストア従属」から「ストア従属」にデータベ
ースを変換するか、あるいはその逆に変換する際にBM
プロシージャにより書き込まれる。
ード: データベースのクローズ時に書き込まれる。
処理の間、その情報をタイムシーケンスでそのシステム
のログレコードから取り出すことにより、そのデータベ
ースがストア従属か否かを判定することが可能である。
データベースがストア従属である場合は、データベース
PロックはIXモードでそのシステムにより獲得される
であろう。他方、データベースが非ストア従属である場
合、データベースPロックはXモードで獲得されるであ
ろう。
のものであると仮定する。典型的なログの部分を、ログ
レコードを示す図6に示す。ログレコードはタイム順シ
ーケンスであると仮定する。ここで、各レコードのシー
ケンス部分はログシーケンス番号(”LSN”)により
表される。
スに変換する例である。このプロセスは、そのデータベ
ースのクローズが実行可能であるか、あるいは、データ
ベースPロックキャッシュされた状態をXにアップグレ
ード実行可能であるとき、最後の更新DBMSによりト
リガされる。表7では、DBMSは、Sモードのデータ
ベーストランザクションロックを獲得することにより、
複合システム全体のデータベースを更新するトランザク
ションを全て静止させる。次に、このデータベースに対
する変更された全てのページをSESから読み取り、D
ASDに書き込む。そして、ページはSESから除去さ
れ、可能な場合は、ローカルバッファから除去される。
しかも、このデータベースは最早ストア従属でないこと
を示す「データベース変換」ログレコードが書き込まれ
る。最後に、そのデータベースPロックモードがXに変
更される。そのXは、そのデータベースが非ストア従属
であるか、あるいは、データベースPロックが解放され
ることを示す。そのデータベーストランザクションロッ
ク(Lロック)が解放される。
障害時回復が必要なデータベースを判定しなければなら
ない。表8は、SES障害により影響されたデータベー
スに、「論理回復保留中」を表すフラグを付加する擬似
コードを示す。このフラグは回復プロセスを通知し、デ
ータベース上で回復処理を行い、回復が完了するまで、
トランザクションがそれらのデータベースにアクセスで
きないようにする。表8はそのデータベースPロックが
紛失されないと仮定するとともに、GLMはどのデータ
ベースがIXおよびSIXロックに左右されるかを通知
することができると仮定する。勿論、これらのデータベ
ースはストア従属であり、回復に対する候補である。
が紛失されたとき、各DBMSはログレコードを用い
て、データベースがストア従属か否かを判定しなければ
ならない。この情報をログレコードからタイムシーケン
スでそのシステムで取り出すことにより、データベース
がストア従属か否か、従って、回復に対する候補か否か
を判定することができる。
明の精神および範囲を逸脱することなく、形式および詳
細を変更することができることは、当業者にとって当然
のことである。
上記のように構成したので、DBSDベースの外部記憶
に共用アクセスし、かつ、高速電子キャッシュに共用ア
クセスする多重DBMS環境において、データのコヒー
レンシを維持することができ、その上、全域ロッキング
のオーバヘッドを軽減することができる。
すブロック図である。
示す流れ図である。
す図である。
す図である。
されるデータ構造を示すブロック図である。
エントリを有するDBMSログを示す図である。
ム間インタレストを確立し、保持し、変更することが要
求される処理ステップを示す流れ図である。
要求に起因してシステム間インタレストが変更されるこ
とに応答して、1つのDBMSがそのデータベースロッ
クのモードを変更するときに実行されるDBMS処理ス
テップを示す流れ図である。
Claims (12)
- 【請求項1】 複数のデータベース管理システム(DB
MS)と、 該DBMSに接続された直接アクセス記憶装置であっ
て、1つ以上のデータベースを記憶する直接アクセス記
憶装置と、 前記DBMSに接続された共用ストアであって、前記複
数のDBMSにより高速アクセスするためデータを一時
的に記憶するための共用ストアとを含むデータベースシ
ステムにおいて、 前記DBMSは1つ以上のデータベースからのデータを
トランザクションに供給しデータベース処理を行い、 前記複数のDBMSに関してデータベースのコヒーレン
シを保持する方法であって、 (1)指定されたデータベースからのデータの更新を任
意の他のDBMSに要求するトランザクション要求がな
い場合、指定されたデータベースからのデータを第1D
BMSに要求する第1トランザクション要求に応答し
て、 (1a)前記第1DBMSにて、前記直接アクセス記憶
装置からデータを獲得するステップと、 (1b)前記第1DBMSにて前記データに対してトラ
ンザクションオペレーションを実行するステップと、 (2)前記指定されたデータベースのデータ更新を第2
DBMSに要求する第3トランザクション要求に実質的
に並行して、前記指定されたデータベースからのデータ
を第1DBMSに要求する第2トランザクション要求が
行われると、この第2トランザクション要求に応答し
て、 (2a)前記第1DBMSにて、前記データが共用スト
アにある場合は、該共用ストアからデータを獲得し、な
い場合は、前記直接アクセス記憶装置からデータを獲得
するステップと、 (2b)前記第2DBMSにてデータに対する前記第3
トランザクション要求を実行しかつコミットするステッ
プと、 (2c)前記トランザクションオペレーションに同期し
て、前記データを前記共用ストアに書き込むステップと
を備えたことを特徴とする方法。 - 【請求項2】 前記ステップ(2)において、前記第2
トランザクション要求は前記指定されたデータベースの
データを更新する要求であり、前記ステップ(2a)−
(2c)は、(2ai)まず、前記第1DBMSに対し
て、前記指定されたデータベースのデータオブジェクト
を排他的にロッキングするステップと、(2aii)つ
いで、前記データオブジェクトが前記共用ストアにある
場合、前記共用ストアから前記データオブジェクトを獲
得し、前記データオブジェクトが前記共用ストアにない
場合、前記直接アクセス記憶装置からデータオブジェク
トを獲得するステップと、(2b)さらに、前記第1D
BMSの前記データに対して前記第2トランザクション
要求を実行しコミットするステップと、(2ci)ま
ず、前記第1DBMSの前記トランザクション更新オペ
レーションのコミットに同期して、前記データオブジェ
クトを前記共用記憶装置に書き込むステップと、(2c
ii)ついで、前記データオブジェクトをロック解除す
るステップとを含むことを特徴とする請求項1に記載の
方法。 - 【請求項3】 前記ステップ(1)は、(1bi)前記
第1DBMSの前記データに対して更新オペレーション
を実行するステップと、(1bii)前記第1DBMS
の前記トランザクションオペレーションをコミットする
ステップと、(1c)前記トランザクションオペレーシ
ョンのコミットに同期して、前記直接アクセス記憶装置
に前記データを書き込むステップとを含むことを特徴と
する請求項1に記載の方法。 - 【請求項4】 前記ステップ(2)は、前記第2DBM
Sのデータの更新を他の全てのDBMSに通知するステ
ップをさらに含むことを特徴とする請求項1に記載の方
法。 - 【請求項5】 複数のデータベース管理システム(DB
MS)と、 該DBMSに接続された直接アクセス記憶装置であっ
て、1つ以上のデータベースを記憶する直接アクセス記
憶装置と、 前記DBMSに接続された共用ストアであって、前記複
数のDBMSにより高速アクセスするためデータを一時
的に記憶するための共用ストアとを含むデータベースシ
ステムにおいて、 前記複数のDBMSに関してデータベースのコヒーレン
シを保持する方法は、 指定されたデータベースからのデータを獲得する第1D
BMSに排他的アクセスを認可する第1認可ステップ
と、 前記第1DBMSにて、前記排他的アクセスの間、前記
直接アクセス記憶装置からデータを獲得する獲得ステッ
プと、 前記第1DBMSのデータに対してトランザクションオ
ペレーションを実行する実行ステップと、 前記排他的アクセスの間、前記指定されたデータベース
への第2DBMSからのアクセス要求を生成する生成ス
テップと、 前記第2DBMSからの要求に応答して、前記指定され
たデータベースの更新されたデータを、前記第1DBM
Sから前記直接アクセス記憶装置に書き込み、しかも、
前記指定されたデータベースの更新されていないデータ
を前記第1DBMSから全て除去する除去ステップと、 前記第2DBMSに前記指定されたデータベースへのア
クセスを認可する第2認可ステップとを備えたことを特
徴とする方法。 - 【請求項6】 前記第2認可ステップは、前記第2デー
タベースへの共用アクセスを認可し、前記指定されたデ
ータベースを更新するステップを含み、さらに、 前記第1DBMSへのアクセスを共用アクセスに変更す
る変更ステップと、 前記第2DBMSにて、前記指定されたデータベースの
データを前記共用記憶装置に書き込む書き込みステップ
と、 前記第1および第2DBMSにて、前記指定されたデー
タベースのデータを、前記共用記憶装置から獲得し、該
共用記憶装置にデータがない場合は前記直接アクセス記
憶装置から獲得する獲得ステップとを備えたことを特徴
とする請求項5に記載の方法。 - 【請求項7】 前記第2データベースからの要求を生成
するステップの前に、 前記直接アクセス記憶装置からデータを獲得する前記獲
得ステップは、前記指定されたデータベースのページを
該ページをロッキングせずに獲得するステップを含み、 トランザクションを実行する前記ステップは前記ページ
を更新するステップを含み、 前記方法は、更新されたページを前記第1DBMSから
前記直接アクセス記憶装置に戻すステップを含むことを
特徴とする請求項5に記載の方法。 - 【請求項8】 前記第2認可ステップは、共用アクセス
を前記データベースに認可し、前記指定されたデータベ
ースからページを読み取るステップを含み、さらに、 前記第1DBMSのアクセスを共用アクセスに変更する
ステップと、 前記第1DBMSにて、前記指定されたデータベースの
ページを前記ページをロッキングせずに獲得するステッ
プと、 前記第1DBMSにて前記ページを更新し、その更新さ
れたページを前記共用ストアに書き込むステップと、 前記第2DBMSにて、前記指定されたデータベースの
ページを前記共用ストアから獲得し、該共用ストアにそ
のページがない場合は前記直接アクセス記憶装置から獲
得するステップとを含むことを特徴とする請求項5に記
載の方法。 - 【請求項9】 前記第2DBMSにて、前記指定された
データベースにアクセスを放棄するステップと、 前記第1DBMSのアクセスを排他的アクセスに変更す
るステップと、 前記第1DBMSにて、前記排他的アクセスの間、前記
直接アクセス記憶装置からデータを獲得するステップと
を含むことを特徴とする請求項6に記載の方法。 - 【請求項10】 複数のデータベース管理システム(D
BMS)と、 該DBMSに接続された直接アクセス記憶装置であっ
て、1つ以上のデータベースを記憶する直接アクセス記
憶装置と、 前記DBMSに接続された共用ストアであって、前記複
数のDBMSにより高速アクセスするためデータを一時
的に記憶するための共用ストアと、 単調に増加する順序でトランザクションレコードが書き
込まれる各DBMSに対するログ機構と、 ロッキングプロシージャによりデータベースへのアクセ
スを認可し、そのロッキングプロージャにて、指定され
たデータベースに対するロックが要求DBMSに認可さ
れるロッキング機構とを含み、 前記ロックは、 単一のDBMSが前記指定されたデータベースのデータ
資源を更新する第1モードと、 2つ以上のDBMSにアクセスが認可され、前記指定さ
れたデータベースのデータ資源を更新する第2モードと
を指示するように調整され、 前記共用ストアの障害に応答して前記指定されたデータ
ベースを回復する方法は、 (a)前記第1モードで前記ロックを保持する第1DB
MSにて、前記指定されたデータベースの更新を前記直
接アクセス記憶装置に書き込むステップと、 (b)前記第1DBMSに第2DBMSによる要求を通
知し、前記指定されたデータベースを更新するステップ
と、 (c)前記第1DBMSにて、前記通知に応答して、 前記指定されたデータベースが、該指定されたデータベ
ースに対する更新が前記直接アクセス記憶装置に書き込
まれる非ストア従属状態から、前記指定されたデータベ
ースに対する更新が前記共用ストアに書き込まれるスト
ア従属状態に変換することを表すデータベース変換ログ
レコードを書き込み、 前記直接アクセス記憶装置にまだ書き込まれない前記指
定されたデータベースの更新を全て前記直接アクセス記
憶装置に書き込み、 前記ロックを前記第2モードにダウングレードするステ
ップと、 (d)前記第2DBMSにて、前記第2モードの前記ロ
ックを獲得し、しかも、前記指定されたデータベースを
更新するステップと、 (e)前記第1および第2DBMSにて、前記指定され
たデータベースの更新を全て前記共用ストアに書き込む
ステップと、 (f)前記共用ストアに障害があるとき、前記ロックの
モードを検査し、しかも、 前記ロックの第2モードに応答して、前記指定されたデ
ータベースがストア従属であるとマークし、 前記DBMSのログのトランザクションレコードを用い
て、前記指定されたデータベースを回復し、 回復が完了するまで、前記指定されたデータベースへの
アクセスを前記ストア従属マーキングに応答して停止す
るステップとを含む方法。 - 【請求項11】 前記共用ストアと前記ロッキング機構
に障害があるとき、前記ステップ(f)に替えて、 全てのDBMSのログにストア従属エントリがあるか否
かを検査するステップと、 前記指定されたデータベースに対するストア従属エント
リに応答して、前記指定されたデータベースがストア従
属であるとマーキングするステップと、 前記DBMSのログのトランザクションレコードを用い
て前記指定されたデータベースを回復するステップと、 回復が完了するまで、前記ストア従属マーキングに応答
して、回復処理の間、前記指定されたデータベースへの
アクセスを停止するステップとを実行することを特徴と
する請求項10に記載の方法。 - 【請求項12】 前記共用ストアの障害の前に、 前記第2モードのロックを複数のDBMSに認可し、前
記指定されたデータベースを更新し、ついで、他の単一
のDBMSが前記第2モードのロックを保持するまで、
前記ロックを複数のDBMSにて放棄するステップと、 前記他の単一のDBMSにて、前記共用ストアにある前
記指定されたデータベースに対する更新を全て前記直接
アクセス記憶装置に書き込み、それらの更新を前記共用
ストアから除去し、前記指定されたデータベースがスト
ア従属から非ストア従属に変更されたことを表すデータ
ベース変換ログレコードを書き込み、前記他の単一DB
MSが前記指定されたデータベースを更新する前記第1
モードに、前記ロックをアップグレードするステップと
を含み、 前記ステップ(f)は、 前記共用ストアに障害があったとき、前記ロックのモー
ドを検査し、しかも、前記ロックの前記第1ロックに応
答して、前記指定されたデータベースを非ストア従属と
マークし、ストア従属である任意のデータベースを回復
し、該回復処理の間に前記指定されたデータベースへの
アクセスを許可し、 他方、前記共用ストアに障害がないとき、DBMSのロ
グにデータベース変換ログレコードがあるか否かを検査
し、前記指定されたデータベースがストア従属から非ス
トア従属状態に変化したことを表すデータベース変換ロ
グレコードに応答して、前記指定されたデータベースを
非ストア従属とマークし、ストア従属データベースを全
て回復し、前記指定されたデータベースへのアクセスを
回復する間に許可するステップを含むことを特徴とする
請求項10に記載の方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US07/869,267 US5408653A (en) | 1992-04-15 | 1992-04-15 | Efficient data base access using a shared electronic store in a multi-system environment with shared disks |
US869267 | 1992-04-15 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH0683692A true JPH0683692A (ja) | 1994-03-25 |
JP2721780B2 JP2721780B2 (ja) | 1998-03-04 |
Family
ID=25353219
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP5050947A Expired - Fee Related JP2721780B2 (ja) | 1992-04-15 | 1993-03-11 | データベースアクセス方法およびシステム |
Country Status (2)
Country | Link |
---|---|
US (3) | US5408653A (ja) |
JP (1) | JP2721780B2 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100420254B1 (ko) * | 1998-09-03 | 2004-05-31 | 엘지전자 주식회사 | 데이터베이스관리방법 |
WO2013046883A1 (ja) * | 2011-09-30 | 2013-04-04 | インターナショナル・ビジネス・マシーンズ・コーポレーション | トランザクション処理システム、方法及びプログラム |
Families Citing this family (106)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5408653A (en) * | 1992-04-15 | 1995-04-18 | International Business Machines Corporation | Efficient data base access using a shared electronic store in a multi-system environment with shared disks |
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 |
US5544345A (en) * | 1993-11-08 | 1996-08-06 | International Business Machines Corporation | Coherence controls for store-multiple shared data coordinated by cache directory entries in a shared electronic storage |
WO1995013583A1 (en) * | 1993-11-09 | 1995-05-18 | Conner Kenneth H | First come memory accessing without conflict |
US5581704A (en) * | 1993-12-06 | 1996-12-03 | Panasonic Technologies, Inc. | System for maintaining data coherency in cache memory by periodically broadcasting invalidation reports from server to client |
JPH09512123A (ja) * | 1994-04-21 | 1997-12-02 | ブリティッシュ・テレコミュニケーションズ・パブリック・リミテッド・カンパニー | データ記憶装置 |
US5574902A (en) * | 1994-05-02 | 1996-11-12 | International Business Machines Corporation | 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 |
US5577226A (en) | 1994-05-06 | 1996-11-19 | Eec Systems, Inc. | Method and system for coherently caching I/O devices across a network |
US5655077A (en) * | 1994-12-13 | 1997-08-05 | Microsoft Corporation | Method and system for authenticating access to heterogeneous computing services |
US6009433A (en) * | 1995-04-14 | 1999-12-28 | Kabushiki Kaisha Toshiba | Information storage and information transmission media with parental control |
US5813010A (en) * | 1995-04-14 | 1998-09-22 | Kabushiki Kaisha Toshiba | Information storage and information transmission media with parental control |
US5671390A (en) * | 1995-05-23 | 1997-09-23 | International Business Machines Corporation | Log structured array storage subsystem using LSA directory and LSA sub-directory stored in different storage media |
US5713017A (en) * | 1995-06-07 | 1998-01-27 | International Business Machines Corporation | Dual counter consistency control for fault tolerant network file servers |
US5991771A (en) * | 1995-07-20 | 1999-11-23 | Novell, Inc. | Transaction synchronization in a disconnectable computer and network |
FI102788B1 (fi) * | 1995-09-14 | 1999-02-15 | Nokia Telecommunications Oy | Yhteisen levydatan hallinta kahdennetussa tietokoneyksikössä |
US5692182A (en) * | 1995-10-05 | 1997-11-25 | International Business Machines Corporation | Bufferpool coherency for identifying and retrieving versions of workfile data using a producing DBMS and a consuming DBMS |
US5996075A (en) | 1995-11-02 | 1999-11-30 | Sun Microsystems, Inc. | Method and apparatus for reliable disk fencing in a multicomputer system |
US7168088B1 (en) | 1995-11-02 | 2007-01-23 | Sun Microsystems, Inc. | Method and apparatus for reliable disk fencing in a multicomputer system |
JP3524270B2 (ja) * | 1996-06-24 | 2004-05-10 | 株式会社日立製作所 | 並列処理システム |
US6574654B1 (en) * | 1996-06-24 | 2003-06-03 | Oracle Corporation | Method and apparatus for lock caching |
US5870743A (en) * | 1996-06-24 | 1999-02-09 | Oracle Corporation | Method and apparatus for parallelizing operations that create a table |
US5884324A (en) * | 1996-07-23 | 1999-03-16 | International Business Machines Corporation | Agent for replicating data based on a client defined replication period |
US5995972A (en) * | 1996-12-30 | 1999-11-30 | J.D. Edwards World Source Company | System and method for retrieving data |
JP3506584B2 (ja) * | 1997-05-02 | 2004-03-15 | パイオニア株式会社 | 情報検索装置及びナビゲーション装置における情報入力装置、並びに情報検索方法、並びにナビゲーション装置における情報入力制御プログラムが記録されたコンピュータ読み取り可能な記録媒体 |
US6041384A (en) * | 1997-05-30 | 2000-03-21 | Oracle Corporation | Method for managing shared resources in a multiprocessing computer system |
US6012060A (en) * | 1997-05-30 | 2000-01-04 | Oracle Corporation | Sharing, updating data blocks among multiple nodes in a distributed system |
US6578120B1 (en) * | 1997-06-24 | 2003-06-10 | International Business Machines Corporation | Synchronization and resynchronization of loosely-coupled copy operations between a primary and a remote secondary DASD volume under concurrent updating |
US5895493A (en) * | 1997-06-30 | 1999-04-20 | Lsi Logic Corporation | Method and apparatus for storage of multiple host storage management information on a storage subsystem |
US6092155A (en) * | 1997-07-10 | 2000-07-18 | International Business Machines Corporation | Cache coherent network adapter for scalable shared memory processing systems |
US6044438A (en) * | 1997-07-10 | 2000-03-28 | International Business Machiness Corporation | Memory controller for controlling memory accesses across networks in distributed shared memory processing systems |
US6108654A (en) * | 1997-10-31 | 2000-08-22 | Oracle Corporation | Method and system for locking resources in a computer system |
US6931430B1 (en) * | 1998-05-13 | 2005-08-16 | Thomas W. Lynch | Maintaining coherency in a symbiotic computing system and method of operation thereof |
US6148300A (en) * | 1998-06-19 | 2000-11-14 | Sun Microsystems, Inc. | Hybrid queue and backoff computer resource lock featuring different spin speeds corresponding to multiple-states |
US6253274B1 (en) | 1998-08-28 | 2001-06-26 | International Business Machines Corporation | Apparatus for a high performance locking facility |
US6185650B1 (en) | 1998-08-28 | 2001-02-06 | International Business Machines Corporation | High performance locking facility |
US6189007B1 (en) * | 1998-08-28 | 2001-02-13 | International Business Machines Corporation | Method and apparatus for conducting a high performance locking facility in a loosely coupled environment |
US6223176B1 (en) * | 1998-09-25 | 2001-04-24 | International Business Machines Corporation | Method and computer program product for implementing highly concurrent record insertion in an ordinal number dependent database |
US6363396B1 (en) | 1998-12-21 | 2002-03-26 | Oracle Corporation | Object hashing with incremental changes |
US6792424B1 (en) | 1999-04-23 | 2004-09-14 | International Business Machines Corporation | System and method for managing authentication and coherency in a storage area network |
US6732137B1 (en) | 1999-05-12 | 2004-05-04 | International Business Machines Corporation | Performance optimization for data sharing across batch sequential processes and on-line transaction processes |
US7089530B1 (en) | 1999-05-17 | 2006-08-08 | Invensys Systems, Inc. | Process control configuration system with connection validation and configuration |
WO2000070417A1 (en) * | 1999-05-17 | 2000-11-23 | The Foxboro Company | Process control configuration system with parameterized objects |
US6370528B1 (en) * | 1999-05-28 | 2002-04-09 | Unisys Corporation | High speed method for flushing data buffers and updating database structure control information |
US6529906B1 (en) | 2000-01-28 | 2003-03-04 | Oracle Corporation | Techniques for DLM optimization with re-mastering events |
US6920454B1 (en) | 2000-01-28 | 2005-07-19 | Oracle International Corporation | Techniques for DLM optimization with transferring lock information |
US7246120B2 (en) | 2000-01-28 | 2007-07-17 | Oracle International Corporation | Techniques for achieving higher availability of resources during reconfiguration of a cluster |
US6751616B1 (en) | 2000-01-28 | 2004-06-15 | Oracle International Corp. | Techniques for DLM optimization with re-mapping responsibility for lock management |
US6557082B1 (en) | 2000-03-30 | 2003-04-29 | International Business Machines Corporation | Method and apparatus for ensuring cache coherency for spawned dependent transactions in a multi-system environment with shared data storage devices |
US6704767B1 (en) * | 2000-09-26 | 2004-03-09 | Oracle International Corporation | Using distributed information about lock conversion requests to efficiently manage lock state transitions |
US6804672B1 (en) * | 2001-01-31 | 2004-10-12 | Oracle International Corporation | Method and mechanism for dependency tracking |
JP3640387B2 (ja) * | 2001-02-27 | 2005-04-20 | 独立行政法人理化学研究所 | レーザーアブレーションを用いた高分子の分析方法およびそのシステム |
WO2003005247A2 (en) * | 2001-07-06 | 2003-01-16 | Computer Associates Think, Inc. | Systems and methods of information backup |
US7424496B1 (en) * | 2002-03-20 | 2008-09-09 | Applied Micro Circuits Corporation | Asymmetric coherency protection |
EP1559039B1 (en) * | 2002-09-09 | 2006-07-05 | Sap Ag | Methods and systems for controlling access to a data object by means of locks |
US7756813B2 (en) * | 2002-09-09 | 2010-07-13 | Sap Ag | Electronic data structure for controlling access to data objects using locks |
US7457933B2 (en) * | 2002-09-09 | 2008-11-25 | Sap Ag | Methods and systems for archiving data |
US20060149696A1 (en) * | 2002-09-09 | 2006-07-06 | Thorsten Pferdekaemper | Method and systems for controlling access to a data object by means of locks |
US7693881B2 (en) | 2002-09-09 | 2010-04-06 | Sap Ag | Methods and systems for moving data using locks |
US7653667B2 (en) * | 2002-09-09 | 2010-01-26 | Sap Ag | Methods and systems for data moving using locks |
US7447786B2 (en) * | 2003-05-09 | 2008-11-04 | Oracle International Corporation | Efficient locking of shared data that is accessed for reads in a cluster database |
US6968432B2 (en) * | 2003-05-16 | 2005-11-22 | International Business Machines Corporation | Method and system for altering a sequence number assignment pattern while preserving integrity and high concurrency in a multi-system shared disk environment |
US7805411B2 (en) * | 2003-09-06 | 2010-09-28 | Oracle International Corporation | Auto-tuning SQL statements |
US7222117B1 (en) | 2003-11-14 | 2007-05-22 | Advent Software, Inc. | Segmented global area database |
US20050171875A1 (en) * | 2004-01-30 | 2005-08-04 | Michael Seitz | System and method for synchronizing commitment updates |
US7379952B2 (en) * | 2004-01-30 | 2008-05-27 | Oracle International Corporation | Techniques for multiple window resource remastering among nodes of a cluster |
US7757226B2 (en) * | 2004-03-17 | 2010-07-13 | Oracle International Corporation | Method and mechanism for performing a rolling upgrade of distributed computer software |
JP2005273860A (ja) * | 2004-03-26 | 2005-10-06 | Jatco Ltd | 自動変速機の変速制御装置 |
US7523088B2 (en) * | 2004-03-31 | 2009-04-21 | International Business Machines Corporation | Method for increasing system resource availability in database management systems |
US7650360B2 (en) * | 2004-04-16 | 2010-01-19 | Microsoft Corporation | System and methods for database lock with reference counting |
US20050251523A1 (en) * | 2004-05-07 | 2005-11-10 | Oracle International Corporation | Minimizing downtime for application changes in database systems |
US7788285B2 (en) * | 2004-05-14 | 2010-08-31 | Oracle International Corporation | Finer grain dependency tracking for database objects |
JP4526337B2 (ja) * | 2004-09-15 | 2010-08-18 | 株式会社日立製作所 | データ管理システム及び方法 |
US20060106873A1 (en) * | 2004-11-18 | 2006-05-18 | International Business Machines (Ibm) Corporation | Selective clearing of persistent metadata in a storage subsystem |
US8676748B2 (en) * | 2004-11-18 | 2014-03-18 | International Business Machines Corporation | Clearing metadata tracks in a storage system |
US20060200469A1 (en) * | 2005-03-02 | 2006-09-07 | Lakshminarayanan Chidambaran | Global session identifiers in a multi-node system |
US7209990B2 (en) * | 2005-04-05 | 2007-04-24 | Oracle International Corporation | Maintain fairness of resource allocation in a multi-node environment |
US8370317B2 (en) * | 2005-09-22 | 2013-02-05 | Microsoft Corporation | Synchronizing shared resources in a collection |
US20070078852A1 (en) * | 2005-10-04 | 2007-04-05 | Microsoft Corporation | Synchronizing shared resources in a collection |
US20070162455A1 (en) * | 2005-12-30 | 2007-07-12 | Walter Oney | System for and method of gathering complex structured information |
US8190742B2 (en) * | 2006-04-25 | 2012-05-29 | Hewlett-Packard Development Company, L.P. | Distributed differential store with non-distributed objects and compression-enhancing data-object routing |
US7788243B2 (en) * | 2006-09-08 | 2010-08-31 | Sybase, Inc. | System and methods for optimizing data transfer among various resources in a distributed environment |
US20080154842A1 (en) * | 2006-12-20 | 2008-06-26 | International Business Machines Corporation | Enhanced relational database management system and method |
US9342383B2 (en) * | 2007-12-28 | 2016-05-17 | Sap Se | Streaming operations for workflow process models using multiple views on a same buffer |
US20090260061A1 (en) * | 2008-04-14 | 2009-10-15 | Lynch Thomas W | Symbiotic network digital document layering and/or steganography method, article and apparatus |
WO2009134907A1 (en) * | 2008-04-30 | 2009-11-05 | James Stephens | Shingle and method of using the shingle |
US9141621B2 (en) | 2009-04-30 | 2015-09-22 | Hewlett-Packard Development Company, L.P. | Copying a differential data store into temporary storage media in response to a request |
US20100281077A1 (en) * | 2009-04-30 | 2010-11-04 | Mark David Lillibridge | Batching requests for accessing differential data stores |
EP2460065A4 (en) * | 2009-07-31 | 2013-01-02 | Samsung Electronics Co Ltd | METHOD AND DEVICE FOR CREATING AN INTEGRATED USER INTERFACE |
US8458217B1 (en) | 2009-08-24 | 2013-06-04 | Advent Software, Inc. | Instantly built information space (IBIS) |
US9171044B2 (en) * | 2010-02-16 | 2015-10-27 | Oracle International Corporation | Method and system for parallelizing database requests |
US8266102B2 (en) * | 2010-05-26 | 2012-09-11 | International Business Machines Corporation | Synchronization of sequential access storage components with backup catalog |
JP5505329B2 (ja) * | 2011-02-22 | 2014-05-28 | 日本電気株式会社 | ディスクアレイ装置及びその制御方法 |
US9189511B2 (en) * | 2011-09-07 | 2015-11-17 | Unisys Corporation | Free resources parameter for improving performance of database alterations |
US8769350B1 (en) | 2011-09-20 | 2014-07-01 | Advent Software, Inc. | Multi-writer in-memory non-copying database (MIND) system and method |
US8332349B1 (en) | 2012-01-06 | 2012-12-11 | Advent Software, Inc. | Asynchronous acid event-driven data processing using audit trail tools for transaction systems |
US9836513B2 (en) * | 2012-03-12 | 2017-12-05 | Entit Software Llc | Page feed for efficient dataflow between distributed query engines |
US9396227B2 (en) * | 2012-03-29 | 2016-07-19 | Hewlett Packard Enterprise Development Lp | Controlled lock violation for data transactions |
US9928147B2 (en) * | 2012-09-28 | 2018-03-27 | Oracle International Corporation | Forceful closure and automatic recovery of pluggable databases in a shared-everything cluster multitenant container database |
US9519591B2 (en) | 2013-06-22 | 2016-12-13 | Microsoft Technology Licensing, Llc | Latch-free, log-structured storage for multiple access methods |
US8886671B1 (en) | 2013-08-14 | 2014-11-11 | Advent Software, Inc. | Multi-tenant in-memory database (MUTED) system and method |
US9767178B2 (en) | 2013-10-30 | 2017-09-19 | Oracle International Corporation | Multi-instance redo apply |
US9613078B2 (en) | 2014-06-26 | 2017-04-04 | Amazon Technologies, Inc. | Multi-database log with multi-item transaction support |
US10282228B2 (en) | 2014-06-26 | 2019-05-07 | Amazon Technologies, Inc. | Log-based transaction constraint management |
US10459810B2 (en) | 2017-07-06 | 2019-10-29 | Oracle International Corporation | Technique for higher availability in a multi-node system using replicated lock information to determine a set of data blocks for recovery |
US10733171B2 (en) | 2018-04-03 | 2020-08-04 | Sap Se | Database lock management with cache-optimized hash table |
US10802973B1 (en) | 2019-07-01 | 2020-10-13 | Bank Of America Corporation | Data access tool |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63289657A (ja) * | 1987-05-21 | 1988-11-28 | Nec Corp | 共用ファイルアクセス方式 |
JPH04102140A (ja) * | 1990-08-22 | 1992-04-03 | Hitachi Ltd | システム間ファイル共用方式 |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4357635A (en) * | 1979-03-20 | 1982-11-02 | Ricoh Company, Ltd. | Disc memory apparatus |
US4480304A (en) * | 1980-10-06 | 1984-10-30 | International Business Machines Corporation | Method and means for the retention of locks across system, subsystem, and communication failures in a multiprocessing, multiprogramming, shared data environment |
US4399504A (en) * | 1980-10-06 | 1983-08-16 | International Business Machines Corporation | Method and means for the sharing of data resources in a multiprocessing, multiprogramming environment |
US4533995A (en) * | 1981-08-03 | 1985-08-06 | International Business Machines Corporation | Method and system for handling sequential data in a hierarchical store |
US4665520A (en) * | 1985-02-01 | 1987-05-12 | International Business Machines Corporation | Optimistic recovery in a distributed processing system |
US4965719A (en) * | 1988-02-16 | 1990-10-23 | International Business Machines Corporation | Method for lock management, page coherency, and asynchronous writing of changed pages to shared external store in a distributed computing system |
US5043876A (en) * | 1988-05-27 | 1991-08-27 | International Business Machines Corporation | N-level file shadowing and recovery in a shared file system |
JPH0318935A (ja) * | 1989-06-15 | 1991-01-28 | Hitachi Ltd | データリストに対するアクセスの直列化方式 |
US5247672A (en) * | 1990-02-15 | 1993-09-21 | International Business Machines Corporation | Transaction processing system and method with reduced locking |
US5289588A (en) * | 1990-04-24 | 1994-02-22 | Advanced Micro Devices, Inc. | Interlock acquisition for critical code section execution in a shared memory common-bus individually cached multiprocessor system |
US5255387A (en) * | 1990-04-27 | 1993-10-19 | International Business Machines Corporation | Method and apparatus for concurrency control of shared data updates and queries |
JPH06342396A (ja) * | 1990-07-02 | 1994-12-13 | Internatl Business Mach Corp <Ibm> | 共有データのアクセスを直列化する方法及び装置 |
US5276835A (en) * | 1990-12-14 | 1994-01-04 | International Business Machines Corporation | Non-blocking serialization for caching data in a shared cache |
US5287473A (en) * | 1990-12-14 | 1994-02-15 | International Business Machines Corporation | Non-blocking serialization for removing data from a shared cache |
US5265232A (en) * | 1991-04-03 | 1993-11-23 | International Business Machines Corporation | Coherence control by data invalidation in selected processor caches without broadcasting to processor caches not having the data |
US5280611A (en) * | 1991-11-08 | 1994-01-18 | International Business Machines Corporation | Method for managing database recovery from failure of a shared store in a system including a plurality of transaction-based systems of the write-ahead logging type |
US5408653A (en) * | 1992-04-15 | 1995-04-18 | International Business Machines Corporation | Efficient data base access using a shared electronic store in a multi-system environment with shared disks |
-
1992
- 1992-04-15 US US07/869,267 patent/US5408653A/en not_active Expired - Lifetime
-
1993
- 1993-03-11 JP JP5050947A patent/JP2721780B2/ja not_active Expired - Fee Related
-
1995
- 1995-01-03 US US08/367,631 patent/US5557792A/en not_active Expired - Fee Related
-
1996
- 1996-08-01 US US08/691,273 patent/US5761660A/en not_active Expired - Lifetime
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63289657A (ja) * | 1987-05-21 | 1988-11-28 | Nec Corp | 共用ファイルアクセス方式 |
JPH04102140A (ja) * | 1990-08-22 | 1992-04-03 | Hitachi Ltd | システム間ファイル共用方式 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100420254B1 (ko) * | 1998-09-03 | 2004-05-31 | 엘지전자 주식회사 | 데이터베이스관리방법 |
WO2013046883A1 (ja) * | 2011-09-30 | 2013-04-04 | インターナショナル・ビジネス・マシーンズ・コーポレーション | トランザクション処理システム、方法及びプログラム |
GB2511222A (en) * | 2011-09-30 | 2014-08-27 | Ibm | Transaction processing system, method and program |
US8930323B2 (en) | 2011-09-30 | 2015-01-06 | International Business Machines Corporation | Transaction processing system, method, and program |
JPWO2013046883A1 (ja) * | 2011-09-30 | 2015-03-26 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | トランザクション処理システム、方法及びプログラム |
Also Published As
Publication number | Publication date |
---|---|
US5761660A (en) | 1998-06-02 |
US5408653A (en) | 1995-04-18 |
US5557792A (en) | 1996-09-17 |
JP2721780B2 (ja) | 1998-03-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2721780B2 (ja) | データベースアクセス方法およびシステム | |
US5327556A (en) | Fast intersystem page transfer in a data sharing environment with record locking | |
EP2378420B1 (en) | Ownership reassignment in a shared-nothing database system | |
US6353836B1 (en) | Method and apparatus for transferring data from the cache of one node to the cache of another node | |
CN101807169B (zh) | 事务型存储器访问的混合硬件软件实现 | |
JP4833590B2 (ja) | 同時トランザクション(concurrenttransactions)とページ同期(pagesynchronization) | |
US7917596B2 (en) | Super master | |
JPH04268649A (ja) | メモリへのデータブロックのエントリを制御する方法 | |
EP1162539B1 (en) | Recovering data from one or more failed caches | |
AU2007202588B2 (en) | Method and apparatus for transferring data from the cache of one node to the cache of another node | |
EP1408408B1 (en) | Managing a resource used by a plurality of nodes | |
AU2003213536B2 (en) | Method and apparatus for transferring data from the cache of one node to the cache of another node |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20071121 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081121 Year of fee payment: 11 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091121 Year of fee payment: 12 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091121 Year of fee payment: 12 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101121 Year of fee payment: 13 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101121 Year of fee payment: 13 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111121 Year of fee payment: 14 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111121 Year of fee payment: 14 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121121 Year of fee payment: 15 |
|
LAPS | Cancellation because of no payment of annual fees |