JPH06348583A - 持続性および非持続性待ち行列データを記憶するためのシステムおよび方法 - Google Patents

持続性および非持続性待ち行列データを記憶するためのシステムおよび方法

Info

Publication number
JPH06348583A
JPH06348583A JP3240694A JP3240694A JPH06348583A JP H06348583 A JPH06348583 A JP H06348583A JP 3240694 A JP3240694 A JP 3240694A JP 3240694 A JP3240694 A JP 3240694A JP H06348583 A JPH06348583 A JP H06348583A
Authority
JP
Japan
Prior art keywords
data
persistent
pages
queue
persistent data
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
JP3240694A
Other languages
English (en)
Other versions
JP2582528B2 (ja
Inventor
Chandrasekaran Mohan
チャンドラセカラン・モーハン
Dievendorff Richard
リチャード・ディーフェンドルフ
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 JPH06348583A publication Critical patent/JPH06348583A/ja
Application granted granted Critical
Publication of JP2582528B2 publication Critical patent/JP2582528B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues
    • 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/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1441Resetting or repowering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/06Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor
    • G06F5/065Partitioned buffers, e.g. allowing multiple independent queues, bidirectional FIFO's

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Quality & Reliability (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Memory System (AREA)

Abstract

(57)【要約】 【目的】 システム障害後も存続する必要のあるデータ
(持続性データ)と、システム障害後に存続する必要の
ないデータ(非持続性データ)を1つの待ち行列上に記
憶する方法を提供すること。 【構成】 メモリの個々のページを、非持続性データの
みまたは持続性データのみの記憶域に割り振る。持続性
データのみに行われた変更の詳細をログに記録する。シ
ステム障害の場合、待ち行列は個々のページを調べるこ
とによって持続性データのみを回復させることができ、
それらのページ内の個々の項目を走査する必要はない。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、データ処理システム上
で実行されるプログラム間の通信であって、メッセージ
通信および待ち行列化を使った通信の持続性データおよ
び非持続性データの記憶に関するものである。
【0002】
【従来の技術】ビジネス・アプリケーション・データ処
理では一群の関連するプログラムを使用することがよく
あり、各プログラムはそれぞれアプリケーション全体の
うちの1つの明確な構成要素を処理する。ビジネス・ア
プリケーションを構成するプログラムは、1台のプロセ
ッサ上で、AIXやOS/2(IBM社の商標)等の単
一のオペレーティング・システム環境で実行される場合
が多い。複数の異なる環境で実行されるときもあるが、
その場合もやはり1台のプロセッサ上で実行される。
【0003】多くのビジネス・アプリケーションではさ
らに一歩進み、それらのプログラムを1台のプロセッサ
上で全て実行する代わりに、データ処理ネットワークの
周辺に分散させる。例えば、1つのアプリケーションを
RISCシステム/6000プロセッサ上のAIX/6
000環境とAS/400プロセッサ上のOS/400
環境の間に分散させることができる(RISCシステム
/6000、OS/400、AS/400、およびAI
X/6000はIBM社の商標)。
【0004】この手法には多くの利点があるが、それら
の大部分は資源の一層有効な利用に関係するものであ
る。プログラムをその処理するデータの近くに置くこと
は、ネットワーク・トラフィックが最小限に保たれるの
で有効な方法である。負荷の平衡化、すなわち、作業負
荷の再スケジューリングおよび再配置によりできるだけ
効率的に負荷を終了させるために、アプリケーションを
分散させることがもう1つの有効な方法である。1台の
大型マシンから数台の小型マシンにアプリケーションを
移すことも有効な方法となることがある。
【0005】単一プロセッサ上の異なる環境またはネッ
トワークの異なるノードに1つのアプリケーションを分
散させるときは、アプリケーションの一部を構成する一
群の関連プログラムのそれぞれが相互に通信できるよう
にする必要がある。これは、全ての部分が単一サプライ
ヤからのものであるとき、使用されるオペレーティング
・システムに異種のものがないとき、プログラムが1つ
の言語で書かれているとき、および1つの通信プロトコ
ルだけがあるときでさえ、簡単ではないことがある。こ
れらの要素が全部そろわないときは、アプリケーション
の各部分の間で通信を確立するのがはるかに困難にな
る。
【0006】さらに、上記の場合1つのプログラムだけ
が実行可能であり、その間、別のプログラムは実行を待
つことになる。たとえそれらのプログラムが交互に実行
可能であっても、両方のプログラムは、任意の通信に参
加するために使用可能でなければならない。このこと
は、関連プログラムを互いに独立に実行可能にしたいと
いう願望と矛盾する。
【0007】アプリケーションの諸部分が相互に通信す
るための3つの方法は、会話式通信、呼出し、およびメ
ッセージ通信である。会話式通信は最も成熟しており広
く使用されている。呼出しはそれほど普及しておらず、
メッセージ通信は特別の分野で集中的に使用されてい
る。
【0008】会話とは、2人のパートナの間での一連の
同期メッセージ交換であり、どちらのパートナも会話の
持続期間中活動状態に留まる。会話は、電話と似てい
る。
【0009】呼出しでは、あるプログラムが、別のプロ
グラムの実行または手順の実行を要求する。要求はロー
カル・システムに対するものでも、またはリモート・シ
ステムに対するものでもよい。呼び出されたシステムは
要求されたプログラムまたは手順を実行し、結果を所定
の形式で呼出しプログラムに返す。これは単式両方向情
報交換であり、手紙とその返事に似ている。この処理は
同期的なものなので、呼出しプログラムは、呼び出され
たプログラムまたは手順が完了する間、中断される。
【0010】メッセージ通信は非同期的なものであり、
指定された宛先に一定の経路で送られる情報パケットの
概念を使用している。送られるパケットは、行うべき作
業に関する情報、または行われた作業の結果を含む。待
ち行列化は大部分のメッセージ通信を実施する際の重要
な構成要素であり、いつ、どこで、さらにどのように作
業が行われるかについて大きな融通性をもたらす。メッ
セージ通信を用いるプログラムは、呼出しまたは通常の
通信を用いた場合のようには論理的に結合されない。そ
れらのプログラムは1つまたは複数の待ち行列を介して
間接的に関連づけられる。メッセージは、あるプログラ
ムがメッセージを待ち行列上に置き、別のプログラムが
それを取ることによって通信される。処理後、受信側プ
ログラムは、送信側プログラムに返されるメッセージま
たは別のプログラムに転送されるメッセージを生成する
ことができる。これらのプログラムを連係するための専
用の論理結合はない。
【0011】メッセージ通信を実施するために、待ち行
列管理プログラムと呼ばれる待機メッセージを管理する
支援プログラムが、ネットワークの各ノードに確立され
る。個々のプログラム間ではなく、待ち行列管理プログ
ラム間にネットワーク間通信セッションが確立される。
プロセッサ間のリンクが障害を起こした場合、待ち行列
管理プログラムによって障害からメッセージ通信を回復
する。影響を受けるプロセッサ上にあるプログラムがそ
のような事象によって停止することはない。実際には、
プログラムはそういうことが起こったことに気づく必要
さえない。メッセージに含まれるデータは重要なもので
ある可能性があり、このデータの保護が欠くことができ
ない場合がある。このため、メッセージは、リンクの他
端で受信されるまで、リンクの一端で待ち行列から削除
できない。
【0012】メッセージは「持続性」(または不揮発
性)であると宣言することができ、したがって、待ち行
列管理プログラムがその上で実行されているシステムが
障害を起こした後、待ち行列管理プログラムは、例えば
ディスク記憶装置からメッセージを回復することができ
る。しかし、この場合は大きなオーバヘッドを伴う。再
生するのが容易なメッセージ、または限られた時間だけ
その伝送が有用であるようなメッセージ、例えば、自動
窓口機からの勘定残高についての要求にとっては、この
持続性は不必要であり、したがって、そのようなメッセ
ージは「非持続性」(または揮発性)であると宣言され
る。この場合、待ち行列管理プログラムのシステム障害
後にメッセージを回復するための措置は講じられない。
さらに、そのようなシステム障害の後で回復されたメッ
セージは全て待ち行列管理プログラムによって廃棄され
ることがある。
【0013】通常、持続性メッセージ用および非持続性
メッセージ用の2つの待つ行列が維持される。通常の動
作では、待ち行列管理プログラムが処理のため各待ち行
列からメッセージを選択する必要がある。その結果、同
じプログラムに関係するメッセージが2つの別々の待ち
行列に記憶され、それらのメッセージが受信された順に
処理されず、したがってメッセージの通常処理に遅延を
もたらすことがある。さらに、論理的に関係したデータ
に関して1つの待ち行列ではなく2つの待ち行列をプロ
グラムが処理する必要がある。
【0014】幾つかの待ち行列化システム(例えば、I
BMの待機通信アクセス方式(QTAM)、通信アクセ
ス方式(TCAM)、情報管理システム(IMS)、お
よび顧客情報管理システム(CICS))は、待ち行列
データのための機能を提供する(IMSおよびCICS
はIBM社の商標)。これらのシステムは持続性および
非持続性待ち行列をサポートするが、同一待ち行列上に
混在する持続性および非持続性メッセージはサポートし
ない。
【0015】テング(Teng)のIBM Systems Jo
urnal, Vol. 23, number 2,1984 に所載の論文"Managin
g IBM DATABASE 2 buffers to maximize performance"
に IBM DATABASE 2 バッファ管理プログラムが記載され
ている。(DATABASE 2 はIBM社の商標)IBM DATABAS
E 2 はディスク上の回復可能ファイルおよび回復不能フ
ァイルをサポートするが、ディスク上の同一ファイル内
に混在する非持続性および持続性要素はサポートしな
い。
【0016】持続性であると宣言されたメッセージと、
非持続性であると宣言されたメッセージを同一の待ち行
列に記憶する方法と、システム障害後にシステムが再始
動されるとき、待ち行列が走査され、各メッセージが検
査されて、持続性であるかそれとも非持続性であるかを
調べる方法と、および非持続性のマークが付けられたも
のは廃棄され、持続性のマークが付けられたものは待ち
行列に戻される方法には、走査ステップがかなりの時間
を要するので、再始動後にシステムが利用可能になるの
が遅れるという欠点がある。
【0017】
【発明が解決しようとする課題】持続性および非持続性
メッセージ用に別々の待ち行列を必要とせず、システム
が利用可能になるのを遅らせるようなシステム再始動後
の単一待ち行列の走査を必要としない機構を提供する。
【0018】
【課題を解決するための手段】本発明は、待ち行列に記
憶すべき持続性および非持続性データを受け取るステッ
プと、データに時間順にマークを付けるステップと、上
記持続性データを第1のページ・セットに記憶し、上記
第2の非持続性データを第2のページ・セットに記憶す
るステップと、上記待ち行列からデータを除去する要求
を受け取ったとき、上記第1および第2のページ・セッ
トを検査し、データを時間順に取り除くステップとを含
む、待ち行列として配列された持続性および非持続性デ
ータを記憶する方法を提供する。
【0019】本発明は、さらに、上記第1および第2の
ページ・セットに対して記憶域を割り振るステップと、
上記第1および第2のページ・セットに対応する第1お
よび第2のページ・リストを作成するステップと、上記
データ記憶ステップまたは除去ステップの後に上記第1
および第2のリストを更新するステップを含む上記方法
を提供する。
【0020】好ましい一実施例では、本方法はさらに、
障害時の回復および待ち行列の再起動を可能にするため
のログを作成するステップと、待ち行列に記憶すべき持
続性データを受け取るとき、および待ち行列から除去す
べき持続データを取り除くとき、前記ログ中に、持続性
データのみに対する変更に関する項目を作成するステッ
プとを含む。本方法はさらに、データを受け取るステッ
プの前に、記憶装置で利用可能などのページが空いてい
るか、どれが持続性データ用に割り振られ、どれが非持
続性データ用に割り振られているかを示すテーブルを作
成するステップを含み、さらに前記のデータを受け取る
ステップおよびデータを取り除くステップの後に、上記
テーブルを更新するステップと、障害および待ち行列の
再起動の場合に、上記テーブルを走査して、非持続性デ
ータを含む全ページが使用されていないことを示すよう
に更新するステップとを含む。
【0021】本発明はまた、記憶域の1ページまたは複
数ページを持続性データの記憶用に割り振り、記憶域の
1ページまたは複数ページを非持続性データの記憶用に
割り振るためのデータ管理手段と、持続性データを記憶
するページ、および非持続性データを記憶するページを
指示し、それにより待ち行列を定義する手段と、記憶す
べき持続性および非持続性データを受け取り、データ除
去要求を受け取るための接続管理手段と、上記受け取っ
た持続性および非持続性データを上記指示手段のそれぞ
れのページに記憶し、上記データが時間順に記憶される
とき、上記データにマークを付けるためのメッセージ管
理手段とを含む、持続性および非持続性データを待ち行
列に記憶するためのデータ処理システムをも提供する。
【0022】本発明はさらに、持続データを受け取ると
き、または待ち行列から取り除くときに作成された項目
を含むログ手段と、システム障害時に上記ログ手段を参
照することによって、待ち行列の内容を回復するための
回復管理手段とを含む上記データ処理システムを提供す
る。本システムはさらに、記憶域の各ページに関する項
目を有するテーブルを含み、この項目は、記憶域の上記
ページが空いているか、持続性データに割り振られてい
るか、それとも非持続性データに割り振られているかを
示し、障害および待ち行列の再起動時に、記憶域の1ペ
ージが非持続性データに割り振られていることを示すテ
ーブル内の全項目を走査し、記憶域のそれらのページが
空いていることを示すように変更する回復管理手段を含
む。
【0023】例として、添付の図面を参照しながら本発
明の実施例について以下に説明する。
【0024】
【実施例】図1は、1つのプログラム100によって待
ち行列上に置かれるメッセージ111、112、113
を受け付ける待ち行列管理プログラム110を示す。プ
ログラム120、121、122は、待ち行列管理プロ
グラム110からメッセージ111、112、113を
得る。この待ち行列管理プログラム110は、プログラ
ム100、120、121、122の間に1対多数の関
係付けをする。
【0025】図2は、複数のプログラム200、20
1、202によって待ち行列上に置かれるメッセージ2
11、212、213を受け付ける待ち行列管理プログ
ラム210を示す。プログラム220は、待ち行列管理
プログラム210からメッセージ211、212、21
3を得る。この待ち行列管理プログラム210は、プロ
グラム200、201、202、220の間に多数対1
の関係付けをする。
【0026】メッセージ211は、送信プログラム20
0によって局所待ち行列管理プログラム210に送られ
たときに現れる。メッセージ211は、受信プログラム
220がメッセージ211を待ち行列から取ったときに
消滅する。
【0027】図3は、メッセージ待ち行列管理プログラ
ム210の主要構成要素を示す。200、201、20
2、220は図2で参照したプログラムである。これら
のプログラムは、待ち行列管理プログラム210の接続
管理プログラム350を介して待ち行列管理プログラム
210と通信する。接続管理プログラム350は、待ち
行列への追加および待ち行列からの除去に関する情報を
メッセージ管理プログラム310に送り、そのメッセー
ジを含むトランザクションの成功裏の完了またはバック
アウトに関する情報を回復管理プログラム340に送
る。回復管理プログラム340は、資源管理プログラム
(図示せず)間の対話を調整し、資源管理プログラムが
関与する任意の2段階コミット・プロトコルを介して資
源管理プログラムを調整する。資源管理プログラムは、
データ、コード、およびある共用データに対するアクセ
スをもたらす処理の組合せである。回復管理プログラム
340は、再起動処理も管理する。データ管理プログラ
ム320は、データ記憶装置のページ内でのデータのア
クセスを管理し、ロッキング、ログ管理プログラム36
0へのロギング、および記憶管理機能を実行する。バッ
ファ管理プログラム330は、データ管理プログラム3
20からの要求に応じて補助記憶装置と仮想記憶装置の
間でのデータ・ページの移動を管理する。ログ管理プロ
グラム360は、システム障害後の回復で使用するた
め、待ち行列に対する更新、削除および挿入に関する情
報を含む、絶えず増え続けるログ・レコード・シーケン
スを維持する。
【0028】メッセージ待ち行列は、あるプログラムか
ら別のプログラムに移る途中のメッセージを保持するた
めに待ち行列管理プログラム210によって取って置か
れる記憶域にすぎない。待ち行列は主記憶装置または直
接アクセス記憶装置(DASD)上で実施することがで
きる。メッセージは1つまたは複数のプログラムによっ
て待ち行列上に置かれ、やはり1つまたは複数のプログ
ラムによって待ち行列から取り出される。
【0029】図4は、メッセージ400の内容が2つの
部分、すなわち、メッセージ・ヘッダ410(構造化フ
ィールド420およびメッセージ記述子430を含む)
とアプリケーション・データ440から成ることを示
す。
【0030】メッセージ・ヘッダ410の構造化フィー
ルド420は、待ち行列に置かれるメッセージ、または
待ち行列から取り出されるメッセージの記述を保持する
ため使用される。構造化フィールド420については図
5に関して説明する。構造化フィールド420には、送
信プログラム200、201、202または受信プログ
ラム220がアクセスすることはできない。メッセージ
記述子430は、送信プログラム200、201、20
2により待ち行列管理プログラム210に渡される。待
ち行列管理プログラム210は、メッセージ記述子43
0を受信プログラム220に与える。メッセージ記述子
430は、メッセージの優先順位と持続性を含む情報を
含む。
【0031】メッセージには他のメッセージよりも重要
なものとそうでないものがある。メッセージの送信側が
他のメッセージと比較してその重要性を示すことができ
るようにするため、各メッセージは、送信側によって設
定できる優先順位を有する。メッセージの受信側は割り
当てられた優先順位を受け入れる必要はなく、宛先待ち
行列が先入れ先出し方式(FIFO)として定義されて
いる場合には、待ち行列管理プログラムは優先順位を無
視する。
【0032】メッセージの送信側が、例えば、待ち行列
管理プログラム210に障害があった場合でも、メッセ
ージが確実に渡されるようにしたい場合があり、メッセ
ージのこの特性を持続性と呼ぶ。持続性メッセージはシ
ステム障害に対して保護され、受信プログラムによって
取り出されるまで残る。メッセージ記述子のこの態様に
ついては後述する。
【0033】メッセージ400中のアプリケーション・
データ440は、メッセージ400を送るプログラム2
00、201、202によって形成され供給される。メ
ッセージ400中のデータの性質に関する制約はなく、
たとえばデータは、文字ストリング、ビット・ストリン
グ、2進整数、パック10進整数および浮動小数点数の
各形式のうち1つまたは複数の形式のものから成ること
ができる。
【0034】図5は、メッセージ・ヘッダ410の構造
化フィールド420の内容を示す。長さ510は、メッ
セージ・ヘッダ410の構造化フィールド部分420の
長さであり、ID520は、これが構造化フィールドの
メッセージ・ヘッダ形式であることを示し、本実施例で
は0001に設定される。バージョン番号530は、こ
の構造化フィールドを作成した待ち行列管理プログラム
210のバージョンを示し、したがって内容をどのよう
に解釈すべきかを示す。時間を表すクロック値540
は、メッセージが時間順に取り出せるようにするために
記憶される。データ長550はアプリケーション・デー
タ440の長さである。満了期間560は、限られた存
続期間を有するメッセージがその存続期間の終りに削除
できるようにするために使用される。
【0035】プログラムは、待ち行列に置くべきメッセ
ージに関する情報(メッセージ記述子430)、アプリ
ケーション・データ440の長さおよびアプリケーショ
ン・データ440自体を指定することにより、メッセー
ジを待ち行列上に置く。プログラムは、待ち行列から取
り出すべきメッセージに関する情報(メッセージ記述子
430)、空バッファおよびバッファの長さを指定する
ことにより、待ち行列からメッセージを取り出す。プロ
グラムは、返答として、バッファ内のメッセージ・デー
タおよびメッセージ・データの全長を受け取る。メッセ
ージ記述子430の最後に、長さ等、受け取ったばかり
のメッセージに関する情報がある。
【0036】図6は、ページ・リスト620、622等
の複数対のリストによって論理的に表される待ち行列6
00を示す。一方のリスト620中のページは、持続性
のマークが付けられたメッセージを(時間順に)含み、
他方のリスト622中のページは、非持続性のマークが
付けられたメッセージを(やはり時間順に)含む。所与
のページは持続性メッセージのみ、または非持続性メッ
セージのみを含む。
【0037】リスト620、622は、実際には、それ
ぞれ図7に関して後で説明する2つのポインタを含む。
ヘッド・ポインタ705は、1組のページ710、72
0、730の先頭を指し、これらのページは他のポイン
タ715、725によって互いに連係されている。テー
ル・ポインタ735はそのリストの末尾を指す。
【0038】待ち行列の1番上からメッセージを取り出
すときは、持続性ページ・リスト620と非持続性ペー
ジ・リスト622の両方が調べられ、メッセージが時間
順に提示される。図4に関して前述したように、あるメ
ッセージが他のメッセージよりも重要なことがあるが、
メッセージの送信側は、0から9の優先順位をそのメッ
セージに割り振ることにより、他のメッセージと比較し
てその重要性を示すことができる。各優先順位レベル
は、連係されたページのそれ自体のリスト、すなわち、
持続性メッセージ用の1つのリストと非持続性メッセー
ジ用の1つのリストを有する。メッセージが待ち行列か
ら取り除かれるときは、優先順位が最高のメッセージの
リストにあるメッセージがまず時間順に取り除かれ、優
先順位が最高のメッセージのリストにある全ての持続性
および非持続性メッセージが取り除かれてから、次に優
先順位の高いメッセージが取り除かれる。待ち行列に残
っているメッセージがなくなるまでそれが続けられる。
これらのリストは図6の625乃至667で示される。
【0039】図8はディスク上の1つのファイルに記憶
された物理待ち行列810を示す。この待ち行列は、一
群のページ812乃至824としてディスク上に格納さ
れる。待ち行列を表すためにディスク上で使用されるペ
ージの数は、例えば、10,000になることがある。
待ち行列を構成するページにより速くアクセスできるよ
うにするため、比較的頻繁に参照されるページの幾つか
のコピーが、一般にメモリ内にある仮想記憶域内のバッ
ファ832乃至838に保持される。可能なバッファ8
32乃至838の数は、例えば、50である。バッファ
管理プログラム330はテーブル840を使って、バッ
ファ832乃至バッファ838にどのページが記憶され
ているかを追跡する。バッファ管理プログラム330
は、データ管理プログラム320が要求するデータをデ
ータ管理プログラム320に供給するために必要な実際
のディスク・アクセス数を最少にする。
【0040】コミットされていない変更を有する、バッ
ファ832乃至838に記憶されたデータ・ページがデ
ータ管理プログラム320によって最近に参照されてい
ない場合、バッファ管理プログラム330は、そのペー
ジをディスクに書き込むことができる。これは「スチー
ル」戦略と呼ばれる。なぜならば、たとえそれらのペー
ジが依然として活発に変更されている場合でも、これら
のページがバッファから書かれる(盗まれる)からであ
る。スチール戦略は、システムの障害時にこれらのペー
ジの変更を取り消さなければならないことを暗示する。
【0041】コミットされた変更を有する、またはメッ
セージを挿入または削除された、バッファ832乃至8
38に記憶されているデータ・ページが依然として最近
に参照されたページの1つである場合、依然としてバッ
ファ管理プログラム330は、そのページをディスクに
書き込むことができない。そのページが最も以前に参照
されたページの1つになった場合のみ、ディスクに書き
込まれる。これは「非強制」戦略と呼ばれる。なぜなら
ば、バッファ管理プログラム330は、変更がコミット
されたときでさえ、そのページをディスクに書き込むの
を強制されないからである。「非強制」戦略は、システ
ムの障害時にこれらのページが変更を再実行されなけれ
ばならないことを暗示する。
【0042】待ち行列管理プログラム210で障害が発
生したとき、待ち行列管理プログラム210内にあるメ
ッセージが確実に回復されるようにするため、待ち行列
管理プログラム210は、バッファ832乃至838ま
たはディスク上の待ち行列に対して行われたどんな変更
も、ログ管理プログラム360を介して「回復ログ」に
記録する。回復ログは、バッファ・コピーからディスク
・コピーに書き込まれなかったコミットされた動作が障
害の後で再実行されること、およびバッファ・コピーか
らディスク・コピーに書き込まれたコミットされていな
い動作が再実行されることを保証するための拠り所にな
る。
【0043】待ち行列の内容を変更する動作は、UND
OおよびREDOレコードによってログ内に反映され
る。UNDOログ・レコードは、変更動作が行われる前
の待ち行列の内容の回復を可能にする。REDOログ・
レコードは、変更が行われた後の待ち行列の内容の回復
を可能にする。コミットされていない変更がディスク上
の待ち行列に書かれた場合は、それを取り消すことがで
きる。コミットされた変更がディスク上の待ち行列に書
き込まれなかった場合は、それを再実行することができ
る。
【0044】媒体の障害のために待ち行列の内容が失わ
れた場合、その待ち行列が作成されて以降の全てのRE
DOログ・レコードが保管されておりかつ利用可能であ
る場合、待ち行列を再作成することが可能である。待ち
行列の持続性コピーを周期的に作成して保管することが
でき、さらにコピーが作成された時点のログ位置を記録
することができる。したがって、障害が発生した場合、
記録された位置から回復ログを処理することができる。
【0045】さらに、時間の経過、またはシステムによ
って処理される動作の量に基づいて「チェックポイン
ト」が開始される。最新のチェックポイント内のデータ
は、再始動時に情報を初期設定する資源管理プログラム
として働く。チェックポイントの目的は、再始動の際に
読み取り処理しなければならないログ情報の量を最少に
することである。
【0046】バッファ管理プログラムは、バッファに情
報を保持しつつ、持続性メッセージを含む参照頻度が高
いバッファをディスクに書き込む。
【0047】好ましい実施例では、先書きログ(WA
L)と呼ばれる特定の形式のログが使用される。先書き
ログ(WAL)では、更新されたページがバッファか
ら、そのページが読み取られたのと同じ持続性記憶(例
えば、ディスク)位置に書き戻される。データに対する
変更を表すログ・レコードは、変更されたデータが持続
性記憶域上で更新される前に、持続性記憶域に書き込ま
なければならない。さもないと、再始動時にログ・レコ
ードが持続性記憶域上の変更済みデータと一致しなくな
る。
【0048】バッファ管理プログラムは、ページに対す
る最近の変更を記述するログ・レコードが、そのページ
がディスク・ファイルに書き込まれる前にログに物理的
に書き込まれることを保証する。本発明のこの実施例で
は、ログ・レコードは持続性データについてのみ書き込
まれ、非持続性データについては書き込まれない。非持
続性データを含むページは再始動時には回復されず、し
たがって、これらのページについてログ・データを書き
込む必要はない。
【0049】ページが更新されるときは、ログ・シーケ
ンス番号がログ項目に割り振られる。以下の表1に記述
するフィールドが次に、ログ管理プログラムによってロ
グに書き込まれて、回復が可能になる。
【0050】表1 ログ・レコードの内容 ログ・レコードのフィールド LSN ログ・シーケンス番号:通常、ログ・アドレ
ス空間におけるログ・レコードの最初のバイト。これ自
体はログ・レコードのフィールドではなくて、最初のフ
ィールド(タイプ)を見出すことができるアドレスにす
ぎない。 タイプ レコード・タイプを示す。例えば、UND
O、REDO、UNDO AND REDO、CHECKPOINT。 サブタイプ レコード・タイプを修飾する。例えば、I
NSERT、DELETE、CHANGE、ALLOC
ATE PERSISTENT PAGE、ALLOC
ATE NONPERSISTENT PAGE、DE
ALLOCATE PERSISTENT PAGE、
DEALLOCATE NONPERSISTENT
PAGE、BEGIN BACKOUT、END BA
CKOUT。 RMID ログ・レコードを書いた資源管理プログラ
ムの識別子。 TransID ログ・レコードを書いたトランザクシ
ョンの識別子。 PrevLSN 同じアプリケーションが書いた直前の
ログ・レコード。 長さ ヘッダ情報を含むログ・レコードの長さ。 データ 実行された動作を記述する再実行または取消
しデータである。この場合の情報は、このログ・レコー
ドの再実行または取消しを実行するために使用される適
当な動作ルーチンを決定するのにも使用される。
【0051】待ち行列810を表すディスク上の各ファ
イルには、空間マップ・ページ812として使用される
少なくとも1ページがある。このページは、空間マップ
・ページに続くページの量の状況を示す。通常、この量
は16、000ページである。本実施例では、1対のビ
ットを使って各ページを表す。図8で、ページ812
は、ページ814乃至824の状況を示す空間マップ・
ページである。ページ812内のデータの最初の2ビッ
トはページ814の状況を示し、次の2ビットはページ
816の状況を示し、以下同様である。これらのビット
はページが空いているか、持続性ページに割り振られて
いるか、それとも非持続性ページに割り振られているか
を示す。ビットの4種類の組合せの内の1つは無効であ
る。
【0052】非持続性メッセージを含む全てのページは
再始動時に解放されるので、非持続性メッセージを含む
ページに関する空間管理動作は記録する必要がない。非
持続性メッセージと持続性メッセージの別々のカウント
が各待ち行列毎に維持される。持続性要素のカウントに
対する更新のためにログ・レコードが書かれる。非持続
性要素カウントに対する更新のためにはログ・レコード
は書かれない。待合せシステムはこれら2つのカウント
の和を現在の待ち行列深度として提供する。
【0053】待合せシステムが正常に停止したとき、バ
ッファ管理プログラム330は、持続性メッセージを含
む変更されたバッファ全ての内容をディスクに書き込
む。非持続性メッセージを含むページは停止中には書か
れない。
【0054】待ち行列管理プログラム210の障害の後
に、再始動処理が開始される。全ての空間マップ・ペー
ジが走査され、非持続性ページに割り振られたとのマー
クが付けられたページは全て解放されるので、これらの
ページを回復しようとの試みで時間が費やされることは
ない。個々のデータ・ページ自体にアクセスして、それ
らのページが非持続性データを含むのか、それとも持続
性データを含むのかを判定する必要はない。
【0055】ログ・レコードは、REDOタイプのレコ
ードを探すため、ログ内の最後のチェックポイントの位
置からログ内の最新の項目に向かって走査される。障害
が発生する前に完了した動作によって変更されたデータ
は、REDOログ・レコードの作用によって変更されな
い。最後のチェックポイント以後にコミットされたが持
続性コピーに保管されていなかった変更は、REDOロ
グ・レコード内の情報を使って適用される。コミットさ
れたがディスクに保管されなかった(非強制戦略の結
果)全ての変更が行われたときは、ログは、ログ内の最
新の項目からログ内の最後のチェックポイントの位置に
向かって逆方向に走査される。最後のチェックポイント
以降に持続性コピーに保管されたがコミットされなかっ
た変更はUNDOログ・レコード内の情報を使って取り
除かれる。コミットされなかったがディスクに保管され
た(スチール戦略の結果)全ての変更が行われたとき、
回復が完了する。
【図面の簡単な説明】
【図1】プログラム間で1対多数の関係を有する待ち行
列管理プログラムを示す図である。
【図2】プログラム間で多数対1の関係を有する待ち行
列管理プログラムを示す図である。
【図3】図2に示すような待ち行列管理プログラムのブ
ロック・ダイアグラムである。
【図4】図3の待ち行列管理プログラムで使用されるメ
ッセージの内容を示す図である。
【図5】図4のメッセージに示すような構造化フィール
ドの内容を示す図である。
【図6】図4に示すようなメッセージを記憶するのに使
用される待ち行列を示す図である。
【図7】図6の待ち行列で使用される連係ページのリス
トを示す図である。
【図8】ディスク上にファイルとして記憶された図6の
ような待ち行列を示す図である。
【符号の説明】
110 待ち行列管理プログラム 210 待ち行列管理プログラム 310 メッセージ管理プログラム 320 データ管理プログラム 340 回復管理プログラム 360 ログ管理プログラム
───────────────────────────────────────────────────── フロントページの続き (72)発明者 リチャード・ディーフェンドルフ アメリカ合衆国94040 カリフォルニア州 マウンテン・ビュー チャサム・ウェイ 345

Claims (12)

    【特許請求の範囲】
  1. 【請求項1】待ち行列に記憶される持続性データおよび
    非持続性データを受け取るステップと、 データに時間順にマークを付けるステップと、 上記持続性データを第1のページ・セットに記憶し、上
    記非持続性データを第2のページ・セットに記憶するス
    テップと、 上記待ち行列からデータを取り除く要求を受け取ったと
    き、上記第1および第2のページ・セットを検査するス
    テップと、 上記データを時間順に取り除くステップとを含む、待ち
    行列として配列された持続性データおよび非持続性デー
    タを記憶する方法。
  2. 【請求項2】上記第1および第2のページ・セットのた
    めに記憶域を割り振るステップと、 上記第1および第2のページ・セットにそれぞれ対応す
    る第1および第2のページ・リストを作成するステップ
    と、 データを記憶する上記ステップまたはデータを取り除く
    上記ステップの後に、上記第1および第2のリストを更
    新するステップとを含む、請求項1に記載の方法。
  3. 【請求項3】さらに、障害および待ち行列の再始動時に
    回復を可能にするためのログを作成するステップと、 待ち行列に記憶すべきデータを受け取るとき、および待
    ち行列から取り除くべきデータを取り除くときに、持続
    性データのみに対する変更に関する項目を上記ログ内に
    作成するステップとを含む、請求項1に記載の方法。
  4. 【請求項4】さらに、障害および待ち行列の再始動時に
    回復を可能にするためのログを作成するステップと、 待ち行列に記憶すべきデータを受け取るとき、および待
    ち行列から取り除くべきデータを取り除くときに、持続
    性データのみに対する変更に関する項目を上記ログ内に
    作成するステップとを含む、請求項2に記載の方法。
  5. 【請求項5】さらに、上記データを受け取るステップの
    前に、記憶域で利用可能などのページが空いているか、
    どのページが持続性データに割り振られているか、およ
    びどのページが非持続性データに割り振られているかを
    示すテーブルを作成するステップと、 上記データを受け取るステップおよびデータを取り除く
    ステップの後に、上記テーブルを更新するステップと、 障害および待ち行列の再始動の場合に、上記テーブルを
    走査し、非持続性データが含まれている全てのページが
    空いていることを示すように上記テーブルを更新するス
    テップとを含む、請求項1に記載の方法。
  6. 【請求項6】さらに、上記データを受け取るステップの
    前に、記憶域で利用可能などのページが空いているか、
    どのページが持続性データに割り振られているか、およ
    びどのページが非持続性データに割り振られているかを
    示すテーブルを作成するステップと、 上記データを受け取るステップおよびデータを取り除く
    ステップの後に、上記テーブルを更新するステップと、 障害および待ち行列の再始動の場合に、上記テーブルを
    走査し、非持続性データが含まれている全てのページが
    空いていることを示すように上記テーブルを更新するス
    テップとを含む、請求項2に記載の方法。
  7. 【請求項7】さらに、上記データを受け取るステップの
    前に、記憶域で利用可能などのページが空いているか、
    どのページが持続性データに割り振られているか、およ
    びどのページが非持続性データに割り振られているかを
    示すテーブルを作成するステップと、 上記データを受け取るステップおよびデータを取り除く
    ステップの後に、上記テーブルを更新するステップと、 障害および待ち行列の再始動の場合に、上記テーブルを
    走査し、非持続性データが含まれている全てのページが
    空いていることを示すように上記テーブルを更新するス
    テップとを含む、請求項3に記載の方法。
  8. 【請求項8】さらに、上記データを受け取るステップの
    前に、記憶域で利用可能などのページが空いているか、
    どのページが持続性データに割り振られているか、およ
    びどのページが非持続性データに割り振られているかを
    示すテーブルを作成するステップと、 上記データを受け取るステップおよびデータを取り除く
    ステップの後に、上記テーブルを更新するステップと、 障害および待ち行列の再始動の場合に、上記テーブルを
    走査し、非持続性データが含まれている全てのページが
    空いていることを示すように上記テーブルを更新するス
    テップとを含む、請求項4に記載の方法。
  9. 【請求項9】持続性データを記憶するために記憶域の1
    ページまたは複数ページを割り振るためのデータ管理手
    段と、 非持続性データを記憶するための記憶域の1ページまた
    は複数のページと、 持続性データを記憶するページと非持続性データを記憶
    するページとを指示し、それによって待ち行列を定義す
    る手段と、 記憶すべき持続性データおよび非持続性データを受け取
    り、データを取り除く要求を受け取るための接続管理手
    段と、 受け取った持続性データおよび非持続性データをそれぞ
    れ上記指示手段の当該のページに記憶し、上記データが
    時間順に記憶されるとき上記データにマークを付けるた
    めのメッセージ管理手段とを含む、持続性データおよび
    非持続性データを待ち行列として記憶するためのデータ
    処理システム。
  10. 【請求項10】さらに、持続性データが受け取られると
    き、または待ち行列から取り除かれるときに作成される
    項目を含むログ手段と、 システム障害の場合に上記ログ手段を参照することによ
    って、待ち行列の内容を復元するための回復管理手段と
    を含む、請求項9に記載のシステム。
  11. 【請求項11】さらに、記憶域の各ページが空いている
    か、持続性データに割り振られているか、それとも非持
    続性データに割り振られているかを示す上記ページ用の
    項目を有するテーブルを含み、 障害および待ち行列の再始動時に、記憶装置のページが
    非持続性データに割り振られていることを示すテーブル
    内の全項目が記憶装置のそれらのページが空いているこ
    とを示すように走査し変更する上記回復管理手段を含
    む、請求項9に記載のシステム。
  12. 【請求項12】さらに、記憶域の各ページが空いている
    か、持続性データに割り振られているか、それとも非持
    続性データに割り振られているかを示す上記ページ用の
    項目を有するテーブルを含み、 障害および待ち行列の再始動時に、記憶装置のページが
    非持続性データに割り振られていることを示すテーブル
    内の全項目が記憶装置のそれらのページが空いているこ
    とを示すように走査し変更する上記回復管理手段を含
    む、請求項10に記載のシステム。
JP3240694A 1993-03-30 1994-03-02 持続性および非持続性待ち行列データを記憶するためのシステムおよび方法 Expired - Fee Related JP2582528B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB9306662.9 1993-03-30
GB9306662A GB2276739A (en) 1993-03-30 1993-03-30 System for storing persistent and non-persistent queued data.

Publications (2)

Publication Number Publication Date
JPH06348583A true JPH06348583A (ja) 1994-12-22
JP2582528B2 JP2582528B2 (ja) 1997-02-19

Family

ID=10733043

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3240694A Expired - Fee Related JP2582528B2 (ja) 1993-03-30 1994-03-02 持続性および非持続性待ち行列データを記憶するためのシステムおよび方法

Country Status (5)

Country Link
US (1) US5452430A (ja)
EP (1) EP0623877B1 (ja)
JP (1) JP2582528B2 (ja)
DE (1) DE69415855T2 (ja)
GB (1) GB2276739A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009541882A (ja) * 2006-07-01 2009-11-26 インターナショナル・ビジネス・マシーンズ・コーポレーション 永続性を管理する方法、装置、及びコンピュータ・プログラム

Families Citing this family (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0551789A1 (en) * 1992-01-17 1993-07-21 International Business Machines Corporation Apparatus for recovering lost buffers in a data processing system
CA2211013A1 (en) * 1995-01-23 1996-08-01 Thomas M. Eastep System for maintenance of database integrity
US5692183A (en) * 1995-03-31 1997-11-25 Sun Microsystems, Inc. Methods and apparatus for providing transparent persistence in a distributed object operating environment
SE506534C2 (sv) * 1995-06-15 1998-01-12 Ericsson Telefon Ab L M Sätt att bestämma innehåll i restaureringslogg
US5826270A (en) * 1995-12-28 1998-10-20 Csg Systems, Inc. Methods and systems for client or customer-site transaction processing in a distributed database system
US6647510B1 (en) * 1996-03-19 2003-11-11 Oracle International Corporation Method and apparatus for making available data that was locked by a dead transaction before rolling back the entire dead transaction
US5862316A (en) * 1996-07-01 1999-01-19 Sun Microsystems, Inc. Multiprocessing system having coherency-related error logging capabilities
US6353834B1 (en) * 1996-11-14 2002-03-05 Mitsubishi Electric Research Laboratories, Inc. Log based data architecture for a transactional message queuing system
WO1998021654A1 (en) * 1996-11-14 1998-05-22 Mitsubishi Electric Information Technology Center America, Inc. Log based data architecture for a transactional message queuing system
WO1998040850A2 (en) * 1997-03-13 1998-09-17 Whitney Mark M A system for, and method of, off-loading network transactions from a mainframe to an intelligent input/output device, including off-loading message queuing facilities
US7756818B1 (en) 1999-07-07 2010-07-13 Computer Associates Think, Inc. Database table recovery system
US6536000B1 (en) 1999-10-15 2003-03-18 Sun Microsystems, Inc. Communication error reporting mechanism in a multiprocessing computer system
US6594780B1 (en) 1999-10-19 2003-07-15 Inasoft, Inc. Operating system and data protection
US7337360B2 (en) * 1999-10-19 2008-02-26 Idocrase Investments Llc Stored memory recovery system
US6658596B1 (en) 2000-03-13 2003-12-02 International Business Machines Corporation Automated queue recovery using element- based journaling
AU2001265329A1 (en) * 2000-06-02 2001-12-17 Inrange Technologies Corporation Enhanced channel adapter
US6990466B1 (en) * 2000-08-08 2006-01-24 International Business Machines Corporation Method and system for integrating core banking business processes
US6751750B1 (en) * 2001-06-01 2004-06-15 Lsi Logic Corporation Method to protect and recover a write ahead log from interruptions
US6892199B2 (en) 2001-06-29 2005-05-10 Trendium, Inc. Saving burst data by using semi-merge sorting module
US6523103B2 (en) * 2001-07-17 2003-02-18 Agilent Technologies, Inc. Disablement of a write filter stored on a write-protected partition
US6799172B2 (en) * 2001-08-28 2004-09-28 International Business Machines Corporation Method and system for removal of resource manager affinity during restart in a transaction processing system
US7039773B2 (en) * 2003-04-29 2006-05-02 Oracle International Corporation Method and mechanism for efficient implementation of ordered records
US7296273B2 (en) * 2003-12-04 2007-11-13 International Business Machines Corporation System, method and program tool to reset an application
JP4576391B2 (ja) * 2004-02-12 2010-11-04 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 不揮発性記憶ステージを備えたfifoメモリ装置
US7770061B2 (en) * 2005-06-02 2010-08-03 Avaya Inc. Fault recovery in concurrent queue management systems
US8413121B2 (en) * 2006-07-17 2013-04-02 Ca, Inc. Method and system for storing trace events in a database table
US10567322B2 (en) 2007-05-22 2020-02-18 International Business Machines Corporation Handling large messages via pointer and log
EP2335153B1 (en) * 2008-10-10 2018-07-04 International Business Machines Corporation Queue manager and method of managing queues in an asynchronous messaging system
US8572627B2 (en) * 2008-10-22 2013-10-29 Microsoft Corporation Providing supplemental semantics to a transactional queue manager
US9767178B2 (en) 2013-10-30 2017-09-19 Oracle International Corporation Multi-instance redo apply
US9342419B2 (en) 2013-11-11 2016-05-17 Globalfoundries Inc. Persistent messaging mechanism
US9164856B2 (en) * 2013-11-11 2015-10-20 International Business Machines Corporation Persistent messaging mechanism
US9608943B2 (en) 2014-02-27 2017-03-28 Yahoo! Inc. Method of queuing signals
US9916255B2 (en) 2014-12-11 2018-03-13 Empire Technology Development Llc Data storage based on memory persistency
US10599630B2 (en) 2015-05-29 2020-03-24 Oracle International Corporation Elimination of log file synchronization delay at transaction commit time
JP6874814B2 (ja) * 2019-10-30 2021-05-19 株式会社安川電機 産業機器の制御装置、産業機器の制御装置の設定システム、産業機器の制御装置の設定方法、及びプログラム
US11057331B2 (en) * 2019-11-18 2021-07-06 Salesforce.Com, Inc. Construction of global internet message threads
US11983437B2 (en) * 2020-05-26 2024-05-14 Intel Corporation System, apparatus and method for persistently handling memory requests in a system

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02206842A (ja) * 1989-02-06 1990-08-16 Hitachi Ltd 情報処理システムの障害回復方式

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1984002784A1 (en) * 1982-12-30 1984-07-19 Ibm Virtual memory address translation mechanism with controlled data persistence
US4680700A (en) * 1983-12-07 1987-07-14 International Business Machines Corporation Virtual memory address translation mechanism with combined hash address table and inverted page table
US4665520A (en) * 1985-02-01 1987-05-12 International Business Machines Corporation Optimistic recovery in a distributed processing system
US5222217A (en) * 1989-01-18 1993-06-22 International Business Machines Corporation System and method for implementing operating system message queues with recoverable shared virtual storage
US5151987A (en) * 1990-10-23 1992-09-29 International Business Machines Corporation Recovery objects in an object oriented computing environment
EP0492025B1 (en) * 1990-12-20 1997-08-06 International Business Machines Corporation High-speed multi-port FIFO buffer circuit

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02206842A (ja) * 1989-02-06 1990-08-16 Hitachi Ltd 情報処理システムの障害回復方式

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009541882A (ja) * 2006-07-01 2009-11-26 インターナショナル・ビジネス・マシーンズ・コーポレーション 永続性を管理する方法、装置、及びコンピュータ・プログラム

Also Published As

Publication number Publication date
GB9306662D0 (en) 1993-05-26
GB2276739A (en) 1994-10-05
DE69415855D1 (de) 1999-02-25
EP0623877B1 (en) 1999-01-13
US5452430A (en) 1995-09-19
EP0623877A3 (en) 1995-09-20
JP2582528B2 (ja) 1997-02-19
EP0623877A2 (en) 1994-11-09
DE69415855T2 (de) 1999-08-12

Similar Documents

Publication Publication Date Title
JP2582528B2 (ja) 持続性および非持続性待ち行列データを記憶するためのシステムおよび方法
Liskov et al. Implementation of argus
US7231406B2 (en) Fault-tolerant queue with autonomous client operation
US5446901A (en) Fault tolerant distributed garbage collection system and method for collecting network objects
US6529932B1 (en) Method and system for distributed transaction processing with asynchronous message delivery
US8489693B2 (en) System and method for context-based serialization of messages in a parallel execution environment
US5640561A (en) Computerized method and system for replicating a database using log records
US5170480A (en) Concurrently applying redo records to backup database in a log sequence using single queue server per queue at a time
US7568009B2 (en) Queue rendezvous
CA2438262C (en) Disk writes in a distributed shared disk system
US6938184B2 (en) Method and system for providing persistent storage of user data
Skarra et al. ObServer: an object server for an object-oriented database system
EP0595453A1 (en) Distributed data processing system
EP0747832A2 (en) Customer information control system and method in a loosely coupled parallel processing environment
US6862595B1 (en) Method and apparatus for implementing a shared message queue using a list structure
JPH02228744A (ja) データ処理システム
US6944863B1 (en) Queue bank repository and method for sharing limited queue banks in memory
US5682507A (en) Plurality of servers having identical customer information control procedure functions using temporary storage file of a predetermined server for centrally storing temporary data records
EP1412858B1 (en) Managing checkpoint queues in a multiple node system
US6185650B1 (en) High performance locking facility
US7114156B2 (en) System and method for processing multiple work flow requests from multiple users in a queuing system
US5790868A (en) Customer information control system and method with transaction serialization control functions in a loosely coupled parallel processing environment
US6393503B2 (en) Efficient transfer of data and events between processes and between processes and drivers in a parallel, fault tolerant message based operating system
US5630133A (en) Customer information control system and method with API start and cancel transaction functions in a loosely coupled parallel processing environment
US6757803B1 (en) Distributed buffer recovery

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees