JPH11184744A - メッセージキューイングシステム - Google Patents

メッセージキューイングシステム

Info

Publication number
JPH11184744A
JPH11184744A JP10247027A JP24702798A JPH11184744A JP H11184744 A JPH11184744 A JP H11184744A JP 10247027 A JP10247027 A JP 10247027A JP 24702798 A JP24702798 A JP 24702798A JP H11184744 A JPH11184744 A JP H11184744A
Authority
JP
Japan
Prior art keywords
message
queue
data
file
disk
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP10247027A
Other languages
English (en)
Inventor
David W H Wong
デビッド・ダブリュ・エッチ・ワング
Derek L Schwenke
デレク・エル・シュベンケ
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.)
Mitsubishi Electric Information Technology Corp
Mitsubishi Electric Research Laboratories Inc
Original Assignee
Mitsubishi Electric Information Technology Corp
Mitsubishi Electric Research Laboratories Inc
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 Mitsubishi Electric Information Technology Corp, Mitsubishi Electric Research Laboratories Inc filed Critical Mitsubishi Electric Information Technology Corp
Publication of JPH11184744A publication Critical patent/JPH11184744A/ja
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers
    • 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/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • Y10S707/99953Recoverability

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Computer And Data Communications (AREA)

Abstract

(57)【要約】 【課題】 サーバ故障から迅速に回復できるようにメッ
セージおよびその状況を単一ディスク上の効率的な単一
ファイルに保存し格納するメッセージキューイングシス
テムを提供する。 【解決手段】 メッセージおよびその状況を格納する単
一ディスク単一ファイル格納システムは、データディス
ク、インデックス構造ディスクおよびログディスクへの
書込みを消去する。単一ディスク単一ファイル格納は、
同一ディスク上の隣接スペースにおいてすべての情報を
集束させることによって可能となる。集束された情報を
追従するために使用される固有のキューエントリマップ
テーブルは、制御情報と、メッセージブロックと、ログ
レコードとを含み、同時に新規のレコードを書込む際保
存されたデータをトラバースするために書込みヘッドが
バックアップする必要の全くない単一ファイルディスク
格納装置を含む。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、メッセージキュ
ーイングに関し、より詳しくはクライアントサーバおよ
びモバイルエージェントアプリケーションのための迅速
で信頼性のあるトランザクションメッセージキューイン
グシステムに関し、さらに、当該システムのためのログ
ベースデータアーキテクチャに関する。
【0002】
【従来の技術】メッセージキューイングは、その本来の
同期処理および非同期処理をいずれも可能にするという
柔軟性により、それぞれ異なるコンピュータシステム上
のアプリケーション間で最も基本となる通信範例であ
る。メッセージキューイングミドルウェア基幹は、一般
的なクライアントサーバならびにモバイルエージェント
計算処理、すなわちワークフロー計算処理、オブジェク
トメッセージ伝送、トランザクションメッセージ伝送お
よびデータ複写サービスのいずれにおいても膨大なアプ
リケーションドメインについて非常に柔軟性のある骨組
みである。
【0003】
【発明が解決しようとする課題】トランザクションメッ
セージ伝送の場面ではデータが転送中に紛失することが
たびたびある。金融業界では、ある場所から別の場所に
転送される銀行の取引記録が、サーバ不良、送信回線の
不具合またはその他人為的なものによって紛失する可能
性があるが、これが金融業界で起これば大惨事になる。
エラーが発生したことを迅速に突き止めることができ、
かつデータが有効であった既知のポイントからデータの
再構築を可能にすることがシステムマネージャに課せら
れる。
【0004】クラッシュ前の当該システムの最新状況を
再構築するために当該システムがいわゆるログファイル
全体を走査することによって、過去においてエラーが発
生した地点を確定する。関連するタイムスタンプを有す
るログファイルを常時利用して、メッセージおよびログ
ファイルに含まれるデータを識別する。しかしながら、
最新状況を確認するためにログファイル全体を走査する
には、1,000ものログレコードを走査する必要があ
る。
【0005】エラーの発生した地点を突き止め、かつそ
の発生地点からファイルを再構築するログレコード全体
をそうさすることは、非能率な方法というだけでなく、
従来のシステムでは、2種類のディスクファイルが必要
であった。このうち、ひとつはデータファイルとして、
他方はログファイルとして機能する。さらに、ログエン
トリとデータファイルまたはセクタの間の相互関係は、
従来のセクタが識別性のない順序で格納され、ログファ
イルとセクタとの間のマッピングが所要時間の多少かか
るプロセスであるたため複雑である。
【0006】さらに技術背景では、一つのポイントから
別のポイントに伝送されるデータレコードが損なわれる
ことのないような格納装置を提供可能にするようなメッ
セージキューイングが一般的に使用されることは理解さ
れよう。たとえば、ある場所でエラーが発生しデータが
紛失した場合でも、メッセージキューイング本来の格納
装置が機能してデータを第2の場所で再構築可能であ
る。
【0007】例として、特に株取引では、取引中の割込
みは数時間というよりは数分に極限されることが望まし
い。しかし、時に、システムサーバが停止した場合、そ
の時のシステムでの取引数により、回復に2時間から8
時間もかかることがある。したがって、停止時間や破損
ファイルの見つけ出しと再構築に所要する時間と費用を
最小限に抑える必要がある。
【0008】なお、ここで用いられるキューファイル
は、伝送中のメッセージの物理的格納装置を表す。キュ
ーファイルは、未完了操作のための保持用セルと称する
こともできる。すなわち、基本的には、所定のメッセー
ジを受信する受け手がそこにいない場合、メッセージを
キューファイルに保持し、後で送出できるようにするこ
とを意味する。したがって、キューファイルは送信され
た情報の保持に信頼性を与える。
【0009】さらに、従来のシステムにおいて、回復デ
ータは、キューファイルそれ自体により提供されるもの
ではない。したがって、エラーまたはデータの紛失が発
生した場合、キューファイルはファイル状態を確認する
ために利用されていない。すなわち、以前に不正処理さ
れていないデータからデータファイルを再構築するため
にキューファイルは使用されていない。従来のシステム
では、キューファイルそれ自体により回復データが提供
されることはない。
【0010】メッセージキューイングの実世界のアプリ
ケーションへの応用例についての別の例では、メッセー
ジキューイング基幹のモバイルエージェントを用いたリ
アルタイムオンライントランザクション処理の支援の仕
方に絡んでいる。本例では、顧客はたとえば地理的に分
散した支店を有する銀行である。顧客の口座が作られ、
その口座が開設された地方支店で保管される。例示の目
的のために、これを口座の本拠地支店(home branch)
と称する。各口座の写しが本店においても保管される。
口座の読出し取り操作を地方支店または本店のいずれか
らも行うことが可能である。しかしながら、本拠地支店
にある写しと本店の写しとが同等に更新することが要求
される。
【0011】更新の要求が本拠地支店で発生すると、地
方支店にあるコピーを更新しなければならない。この更
新によって、次にキューに加える(enqueue)要求をキ
ューマネージャまたはキューサーバに自動的に送出する
エージェントを始動することが可能である。このキュー
マネージャは、広域ネットワークを介して別のキューマ
ネージャに対しての要求をキューから外し(dequeu
e)、このキューマネージャが、今度は、ミラーオフィ
スにある口座のデータベースサーバに対しての更新要求
をキューから外す。
【0012】メッセージキューは、本例では非同期の信
頼性のある処理を提供する。非同期処理は、ある位置で
のデータベースの更新によって起動するエージェントか
ら始まる。エージェントは、更新要求をメッセージキュ
ーマネージャに対して非同期で送出するが、応答を待つ
必要はない。メッセージキューマネージャは、要求者が
応答を待つ必要なく処理を継続できるように要求につい
ての保持セルとして機能する。さらにメッセージキュー
マネージャは、本例では、更新の要求の受け手が、トラ
ンザクションメッセージキューとして当該業界において
知られている二相コミットプロトコル(Two Phase Comm
it Protocol)と呼ばれる周知のハンドシェークプロト
コルを介して受信状況をひとつひとつ確認するまで、更
新要求のコピーをキューで保持することで信頼性を提供
する。
【0013】これらのタイプのメッセージキューイング
システムは、これまで信頼可能に動作したが、メッセー
ジキューに添付されるメッセージを格納するために別個
のキューデータおよびログレコードファイルを使用する
データ構造に依存するものであった。このような構造
は、サーバのクラッシュ時における迅速な修復を妨げ、
2種類の格納用ディスクを必要とする。一つはデータの
ためのディスクであり、他方はログレコードのディスク
である。さらに、従来のメッセージキューイング構造
は、通常、効率よく作業するための予備のハードウェア
を必要とせずには書込み動作が最適化されることはな
い。また、メッセージ滞留時間の短い高性能のスループ
ットシステムには適切ではない。上述の別個のキューデ
ータおよびログファイルにもまた、非信頼性が必要以上
のレベルで取り入れられている。これは、ファイル不正
処理および媒体不良の二点が潜在的に含まれているから
である。さらに、メッセージキューイングシステムの業
務管理担当者のために最初から回復に要する仕事量が予
め定められる手段は通常存在しない。
【0014】なお、上述のシステムは、Digital Equipm
ent Corporation社のDECmessageQ、IBM社のMQシリーズ
およびTransarc社のEncina RQSとして市販化されてい
る。
【0015】この発明は上述した点に鑑みてなされたも
ので、メッセージおよびその状況を単一ディスク上の効
率的な単一ファイルに保存し格納することによってサー
バ不良から迅速に回復することが可能なメッセージキュ
ーイングシステムを提供することを目的とする。
【0016】
【課題を解決するための手段】この発明に係るメッセー
ジキューイングシステムは、キューの状態と、メッセー
ジキューデータと、ログレコードを含んで連結されたメ
ッセージキューを有するトランザクションメッセージを
伝送する手段と、受容サイトで、上記メッセージキュー
データと上記ログレコードとが組み合わされたオンディ
スクファイル構造を用いている単一ディスクの単一ファ
イルに上記トランザクションメッセージキューデータを
格納する手段と含むものである。
【0017】また、上記単一ディスクにアクセスする読
出し/書込みヘッドと、書込み動作中に上記ヘッドを単
一フォワード方向で駆動する手段とをさらに含むもので
ある。
【0018】また、上記ディスクの予め選択された場所
に配置されて、制御情報ブロックと、少なくとも1つの
メッセージブロックと、少なくとも1つのログレコード
とを有するキューエントリマネジメントテーブルをさら
に含むものである。
【0019】また、上記予め選択された場所が上記ファ
イルの開始から固定されたオフセットと対応し、これに
よってメッセージキューデータの最新状況を迅速に識別
することができるものである。
【0020】また、上記受容サイトで、上記情報の前の
最新キューエントリマネジメントテーブルに呼応する上
記伝送の割込み時に、上記メッセージキューを回復する
手段をさらに含み、これによって、上記最新キューエン
トリマネジメントテーブルに含まれる情報から受信され
格納された最新有効情報を見つけるものである。
【0021】また、上記ファイルが複数のセクタに分割
され、上記テーブルが有効情報を有するセクタの位置に
対するチェックポイントを構成するように上記オフセッ
トがキューエントリマネジメントテーブルをセクタの最
初に配置し、これによって上記割込み前の最新の有効情
報が、上記最新のテーブルを包むセクタの識別を通して
迅速に見つけ出されるものである。
【0022】さらに、上記マネジメントキューテーブル
が隣接ブロックに書込まれ、単一ファイルの結果、フォ
ワード書込み方向および隣接メッセージキューデータブ
ロックシステムによりシーク時間を最小限に抑え、伝送
割込みから完全かつ迅速な回復を増大させるものであ
る。
【0023】
【発明の実施の形態】この発明において提供されるメッ
セージキューイングシステムは、従来のメッセージキュ
ーイングが有する課題を解決するために、メッセージお
よびその状況を単一ディスク上の効率的な単一ファイル
に保存し格納することによって、サーバ不良からの回復
を迅速に行うことが可能となる。メッセージおよびその
状況を格納する単一ディスク単一ファイル格納装置シス
テムによって、3種類のそれぞれ異なるディスク、すな
わちデータディスク、インデックス構造ディスクおよび
ログディスクへの書込みが消去される。単一ディスク単
一ファイル格納装置は、同一ディスク上の隣接スペース
においてすべての情報を集束させることによって可能と
なる。
【0024】この結果、すべての書込みは、書込みヘッ
ドの一つの掃引動作に含まれ、書込みヘッドは一方向に
のみ一度だけ移動して、メッセージの書込み開始を必要
とし、その状態を格納する領域を見つけ出す。集束され
た情報を追従するために使用される固有のキューエント
リマップテーブル(Queue Entry Map Table)は、制御
情報と、メッセージブロックと、ログレコードと、新規
のレコードを書込む際に保存されたデータをトラバース
するために書込みヘッドがバックアップする必要が全く
ない単一ファイルディスク格納装置とを同時に含む。さ
らに当該システムは、ログファイル全体を走査する必要
なく破損ファイルを見つけることができる。
【0025】最新の有効データを見つけるために、制御
チェックポイント間隔システムを利用して最新の不正処
理されていないデータを見つけることができる。走査を
行い、最新のチェックポイント間隔を見つけることによ
って、最後のキューをすぐに認識できる。チェックポイ
ント後にログレコードの走査を行い、すべてのメッセー
ジの最新状況を設定する。上述のシステムによって従前
のシステムよりも少ない時間の位数でデータ回復を行う
ことができる。同時に、効率的なフォワード方向への書
込み方法を確立させることによって、順序づけられてい
ないセクタを介して検索する必要がなくなる。
【0026】一実施態様によると、最後尾のセクタに新
規のレコードを追加することによって先行のセクタを更
新し、ファイル状態が変更されたことを示す巡回循環バ
ッファ用システム(circular wrap around buffering sy
stem)を用いることによって、開放され、有効メッセー
ジおよび/またはログレコードをもはや保持していない
先行のブロックを再利用する。
【0027】したがって、この発明は、トランザクショ
ンメッセージキューイングシステムのためのログベース
データ構造(アーキテクチャ)を提供するものであり、
当該システムは、メッセージキューデータおよびログレ
コードの組合わせオンディスクファイル構造を利用する
ものである。この発明の一実施態様によると、単一ディ
スクのキューデータ/ログレコード組合わせファイルで
は、書込み動作の性能および信頼性が向上し、同時に使
用ディスク数が減少する。
【0028】上述のように、システムクラッシュの回復
は、エラーの発生場所を突き止める際にすべてのログレ
コードを通して検索する必要のないキューエントリマッ
プテーブルを使用することによって加速される。さら
に、キューエントリマップテーブルを使用することによ
って、システム業務管理担当者に対して拡張性および柔
軟性をもたらすキューデータファイルに要件の数を当初
から割り当てることが可能である。
【0029】さらに上述したように、当該システムは、
格納装置の再利用のためにキューデータファイルの循環
(ラップアラウンド)が潜在的に存在することを暗示す
る巡回キューを利用するものである。これによって、キ
ューが循環する(ラップアラウンド)場合、まだ有効か
もしれないキューデータおよび/またはログレコードが
次の書込み動作によって確実に上書きされないように予
約表(リザベーションテーブル)または自由空間(フリ
ースペース)ヒープを維持することを要求される。
【0030】一実施態様によると、キューデータ格納装
置構造(アーキテクチャ)は、キューの固定サイズに基
づいてキューマネージャを最初に初期化する場合に作成
される単一フラットファイルからなる。初期キューの作
成は、メッセージキューイングシステムにおけるピーク
負荷、たとえば時に所定の時点でメッセージキューに予
想される入力の最大数についてのシステム業務管理担当
者の感覚に基づいて行われる。キューデータファイルに
おける各メッセージは、メッセージヘッダおよびメッセ
ージ本文を含む。メッセージ本文は、メッセージの内容
を含み、メッセージヘッダに続く次の隣接ブロックのデ
ィスクに格納される。
【0031】上記実施態様では、キューデータファイル
は、実行時に拡張可能な所定数の論理セグメントまたは
セクタに分割される。各セグメントは、キューエントリ
マップテーブル(QEMT)のコピーを包含し、各セグメン
トの冒頭にこれが格納される。QEMTは、キューファイル
全体に格納されたキューエントリおよびログレコード情
報についての制御情報を包含する。メッセージヘッダ、
メッセージ本文およびログレコードは、QEMTの後にメッ
セージデータおよびログレコードブロックの潜在的な混
合と共に格納される。
【0032】理解されるように、QEMTのサイズは、ユー
ザがキュー作成時に定義するキューエントリの予測最大
数に依存する。ログレコードは、決定論的バイト数を取
るため、キューデータファイルは、ログレコードと、メ
ッセージヘッダと、メッセージ本文と、QEMTの混合のデ
ータタイプから構成される。新規セグメントがキューデ
ータファイルに到達すると、その新規セグメントの冒頭
に新規QEMテーブルがディスクに書込まれ、メッセージ
およびログレコードがQEMテーブルに続く。最も小さい
オンディスクデータのタイプはログレコードであるた
め、1ブロックがログレコードのサイズである場合、キ
ューデータファイルのセグメントは、ブロックからなる
ように定義される。このように実施性を高めることは、
検索アルゴリズムの開発を容易にする。
【0033】トランザクションメッセージキューイング
システムの状態は、QEMTに包含される制御情報によって
捕獲される。QEMTは、各自コピーを維持する各スレッド
よりむしろ多重スレッドを作動させることが可能な静的
データ構造として定義される。
【0034】ログベースデータ構造(アーキテクチャ)
の結果、当該発明は、既存のトランザクションメッセー
ジキューイングデータ構造(アーキテクチャ)において
多数の改良を提供するものである。書込み動作の性能が
既存のメッセージキューイング構造(アーキテクチャ)
において改良され、この発明をベースにしたメッセージ
キューイングシステムによって、高速化の銀行処理アプ
リケーション等メッセージ滞留時間を短縮した高性能化
スループットシステムが確実に達成される。さらに当該
システムは、様々な帯域幅を有するネットワークおよび
/または信頼性のないネットワークを介してエージェン
トの搬送の際に根底をなす信頼性のあるメッセージ送信
基幹(インフラストラクチャ)についても適用可能であ
る。
【0035】さらに、メッセージデータおよびログレコ
ードの書込み動作は、常にフォワード方向に行われ、こ
れらはいずれも同一のディスクファイルに格納されるこ
とができる。
【0036】また、本システムは、トランザクションメ
ッセージキューイングシステムの信頼性を向上させるも
のである。当該ログベースデータ構造(アーキテクチ
ャ)において、ファイルの不正処理が分割キューデータ
およびログレコードファイルとの2つの潜在的なファイ
ル不正処理の場面に対して起こり得る一つの場所が存在
する。また、使用されるディスクファイルが少なくなる
ため、信頼性も高まる。キューデータ/ログレコードの
組合わせファイルは、公知のACID特性の原始性(Atomici
ty)、一貫性(Consistency)および隔離性(Isolation)の
それぞれの特性に忠実である。さらに、明らかなよう
に、既存のRAID技術を駆使して透過性のある二重書込み
を行うことが可能である。
【0037】当該システムにおいて、これによって得ら
れたメッセージキューイングシステムによって、先入れ
先出し(First In First Out)、後入れ先出し(Last I
n First Out)または優先順位ベースのメッセージデー
タアクセスを含むいずれのメッセージデータアクセス方
法も支援可能となる。また、同時にシステムクラッシュ
からの回復に要する時間を短縮することができる。従来
のアプローチではログレコードのファイル全体の全デー
タを走査するが、当該システムでは、最新のチェックポ
イントを決定するために一部のキューエントリマップテ
ーブルをまずテストすることのみ要求される。そして次
にそのセグメント内にあるログレコードに走査を進め
る。
【0038】さらに、この発明によって、業務管理担当
者は、キューデータファイルのセグメント数、続いてチ
ェックポイント間隔の数を最初から予め定めることによ
って、システム回復に要する仕事量を調整できるため、
当該システムは、メッセージキューイングシステムの業
務管理に対して拡張性および柔軟性を提供する。したが
って、システム業務管理担当者は、チェックポイントの
書込みの合計金額を先に支払うため、回復時に拡張ログ
レコードの走査を行う場合の高額の支払いを防ぐ。この
トレードオフ(交換条件)を調整および微調整すること
によって、アプリケーションの要件およびドメインを適
合させることができる。
【0039】上記の利点は、キュー制御情報と、メッセ
ージデータと、メッセージ動作のトランザクションログ
レコードとを包含する予め割り当てられたオンディスク
キューバッファを使用することによる。オンディスクキ
ューバッファは、多数のセグメントまたはセクタから構
成される。各セグメントは、同一の所定のブロック数か
ら構成される。各セグメントの冒頭には上述のキューエ
ントリマップテーブルがあり、個別のキューエントリの
状況に関する制御情報データと、ディスク上にありメッ
セージが物理的に格納されるポインタオフセットとを包
含する。キューエントリマップテーブルは、メッセージ
キューイングシステム全体についての固定のチェックポ
イント間隔として機能する。メッセージ動作のメッセー
ジおよびトランザクションログレコードは、メッセージ
ブロックとログレコードブロックが組み合わせられるよ
うなセグメント内のブロックに格納される。また、ある
特定のメッセージのログレコードを当該メッセージに隣
接するように格納することは要求されない。
【0040】当該発明の特徴として、ディスクヘッドに
対して常にフォワード方向になるようにメッセージデー
タ書込み操作を行う。また、ポインタがトラバースする
必要なく連続してメッセージをディスクに格納する。さ
らに、ログレコード書込み動作は、常にディスクヘッド
に対してフォワード方向になるように行う。ログレコー
ドは、二相コミットプロトコルに基づいてメッセージ操
作の状態の変化が書込まれる。したがって、ログレコー
ドは、準備(Prepare)、準備完了(Prepared)、コミット
(Commit)、アボート(Abort)そして確認(Acknowledge)の
各メッセージが遠隔のキューマネージャから書込まれる
ことができる。
【0041】別の固有の特徴として、キュー全体がシン
グルパスで走査されることができる。さらに、オンディ
スクの不要データの集積は常に線形プロセスである。さ
らに、多数のキューエントリマップテーブルが、キュー
マネージャの適切なシャットダウン時にディスクに格納
される最新のテーブルの固有のシーケンス番号と共に、
同一ファイルに存在している。
【0042】重要なこととして、読出し動作は、先出し
先入れ、後入れ先出しまたは優先順位ベースの方策に従
い、これらの方策のいずれかを実行するために特別な規
定を必要としない。
【0043】さらに、回復の手順は、キューエントリマ
ップテーブルのタイムスタンプのみを検索することによ
って加速される。これは、最新のキューエントリマップ
テーブルが回復プロセスの開始状態として機能するから
である。当該テーブルに続くログレコードは順に読み出
され、最後の既知のチェックポイント後に行われる変更
に反映ために、この最新のキューエントリマップテーブ
ルのインメモリコピーが変更される。
【0044】次に、具体的な実施の形態について説明す
る。まず、図1を参照すると、更新された口座情報を支
店から本店へ伝送する目的のために、メッセージキュー
イングシステム10が銀行の支店12と本店14との間
に設置される。また、銀行の異なる支店のそれぞれの端
末機16、18および20にデータがそれぞれ入力され
る。このデータは、各支店のローカルデータベースサー
バ22、24および26にそれぞれ格納され、各データ
ベースサーバは独自のローカル格納装置を有し、ここで
は参照符号28によって示される。
【0045】データベースサーバの出力は、一連のメッ
セージキューイングサーバ30、32および34にそれ
ぞれ接続され、それぞれが独自の格納装置を保有し、こ
こでは参照符号36で付されている。
【0046】メッセージキューイングサーバは、広域ネ
ットワーク40に対してその出力を行う。該ネットワー
クは、この出力を本店にあるメッセージキューイングサ
ーバ42に接続し、このサーバは、図示のように、各格
納装置44をそれぞれ有している。メッセージキューイ
ングサーバ30、32および34は、図示のように、接
続された格納装置52を有するデータベースサーバ50
と広域に通信を行う。メッセージキューイングサーバ4
2の出力は、図示のように、接続された格納装置52を
備えるデータベースサーバ50と接続される。このデー
タベースの情報は、本店の端末機54において閲覧が可
能である。
【0047】メッセージキューイングシステムの目的
は、更新された口座情報を本店に備えるために支店から
信頼して伝送することを可能にすることである。また、
本社と直接接続しているかどうかに関係なく、支店にお
けるトランザクションが進行できることも重要である。
【0048】次に、図2を参照すると、従来、60およ
び62で図示されるようなメッセージおよびヘッダは、
データディスク64のセクタ66、68、70および7
2に格納され、このセクタにおいてメッセージおよび随
伴するヘッダがランダムに配置されていた。
【0049】同時に、メッセージ状態の情報は、上記デ
ータディスクに格納されている各メッセージについての
レコードを含む、ログディスク80に格納され、着信順
位およびデータディスクにおける位置を含んでいた。さ
らに、トランザクションの状況は、メッセージおよび対
応するヘッダそれぞれについてログディスク80にログ
インされていた。
【0050】「X」82で示されるように、伝送が割り
込まれる場合、従来、ここでは84で図示されるよう
に、伝送割込み直前のデータディスクファイルの最新状
態が再構築できるようにログファイル全体を走査するこ
とが要求されていた。前述したように、これは時間のか
かるプロセスであり、クラッシュする直前のシステムの
状態を再構築するためには、ログファイル全体が走査さ
れなければならない。メッセージおよびヘッダの情報が
データディスクの非連続セクタに格納されるため、状況
ははるかに複雑になる。また、伝送割込み時に不正処理
されないメッセージを見つけるためにログファイルとデ
ータファイルとの相互通信が要求される。
【0051】次に、図3を参照すると、当該システムに
おいてメッセージデータ60およびメッセージヘッダ情
報62は、単一ディスク格納装置90の、ここでは9
2、94、96および98で図示される連続するセクタ
に格納される。キューエントリマネジメントテーブルを
利用することによってアクセス可能な順番にメッセージ
およびヘッダの情報が格納されることはこの発明の特徴
であり、後述するチェックポイントシステムを介してメ
ッセージデータを見つける。
【0052】メッセージデータがセクタすべてに格納さ
れず、むしろ上述のように連続して格納されることは明
らかである。ファイル90に格納されたデータにアクセ
ス可能とするために、キューエントリマネジメントテー
ブル(すなわちQEMT)は、制御情報100の入力と、メ
ッセージブロック102とログレコード104とを含む
セクタ情報を含む。これらはすべて関連データおよびヘ
ッダが見つけられるセクタを固有に特定するように設計
される。したがって、QEMTは、このようにしてシステム
状態を特定する。
【0053】図4、図5および図6と関連して明らかな
ように、キューエントリマネジメントテーブルは、メッ
セージデータとヘッダ情報との間に分散されたファイル
90に格納される。
【0054】次に、図4を参照する。一実施態様では、
ファイル90は、隣接するセクタがここでは106で図
示される情報ブロックを有するように構成され、情報ブ
ロックは、矢印108で図示されるように左から入り、
左から入るブロック番号1および右から出るブロック番
号13によって図示されるようにファイルを左から右へ
トラバースする。隣接するブロックおよびファイルを通
してのフローは、変化しないいわゆる書込み方向を作成
することが理解されよう。
【0055】次に、図5を参照する。上述のQEMT制御情
報ブロック100は、QEMT制御情報ブロック100の位
置がファイル90を通して周知のオフセットでのチェッ
クポイントを特定するように、その他の隣接ブロック1
06間に分散される。
【0056】QEMT制御ブロックを一定の間隔で分散する
目的は、場合によって、特定のメッセージデータおよび
ヘッダ情報を含む完全なシステム状態を、チェックポイ
ント番号またはチェックポイント間隔を単に指定するこ
とによって迅速に見つけることである。その結果、有効
情報を有する最後であるとしてチェックポイント間隔が
識別されると、QEMTブロックがどこで有効データが見つ
けられるか、ならびにその身元および位置を指定した後
に隣接ブロックが書き込まれるように、制御QEMT制御ブ
ロックのいずれかの側にメッセージデータおよびログレ
コードブロックを有することができる。
【0057】別の説明として、QEMT制御ブロックは、周
知の位置を回復プロセスに提供して当該システムの状態
を調査する。
【0058】次に、図6を参照すると、ブロック106
は110で図示されるように、メッセージデータブロッ
クとして、または112で図示されるように、増分ログ
ブロックとしてブロック112を図3中のログレコード
104に対応させながら利用される。これらのログレコ
ードは、隣接する下流ブロックでのメッセージへの状態
変化を記録する。なお、制御ブロックは、ファイルの調
査の開始に一部の既知のポイントのみ与え、一方ログレ
コードはファイルにおける個別のメッセージに関する情
報を提供する。
【0059】図3に戻って参照すると、ログレコード1
04は、開始点がQEMT制御ブロックで表されるデー
タに関連する多数の連続ログレコードの一つでしかない
ことが理解されよう。これらのログレコードは、先行の
メッセージブロックにおける情報への変更を、その特定
のメッセージブロックへの変更についての経過を完全に
付するように、記録する。
【0060】再び図6に戻ると、所定の数のメッセージ
ブロックは、チェックポイント後に生じた追加メッセー
ジデータブロックを特定するQEMT制御ブロックによって
境界が示されることに留意する。このセクタ内にトラン
ザクションログレコード112がある。ログレコードT
は、メッセージブロックのいずれか一つにおいての
変更を記載できることが明らかである。矢印114から
わかるように、情報は左から右へ流れる。この場合、ト
ランザクションログレコードTは、当該システムに
おけるいずれのメッセージについても状態の変化を記述
するが、これは、メッセージは受信されてもはや保持す
る必要がないという確認、またはメッセージは送信され
たがまだ受信されていない、または確認されていないと
いう確認の場合もある。さらに、上記は、この種のシス
テムにおいてメッセージを確実に伝送するために2パス
ハンドシェーキング技術(two pass handshaking techn
ique)を反映している。
【0061】たとえば、トランザクションログレコード
は、新規メッセージがその特定のポイントでファ
イルに追加されたことを示してもよい。ログレコードの
作成時にログレコードの位置が書込みヘッドによって決
定されることは理解されよう。そこで、ログレコードが
時間Tで作成される際、書込みヘッドはファイル中
のある特定のポイントに存在するが、ログレコードは、
全ファイル構造の中のいずれの位置においてもトランザ
クションおよびメッセージ照会することができる。
【0062】同様に、トランザクションログレコードT
、TおよびTは、これらのログレコードを時に
連続して投稿しながら、これらのメッセージが状態を変
えたことを反映する。
【0063】QEMTブロックおよびログレコードブロック
は、単一ファイル構造に挿入可能であり、さらに単一フ
ァイル構造は、一実施態様において一方向に情報の流れ
を有するため、先行技術の2ファイル構造を完全に排除
することが可能である。さらに、QEMTブロックおよびト
ランザクションログレコードブロックを利用することに
よって、不正処理されないこれらのメッセージを固有に
特定して情報割込みの影響を早期診断でき、システム故
障後のシステム状態を素早く回復できる。
【0064】次に図7を参照すると、キューエントリマ
ネジメントテーブルのヘッダの構成が120に図示され
ている。これによって明らかであるように、一実施態様
によると、ヘッダは、キューファイルのセグメント数1
22と、セグメントサイズ124と、QEMTシーケンス番
号もしくはタイムスタンプ126と、前回のセグメント
における最後尾のログレコードのシーケンス番号128
と、現行セグメント数130と、キューヘッドポインタ
132と、キューテイルポインタ134と、現行のセグ
メントにおいて次に利用可能なブロック136と、QEMT
入力の一覧138と、ディスクブロックの予約表140
と、調整者(コーディネータ)として動作する係属中の
トランザクション一覧142、および受け手として動作
する係属中のトランザクション一覧144とを含む。ヘ
ッダに含まれる情報は、回復プロセスの支援情報である
ことが理解されよう。
【0065】次に図8を参照すると、QEMI入力138
は、それぞれシーケンス番号146と、メッセージID
148と、QputまたはQgetのいずれかであるメッセージ
動作モード150と、メッセージ受け手のノード名15
2と、メッセージ受け手のサーバ名154と、「アクテ
ィブ」、「ペンディング」、「アボート」または「コミ
ット」のいずれかであるトランザクション状況156
と、受信者によって受信された最後の既知の応答である
参加者2PC投票(vote)158と、一組の追加フラグ1
60と、メッセージのポインタオンディスク位置162
とを含む。したがって、キューエントリマネジメントテ
ーブルは、ファイルの状況に関する正確な情報を提供
し、より詳しくは任意のキューエントリに関する情報を
提供する。
【0066】次に図9を参照すると、ここでは、単一メ
ッセージは隣接ブロックに格納されるため、再処理は、
隣接ブロックを読み出し返す(read back)ことを含
む。この結果、読出し操作中のヘッドの動作を軽減す
る。
【0067】要するに、先行技術では、読出しを実行す
るために隣接しないブロックを読出しヘッドがトラバー
スすることを要求し、したがって、相当時間を要する可
能性があった。当該システムにおいては、メッセージは
隣接ブロックに格納されているため、読出し操作時にこ
れらの隣接ブロックをトラバースすることのみ必要とな
る。同様に、続いて起こる書込み操作ではヘッドは限定
されたファイル量のみトラバースする。
【0068】要するに、次の書込みについてフォワード
方向の流れがあり、循環するため、データは隣接ブロッ
クに構成され、ここから上記の利点が生じる。
【0069】次に図10を参照すると、図6のトランザ
クションログレコード112は、一実施態様における特
殊なログレコードマーカ162を含む。本実施態様によ
ると、シーケンス番号164は、QgetまたはQputのいず
れかの操作を言及するメッセージ操作モード166とと
もに提供される。メッセージID168と、一組の操作
フラグ170と、「アクティブ」、「ペンディング」
「アボード」または「コミット」の状況を含むトランザ
クション状況172と、上述の参加者2PC投票174
と、キューファイルにおけるメッセージのオンディスク
位置を指すポインタ176が含まれる。
【0070】次に図11を参照すると、書込みまたはQ
put操作のフローチャートが示されている。本フローチ
ャートでは、180で図示されるように開始した後、他
のユーザがヘッド入力にアクセスできないようにブロッ
クキューヘッドポインタ182が効果的に一覧のヘッド
をロックする。その後、システムはキューヘッドポイン
タを増加し、トランザクション状況を「アクティブ読出
し」に設定する。これは、ハンドシェークプロセスの開
始を示す。
【0071】186で図示されるように、システムはそ
の後キューヘッドポインタのロックを解除し、その後1
88で図示されるように、メッセージをオンディスクキ
ューファイルから読出す。次にQEMテーブルは、190
で図示されるようにロックされ、ログレコードは、その
後192で図示されるように書込まれ、QEMテーブル
は、194で図示されるようにロックを解除される。QE
Mテーブルのロック解除ステップの出力は、メッセージ
伝送がトランザクションのものであるかどうかを確認す
る決定ブロック196に当てはまる。トランザクション
のものである場合、198で図示されるように、システ
ムは二相「コミット」プロトコルを作動し、ハンドシェ
ークを許容する。これによってQputまたは書込み操作が
完了する。
【0072】次に図12を参照して、Qgetまたは読出し
操作について説明する。200で図示されるように開始
されて、202で図示されるようにキューテイルポイン
タがロックされ、新規のQEM入力が、204で図示され
るようにキューテイルポインタを増加させて作成され
る。その後、206で図示されるように、システムはQE
M入力制御情報を記入し、トランザクション状況を「ア
クティブ制御」に設定する。その後、208で図示され
るように、キューテイルポインタはロックを解除され、
QEMテーブルは、210で図示されるようにロックされ
る。
【0073】次に、212で図示されるように、決定ブ
ロック214で示されるセグメントの境界線を横切るブ
ロックと共に、システムはオンディスクブロックを予約
表から割り当てる。ブロックがセグメント境界線を横切
る場合、216で図示されるように、システムはQEMTチ
ェックポイントのディスクへの書込みを強制する。これ
は、メモリ内コピーをディスクに書込むことを指す。ブ
ロック206は、QEMテーブルの状態のメモリ内コピー
およびこれによって得られるQEM入力を更新することが
理解される。
【0074】218で図示されるようにQEMTチェックポ
イントがディスクへの書込みを強制された後、当該シス
テムは、メッセージデータをディスクに書込みQEMテー
ブルのロックを解除する。決定ブロック220は、メッ
セージがトランザクションのものであるかどうかを確定
し、トランザクションのものである場合には、221で
図示されるように二相コミットプロトコルを作動してハ
ンドシェークを促進させる。書込みシーケンスの終了は
222で図示される。ブロック220は、ハンドシェー
キングプロトコルを動作している受け手末端を指す。
【0075】次に図13を参照すると、回復シーケンス
が図示され、230で図示されるような開始後、キュー
テーブルポインタは232で図示されるようにロックさ
れ、システムはその後、234で図示されるようにグロ
ーバルデータ構造を再格納する。このことは、システム
の状態を全体的に初期化する。その後、236で図示さ
れるように、システムは最新のQEMTについてキューファ
イルにおける各QEMTを走査する。これによって、通信割
込み前に最新のチェックポイントが確立される。その
後、238で図示されるように、システムは最新のQEMT
を有するログレコードについてこのセグメントのログレ
コードを走査する。これは、セグメントのログレコード
がQEMTにおいての入力によって照会されるメッセージに
適用されることを意味する。
【0076】決定ブロック240で図示されるように、
システムは走査すべきログレコードがさらにあるかどう
かを確認する。当該QEMTに関連するポインタに続いてQE
MTは最新のログレコードを特定することが理解されよ
う。しかしながら、その後走査する必要のある次のログ
レコードが実際にある可能性がある。この場合、当該シ
ステムは、242で図示されるようにメッセージのトラ
ンザクション状況について参加者とコンタクトを取る。
一例では、受信者はメッセージを受信したかどうかにつ
いて質問される。その後、システムは二相「コミット」
プロトコルを呼出して、244で図示されるようにトラ
ンザクションを解決する。これは、ハンドシェーキング
プロセスが2パスプロセスであることを示す。したがっ
て、ある人が受信者から受信を返されるような状況であ
っても、この状況を利用して当該システムが停止した地
点でハンドシェーキングプロセスを再開する。
【0077】246で明らかなように、当該システム
は、予約表の状況を更新し新規ファイルポインタ位置を
決定する。したがって、現行のセグメント番号130お
よび現行のセグメント136において次に利用可能なブ
ロックによって新規ファイルのポインタ位置を決定しな
がら、セクション全体が走査され、予約表140の状況
が更新される。
【0078】248で図示されるように、システムは、
250で図示されるように、回復が完了した地点で新規
QEMTの状況をディスクに書き出す。
【0079】上述したように、この発明の実施態様およ
びその変形例をここに記載したが、上述のものは単なる
例として提示されたものであってこれに限定されるもの
ではない。
【0080】
【発明の効果】以上のように、この発明によれば、サー
バ故障から迅速に回復できるようにメッセージおよびそ
の状況を単一ディスク上の効率的な単一ファイルに保存
し格納するメッセージキューイングシステムを提供する
ことができる。
【図面の簡単な説明】
【図1】 メッセージが本店からその支店に流れる、当
該システムを利用した典型的な銀行取引アプリケーショ
ンのブロック図である。
【図2】 データを一つのファイルに記録し、ログを別
のファイルに記録し、前記データを非連続セクタに格納
し、最新状況を再構築するためにログファイル全体を走
査することを要求しながら、回復プロセスが当該システ
ムの全メッセージの完全な状態を得るためにデータファ
イルおよびログファイルの両方を含む、2つのファイル
システムを表す線図である。
【図3】 単一ファイルを利用して、データおよびQEMT
マッピングテーブルを格納することにより、ハードウェ
アを最小にし、データの回復に要する走査時間を短縮し
て紛失データを迅速に回復可能にする当該システムを表
す線図である。
【図4】 単一書込み方向の巡回ファイルを示した、図
3のファイル内にあるデータブロックの格納装置を表す
線図である。
【図5】 QEMT制御ブロックを利用することによって有
効データの位置および/または場所を容易に確認できる
ことを示した、ファイル内の各種の周知の位置またはオ
フセットにおける可能なQEMT制御ブロックを表す線図で
ある。
【図6】 ファイルをフォワード方向に書き込めるよう
に、メッセージデータブロックによって状態変化のログ
レコードが分散することを示す線図である。
【図7】 本QEMT構造を示し、タイムスタンプとして機
能し、かつ当該システムを再格納するために必要とされ
る増分のチェックポイント情報を有した、QEMTシーケン
ス番号を含む表である。
【図8】 個別のメッセージ状況を再格納するための情
報を提供する表である。
【図9】 巡回キューを実行する循環システムにおいて
フォワード方向へのデータの流れを示す線図である。
【図10】 図6のログ入力によって、増分ログレコー
ドに格納された情報を示す表である。
【図11】 キューからメッセージを取り出すための手
順を示すフローチャートである。
【図12】 メッセージをキューに書込むための手順を
図示するフローチャートである。
【図13】 完全に再格納された状態をもたらす最新の
QEMTを識別後にログレコードの次の読出しを行い、最新
のQEMTが初期走査によって識別される回復プロセスを示
すフローチャートである。
【符号の説明】
60 MSGデータ、62 MSGヘッダ情報、92 セク
タ、94 セクタ、96 セクタ、98 セクタ、10
0 QEMT(制御情報)、102 MSGブロック、104
ログレコード。
───────────────────────────────────────────────────── フロントページの続き (71)出願人 597067574 201 BROADWAY, CAMBRI DGE, MASSACHUSETTS 02139, U.S.A. (72)発明者 デビッド・ダブリュ・エッチ・ワング アメリカ合衆国、マサチューセッツ州、ボ ックスボロウ、グギンズ・レーン 162 (72)発明者 デレク・エル・シュベンケ アメリカ合衆国、マサチューセッツ州、マ ールボロ、ライス・ストリート 95

Claims (7)

    【特許請求の範囲】
  1. 【請求項1】 キューの状態と、メッセージキューデー
    タと、ログレコードを含んで連結されたメッセージキュ
    ーを有するトランザクションメッセージを伝送する手段
    と、 受容サイトで、上記メッセージキューデータと上記ログ
    レコードとが組み合わされたオンディスクファイル構造
    を用いている単一ディスクの単一ファイルに上記トラン
    ザクションメッセージキューデータを格納する手段とを
    含むメッセージキューイングシステム。
  2. 【請求項2】 上記単一ディスクにアクセスする読出し
    /書込みヘッドと、書込み動作中に上記ヘッドを単一フ
    ォワード方向で駆動する手段とをさらに含むことを特徴
    とする請求項1に記載のメッセージキューイングシステ
    ム。
  3. 【請求項3】 上記ディスクの予め選択された場所に配
    置されて、制御情報ブロックと、少なくとも1つのメッ
    セージブロックと、少なくとも1つのログレコードとを
    有するキューエントリマネジメントテーブルをさらに含
    む請求項1記載のメッセージキューイングシステム。
  4. 【請求項4】 上記予め選択された場所が上記ファイル
    の開始から固定されたオフセットと対応し、これによっ
    てメッセージキューデータの最新状況を迅速に識別する
    ことができる請求項3記載のメッセージキューイングシ
    ステム。
  5. 【請求項5】 上記受容サイトで、上記情報の前の最新
    キューエントリマネジメントテーブルに呼応する上記伝
    送の割込み時に、上記メッセージキューを回復する手段
    をさらに含み、これによって、上記最新キューエントリ
    マネジメントテーブルに含まれる情報から受信され格納
    された最新有効情報を見つける請求項4記載のメッセー
    ジキューイングシステム。
  6. 【請求項6】 上記ファイルが複数のセクタに分割さ
    れ、上記テーブルが有効情報を有するセクタの位置に対
    するチェックポイントを構成するように上記オフセット
    がキューエントリマネジメントテーブルをセクタの最初
    に配置し、これによって上記割込み前の最新の有効情報
    が、上記最新のテーブルを包むセクタの識別を通して迅
    速に見つけ出される請求項5記載のメッセージキューイ
    ングシステム。
  7. 【請求項7】 上記マネジメントキューテーブルが隣接
    ブロックに書込まれ、単一ファイルの結果、フォワード
    書込み方向および隣接メッセージキューデータブロック
    システムによりシーク時間を最小限に抑え、伝送割込み
    から完全かつ迅速な回復を増大させる請求項2記載のメ
    ッセージキューイングシステム。
JP10247027A 1997-11-03 1998-09-01 メッセージキューイングシステム Pending JPH11184744A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/963,188 US6353834B1 (en) 1996-11-14 1997-11-03 Log based data architecture for a transactional message queuing system
US08/963188 1997-11-03

Publications (1)

Publication Number Publication Date
JPH11184744A true JPH11184744A (ja) 1999-07-09

Family

ID=25506879

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10247027A Pending JPH11184744A (ja) 1997-11-03 1998-09-01 メッセージキューイングシステム

Country Status (3)

Country Link
US (1) US6353834B1 (ja)
EP (1) EP0918284A3 (ja)
JP (1) JPH11184744A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7222151B1 (en) 1999-11-17 2007-05-22 International Business Machines Corporation Technique for communication with mobile data processing devices by way of mobile software agents
JP2012155740A (ja) * 2005-06-27 2012-08-16 Ab Initio Technology Llc メッセージ待ち行列の管理
JP2013505499A (ja) * 2009-09-18 2013-02-14 アルカテル−ルーセント 動的ネットワークでの改善されたサーバ冗長性の方法

Families Citing this family (120)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6801938B1 (en) * 1999-06-18 2004-10-05 Torrent Systems, Inc. Segmentation and processing of continuous data streams using transactional semantics
US6516423B1 (en) * 1999-10-21 2003-02-04 Ericsson Inc. System and method for providing multiple queue redundancy in a distributed computing system
US6636941B1 (en) * 2000-01-18 2003-10-21 International Business Machines Corporation Enhanced stable disk storage
US6769027B1 (en) * 2000-01-31 2004-07-27 Avaya Technology Corp. System and method for using multi-headed queues for bookmarking in backup/recover scenarios
US8086697B2 (en) 2005-06-28 2011-12-27 Claria Innovations, Llc Techniques for displaying impressions in documents delivered over a computer network
US7475404B2 (en) 2000-05-18 2009-01-06 Maquis Techtrix Llc System and method for implementing click-through for browser executed software including ad proxy and proxy cookie caching
US6842763B2 (en) * 2000-07-25 2005-01-11 International Business Machines Corporation Method and apparatus for improving message availability in a subsystem which supports shared message queues
US6957390B2 (en) * 2000-11-30 2005-10-18 Mediacom.Net, Llc Method and apparatus for providing dynamic information to a user via a visual display
US7103586B2 (en) * 2001-03-16 2006-09-05 Gravic, Inc. Collision avoidance in database replication systems
US6662196B2 (en) * 2001-03-16 2003-12-09 Iti, Inc. Collision avoidance in bidirectional database replication
US7177866B2 (en) * 2001-03-16 2007-02-13 Gravic, Inc. Asynchronous coordinated commit replication and dual write with replication transmission and locking of target database on updates only
US6901533B2 (en) * 2001-08-23 2005-05-31 International Business Machines Corporation Reconstructing memory residents queues of an inactive processor
US20030093440A1 (en) * 2001-11-06 2003-05-15 John Merrells Replica update vectors
US6950836B2 (en) * 2002-03-14 2005-09-27 International Business Machines Corporation Method, system, and program for a transparent file restore
US20040030728A1 (en) * 2002-08-08 2004-02-12 Nizamudeen Ishmael Deferred renaming of files
US7603341B2 (en) 2002-11-05 2009-10-13 Claria Corporation Updating the content of a presentation vehicle in a computer network
US7003532B2 (en) 2002-11-27 2006-02-21 Microsoft Corporation System and method for scaleable multiplexed transactional log recovery
CA2703143A1 (en) * 2002-12-17 2004-07-08 Breathablebaby, Llc Crib shield system and other breathable apparatus
EP1606719A4 (en) * 2003-03-05 2010-04-28 Websense Uk Ltd ASYNCHRONOUS MECHANISM AND NEWS POOL
GB0308264D0 (en) * 2003-04-10 2003-05-14 Ibm Recovery from failures within data processing systems
US8566292B2 (en) * 2003-04-14 2013-10-22 Schneider Electric It Corporation Method and system for journaling and accessing sensor and configuration data
US7185029B1 (en) * 2003-06-27 2007-02-27 Unisys Corporation Method and apparatus for maintaining, and updating in-memory copies of the first and second pointers to reference the new versions of the first and second control structures that indicate available and allocated portions of usable space in the data file
US7424498B1 (en) 2003-06-30 2008-09-09 Data Domain, Inc. Probabilistic summary data structure based encoding for garbage collection
US7451168B1 (en) 2003-06-30 2008-11-11 Data Domain, Inc. Incremental garbage collection of data in a secondary storage
US7584264B2 (en) * 2003-08-19 2009-09-01 Google Inc. Data storage and retrieval systems and related methods of storing and retrieving data
US20060069717A1 (en) * 2003-08-27 2006-03-30 Ascential Software Corporation Security service for a services oriented architecture in a data integration platform
US20050222931A1 (en) * 2003-08-27 2005-10-06 Ascential Software Corporation Real time data integration services for financial information data integration
US7490083B2 (en) 2004-02-27 2009-02-10 International Business Machines Corporation Parallel apply processing in data replication with preservation of transaction integrity and source ordering of dependent updates
US8688634B2 (en) * 2004-02-27 2014-04-01 International Business Machines Corporation Asynchronous peer-to-peer data replication
US7644050B2 (en) * 2004-12-02 2010-01-05 International Business Machines Corporation Method and apparatus for annotation-based behavior extensions
US7543001B2 (en) * 2004-06-17 2009-06-02 International Business Machines Corporation Storing object recovery information within the object
US8131674B2 (en) * 2004-06-25 2012-03-06 Apple Inc. Methods and systems for managing data
US8255413B2 (en) 2004-08-19 2012-08-28 Carhamm Ltd., Llc Method and apparatus for responding to request for information-personalization
US8078602B2 (en) 2004-12-17 2011-12-13 Claria Innovations, Llc Search engine for a computer network
US7401102B2 (en) * 2004-10-19 2008-07-15 International Business Machines Corporation Management of global counters in transactions
US7693863B2 (en) 2004-12-20 2010-04-06 Claria Corporation Method and device for publishing cross-network user behavioral data
US8650178B2 (en) * 2005-01-07 2014-02-11 Thomson Reuters Global Resources Systems, methods and software for distributed loading of databases
JP2006215954A (ja) * 2005-02-07 2006-08-17 Hitachi Ltd ストレージシステム及びストレージ装置のアーカイブ管理方法
US8073866B2 (en) 2005-03-17 2011-12-06 Claria Innovations, Llc Method for providing content to an internet user based on the user's demonstrated content preferences
US20070118559A1 (en) * 2005-11-18 2007-05-24 Microsoft Corporation File system filters and transactions
WO2008048304A2 (en) 2005-12-01 2008-04-24 Firestar Software, Inc. System and method for exchanging information among exchange applications
US7640395B2 (en) * 2006-03-30 2009-12-29 Intel Corporation Maintaining write ordering in a system
US9189303B2 (en) * 2006-08-10 2015-11-17 International Business Machines Corporation Shadow queues for recovery of messages
US7669081B2 (en) * 2006-09-27 2010-02-23 Raytheon Company Systems and methods for scheduling, processing, and monitoring tasks
US10567322B2 (en) 2007-05-22 2020-02-18 International Business Machines Corporation Handling large messages via pointer and log
US9021503B2 (en) * 2007-11-16 2015-04-28 Microsoft Technology Licensing, Llc Coordinating application state and communication medium state
US8719841B2 (en) * 2007-11-16 2014-05-06 Microsoft Corporation Dispatch mechanism for coordinating application and communication medium state
US8505030B2 (en) * 2007-11-16 2013-08-06 Microsoft Corporation Coordinating resources using a volatile network intermediary
US9652516B1 (en) * 2008-03-07 2017-05-16 Birst, Inc. Constructing reports using metric-attribute combinations
US7917494B2 (en) * 2008-07-11 2011-03-29 Adobe Software Trading Company Limited System and method for a log-based data storage
US20100228766A1 (en) * 2009-02-23 2010-09-09 International Business Machines Corporations Queue message retrieval by selection criteria
US20100228748A1 (en) * 2009-02-23 2010-09-09 International Business Machines Corporation Data subset retrieval from a queued message
US8301706B2 (en) 2009-06-15 2012-10-30 Microsoft Corporation Routing of pooled messages via an intermediary
US8549538B2 (en) 2010-03-18 2013-10-01 Microsoft Corporation Coordinating communication medium state for subtasks
US8250234B2 (en) 2010-04-26 2012-08-21 Microsoft Corporation Hierarchically disassembling messages
US8386859B2 (en) 2010-04-30 2013-02-26 International Business Machines Corporation On-chip non-volatile storage of a test-time profile for efficiency and performance control
US8276018B2 (en) 2010-04-30 2012-09-25 International Business Machines Corporation Non-volatile memory based reliability and availability mechanisms for a computing device
US8341134B2 (en) * 2010-12-10 2012-12-25 International Business Machines Corporation Asynchronous deletion of a range of messages processed by a parallel database replication apply process
US8990536B2 (en) 2011-06-01 2015-03-24 Schneider Electric It Corporation Systems and methods for journaling and executing device control instructions
US8898520B1 (en) * 2012-04-19 2014-11-25 Sprint Communications Company L.P. Method of assessing restart approach to minimize recovery time
CN103605479B (zh) * 2013-10-16 2016-06-01 北京奇虎科技有限公司 数据文件写入方法及系统、数据文件读取方法及系统
US9727625B2 (en) 2014-01-16 2017-08-08 International Business Machines Corporation Parallel transaction messages for database replication
US9619506B2 (en) * 2014-11-25 2017-04-11 Sap Se Method and system to avoid deadlocks during a log recovery
US10341410B2 (en) 2016-05-11 2019-07-02 Oracle International Corporation Security tokens for a multi-tenant identity and data security management cloud service
US10425386B2 (en) 2016-05-11 2019-09-24 Oracle International Corporation Policy enforcement point for a multi-tenant identity and data security management cloud service
US9838377B1 (en) * 2016-05-11 2017-12-05 Oracle International Corporation Task segregation in a multi-tenant identity and data security management cloud service
US10878079B2 (en) 2016-05-11 2020-12-29 Oracle International Corporation Identity cloud service authorization model with dynamic roles and scopes
US9781122B1 (en) 2016-05-11 2017-10-03 Oracle International Corporation Multi-tenant identity and data security management cloud service
US10454940B2 (en) 2016-05-11 2019-10-22 Oracle International Corporation Identity cloud service authorization model
US9838376B1 (en) 2016-05-11 2017-12-05 Oracle International Corporation Microservices based multi-tenant identity and data security management cloud service
US10581820B2 (en) 2016-05-11 2020-03-03 Oracle International Corporation Key generation and rollover
US10585682B2 (en) 2016-08-05 2020-03-10 Oracle International Corporation Tenant self-service troubleshooting for a multi-tenant identity and data security management cloud service
US10516672B2 (en) 2016-08-05 2019-12-24 Oracle International Corporation Service discovery for a multi-tenant identity and data security management cloud service
US10530578B2 (en) 2016-08-05 2020-01-07 Oracle International Corporation Key store service
US10721237B2 (en) 2016-08-05 2020-07-21 Oracle International Corporation Hierarchical processing for a virtual directory system for LDAP to SCIM proxy service
US10255061B2 (en) 2016-08-05 2019-04-09 Oracle International Corporation Zero down time upgrade for a multi-tenant identity and data security management cloud service
US10735394B2 (en) 2016-08-05 2020-08-04 Oracle International Corporation Caching framework for a multi-tenant identity and data security management cloud service
US10263947B2 (en) 2016-08-05 2019-04-16 Oracle International Corporation LDAP to SCIM proxy service
US10484382B2 (en) 2016-08-31 2019-11-19 Oracle International Corporation Data management for a multi-tenant identity cloud service
US10846390B2 (en) 2016-09-14 2020-11-24 Oracle International Corporation Single sign-on functionality for a multi-tenant identity and data security management cloud service
US10511589B2 (en) 2016-09-14 2019-12-17 Oracle International Corporation Single logout functionality for a multi-tenant identity and data security management cloud service
US10594684B2 (en) 2016-09-14 2020-03-17 Oracle International Corporation Generating derived credentials for a multi-tenant identity cloud service
EP3513542B1 (en) 2016-09-16 2021-05-19 Oracle International Corporation Tenant and service management for a multi-tenant identity and data security management cloud service
US10341354B2 (en) 2016-09-16 2019-07-02 Oracle International Corporation Distributed high availability agent architecture
US10445395B2 (en) 2016-09-16 2019-10-15 Oracle International Corporation Cookie based state propagation for a multi-tenant identity cloud service
US10484243B2 (en) 2016-09-16 2019-11-19 Oracle International Corporation Application management for a multi-tenant identity cloud service
US10567364B2 (en) 2016-09-16 2020-02-18 Oracle International Corporation Preserving LDAP hierarchy in a SCIM directory using special marker groups
US10791087B2 (en) 2016-09-16 2020-09-29 Oracle International Corporation SCIM to LDAP mapping using subtype attributes
US10904074B2 (en) 2016-09-17 2021-01-26 Oracle International Corporation Composite event handler for a multi-tenant identity cloud service
US10261836B2 (en) 2017-03-21 2019-04-16 Oracle International Corporation Dynamic dispatching of workloads spanning heterogeneous services
US10454915B2 (en) 2017-05-18 2019-10-22 Oracle International Corporation User authentication using kerberos with identity cloud service
US10348858B2 (en) 2017-09-15 2019-07-09 Oracle International Corporation Dynamic message queues for a microservice based cloud service
US11308132B2 (en) 2017-09-27 2022-04-19 Oracle International Corporation Reference attributes for related stored objects in a multi-tenant cloud service
US11271969B2 (en) 2017-09-28 2022-03-08 Oracle International Corporation Rest-based declarative policy management
US10834137B2 (en) 2017-09-28 2020-11-10 Oracle International Corporation Rest-based declarative policy management
US10705823B2 (en) 2017-09-29 2020-07-07 Oracle International Corporation Application templates and upgrade framework for a multi-tenant identity cloud service
US10715564B2 (en) 2018-01-29 2020-07-14 Oracle International Corporation Dynamic client registration for an identity cloud service
US10931656B2 (en) 2018-03-27 2021-02-23 Oracle International Corporation Cross-region trust for a multi-tenant identity cloud service
US11165634B2 (en) 2018-04-02 2021-11-02 Oracle International Corporation Data replication conflict detection and resolution for a multi-tenant identity cloud service
US10798165B2 (en) 2018-04-02 2020-10-06 Oracle International Corporation Tenant data comparison for a multi-tenant identity cloud service
US11258775B2 (en) 2018-04-04 2022-02-22 Oracle International Corporation Local write for a multi-tenant identity cloud service
US11012444B2 (en) 2018-06-25 2021-05-18 Oracle International Corporation Declarative third party identity provider integration for a multi-tenant identity cloud service
US10764273B2 (en) 2018-06-28 2020-09-01 Oracle International Corporation Session synchronization across multiple devices in an identity cloud service
US11693835B2 (en) 2018-10-17 2023-07-04 Oracle International Corporation Dynamic database schema allocation on tenant onboarding for a multi-tenant identity cloud service
US11321187B2 (en) 2018-10-19 2022-05-03 Oracle International Corporation Assured lazy rollback for a multi-tenant identity cloud service
CN109376015A (zh) * 2018-10-23 2019-02-22 苏州思必驰信息科技有限公司 用于任务调度系统的日志阻塞解决方法及系统
US11651357B2 (en) 2019-02-01 2023-05-16 Oracle International Corporation Multifactor authentication without a user footprint
US11061929B2 (en) 2019-02-08 2021-07-13 Oracle International Corporation Replication of resource type and schema metadata for a multi-tenant identity cloud service
US11321343B2 (en) 2019-02-19 2022-05-03 Oracle International Corporation Tenant replication bootstrap for a multi-tenant identity cloud service
US11669321B2 (en) 2019-02-20 2023-06-06 Oracle International Corporation Automated database upgrade for a multi-tenant identity cloud service
US11792226B2 (en) 2019-02-25 2023-10-17 Oracle International Corporation Automatic api document generation from scim metadata
US11423111B2 (en) 2019-02-25 2022-08-23 Oracle International Corporation Client API for rest based endpoints for a multi-tenant identify cloud service
US10956062B2 (en) 2019-07-09 2021-03-23 International Business Machines Corporation Aggregating separate data within a single data log wherein single data log is divided in a plurality of blocks assigned to plurality of different streams
US11870770B2 (en) 2019-09-13 2024-01-09 Oracle International Corporation Multi-tenant identity cloud service with on-premise authentication integration
US11687378B2 (en) 2019-09-13 2023-06-27 Oracle International Corporation Multi-tenant identity cloud service with on-premise authentication integration and bridge high availability
US11194665B2 (en) 2019-09-26 2021-12-07 Walmart Apollo, Llc Systems and methods for seamless redelivery of missing data
CN110879813B (zh) * 2019-11-20 2024-04-12 浪潮软件股份有限公司 一种基于二进制日志解析的MySQL数据库增量同步实现方法
US11611548B2 (en) 2019-11-22 2023-03-21 Oracle International Corporation Bulk multifactor authentication enrollment
CN112905356B (zh) * 2019-12-04 2023-08-04 腾讯科技(深圳)有限公司 一种业务控制的系统、方法和装置
CN113296971B (zh) * 2020-07-14 2024-04-19 阿里巴巴集团控股有限公司 消息队列的扩容、缩容、处理方法、装置及设备

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
GB2263988B (en) * 1992-02-04 1996-05-22 Digital Equipment Corp Work flow management system and method
GB2276737A (en) * 1993-03-30 1994-10-05 Ibm Fault-tolerant transaction-oriented data processing
GB2276739A (en) * 1993-03-30 1994-10-05 Ibm System for storing persistent and non-persistent queued data.
WO1996027157A1 (fr) * 1995-02-28 1996-09-06 Ntt Data Communications Systems Corporation Systeme associatif decentralise et traitements de journaux et de reprise dans celui-ci
US5802344A (en) * 1995-11-03 1998-09-01 International Business Machines Corporation Method and apparatus for dynamic segment allocation in log structured arrays
AU1846497A (en) * 1996-01-26 1997-08-20 Exabyte Corporation Early warning for boundary position in serpentine recording
GB2311443A (en) * 1996-03-23 1997-09-24 Ibm Data message transfer in batches with retransmission
US5774715A (en) * 1996-03-27 1998-06-30 Sun Microsystems, Inc. File system level compression using holes
US5907603A (en) * 1996-05-17 1999-05-25 Alcatel Usa, Inc. Database-driven automatic message accounting system and method

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7222151B1 (en) 1999-11-17 2007-05-22 International Business Machines Corporation Technique for communication with mobile data processing devices by way of mobile software agents
JP2012155740A (ja) * 2005-06-27 2012-08-16 Ab Initio Technology Llc メッセージ待ち行列の管理
JP2013505499A (ja) * 2009-09-18 2013-02-14 アルカテル−ルーセント 動的ネットワークでの改善されたサーバ冗長性の方法

