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
Application number
JP5050947A
Other languages
English (en)
Other versions
JP2721780B2 (ja
Inventor
Jeffrey W Josten
ウィリアム ジョステン ジェフリー
Tina L Masatani
ルイーズ マサタニ ティナ
Chandrasekaran Mohan
モハン チャンドラセカラン
Inderpal S Narang
エス. ナラン インダーパル
James Z Teng
ズ−チア テン ジェイムズ
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 JPH0683692A publication Critical patent/JPH0683692A/ja
Application granted granted Critical
Publication of JP2721780B2 publication Critical patent/JP2721780B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2308Concurrency control
    • G06F16/2336Pessimistic concurrency control approaches, e.g. locking or multiple versions without time stamps
    • G06F16/2343Locking methods, e.g. distributed locking or locking implementation details
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1471Saving, restoring, recovering or retrying involving logging of persistent data for recovery
    • 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/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • Y10S707/99953Recoverability

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

(57)【要約】 【目的】 効率的にデータベースにアクセスする。 【構成】 DASD指向外部記憶装置サブシステムに全
て記憶することができるデータベースか、あるいは、一
部はDASDに記憶され、一部は高速電子ストアに記憶
されたデータベースの現データにアクセスする時間を最
小限にし、その上、複数ユーザシステムに関してデータ
のコヒーレンシを保持する、コンピュータインプリメン
トした方法である。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、分散システムにおいて
コンピュータ記憶を管理する方法に関する。本発明は、
特に、全体がDASD指向外部記憶サブシステムに記憶
されるか、あるいは、一部が外部記憶サブシステムに記
憶されるとともに一部が共用高速電子ストアに記憶され
ているデータベースの現データにアクセスする時間を最
小限にし、その上、複数ユーザシステムに関してデータ
コヒーレンシを保持する方法に関する。
【0002】
【従来例】複数のコンピュータシステムが独立にオペレ
ーティングし、かつ、データを共用するデータベースシ
ステムでは、大域ロッキングが採用され、異なるシステ
ムに関してコヒーレンシが保持されている。COMPU
TER ARCHITECTURE AND DESI
GN,A.J.Gore,Addison Wesle
y,1989には、次のような問題点の1つとしてデー
タコヒーレンシ問題が説明されている。すなわち、多数
のプロセッサ間でデータを共用した場合、そのデータの
複数の矛盾するコピーが存在する。その理由は、データ
を局所的に修正する機会が複数回あるので、そのデータ
へのパスが複数個あるからである。
【0003】そのコヒーレンシ問題は、複数レベルの記
憶装置を含む複数コンピュータのデータ共用システムの
コンテキストで取り上げられている。このようなシステ
ムでは2次レベルの記憶装置は1つ以上のDASD(d
irect accessstorage devic
e)よりなる。DASDは独立にオペレーティングする
コンピュータシステムにより共用されている。各コンピ
ュータシステムはデータベース管理システム(data
base managenent system; D
BMS)を含む。DBMSはDASD指向外部記憶サブ
システムに記憶されているデータベースにアクセスす
る。このようなサブシステムは「共用ディスク(S
D)」システムと言うことができる。
【0004】取り入れた最初の2つのアプリケーション
は、システム間キャッシングが高速で、頻繁にアクセス
される共用電子ストア(shared electro
nic store; SES)の形式で提供されるア
ーキテクチャを提案している。種々の理由で、データは
DASDおよび局所処理から獲得された後、データベー
スシステムによりSESに入力される。SESはストア
インキャシュとして用いられる。ストアインキャシュで
は、データのバージョンをDASDサブシステムに記憶
されているバージョンよりも新しくすることができる。
【0005】このコンテキストでは、各DBMSは、そ
のDBMSの内部記憶装置内に、バッファを所有し保持
している。局所的に実行される1つ以上のアプリケーシ
ョンによるアクセスのために、そのバッフアからデータ
が取り出される。各DBMSは、さらに、バッファ空間
を割り当て、しかも、バッファ空間の参照を制御するバ
ッファマネージャ(BM)を含む。そのバッファマネー
ジャはテーブル、リストを含むとともに、そのバッファ
についての情報を含む他の構造にアクセスすることがで
きる。
【0006】データベースが異なる細分性(glanu
larity)の階層構造のデータ構造を含むものと仮
定した場合、これらのデータ構造をDBMSのバッファ
に局所的にキャッシングすることができることは好まし
いことである。バッファマネージャはこれらのデータ構
造の移動を、そのバッファと外部記憶との間で、SES
および/またはDASDを介して調整する。
【0007】DBMSはデータを獲得し、DBMSのプ
ロセッサ上で実行されるアプリケーションにより生成さ
れるトランザクションアクティビティに応答して、その
データをローカルバッファに置く。このようなアプリケ
ーションはreadおよびwriteオペレーションを
生成し、それらのオペレーションはローカルバッファを
利用してそのデータにアクセスする。
【0008】大域ロッキングを採用して、アプリケーシ
ョンによるデータベース内容へのアクセスを逐次化す
る。本発明では、各DBMSはローカルロックマネージ
ャ(LLM)を含み、LLMにより、他の資源の間で局
所的に記憶されたデータ構造へのアクセスを制御する。
一般的なデータ構造の間でコヒーレンシをとる必要があ
り、しかも、複数ローカルバッファが存在する多重DB
MS環境において同一データ構造のバージョン間でコヒ
ーレンシをとる必要があるため、ロッキングが付与され
る。
【0009】IBM System/370で用いられ
る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日に発行されたものである。
【0010】
【発明が解決しようとする課題】大域ロッキングの保守
および管理は、上述した環境においてデータのシステム
間コヒーレンシをサポートするのに必要であるが、トラ
ンザクション経路長および応答時間が益々長くなるとい
う点で実質的にコストがかかる。複数システム間でのデ
ータコヒーレンシを保持し、その上、トランザクション
経路長と応答時間を軽減するため、充分な挑戦が複数シ
ステム環境で行われている。
【0011】そのため、本発明の主な目的は、DASD
ベースの外部記憶に共用アクセスを行うとともに、高速
電子ストアに共用アクセスを行うことにより、多重DB
MS環境でデータのコヒーレンシを保持し、その上、大
域ロッキングのオーバヘッドを軽減することにある。
【0012】
【課題を解決するための手段】本発明の目的は本発明者
の次のような重要な観察により達成された。すなわち、
データベースに「システム間インタレスト」(他のシス
テムのread意図または更新意図)を有するDBMS
バッファマネージャの一部に関するローカル知識を利用
して次のようにすることができる。すなわち、インタレ
ストのレベルに最も良く適応するバッファ管理方策を選
択することにより、ローカルバッファと外部記憶との間
のデータの移動を効率的に管理することができる。それ
と関連することであるが、DBMSはまた親資源(すな
わ、データベース)に関するインタレストのレベルを利
用して、子資源(すなわち、レコードまたはページ)に
対して、大域ロックマネージャのロック呼び出しを回避
できる。そのため、バッファマネージャの一部にあるデ
ータベースに対するシステム間インタレストのレベルを
知ることにより、多重システム環境のデータベースのベ
ースコヒーレンシのオーバヘッドを充分に削減すること
ができる。例えば、データベースに対するシステム間イ
ンタレストがないとき、DBMSが「コミット時非強
制」方策に従った場合、DBMSはデータベース更新
を、トランザクションコミット処理とは非同期に、DA
SDに書き込む。このことにより、トランザクション応
答時間が改善されるとともに、ロック保持時間が短縮さ
れ並行性がより良くされる。一方、バッファマネージャ
がデータベースに対するシステム間インタレストを検出
した場合、本発明によれば、「コミット時強制」方策に
従いコヒーレンシを保持する。それに関連して、トラン
ザクションにより更新されたページに対するロックを解
放する前に、「コミット時強制」はDBMSが次のこ
と、すなわち、トランザクションにより更新されたペー
ジが記憶装置に書き込まれ、しかも、更新トランザクシ
ョンがコミット時にロックを解放する前に、変更された
ページを他のシステムに通知することを保証することを
必須とする。本発明では、DASD I/Oアクティビ
ティおよびトランザクションコミット処理のオーバヘッ
ドを補償するため、更新されたページはSESに書き込
まれる。SESの高速read/write機能はトラ
ンザクションコミット処理を短縮し、トランザクション
に対するシステム応答時間を短縮する。
【0013】本発明は、システム間インタレストのデー
タベースに関する知識を次のようにすることにより、す
なわち、DBMSがそのデータベースを用いる単なるシ
ステムである場合か、あるいはそのデータベースを用い
て全てのシステムがデータベースのみを読み取る場合に
は非強制方策に従い、他方、1つのデータベースがその
データベースを更新し、しかも、他のデータベースがそ
のデータベースを読み取るか、あるいは、複数システム
がそのデータベースを更新する場合には強制方策に、選
択的に、DBMSが従うことにより利用する。
【0014】さらに、本発明はデータベースに対するシ
ステム間インタレストのレベルを任意の時点で変更する
ことを許可する。本発明により、全ての関係するDBM
Sはこのような変更に動的に適合することができる。こ
のような監視に基づく方法は多重システム複合体を含
み、この多重システム複合体は、複数のデータベース管
理システム(DBMS)と、直接アクセス記憶装置と、
共用ストアとを含む。直接アクセス記憶装置はDBMS
に接続されており、1つ以上のデータベースを記憶す
る。共用ストアはDBMSに接続されており、複数のD
BMSにより高速アクセスを行うためデータを一時的に
記憶する。このようなシステムでは、DBMSは1つ以
上のデータベースからのデータをトランザクションに供
給し、データベース処理を行う。
【0015】本発明に係る方法は、複数のDBMSに対
してデータベースのコヒーレンシを、次のステップによ
り保持する。すなわち、他の任意のトランザクション
が、指定されたデータベースからのデータ更新を他の任
意のDBMSに要求しない場合、第1トランザクション
が、指定されたデータベースからのデータを第1DBM
Sに対して要求することに応答して、前記第1DBMS
にて、前記直接アクセス記憶装置からデータを獲得し、
前記第1DBMSのデータに対してトランザクションオ
ペレーションが実行され、コミットされるステップと、
指定されたデータベースのデータを更新する、第2DB
MSに対する要求と並行する第2トランザクション要求
であって、前記指定されたデータベースからのデータに
対し、前記第1DBMSに行う第2トランザクション要
求に応答して、データが共用ストアにある場合は、前記
共用ストアからの前記第1DBMSによりそのデータが
獲得され、前記データが共用ストアにない場合は、前記
直接アクセス記憶装置からの前記データが獲得され、前
記データに対する更新トランザクションオペレーション
が第2DBMSで実行されコミットされ、前記トランザ
クションオペレーションのコミットに同期して、前記デ
ータが前記共用ストアにおかれるステップとにより保持
する。
【0016】1つのシステムのデータと共用ストアでの
配置を更新することにより、他のシステムの同一のデー
タの他のバージョンを無効にすることができるので、そ
の更新を、更新システムによるか、あるいは関係のある
情報を全域ロックマネージャに登録するかのいずれかに
より、直接、他のシステムに通知する。この全域ロック
マネージャにより、別のシステムは他のシステムがその
データの無効コピーを有することを検出することができ
る。
【0017】
【実施例】以下、図面を参照して本発明の実施例を詳細
に説明する。
【0018】図1を説明する。図1は本発明がオペレー
トする多重システム環境を理解するための図である。図
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号に開示されている。
【0019】CPUはそれぞれデータベース管理システ
ム(DBMS)10,20を実行する。DBMSはロー
カルロックマネージャ(LLM)11,21と、バッフ
ァマネージャ(BM)12,22を含む。BMはそれぞ
れデータを記憶するローカルバッファ13,23を保持
する。DBMSは、それぞれ、1つ以上のアプリケーシ
ョン14,24を、アプリケーション生成トランザクシ
ョンの要件に応えて、データを読み取り更新するものと
してサーブする。
【0020】本発明の目的を達成するために、データは
DASDベースの外部記憶30(以下、“DASD”と
いう)上で、1つ以上のデータベースの形式で利用可能
であることを断定する。そのデータベースはページとレ
コードの階層構造を含み、各ページは1つ以上のレコー
ドを含む。
【0021】図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のようなコマンドを発行することにより呼
び出される。
【0022】また、DBMS10,20は障害を回復す
るために個々にログ36,37を保持している。ログベ
ースのデータベース回復はデータベースシステムでは周
知の機構である。本発明に係る方法に対するデータベー
スシステムの適応を後程説明する。
【0023】典型的には、DBMSを呼び出すアプリケ
ーションはページをアドレスにより参照する。DBMS
はページを含むデータベースを命名し、そのページを指
定する。そのページがバッファ13にて利用できない場
合は、そのページはDASD30またはSES32のい
ずれかから獲得しなければならない。
【0024】図1に示すシステムの複数のプロセッサに
関するデータのコヒーレンシは、全域ロック管理により
確認される。その全域ロック管理は全域ロックマネージ
ャ(GLM)33で具現化され、GLM33はLLM1
1,21に接続されている。DBMS10,20はトラ
ンザクション間のレコードレベルの並行性をサポートす
るものと仮定する。この並行性により、システム内およ
びシステム間の並行性が1ページ内の1つのレコード上
で認められる。しかし、システム間のコヒーレンシの単
位はページである。コヒーレンシの単位をページにした
のは、ローカルバッファマネージャがページをI/Oの
単位として取り扱っているからである。次の説明で、G
LMは、GLMのCPUで実行するか、あるいは補助処
理モードでDBMSのうちの1つのDBMSのCPUで
実行することができる自治権のあるコンポーネントであ
るものと仮定する。さらに、LLMとGLMは周知のメ
ッセージ配達またはメール投函技法により通信するもの
と仮定する。
【0025】システム間インタレスト データベースに関するシステム間インタレストのレベル
の知識に基づきコヒーレンシのオーバヘッドを回避する
か、あるいは軽減する。このことを記述するため、デー
タベースに関するシステム間インタレストのレベルは、
昇順で、つぎの(a)〜(c)のようにすることができ
る。すなわち、 (a)レベルAインタレスト。このレベルAインタレス
トでは、1つのレベルがそのデータベースを用いるか、
あるいはそのデータベースを用いて全システムがそのデ
ータベースを読み取る。
【0026】(b)レベルBインタレスト。レベルBイ
ンタレストでは、1つのシステムがそのデータベースを
更新し、他のシステムがそのデータベースを読み取る。
【0027】(c)レベルCインタレスト。レベルCイ
ンタレストでは、複数システムがそのデータベースを更
新する。
【0028】このことを知ってBMを生成すると、図1
に示す環境において、そのデータベースのページコヒー
レンシのオーバヘッドが回避されるか、あるいは軽減さ
れる。
【0029】例えば、コミット時非強制(no−for
ce−at−commit)方策に従うとともに、共用
ディスク環境でコヒーレンシを保持するため、バッファ
プールに局所的にキャッシュされている全てのページを
ロッキングするShareモードのページキャッシュロ
ックと、Updateモードのページキャッシュロック
とを含む全域ロックを、DBMSは獲得し、ページを更
新するであろう。これらの全域ロックはトランザクショ
ンロックに付加されており、メッセージオーバヘッドを
有する。
【0030】多重システム環境においてコミット時強制
(force−at−commit)方策に従いながら
コヒーレンシを保持するために、DBMSはページがデ
ィスクに書き込まれたことを確認しなければならず、し
かも、変更されたページがページロックを解放する前に
他のシステムに通知されることを確認しなければならな
い。発明者は、高速read/write機能を有する
共用電子ストアを用いることにより、トランザクション
コミット処理におけるディスクI/Oプロシージャのオ
ーバヘッドを充分に減少させることができる。そのた
め、更新されたページを強制的に急速にこのストアにい
れることができる。しかし、共用電子ストアに関わら
ず、非強制(no−force)方策の方が強制(fo
rce)方策より速く、よりコストがかからず、しか
も、効率が良くなるようにしている。データベースに対
するシステム間インタレストの知識を有することによ
り、DBMSは、データベースに対するレベルAインタ
レストがあるときは非強制方策に従い、データベースに
対するレベルBまたはレベルCインタレストがあるとき
は強制方策に選択的に従うことができる。
【0031】DBMSにシステム間インタレストを通知
することにより、別の最適化が生じる。以前は、共用デ
ィスクを有する多重システムにおいて、1ページ内にサ
ブページ分の並行性を供給することにより、DBMSは
ページキャッシュロックを獲得し、異なるシステムから
のページに対して並行更新を逐次化する必要があった。
しかし、レベルBインタレストにおいて、1つのシステ
ムのみがデータベースを更新し、しかも、他のシステム
がデータベースを読み取るとき、更新しているシステム
は、そのページに対するページキャッシュロックを獲得
する必要はない。というのは、その更新しているシステ
ムは他のシステムがデータベースを更新していないこと
を知っているからである。
【0032】要するに、図1に示す多重システム環境に
対するシステム間インタレストのレベルをDBMSに通
知することにより、幾つかの重要でかつ予測できない最
適化を提供する。レベルAでオペレーティングすると
き、DBMSはコミット時非強制方策に従うことができ
る。重要なことであるが、このことは、1つのDBMS
のみがデータベースにアクセスし、そのデータベースを
更新するとき、そのDBMSはコミット時非強制方策に
従い、バッチ処理するためI/OオペレーションをDA
SDによりグループ化するが、トランザクション更新と
いうコミットにより、同期をとって各更新をDASDに
書き込む必要がないことを意味する。DBMSがレベル
Sインタレストでオペレートすると、全域ページキャッ
シュロッキングは必要でない。レベルBインタレストで
オペレートすると、1つのシステムのみが更新し、その
ため、その1つのシステムはページキャッシュロッキン
グをそのページから獲得して、そのページの並行更新を
逐次化する必要はない。
【0033】そのため、本発明は、共用ディスクと共用
電子ストアを有するシステムのDBMSにシステム間イ
ンタレスト情報を供給することと、次のような能力を有
するシステム投資とに基づくものである。その能力と
は、システム間インタレスト情報の変更に応答して非強
制または強制方策を選択的にインプリメントし、その
上、同一の情報に応答してページキャッシュロッキング
方策をインプリメントする能力である。これは重要なこ
とである。というのは、従来のシステムはデータベース
をシステム間で用いることに対して静的な方策を宣言す
るからである。例えば、従来例では、宣言されたモード
でread onlyまたはread/writeを使
用する前に、read onlyまたはread/wr
iteを複数システムにより使用するため、データベー
スが宣言される。
【0034】このような方策を変更するにはDBMSと
関係のない手段による明白なアクションが必要である。
本発明では、外部アクションを必要とせず、しかも上述
したコヒーレンシの減少により最適化される動的な方法
で、DBMSはシステム間インタレストの変更を監視し
応動する。
【0035】好ましい実施例では、データベースのペー
ジをキャッシングする適正な階層ロッキングスキーマを
用いて、DBMSに現状態が通知されるとともに、DL
Mによるシステム間インタレストの変更が通知される。
好ましい実施例では、その階層はデータベースに対する
データベースP(物理)ロックを含み、そのデータベー
スPロックから、データベースページに対するページP
ロックが伝わる。本発明では、BMはこの階層ロッキン
グスキーマを活用して、データベースに対するシステム
間インタレストの変更に適合する。本発明では、データ
ベースに対するBMロッキングは、オブジェクトに対す
るトランザクションロッキングと異なる。BMロッキン
グの目的は、キャッシュコヒーレンシを多重システム環
境で保持することにあり、その目的は単一システム環境
では意味がない。Pロックはシステムレベルのロックで
あり、トランザクションレベルのロックではない。さら
に、本発明では、競合や、データベースPロックを参照
する他のアクティビティの場合、BMプロシージャ
(「Pロック終了」)を呼び出さなければならないこと
をLLMが知らされる点で、BMロックは交渉可能であ
る。データベースPロックが交渉可能であることによ
り、BMはシステム間インタレストの変更に動的に応動
する。全域ロックマネージャによるシステム間Pロック
管理を次に説明する。
【0036】本発明 図2は所定のDBMSに対する本発明の本質的なステッ
プを示す。ステップ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の方策が
維持される。
【0037】ステップS42にて、データベースがオー
プンされたとき、直ちに、データベースが用いられてい
ることを、GLM33がDBMSに通知する場合は、ス
テップ53に移行する。ステップ53にて、そのデータ
ベースを要求しているDBMSは、まず、システムがそ
のデータベースを更新しているか否かを判定する。肯定
判定された場合は、ステップ47に移行し、DBMSは
ステップ47の方策を採用する。そのデータベースが用
いられているが、更新されていない場合は、DBMSは
ステップ43の最適化を採用する。他方、DBMSが更
新するためデータベースをオープンしていない場合はス
テップ55に移行し、BMSはステップ47の方策を採
用しない。また、DBMSがデータベースに関する更新
インタレストを放棄するが、まだReadインタレスト
がある時は、図2に示す論理を適用する。
【0038】本発明によれば、データベースがオープン
されたとき、BMがデータベースPロックを獲得する。
このロックは、少なくともデータベースの任意のページ
をBMのシステムにキャッシュすることができる限り保
持される。そのロック名は、トランザクションにより獲
得されたデータベースと異なるような名前である。同様
に、BMにより獲得されたページPロックは、トランザ
クションにより獲得されたページロックと異なる名前が
命名される。BMに対するPロック認可に関連して、G
LM33は、また、他のシステムのロックの結果状態
(RSOS)を示すデータオブジェクトをフィードバッ
クする。重要なことであるが、他のシステムのロックの
結果状態は、任意のシステムにより保持されているロッ
クであって、要求されたデータベースに対するロックの
うちで最高位のモードであり、要求しているシステムの
モードを排除する。BMはRSOSを用いるとともに、
データベースPロックの要求されたロックモードを用
い、BMがDBMS記憶装置に保持している「キャッシ
ュされた状態」データオブジェクトに対する値を取り出
す。キャッシュされた状態オブジェクトの値を用いて上
述した最適化を行うことができるか否かを判定する。
【0039】図3〜図5を説明する。図3〜図5はそれ
ぞれ本実施例に係るGLM33,LLM11,BM13
で保持されるデータ構造を示す。図4および図5は他の
システムでの同様のデータ構造の典型例を示す。図3は
GLMで保持されているバッファロッキング表を示す。
バッファロッキング表のエントリは、そのロックが適用
される資源を識別するフィールド61を含む。その資源
はデータベースであっても良いし、ページであっても良
く、資源オブジェクトの名前に暗に含まれている。フィ
ールド63は、ロックを保持するDBMSの待行列のア
ンカーであり、かつ、各システムが保持するロックモー
ドである。フィールド65(N)はそのロックが交渉可
能か否かを示す。本発明はBMロックが交渉可能である
という点に基づいているが、本発明者は、BMロックを
交渉不可能にする必要がよくあるという点を、優先順位
に関する設計考慮事項に入れようと意図している。フィ
ールド66はそのロックが交渉されることになる条件
(C1およびC2)を示す。フィールド67はそのロッ
クが保持されている最高位モードに対応して、そのロッ
クの結果状態を与える。最後に、フィールド68はその
ロックを要求しているシステムの待ち行列のアンカーで
あり、それらのシステムが要求したロックモードであ
る。
【0040】図4はDBMS10のLLM11で保持さ
れているロッキング表を示す。LLMロック表の各エン
トリはフィールド60,62a,69,62b,および
64を含む。フィールド60はロックが適用される資源
を命名するためのものである。フィールド62aはその
ロックを保持するトランザクションの待ち行列と、その
ロックを保持するトランザクションのモードをアンカー
するためのものである。フィールド69はBM33のP
ロック終了ルーチンを示す。フィールド62bはそのロ
ックを要求するトランザクションの待ち行列をアンカー
するためのものである。フィールド64は命名された資
源上のロックの結果保持状態を示す。
【0041】LLMおよびGLMロック表が次の発明で
用いられる。LLM/GLMメッセージ交換には、GL
M33からのメッセージであって、次のことをLLM1
1に通知するメッセージに対する準備を含む。すなわ
ち、命名された資源であって、DBMS10により保持
されたロックと衝突するか、あるいは、そのロックの結
果状態を変更する資源のロックに対する要求を、GLM
が別のDBMSから受信したことを、LLM11に通知
する。したがって、DBMSからロック要求を受信する
と、直ちに、GLM33はそのロック表をスキャンし、
その要求により、そのロックの結果状態が変化したか、
あるいは、そのロックが保持され、しかも、メッセージ
をこの趣旨でLLM11に送信したかを判定する。その
メッセージがロック衝突か、あるいはそのロックの結果
状態の変化を示す場合、LLM11はアクションするた
めBM13のロック終了を呼び出す。
【0042】図5を説明する。バッファマネージャ70
はそれぞれ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”は対応するモードに互換性がな
いことを示す。
【0043】
【表1】
【0044】ロックモードXは、単一のシステムがデー
タベースにアクセスし、アクティビティを更新するレベ
ルAインタレストを示す。レベルBでは、そのデータベ
ースを更新している単一のシステムがSIXモードのデ
ータベースPロックを保持する。また、読み取っている
システムはISモードのデータベースPロックを保持す
る。IXモードのデータベースPロックは、並行してデ
ータベースを更新しているシステムにより保持されてい
る。これらのシステムは、これらのシステムが更新して
いるページに対してXモードロックを獲得するのは当然
である。Sモードのロックは、Sモードのロックを保持
しているシステムがデータベースを読み取っており、し
かも、他のシステムもそのデータベースを読み取ること
ができることを示す。
【0045】BMはロックモードをシステムインタレス
トの異なるレベルにマッピングする。このことは、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である。
【0046】表2は全ての可能な要求されたロックモー
ドおよびRSOSモードのキャッシュされた状態を示
す。
【0047】
【表2】
【0048】従って、表2に示す最初の2つのカラム
は、第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)に挙げられている。
【0049】表3はキャッシュ状態がダウングレードさ
れたときのBMロック終了プロシージャでの処理ステッ
プを示す。
【0050】
【表3】
【0051】この表3は、現キャッシュされた状態と新
しいRSOSとに基づき計算された、新しいキャッシュ
された状態を示す。この表3は表2と関連させて読むべ
きであり、併せて、DBMSにより保持された実際のロ
ックを、キャッシュされた状態の変化により変化させる
ことができることを理解すべきである。さらに、キャッ
シュ状態のダウングレードにより、モード階層におい
て、1つのロックモードから次の低位のロックモードに
移行することを、表3を参照して理解すべきである。
【0052】本発明は、現RSOSと比較してより制限
されない新しいRSOSがGLMにより供給されたと
き、キャッシュされた状態がBMのロック終了処理によ
りアップグレードされることを意図している。これは、
データベースに対するBMデータベースPロックを保持
する任意のDBMSに対する全域ロック処理で、通常起
こることである。そのデータベースでは、別のDBMS
がそのデータベースPロックをダウングレードするか、
あるいは放棄する。従って、任意のDBMSがそのデー
タベースPロックを放棄するか、あるいはダウングレー
ドするとき、GLMは各DBMSに対して新しいRSO
Sを計算する。命名されたデータベースに対するデータ
ベースPロックを保持するDBMSに対して通信された
最後のRSOSにより新しいRSOSが制限されていな
い場合、そのDBMSは新しいRSOSを含むメッセー
ジで通知される。
【0053】DBMSによるキャッシュ状態のアップグ
レードを理解するため、表2を参照するとともに、次の
ことを参照されたい。すなわち、 1.第2カラムを「現キャッシュされた状態」と解釈
し、第3カラムを「新しいキャッシュされた状態」と解
釈する。
【0054】2.新しいRSOSと現キャッシュされた
状態を用い、新しいキャッシュされた状態を見付ける。
【0055】3.その新しい状態と現キャッシュされた
状態を比較し、ページPロック、SESアクション、お
よびバッファ管理方策を処理する。例えば、その新しい
キャッシュされた状態がSIXである場合、このような
ロックはXモードで最早獲得されないので、ページPロ
ックは保持される。
【0056】そのキャッシュされた状態が状態Xにアッ
プグレードされたとき、データベースに対する多重シス
テム共用が終了するので、SESは不連続に使用される
ことに注意すべきである。SESのこのデータベースの
変更されたページをディスクに書き込まなければなら
ず、しかも、このデータベースの全てのページをSES
から除去する必要がある。
【0057】ロック獲得の例 図7を説明する。図7はDBMSでのデータベースのオ
ープン法と、データベースに対するデータベース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オペレーションにより固定された
ことを示す。
【0058】今、トランザクションは、更新しようとす
るページのレコードに対する更新ロックを獲得したと仮
定する。それに関して、トランザクションは、更新の意
図と、そのページの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の間でロック解放要求を発行することにより放
棄される。
【0059】ロックモードの変更例 表4は、DBMS1のデータベースPロックをXモード
から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からページを獲得する。
【0060】表4のパート1はDBMS1での論理を擬
似コードで示す。その論理は、(データベースを読み取
る)ISモードか、あるいは(そのデータベースを更新
する)IXモードのデータベースPロックを獲得し、他
方、DBMS1はXモードのデータベースPロックを保
持する。パート1では、「DB1に対するストア従属変
換ロック」と呼ばれるロック(データベースPロックと
は異なるロック)は、その意図が読み取りのみである場
合、SモードでDBMS2により獲得され、その意図が
データベースの更新である場合、Xモードで獲得され
る。ストア従属変換ロックの目的は、そのプロセスをD
BMS2で逐次化することにある。そのプロセスはDB
MS2のPロック終了によりPロックを獲得する。DB
MS2のPロック終了は、キャッシュされた状態をDB
MS2がデータベース制御ブロックでマークする前に、
DBMS3のデータベースロック要求により呼び出され
るかもしれない。
【0061】表4のパート2を説明する。DBMS2が
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ロックは必
要なグレードにダウングレードされる。その後、ロック
終了プロシージャはダーティページリストのラッチを解
放し、書かれたページを全てクリーンであるとマーク
し、ページ更新の必要がある全てのトランザクションを
レジュームする。
【0062】図8は、表4の例において、データベース
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フラグをセットする。
【0063】表5はロックがSモードまたはXモードで
保持されるとき、DBMS1のデータベースPロックを
解放するために用いられる方法を擬似コードで示す。表
5では、そのプロセスは、XモードのデータベースPロ
ックに対するDBMS2の要求によりトリガされ、デー
タベースの更新を行う。本発明者は次のことを意図して
いる。すなわち、データベースアプリケーションが排他
的にそのデータベースの制御を行うとき、例えば、対応
するデータベースLロックが既にXモードで要求アプリ
ケーションにより保持されているときのようなとき、D
BMS1がXモードのデータベースPロックのみを要求
することを意図している。表5では、ロックが競合状態
にあるためデータベースPロックを解放することをDB
MS1に通知する。一度、データベースPロックがXモ
ードでDBMS2に認可されると、データベースは非ス
トア従属モードのままである。
【0064】表5のパート1を説明する。DBMS2は
Xモードでデータベースに対するストア従属変換ロック
を獲得し、XモードのデータベースPロックを獲得し、
「データベースオープン」ログレコードを強制的にログ
データセットに書き込む。このログデータセットは、そ
のデータベースが非ストア従属であり、しかも、そのロ
ーカルバッファの制御ブロックの非ストア従属を、Pロ
ックおよびキャッシュ状態モードとともにマークする。
つぎに、このデータベースに対するストア従属変換ロッ
クが解放され、他のDBMSにPロック要求を許可す
る。
【0065】表5のパート2はDBMS1によるデータ
ベース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状態の変化が通知される。
【0066】表6のパート1を説明する。DBMS2は
Xモードのストア従属変換ロックをGLMから獲得す
る。そして、DBMS2はIXモードのデータベースP
ロックを要求する。認可された場合(ライン302)、
BMはRSOSを検査し、そのロックをSIXにアップ
グレードし、DBMS2は「データベースオープン」ロ
グレコードをそのログデータセットに書き込む。「デー
タベースオープン」ログレコードは、データベースがス
トア従属であり、キャッシュ状態を制御ブロックに入力
する間、そのデータベースに対する制御ブロックにその
ストア従属フラグをセットする。そして、そのストア従
属変換ロックが解放され、処理がDBMS2で続行され
る。
【0067】表6のパート2を説明する。DBMS1は
ロック競合の通知か、あるいはRSOSの変化の通知を
受信すると、ストア従属フラグをデータベース制御ブロ
ックにセットし、データベースPロック状態をISに変
化させ、(必要である場合)そのPロックをSからIS
にダウングレードする。
【0068】「ストア従属性」の追跡 SESが用いられたときは、ロックの保持されているモ
ードにより、データベースが「ストア従属」であるか否
かが正確に示されように、そのデータベースPロックを
管理することにより、BMはある成果を得ることができ
る。本発明者は、「ストア従属」に従って、DBMSが
readまたはwriteのためにSESを用いている
か否かのセンスを送ることを意図する。ストア従属性を
データベースPロックにより追跡する主な理由は、SE
Sのハード障害に起因して、そのデータベースのデータ
が利用できなくなる時間を軽減することにある。ハード
障害が生じると、DBMSはこのデータベースに対する
データベースPロックが保持されるモードに関し、LL
M/GLMに照会し、この照会により、データベースが
ストア従属か否かを直ちに判定することができる。ロッ
クがIXまたはSIX状態で任意のBMにより保持され
ている場合、BMはコミット時強制方策に従い、更新さ
れたページをSESに書き込む。この点で、そのデータ
ベースはストア従属であり、そのデータベースが障害時
回復を必要としているとしてマークしなければならな
い。そうでない場合は、そのデータベースは非ストア従
属であり、SESの障害により影響されない。この判定
プロセスは「損害評価」と呼ばれている。データ利用可
能性の点から見ると、損害評価を直ちに実行して、他の
SESを利用できる場合は、他のSESを用いるべきで
あり、データベースの障害時回復を開始する。
【0069】保持されているデータベースPロックが、
データベースがストア従属か否かを正確に反映している
ことを確認するため、DBMSは、そのキャッシュ状態
をXからダウングレードする際と、データベースを「非
ストア従属」に変換する際と、ロックの紛失に直面した
ときにストア従属性を判定する際に、事前に幾つか注意
しなればならない。
【0070】XモードのデータベースPロックを保持し
ているDBMSが非強制管理方策を採用し、DASDか
らページを読み取り、DASDにページを書き込む。D
BMSがそのキャッシュ状態をXからダウングレードす
ると、SESをそのデータベースに対して用いることが
できるまで、2つのアクションを行わなければならな
い。まず、ダウングレードDBMSは「データベース変
換」ログレコードをそのログに書き込まなければならな
い。次に、SESの使用に対して変換する間、DBMS
は、そのデータベースのダーティページをDASDに書
き込むことにより、そのダーティページをそのローカル
バッファから除去しなければならない。
【0071】データベースが2つ以上のDBMSにより
更新されると、最後の更新DBMSは、そのデータベー
スを「ストア従属」から「非ストア従属」に変換するこ
とを担当しなければならない。DBMSは、そのキャッ
シュされた状態を監視することにより、最後の更新して
いるシステムであるか否かを判定する。この点で、その
キャッシュされた状態がSIXまたはXである場合、D
BMSは最後の更新しているシステムであると決定す
る。
【0072】最後に、SES障害が発生し、データベー
スPロックが紛失された場合、DBMSは既に説明した
ログレコードを用いて、そのデータベースが「ストア従
属」か否かを判定しなければならない。このため、次の
ログレコードが利用可能である。
【0073】(a)「データベースオープン」ログレコ
ード: データベースが「ストア従属」か否かを通知す
る標識を用いて第1の更新時に書き込まれる。
【0074】(b)「データベースチェックポイント」
ログレコード: 障害時回復可能であり、かつ、オープ
ンされてから任意の更新があったデータベースに対して
DBMSチェックポイント処理を行う間に書き込まれ
る。そのレコードはデータベースが「ストア従属」か否
かを表す標識を含む。
【0075】(c)「データベース変換」ログレコー
ド: 「非ストア従属」から「ストア従属」にデータベ
ースを変換するか、あるいはその逆に変換する際にBM
プロシージャにより書き込まれる。
【0076】(d)「データベースクローズ」ログレコ
ード: データベースのクローズ時に書き込まれる。
【0077】ロックが紛失されたときのリスタート回復
処理の間、その情報をタイムシーケンスでそのシステム
のログレコードから取り出すことにより、そのデータベ
ースがストア従属か否かを判定することが可能である。
データベースがストア従属である場合は、データベース
PロックはIXモードでそのシステムにより獲得される
であろう。他方、データベースが非ストア従属である場
合、データベースPロックはXモードで獲得されるであ
ろう。
【0078】ロギングプロシージャはこの記述では通常
のものであると仮定する。典型的なログの部分を、ログ
レコードを示す図6に示す。ログレコードはタイム順シ
ーケンスであると仮定する。ここで、各レコードのシー
ケンス部分はログシーケンス番号(”LSN”)により
表される。
【0079】ストア従属変換および障害時回復処理の例 表7はストア従属データベースを非ストア従属ステータ
スに変換する例である。このプロセスは、そのデータベ
ースのクローズが実行可能であるか、あるいは、データ
ベースPロックキャッシュされた状態をXにアップグレ
ード実行可能であるとき、最後の更新DBMSによりト
リガされる。表7では、DBMSは、Sモードのデータ
ベーストランザクションロックを獲得することにより、
複合システム全体のデータベースを更新するトランザク
ションを全て静止させる。次に、このデータベースに対
する変更された全てのページをSESから読み取り、D
ASDに書き込む。そして、ページはSESから除去さ
れ、可能な場合は、ローカルバッファから除去される。
しかも、このデータベースは最早ストア従属でないこと
を示す「データベース変換」ログレコードが書き込まれ
る。最後に、そのデータベースPロックモードがXに変
更される。そのXは、そのデータベースが非ストア従属
であるか、あるいは、データベースPロックが解放され
ることを示す。そのデータベーストランザクションロッ
ク(Lロック)が解放される。
【0080】SESに障害があると仮定する。今、その
障害時回復が必要なデータベースを判定しなければなら
ない。表8は、SES障害により影響されたデータベー
スに、「論理回復保留中」を表すフラグを付加する擬似
コードを示す。このフラグは回復プロセスを通知し、デ
ータベース上で回復処理を行い、回復が完了するまで、
トランザクションがそれらのデータベースにアクセスで
きないようにする。表8はそのデータベースPロックが
紛失されないと仮定するとともに、GLMはどのデータ
ベースがIXおよびSIXロックに左右されるかを通知
することができると仮定する。勿論、これらのデータベ
ースはストア従属であり、回復に対する候補である。
【0081】SESに障害が発生すると同時に、ロック
が紛失されたとき、各DBMSはログレコードを用い
て、データベースがストア従属か否かを判定しなければ
ならない。この情報をログレコードからタイムシーケン
スでそのシステムで取り出すことにより、データベース
がストア従属か否か、従って、回復に対する候補か否か
を判定することができる。
【0082】
【表4】 (パート1) 101 IF データベースPロックがISモードで要求される THEN /=DBMSはデータベースに対してread =/ /=onlyアクセスを行う必要がある。 =/ 102 データベース「ストア従属」変換ロックをSモードで獲得する /=このロックを用いてデータベースに対する「=/ /=ストア従属」および「非ストア従属」変換を=/ /=逐次化する。 =/ 103 ELSE /=DBMS2はデータベースを更新する必要が=/ /=ある。 =/ 104 データベース「ストア従属」変換ロックをXモードで獲得する 105 IS/IXモードのデータベースPロックを獲得する /=LLM/GLMは(ロック競合のため)DB=/ /=MS1ロック終了をトリガしてデータベース=/ /=PロックをSIX/IXにダウングレードす=/ /=る。DBMS1がデータベースPロックをS=/ /=IX(ISロック要求)またはIX(IXロ=/ /=ック要求)にダウングレードするまで、DB=/ /=MS2は制御をgetしないことになる。 =/ 106 IF データベースPロックがIXモードで要求される THEN 107 「データベースオープン」ログレコードをwriteし、ログデータセ ットに強制的にいれ、データベースが「ストア従属」であることを示す /=DBMSはこのログレコードを用い、データ=/ /=ベースPロックが紛失されたとき、データベ=/ /=ースが「ストア従属」か否かを判定する。 =/ 108 ELSE /=ISロック要求、何もしない。 =/ 109 データベースを「ストア従属」とマークし、Pロックのキャッシュされ た状態(IS/IX)をデータベースインメモリ構造に記録する 110 データベース「ストア従属」変換ロックを解放する (パート2) 151 データベースダーティページリストをXモードで獲得する /=ラッチを用いて、ダーティページリストへの=/ /=/からの付加する/削除するページを逐次化=/ /=する。 =/ 152 DO LOOP データベースダーティページリストの各DIRTYペ ージに対して /=ディスクまたはSESに外部化されなかった=/ /=ダーティページのリストを、各データベース=/ /=に対して、DBMSは保持する。 =/ 153 ページラッチをSモードで獲得し、このダーティページに対する更新を 逐次化する /=ダーティページリストはそのリストに既に存=/ /=在するページ対する更新には用いられない。=/ /=ページラッチはバッファプールにキャッシン=/ /=グされたページに対する並行read/更新=/ /=の逐次化に用いる。 =/ 154 writeI/Oのページをプログレスモードでマークする /=一度、ページがこの状態になると、ディスク=/ /=writeI/Oが完了するまで、このペー=/ /=ジに対するその後の更新を全て保留する。 =/ 155 ページラッチを解放する /=一度、ページがwriteI/O状態でマー=/ /=クされると、最早、ページラッチはこのペー=/ /=ジに対するその後の更新を防止するのに必要=/ /=ではない。 =/ 156 ダーティページリストからのこのページを待機解除し、このページをロ ーカルwriteページリストに付加する /=ディスクI/O効率を向上させるため =/ /=ページwriteをバッチさせる =/ 157 END 158 ディスクwriteI/Oを開始し、全てのページをローカルwrit eページリストにwriteし、全てのI/Oが完了するまで待機する 159 「データベース変換」ログレコードをwriteし、強制的にログデー タセットに入れ、データベースが「ストア従属」であることを示す /=DBMSはこのログレコードを用いて、デー=/ /=タベースPロックが紛失されたとき、データ=/ /=ベースが「ストア従属」であるか否かを判定=/ /=する。 =/ 160 新しいPロックのキャッシュされた状態と、データベースインメモリ構 造の「ストア従属」属性を反映する /=一度、データベースが新しいPロックのキャ=/ /=ッシュされた状態を用いて「ストア従属」と=/ /=マークされると、どのデータベースもその後=/ /=の更新には「コミット時強制」方策に従う必=/ /=要はなく、同様に、ページPロックを用いて=/ /=ページコヒーレンシを管理するか否かを判定=/ /=する必要がない。 =/ 160a データベースPロックをSIX/IXモードにダウングレードする 161 データベースダーティページリストラッチを解放する /=更新はこのデータベースに対して許可される=/ /=が、writeI/Oプログレス状態でまだ=/ /=マークされているページには許可されない。=/ 162 DO LOOP ローカルwriteページリストの各ページに対して 163 プログレス状態のページwriteI/Oをリセットし、そのページを CLEANページとマークする 164 このページを更新するのに必要なトランザクションを全てレジュームす る /=一度、更新トランザクションがレジュームさ=/ /=れると、そのページを検査する必要がなく、=/ /=しかも、DIRTYでない場合はそのダーテ=/ /=ィページリストにページを付加する必要がな=/ /=い。 =/ 165 END.
【0083】
【表5】 (パート1) 201 Xモードのデータベース「ストア従属」変換ロックを獲得する /=このロックを用いてデータベースに対する「=/ /=ストア従属」と「非ストア従属」変換を逐次=/ /=化する。 =/ 202 XモードのデータベースPロックを獲得する。
【0084】 /=LLM/GLMは(ロック競合に起因して)=/ /=DBMS1ロック終了をトリガし、データベ=/ /=ースPロックを解放する。DBMS2はDB=/ /=MS1がデータベースPロックを解放するま=/ /=で待機することになる。 =/ 203 「データベースオープン」ログレコードをwriteし、ログデータセ ットに強制的にいれ、データベースが「非ストア従属」であることを示 す /=DBMSはこのログレコードを用いて、デー=/ /=タベースPロックが紛失されたとき、データ=/ /=ベースが「ストア従属」であったか否かを判=/ /=定する。 =/ 204 データベースを「非ストア従属」としてマークし、そのPロックのキャ ッシュされた状態(x)をデータベースインメモリ構造に記録する /=SESはこのデータベースにより用いられな=/ /=い、このデータベースの更新に対してこのデ=/ /=ータベースに「コミット時非強制」方策を適=/ /=用する。 =/ 205 データベース「ストア従属」変換ロックを解放する (パート2) 251 IF データベースPロックがXモードで保持される THEN /=データベースはDBMS1により更新され、=/ /=潜在的には、変更されたページは、DBMS=/ /=1ローカルバッファにまだキャッシングされ=/ /=ている。 =/ 252 DO 253 DO LOOP データベースダーティページリストの各DIRTYペ ージに対して /=各データベースに対して、ディスクまたはS=/ /=ESに外部化されなかったダーティページの=/ /=リストをDBMSは保持する。 =/ 254 そのダーティページリストからのこのページを待機解除し、そのページ をローカルwriteページリストに付加する /=ディスクI/O効率を向上させるため、ペー=/ /=ジwriteがバッチ処理される。 =/ 255 END 256 ディスクwriteI/Oを開始し、全てのページをローカルwrit eページリストにwriteし、全てのI/Oが完了するまで待機する 257 END 258 ELSE /=PロックがSモードで保持され、データベー=/ /=スはDBMS1により更新されなかった。 =/ 259 バッファプールをスキャンし、このデータベースに属するキャッシュさ れた全てのページを除去する /=一度、DBMS2がそのデータベースの更新=/ /=を開始すると、DBMS1のキャッシュされ=/ /=たページは低位のレベルになることになる。=/ 260 データベースPロックを解放する /=一度、Pロックが解放されると、データベー=/ /=スPロックが再獲得されるまで、そのデータ=/ /=ベースにアクセスすることができない。 =/
【0085】
【表6】 (パート1) 301 データベース「ストア従属」変換ロックをXモードで獲得する /=このロックを用いてデータベースに対して「=/ /=ストア従属」および「非ストア従属」を逐次=/ /=化する。 =/ 302 IXモードのデータベースPロックを獲得する /=LLM/GLMは(ロック競合に起因して)=/ /=DBMS1ロック終了をトリガし、データベ=/ /=ースPロックをダウングレードする。DBM=/ /=S1がデータベースPロックをISモードに=/ /=ダウングレードするまで、DBMS2は待機=/ /=することになる。 =/ 302a IF RSOS=NULL データベースPロックをXに変更する 302b IF RSOS=IS データベースPロックをSIXに変更する 303 「データベースオープン」ログレコードをwriteし、強制的にログ データセットにいれ、データベースが「ストア従属」であることを示す /=DBMSはこのログレコードを用いて、デー=/ /=タベースPロックが紛失されたとき、データ=/ /=ベースが「ストア従属」であるか否かを判定=/ /=する。 =/ 304 データベースを「ストア従属」とマークし、そのPロックのキャッシュ された状態(SIX)をデータベースインメモリ構造に記録する。
【0086】 305 デーベース「ストア従属」変換ロックを解放する。
【0087】 (パート2) 351 データベースインメモリ構造をマークし、そのデータベースが今「スト ア従属」であり、しかも、そのデータベースPロック状態がISである ことを示す /=Pロック状態をISで保持し、データベース=/ /=をread onlyアクセスモードのまま=/ /=にしておくことになる。 =/ 352 データベースPロックをSからISにダウングレードする
【0088】
【表7】 401 SモードのデータベースLロック(すなわち、トランザクションロック )を獲得し静止させ、トランザクションがこのデータベースを更新する のを防止する。
【0089】 402 DO LOOP SESのこのデータベースに対して変更された全ての ページに対して 403 SESに通知して、このデータベースに対する変更されたページの第1 /第2セットのページ名を検索する /=SESはSESの変更された全てのページの=/ /=名前を検索する特殊プロトコルをデータベー=/ /=スに供給する。フィードバック名前領域サイ=/ /=ズが制限されているので、DBMSはSES=/ /=を複数回呼び出し、変更されたページを全て=/ /=検索しなければならないかもしれいない。 =/ 404 IF 変更されたページがない THEN /=SESにはこのデータベースに対して変更さ=/ /=れたページがないか(第1呼び出し)、変更=/ /=されたページが全て既にこのプロセスにより=/ /=キャストアウトされる(第2の呼び出し)か=/ /=のいずれかである。 =/ 405 GO TO T2L1 /=変更されたページが全て既にディスクにキャ=/ /=ストアウトされていた。 =/ 406 DO LOOP SESから検索された変更された全てのページ 407 SESに通知して、ページPに対してRead−For−Castou tをパフォームする /=SESのページPをキャストアウト保留状態=/ /=とマークし、データをSESからキャストア=/ /=ウトバッファに転送する。 =/ 408 ページPをキャストアウトバッファからディスクにwriteする 409 SESに通知し、Unlock−castout−Lockをパフォー ムする /=ページPに対するキャストアウト保留をリセ=/ /=ットする。 =/ 410 END 411 END. 412 T2L1: 423 SESに通知し、SESからそのデータベースの全てのページを除去す る /=一度、データベースが「非ストア従属」に変=/ /=換されると、このデータベースに対する任意=/ /=のページをキャッシングすべきではない。 =/ 414 「データベース変換」ログレコードをwriteし、そのデータベース が今「非ストア従属」であることを示す /=DBMSはこのログレコードを用いて、デー=/ /=タベースPロックが紛失されたとき、データ=/ /=ベースが「ストア従属」であるか否かを判定=/ /=する。 =/ 415 IF データベースクローズ実行可能 THEN /=このプロセスはデータベースクローズ要求の=/ /=ためにトリガされる。 =/ 416 ローカルバッファプールからページを除去することによりデータベース をクローズし、データベースPロックを解除する 417 ELSE /=最後に更新しているシステムによりトリガさ=/ /=れ、データベースPロックのキャッシュされ=/ /=た状態をXにアップグレードする。 =/ 418 データベースPロックモードをXに変更し、インメモリ構造のデータベ ースをセットし、「非ストア従属」であり、しかも、そのキャッシュさ れた状態が”X”であることを示す 419 データベースLロックを解放する
【0090】
【表8】 501 障害時にSESを用いている全ての「ストア従属」データベースに対し てLLM/GLMを照会する /=DBMSはそのデータベースPロックが全て=/ /=の「ストア従属」データベースに対してSI=/ /=X/IXモードで保持されることを確認する=/ /=。また、データベースPロック名は識別子を=/ /=有し、その識別子により、DBMSは所定の=/ /=SESに関連するデータベースPロックを照=/ /=会することができる。 =/ 502 「ストア従属」であるデータベースに対して「回復保留」をセットする /=一度、データベースが回復保留とマークされ=/ /=ると、回復されるまで利用が不可能である。=/ /=論理データ回復オペレーションであり、デー=/ /=タベースの現ディスクコピーに対してDBM=/ /=Sログのみを適用する必要があることになる=/ /=ことに注意すべきである。 =/ 以上、本発明を特に実施例を参照して説明したが、本発
明の精神および範囲を逸脱することなく、形式および詳
細を変更することができることは、当業者にとって当然
のことである。
【0091】
【発明の効果】以上説明したように、本発明によれば、
上記のように構成したので、DBSDベースの外部記憶
に共用アクセスし、かつ、高速電子キャッシュに共用ア
クセスする多重DBMS環境において、データのコヒー
レンシを維持することができ、その上、全域ロッキング
のオーバヘッドを軽減することができる。
【図面の簡単な説明】
【図1】本発明がオペレートする多重システム環境を示
すブロック図である。
【図2】本発明に係る方法における本質的なステップを
示す流れ図である。
【図3】図1に示すシステムに保持されたロック表を示
す図である。
【図4】図1に示すシステムに保持されたロック表を示
す図である。
【図5】本発明実施例のバッファマネージャにより管理
されるデータ構造を示すブロック図である。
【図6】本発明に係るデータベースの第1の更新を示す
エントリを有するDBMSログを示す図である。
【図7】本発明に係る1つのDBMSにおいて、システ
ム間インタレストを確立し、保持し、変更することが要
求される処理ステップを示す流れ図である。
【図8】別のDBMSによりデータベースへのアクセス
要求に起因してシステム間インタレストが変更されるこ
とに応答して、1つのDBMSがそのデータベースロッ
クのモードを変更するときに実行されるDBMS処理ス
テップを示す流れ図である。
【符号の説明】
1,2 プロセッサ 10,20 データベース管理システム 11,21 ローカルロックマネージャ 12,22 バッファマネージャ 13,23 ローカルバッファ 14,24 アプリケーション 30 外部記憶 32 高速ストアインキャッシュ 33 大域ロックマネージャ 36,37 ログ
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ティナ ルイーズ マサタニ アメリカ合衆国 95123 カリフォルニア 州 サン ノゼ ギフリーダ アヴェニュ ー 533ビー (72)発明者 チャンドラセカラン モハン アメリカ合衆国 95120 カリフォルニア 州 サン ノゼ ポーツウッド ドライブ 727 (72)発明者 インダーパル エス. ナラン アメリカ合衆国 95070 カリフォルニア 州 サラトガ セラ オークス コート 13778 (72)発明者 ジェイムズ ズ−チア テン アメリカ合衆国 95120 カリフォルニア 州 サン ノゼ マッコール ドライブ 6964

Claims (12)

    【特許請求の範囲】
  1. 【請求項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)において、前記第2
    トランザクション要求は前記指定されたデータベースの
    データを更新する要求であり、前記ステップ(2a)−
    (2c)は、(2ai)まず、前記第1DBMSに対し
    て、前記指定されたデータベースのデータオブジェクト
    を排他的にロッキングするステップと、(2aii)つ
    いで、前記データオブジェクトが前記共用ストアにある
    場合、前記共用ストアから前記データオブジェクトを獲
    得し、前記データオブジェクトが前記共用ストアにない
    場合、前記直接アクセス記憶装置からデータオブジェク
    トを獲得するステップと、(2b)さらに、前記第1D
    BMSの前記データに対して前記第2トランザクション
    要求を実行しコミットするステップと、(2ci)ま
    ず、前記第1DBMSの前記トランザクション更新オペ
    レーションのコミットに同期して、前記データオブジェ
    クトを前記共用記憶装置に書き込むステップと、(2c
    ii)ついで、前記データオブジェクトをロック解除す
    るステップとを含むことを特徴とする請求項1に記載の
    方法。
  3. 【請求項3】 前記ステップ(1)は、(1bi)前記
    第1DBMSの前記データに対して更新オペレーション
    を実行するステップと、(1bii)前記第1DBMS
    の前記トランザクションオペレーションをコミットする
    ステップと、(1c)前記トランザクションオペレーシ
    ョンのコミットに同期して、前記直接アクセス記憶装置
    に前記データを書き込むステップとを含むことを特徴と
    する請求項1に記載の方法。
  4. 【請求項4】 前記ステップ(2)は、前記第2DBM
    Sのデータの更新を他の全てのDBMSに通知するステ
    ップをさらに含むことを特徴とする請求項1に記載の方
    法。
  5. 【請求項5】 複数のデータベース管理システム(DB
    MS)と、 該DBMSに接続された直接アクセス記憶装置であっ
    て、1つ以上のデータベースを記憶する直接アクセス記
    憶装置と、 前記DBMSに接続された共用ストアであって、前記複
    数のDBMSにより高速アクセスするためデータを一時
    的に記憶するための共用ストアとを含むデータベースシ
    ステムにおいて、 前記複数のDBMSに関してデータベースのコヒーレン
    シを保持する方法は、 指定されたデータベースからのデータを獲得する第1D
    BMSに排他的アクセスを認可する第1認可ステップ
    と、 前記第1DBMSにて、前記排他的アクセスの間、前記
    直接アクセス記憶装置からデータを獲得する獲得ステッ
    プと、 前記第1DBMSのデータに対してトランザクションオ
    ペレーションを実行する実行ステップと、 前記排他的アクセスの間、前記指定されたデータベース
    への第2DBMSからのアクセス要求を生成する生成ス
    テップと、 前記第2DBMSからの要求に応答して、前記指定され
    たデータベースの更新されたデータを、前記第1DBM
    Sから前記直接アクセス記憶装置に書き込み、しかも、
    前記指定されたデータベースの更新されていないデータ
    を前記第1DBMSから全て除去する除去ステップと、 前記第2DBMSに前記指定されたデータベースへのア
    クセスを認可する第2認可ステップとを備えたことを特
    徴とする方法。
  6. 【請求項6】 前記第2認可ステップは、前記第2デー
    タベースへの共用アクセスを認可し、前記指定されたデ
    ータベースを更新するステップを含み、さらに、 前記第1DBMSへのアクセスを共用アクセスに変更す
    る変更ステップと、 前記第2DBMSにて、前記指定されたデータベースの
    データを前記共用記憶装置に書き込む書き込みステップ
    と、 前記第1および第2DBMSにて、前記指定されたデー
    タベースのデータを、前記共用記憶装置から獲得し、該
    共用記憶装置にデータがない場合は前記直接アクセス記
    憶装置から獲得する獲得ステップとを備えたことを特徴
    とする請求項5に記載の方法。
  7. 【請求項7】 前記第2データベースからの要求を生成
    するステップの前に、 前記直接アクセス記憶装置からデータを獲得する前記獲
    得ステップは、前記指定されたデータベースのページを
    該ページをロッキングせずに獲得するステップを含み、 トランザクションを実行する前記ステップは前記ページ
    を更新するステップを含み、 前記方法は、更新されたページを前記第1DBMSから
    前記直接アクセス記憶装置に戻すステップを含むことを
    特徴とする請求項5に記載の方法。
  8. 【請求項8】 前記第2認可ステップは、共用アクセス
    を前記データベースに認可し、前記指定されたデータベ
    ースからページを読み取るステップを含み、さらに、 前記第1DBMSのアクセスを共用アクセスに変更する
    ステップと、 前記第1DBMSにて、前記指定されたデータベースの
    ページを前記ページをロッキングせずに獲得するステッ
    プと、 前記第1DBMSにて前記ページを更新し、その更新さ
    れたページを前記共用ストアに書き込むステップと、 前記第2DBMSにて、前記指定されたデータベースの
    ページを前記共用ストアから獲得し、該共用ストアにそ
    のページがない場合は前記直接アクセス記憶装置から獲
    得するステップとを含むことを特徴とする請求項5に記
    載の方法。
  9. 【請求項9】 前記第2DBMSにて、前記指定された
    データベースにアクセスを放棄するステップと、 前記第1DBMSのアクセスを排他的アクセスに変更す
    るステップと、 前記第1DBMSにて、前記排他的アクセスの間、前記
    直接アクセス記憶装置からデータを獲得するステップと
    を含むことを特徴とする請求項6に記載の方法。
  10. 【請求項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. 【請求項11】 前記共用ストアと前記ロッキング機構
    に障害があるとき、前記ステップ(f)に替えて、 全てのDBMSのログにストア従属エントリがあるか否
    かを検査するステップと、 前記指定されたデータベースに対するストア従属エント
    リに応答して、前記指定されたデータベースがストア従
    属であるとマーキングするステップと、 前記DBMSのログのトランザクションレコードを用い
    て前記指定されたデータベースを回復するステップと、 回復が完了するまで、前記ストア従属マーキングに応答
    して、回復処理の間、前記指定されたデータベースへの
    アクセスを停止するステップとを実行することを特徴と
    する請求項10に記載の方法。
  12. 【請求項12】 前記共用ストアの障害の前に、 前記第2モードのロックを複数のDBMSに認可し、前
    記指定されたデータベースを更新し、ついで、他の単一
    のDBMSが前記第2モードのロックを保持するまで、
    前記ロックを複数のDBMSにて放棄するステップと、 前記他の単一のDBMSにて、前記共用ストアにある前
    記指定されたデータベースに対する更新を全て前記直接
    アクセス記憶装置に書き込み、それらの更新を前記共用
    ストアから除去し、前記指定されたデータベースがスト
    ア従属から非ストア従属に変更されたことを表すデータ
    ベース変換ログレコードを書き込み、前記他の単一DB
    MSが前記指定されたデータベースを更新する前記第1
    モードに、前記ロックをアップグレードするステップと
    を含み、 前記ステップ(f)は、 前記共用ストアに障害があったとき、前記ロックのモー
    ドを検査し、しかも、前記ロックの前記第1ロックに応
    答して、前記指定されたデータベースを非ストア従属と
    マークし、ストア従属である任意のデータベースを回復
    し、該回復処理の間に前記指定されたデータベースへの
    アクセスを許可し、 他方、前記共用ストアに障害がないとき、DBMSのロ
    グにデータベース変換ログレコードがあるか否かを検査
    し、前記指定されたデータベースがストア従属から非ス
    トア従属状態に変化したことを表すデータベース変換ロ
    グレコードに応答して、前記指定されたデータベースを
    非ストア従属とマークし、ストア従属データベースを全
    て回復し、前記指定されたデータベースへのアクセスを
    回復する間に許可するステップを含むことを特徴とする
    請求項10に記載の方法。
JP5050947A 1992-04-15 1993-03-11 データベースアクセス方法およびシステム Expired - Fee Related JP2721780B2 (ja)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (2)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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