Also Published As

Publication number Publication date
EP0918284A2 (en) 1999-05-26
EP0918284A3 (en) 2002-09-25
US6353834B1 (en) 2002-03-05

Similar Documents

Publication Publication Date Title
JPH11184744A (ja) メッセージキューイングシステム
US6728879B1 (en) Transactional log with multi-sector log block validation
US7398366B2 (en) Tracking incremental changes in a mass storage system
US6260125B1 (en) Asynchronous write queues, reconstruction and check-pointing in disk-mirroring applications
US6934877B2 (en) Data backup/recovery system
US6647510B1 (en) Method and apparatus for making available data that was locked by a dead transaction before rolling back the entire dead transaction
US7200623B2 (en) Methods to perform disk writes in a distributed shared disk system needing consistency across failures
US5870761A (en) Parallel queue propagation
US7930278B2 (en) Methods to perform disk writes in a distributed shared disk system needing consistency across failures
US7296039B2 (en) Managing checkpoint queues in a multiple node system
US5781912A (en) Recoverable data replication between source site and destination site without distributed transactions
US6701455B1 (en) Remote copy system with data integrity
US20040139127A1 (en) Backup system and method of generating a checkpoint for a database
US9229970B2 (en) Methods to minimize communication in a cluster database system
US6859824B1 (en) Storage system connected to a data network with data integrity
EP1412858B1 (en) Managing checkpoint queues in a multiple node system
CN112822091B (zh) 一种消息处理方法和装置
US7113953B2 (en) System and method for efficiently writing data from an in-memory database to a disk database
JP4280306B2 (ja) トランザクションメッセージキューイングシステムのためのログベースデータアーキテクチャ
GB2378536A (en) A method of logging message activity
Ji Instant snapshots in a federated array of bricks
US6901533B2 (en) Reconstructing memory residents queues of an inactive processor
EP1244015A2 (en) Parallel replication mechanism for state information produced by serialized processing
JPS6191735A (ja) オンラインシステムのジヤ−ナル情報処理方式
JPH0863435A (ja) ファイルの回復方法