JPH05502747A - 大容量データベースシステムにおける回復 - Google Patents

大容量データベースシステムにおける回復

Info

Publication number
JPH05502747A
JPH05502747A JP3508679A JP50867991A JPH05502747A JP H05502747 A JPH05502747 A JP H05502747A JP 3508679 A JP3508679 A JP 3508679A JP 50867991 A JP50867991 A JP 50867991A JP H05502747 A JPH05502747 A JP H05502747A
Authority
JP
Japan
Prior art keywords
message
segment
database
recovery information
address
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
JP3508679A
Other languages
English (en)
Inventor
クルーシ,フレデリツク シー.
ヘイルマン,デイビツド ダブリユー.,ジユニア.
Original Assignee
ユニシス コーポレイシヨン
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 ユニシス コーポレイシヨン filed Critical ユニシス コーポレイシヨン
Publication of JPH05502747A publication Critical patent/JPH05502747A/ja
Pending legal-status Critical Current

Links

Classifications

    • 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/1446Point-in-time backing up or restoration of persistent data
    • 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/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1469Backup restoration techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/42Systems providing special services or facilities to subscribers
    • H04M3/50Centralised arrangements for answering calls; Centralised arrangements for recording messages for absent or busy subscribers ; Centralised arrangements for recording messages
    • H04M3/53Centralised arrangements for recording incoming messages, i.e. mailbox systems
    • H04M3/533Voice mail systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/80Database-specific techniques

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるため要約のデータは記録されません。

Description

【発明の詳細な説明】 大容量データベース/ステムにおける回復発明の背景 1発明の分野 本発明は大容量記憶装置に関するものであり、特に、蓄積データに関するオーデ ィントドレイルメカニズム(監視追跡機能)を利用しないシステムの回復に関す るものである。更に詳しくは、本発明は方法及び装置を含み、これにより、ディ ンタルフンビュータンステムにおいて稼働するクライアントアプリケーノヨ/は 高容量、リアルタイムデータの種々のデータ長のパケットに対して、ストア、リ ドリーブ、デリートが可能となる。そして、これらのデータはその揮発性のため に保管できず、その大容量のためにオーディットできないものである。また、本 発明は例えば、電話音声メッセージングンステム、生産工程制御システム、研究 データシステム等のような環境にも適用可能である。
2従来技術の説明 従来の大容量データベースシステムに対して、多数の種々の寿命のデータパケッ ト(以後これをメツセージと称する)をリアルタイムで受信し、そのメツセージ をディスクヘスドアするという要求がある。そのようなシステムでは、システム の中断やI10コンポーネントの故障発生時におけるデータの一貫性と回復性が 要求される。メツセージがレコードされているという情報をシステムのクライア ントアプリケーションが1度でも受け取れば、システムの中断やI10コンポー ネントの故障がそのメソセージの喪失を招いてはならない。この種のシステムは 数千のディジタルデータチャンネルをサポートしており、各チャンネルは1秒あ たり数千バイトのレートでリアルタイムにデータの送受信を実行している。
もしも、全てのデータチャンネルがデータの受信とディスクへの書き込みを実行 していると、そのシステムは1秒あたり数千万バイト以上の持続的な実効性能を 提供することを要求される。
この種の/ステムでは、メツセージは消去されるまで保持しなければならないた め数十万のメソセージの蓄積が要求される。そして各メツセージは何千ものバイ ト長を有する。従って、そのようなシステムでは、数百億バイトものデータを蓄 積することが要求される。更に、クライアントアプリケーションがメ、セージを 1つのデータチャンネル上に送信することを要求するとき、要求への迅速な応答 が期待される。例えば、テレフォンメツセージシステムにおいて、選択された電 話回線上にボイスアナウンスメントをのせる要求に対して、1秒の数分の1程度 のリアルタイムな応答を要求する。
上述の要望に対して効果のある従来の方法は、完了したデータ処理のオーディッ トトレイルをつくるオーディットメカニズムを有するデータベースを利用するも のである。構造化されたデータデーベースが好ましい。なぜならば、構造化され たデータベースは大容量のデータに対して迅速なアクセスを提供するからである 。オーディットトレイルはI10コンポーネント故障や、システムの中断からの 保護を提供する。オーディットメカニズムは、各処理が完了する前にデータ更新 前後の、各々のデータベースレコードを表すレコードがオーディットファイルへ 書き込まれることで実施される。このオーディットファイルに更に加えて、定期 的なデータベースのダンプをとることで、データベースの各レコードを退避させ ておく。このようにして、最新のデータベースダンプとオーディットファイルに より、I10コンポーネント故障やシステムの中断からの回復が達成される。
しかしながら、大容量の揮発性データの記録を要求される上述の環境にとって、 上述のデータベースの保護方法は効果的ではない。代表的なメツセージのライフ タイムが24時間以下であるシステムにおいては、毎夜のデータベースダンプは 何の利益をも生み出さない。故障時において、最新のダンプに登録されたメツセ ージの多くの部分は使いものにならない。更に、そのようなリアルタイムの高速 データ処理/ステム(1秒あたり1千2百万バイト以上)においては、オーディ ティングメカニズムを実行することは現在の周辺装置をもってしては実際のとこ ろ実現できない。オーディソトトレイルメカニズムを用いると、処理されている 大容量のデータは、そのコンピュータシステムのI10サブシステムにおける1 つの周辺袋!に対して、書き込みの要求を出しながらノーケンノヤルに書き込ま れなければならない。周辺装置の開発における現状の技術状態においては、上述 のようなオーディノドメカニズムを提供するように高速処理を実(テし、データ を吸収する周辺装置には費用効果は存在し得ない。更に、オーディノドメディア の管理は禁止的な好ましいとはいえない複雑な要望をもたらす。
上述のタイプのシステムを実現するためのもう1つのアプローチは、従来からの ミラードディスク上のフラットファイルである。このミラードディスク上にはフ ラットファイルに対するインデックスまたはディレクトリ構造の為のデータベー スを有する。そのようなフラットファイルは、関連づけられたインデックス構造 を持たずに、典型的にそのメツセージデータを蓄積する為に使用されるレコード を有する。レコードがフラットファイルに書き込まれるとき、一般的にオーディ ノドトレイルは生成されない。このようにして、上述のオーディ、トメカニズム の欠点は除去される。しかしながら、フラットファイル中のデータはI10コン ポーネント故障やシステムの中断という危険にさらされている。絶縁されたI1 0コンポーネント故障や/ステム中断からの保護を提供するために、フラットフ ァイルの2つのコピーが保持される。そして、そのファイルのコピーは互いに共 通のI10パスやコンポーネントを持たない。フラットファイルにアクセスする ルーチンは両方のコピーを1つのファイルとみなす。データがファイルに書き込 まれるとき、ファイルの両コピーは更新される。フラットファイルからの読みだ し操作では、データは1つのファイルより読み出される。1つのファイルのコピ ーからの読みだし中において異常が発生すると、他のコピーが利用される。もし 、フラットファイルの両方のコピーが読み出せない場合はI10エラーがストレ ーシンステムよりリターンされる。記述された方法でアクセスされるファイルは ミラードディスク上に備わっている。ミラードディスクシステムはレコードの書 き込み中のI10要求を倍増する。
ミラードディスクの利用はファイルの2つのコピーの間に不一致をもたらす原因 となる。例えば、そのような不一致は以下の手順にてもたらされる。各コピーに 対して書き込み操作が開始され、■つのファイルの更新が完了する。他のファイ ルコピーに対してその情報が書き込まれる前にシステムが中断したとする。する と、システムがイニノヤライズされるとき、その2つのファイルのコピー間に不 一致が存在する。
通常、ミラードディスク上のフラットファイルはレコードデータに高速にアクセ スするためのインデックス構造を提供しない。データへの高速アクセスを提供す るために、ミラードディスク上のデータベースとフラットファイルのコンビ不− 7ヨノが利用され得る。データベースはキー検索を利用して効率的なメンセージ へのアクセスの可能性を提供する。データベースは、メツセージに関連した各セ グメントに対応したフラットファイル中のレコード番号を備えるデータを含む。
データベース中のレコードが小さいのでオーディノドデータベースが利用可能で ある。データベースのオーディノドメカニズムはI10コンポーネント故障から の保護を提供する。
インデックスもしくは直接構造の為のデータベースとデータ蓄積のためのミラー ドディスク上のフラットファイルを使用することはいくつかの望ましい長所を結 果としてもたらす。データベースはメツセージに関連するセグメントへの高速な アクセスを提供する。ミラードフラントファイルはI10コンポーネント故障や /ステムの中断からの保護を、1つの周辺装置に集中されるオーディノドメカニ ズムの前述の欠点を生ずること無しに提供する。新たなI10オペレーションが メツセージのストア時に要求されるが、そのI10オペレーションが全ディスク サブシステムにわたり同時に発生する書き込みを許可することは歓迎すべきこと である。また、フラットファイルにたいする追加の■/○オペレーションは、上 述したようなオーディノドデータベースにたいするI10要求よりも少ないとい うことも歓迎すべきことである。
しかしながら、前記の処理方法は周辺装置にデータベースのフラットファイルと の不一致をもたらす。また、周辺装置に対して、フラットファイルが稼働しなく なるような状況をもたらす。データベースの更新前のレコードを記述するデータ ベースオーディットファイルからのイメージを適用することによりデータベース がロールバック(その論理的状態が時間的に後退する)した場合、または、故障 や中断の後にオーディットファイルからの回復が完璧にできない場合、フラット ファイルはデータベースと不一致となる。もしこれが発生すると、フラットファ イルの不正なレコードが使用されたり重ね書きされたりする。データベースロー ルバックは論理エラーの修正を目的として、通常的に実行されるものである。そ して、それらの論理エラーは不正な入力で走らされたプログラムまたは、不正に データベース中のレコードを処理するプログラム等により発生する。さらに、も しデータベースが回復不能に破壊されると、残されたフラットファイルは使用不 能のままとなる。更に、もし、フラットファイルへの書き込み操作がシステムの 中断により中断されると、2つのコピーは互いに不一致のまま永久に残される。
また、もし、メツセージが受け付けられ蓄積されても、クライアントアプリケー ションがクライアントのデータベース中にメツセージの存在を記録する前にシス テムが中断されると、メツセージは「孤児」(永久的に配置されるがどのクライ アントも知ることはない)となる。もし多(のメツセージが「孤児」となると、 システムは更なるメツセージの蓄積ができなくなってしまう。
発明の要約 上述の従来技術における問題点は、フラットファイルとそれにアクセスするため の関連したデータベースにより取り除かれる。そしてこれらは、フラットファイ ル、データベース、プロセッサ/ステムに結合したメモリ中にストアされている アルゴリズムを実行するプロセッサ/ステムによりコントロールされる。フラッ トファイルにストアされている各メツセージセグメントは、ともにストアされる 回復情報(RJと称する)を有している。そして、データベースがフラットファ イルと一致しない場合に回復を実行させる。また、RIは、データベースの不一 致、フラットファイルにストアされたメツセージセグメントの一貫性を照合する のに利用される。フラットファイルはミラードディスク上に貢(ことが好ましい 。そして、このような場合、本発明はデータコピー間に存在する可能性のある不 一致に対して、許容性と修復性を有する。更に、本発明はトランザクション番号 (TN)オーディットファイルを有し、データベースに関連して実行された最も 新しいトランザクションのトランザク/コン番号の永久的な独立レコードを生成 する。TNオーディノドファイルはデータベースとフラットファイル間の不一致 を検出するのに利用される。にとTNはデータベースとフラットファイル間の不 一致の継続的な監視に利用される。不一致が検出された場合、データベースはR Iより回復される。データベースとフラットファイルがアクセス可能で継続的に 更新される間も、回復は継続して実施される。データベースの不一致の監視はメ ツセージに対するメツセージ番号識別トークンに基づいて実行される。そのトー クンは、本発明の実施例であるシステムの期待されるメツセージのライフタイム においてユニークである。各トークンは高順位コンポーネントと低順位コンポー ネントから構成される。トークンはマスタートークンより発生される。低順位コ ンポーネントがオーバーフローしたとき、もしくは、システムが初期化される毎 に、その高順位コンポーネントは、インクリメントされディスクにストアされる 。低順位コンポーネントは、各連続的なトークンを発生するために1つずつイン クリメントされる。データベースにストアされる情報は、「孤児」となったメツ セージを明らかにするために、クライアントデータベースとサーバデータベース ヲ一致させることを可能にする。
図面の簡単な説明 図1は本発明に基づいて実施されるシステムの概略プロ、り図である。
図2は本発明の実施にあたり利用されるデータベースの構造をを説明する図であ る。
図3は本発明の実施にあたり利用されるフラットファイル構造を説明する図であ る。
図5〜図17は図1のシステムにおけるメツセージ管理モジュールにおいて実行 されるフローチャートである。
好適な実施例の説明 図1を参照して、本発明により実施されるシステムの概略ブロック図を説明する 。コンピュータンステムIOは適切なインターフェイス(不図示)を介してデー タチャンネル11と高容量のリアルタイムデータを送受信する。コンピュータン ステムIQはデータチャンネル11との送受信のためのI10プロセッササブ。
ステム12を何し、また、I10ブロノセサ12と双方向通信できるように接続 されたディスクツステム13を有する。ディスクツステム13は後述の理由によ りミラードディスクを含むことが望ましい。l0112、I3の各部として使用 されるシステムはベンノルバニア州(Pennsylvania)、ブルーベル (Blue f3ell)のユニ/スコーボレーンコン(Unisys Cor poration)より市販されているA−フリーズ(A−5eries)コン ピュータンステムがある。クライアントアブリヶーノコン14はコンピュータン ステム10に駐在して図示されている。クライアントアプリヶーノヨ/14は以 下のことを要求する。選択されたデータチャンネル11より大容量のリアルタイ ムデータを受信し、ディスクツステム13上にデータをストアし、選択されたデ ータチャンネルIIに送信するためにディスクツステム13よりデータをリドリ ーブし、ディスクツステム13よりデータをl自失する。コンピュータンステム lOはメツセージデータを管理するためのメツセージ管理モジュールルーチン1 5を有する。これは図4から図17の詳細説明において後述の手順によって管理 を実行する。クライアントアプリケーノコン14により要求される機能を実行す るために、また、受信されストアされたデータを管理するために、クライアント アプリケ−/ジン14はメソセージ管理モジュールルーチン15にコマンドを送 出する。メツセージ管理モジュールルーチン15は情報をクライアントアプリケ −/コンに返す。その情報とは例えば、ディスクシステム13にストアされたメ ツセージを指定するためのメツセージ番号や、システム異常によるエラー情報等 である。メソセージ管理モジュールルーチン15はI10ブロセソサンステム1 2と双方向通信可能に接続される。そして、ディスクツステム13の読みだしと 書き込みを制御し、データチャンネルl】に関連したデータを送受信する。
フラットファイル20はディスクツステム13のミラードディスクの部分にある 。そして、実際のメンセージデータを回復情報(R1)とともにストアする。詳 細は図3を参照して後述する。ルーチン■5はディスクツステム13にあるデー タベース21を管理する。そして、フラットファイル20に蓄積されたメツセー ジへの高速なアクセスを可能とする。データベース21の構造の詳細は図2に関 連して後述する。本発明の運用において、ルーチン15は下記のファイルを保有 する。
ディスクツステム13のリストとレコードである。即ち、トランザクンコン番号 オーディソトファイル(TNAUDIT) 22 (ミラードディスク上にある )、データベースオーディ、トファイル(DBAUDIT) 23、エラーデー タベースレコード(EDBR) 24、リスタートデータセット25゜それらフ ァイルの機能と運用、22から25のレコードは図5から図17により後述する 。コンピュータンステム10は王メモリ中にワーキングストレージ30を有する 。そして、ディスクンステム13にある20−25のコンポーネントを更新した り管理したりする。プロセス回復中(RJP) 31、これはブーリアンくフラ グ)である、が備えられている。これは、データベース21がフラットファイル 20より回復されている最中であることを表示するものである。ワーキングスト レーン30には以下のリストが備えられている。
即ち、未照合フラットファイルリスト(UFFLン42.照合済みフラットファ イルリスト(VFFL) 42.エラーフラットファイルリスト(EFFL)  43.保留フラットファイルリスト(R5L) 44.、書き戻しリスト(WB L)45である。さらにワーキングストレージ30は現トランザクション番号( CTN) 46.高順位コンポーネント(THCG) 47.低順位コンポーネ ント(TLCG) 48を有し、これら全ては整数型データである。41から4 8のリストとレコードの機能及び運用は図5−17において詳述する。図5−1 7において説明される手順でえとTNAUD汀を利用してルーチン15により回 復機能実行の要求は検出される。
図2はデータベース21の構造を説明する図である。データベース21はフラッ トファイル20に蓄積されたデータへの高速なアクセスを提供する。また、フラ ットファイル20に含まれるデータに対する、ディレクトリまたは、アクセス構 造として機能する。メツセージを構成するフラットファイル20のメツセージセ グメントを特定するデータベースレコード(レコードグループ)は各データメツ セージに関連する。システム中断やI10コンポーネント故障時にデータベース 2】の復帰を提供するオーディットファイル23はデータベースに組み込まれる 。
データベース21の各レコードは以下のフィールドを有する。即ち、メツセージ 番号(MN)、セグメント番号(SN)、/−ケンンヤルカウンタ(SC)、デ ータベース番号(DBN)、不完全メツセージフラグIMF、セグメントディス クリブタ(SD)である。
MNは、一方ではトークンとして参照されるが、メツセージを特定しアクセスす る。システムにメツセージが受け付けられるとき、唯一のMNが生成されクライ アントアプリケ−ノコン14にリターンされる。MN生成の詳細は図4において 説明する。SNは1つのノングルデータベースレコードにおけるSDの最大数を 越えるMSを必要とするメツセージが受信されたときに必要となる。scはメ。
セージにおけるメソセージセグメントの数を表す。DBNはクライアント14を 特定し、メツセーフに備えられる。IMFは、工/○エラーによりフラットファ イル20からのデータベース21の復帰時にメツセージが完全には再構築されな がったことを表す。SDのセントはフラットファイル20のレコードを記述する 。各SDはフラットファイルポインタ(FFP)を有する。FFPはフラットフ ァイル2oの中のMSのアドレス(レコード番号)と、MSのバイト数を表示す るフィールド(不図示)を有する。
図2のようなフォーマットのレコードに加えて、リスタートデータセット(RD S)25が論理的に(実際には物理的に)データベース21に存在する。RDS 25はシステム故障の後利用される、そして、RDSの各レコードはそういう理 由がらTNを有する。メンセージが生成されたりデリートされる毎にTNはCT N46をインクリメントすることで生成される。そして、DBAUDIT23に 変化したデータベースレコードとともにストアされる。システム故障とそれに続 <DBAUDITを利用するデータベースの復帰の後に、最新のデータベース処 理のTNはリスタートデータセット25におけるレコードから復帰され得る。デ ータベース21の変更はBTとETの運用により制限される。BTとETの間の データベースグループはデータベース21の1つの論理的な変更を構成する。そ れゆえ、訂が実行された後のみ、BTとBT間のデータベースの変更は実行され る。ここで記述したような、処理単位を明確にし、データベースの復帰を確実に することを要求されるデータベース管理のアルゴリズムは、共通的に有効なもの であり、一般的にDBAUD汀とRDSに類似したメカニズムを有する。
図3を参照してフラットファイル20の構造を説明する。メソセージはMSを備 える。各MSはSDに対応して特定されるアドレスにフラットファイル20のレ コードとしてストアされる。全てのMSは同サイズである。しかし、MSのサイ ズにより制限されるものの、MSに含まれるデータ量は可変である。フラットフ ァイル20はミラードディスクシステム13に保持される。データベース21は ミラードディスク上にある必要はない。フラットファイル20はメツセージを有 するMSをストアする。フラットファイル20の各MSは図3に示されるように フォーマットされ、受信データとR1を有する。
R1は、通常のデータベース管理アルゴリズムでは回復できないほどにダメージ を受けたとき、データの一貫性と、データベース21の回復を提供する。RIは フラットファイルレコードにストアされ以下のデータアイテムを有する。即ち、 使用可能マーカ(AM)、セルフポインタ(SP)、メツセージ番号(MN)、 セグメントノーケンス番号(SSN)、データベース番号(DBN)、ファイナ ルフラグ(FF)、データ長(L)、最終アドレス(LA)、チェックサム(C 5)である。
AMはMSが使用中か使用可かを表す。SPはMSを有するフラットファイルの アドレスを表す。また、ディスクサブシステムのエラー検出に使用される。SP は同じMSにたいしてSDと一致しなければならない。MNはMSが属するメツ セージを表す。MSが使用される前に、データベース21により示されるメツセ ージに属していることを確かめるために照合が実行されるものである。SS、’ ?はメツセーフセグメントが受け付けられた順番を表す。DBNはMSを所有す るクライアントを表す。F下はそのMSがメツセージの中の最終のMSであるこ とを表す。Lはメソセージにおける確定されたバイト数を表す。LAはメツセー フの最終MSを指し示す。C5はC3を除く全R1にわたり計算され、一貫性を 照合するのに利用される。
ディスクユニットへの読みだし、書き込み操作が失敗したとき、ミラードセ、ト の他の部分が使用される。しかし、これによりディスクユニットの他の部分にあ るデータは故障の危機にさらされることになる。それゆえ、ミラードセノトのた めの他のメンバーを確立することが必要である。装置に新しいディスクユニ、ト が供給された後、ディスクの残りの部分からのデータが新しいディスクユニット にコピーされる。このようにしてフラットファイル20が常時ミラードで残るこ とを可能とする。
図2と図3を参照してデータベース21とフラットファイル20におけるデータ の関係について詳述する。MN rloOJは3つのMSを有する。DBNカリ 1」に割り当てられたクライアントのためにレコードされたものである。MNr lOOJに関するMSはフラットファイルのアドレス「2.4.6」に位置する 。MN r200Jは7つのMSを膏し、DBNが「2」に割り当てられたクラ イアントの為にレコードされたものである。メツセージセグメントはフラットフ ァイルのアドレス「l、3.5.10J1.13.15」に位置する。MSのr l、2.3,4.5.6.10.11,13.15Jは使用中であり、他は全て 使用可である。MS r6Jと「15」はメツセージの最終MSである。メソセ ージはフラットファイル20にストアされデータベース21のレコードにより指 し示されることが理解される。
データベース21とフラットファイル21が互いに一致していることを保証する ためにTNAUDITファイル22が利用される。データベースに対する各最新 の処理にはCTN46をインクリメントして生成されるTNが割り当てられる。
TNはデータベースにあるRDS25にストアされ、処理が実行された後、クラ イアントに結果を返す前に、TNAUDITに書き込まれる。初期化中に照合が 実行される。そして、データベース21のTNがTNAUDITからのTN以上 であることを確認する。もしそうでないと、データベース21が不正であるとみ なし、このため、フラットファイル20からのデータベース21からの回復が開 始される。
各TNはTNAUD汀ファイシフアイル22まれる必要はない。最新の処理の与 えられたグループの最大のTNのみ書き込まれる必要がある。例えば、データベ ース21に3つの処理が委託されているとする。各処理はTNが「1O111, 18JとすればTNr18JのみがTNAUDITファイル22に書き込まれる 必要がある。更に、最新の処理が委託され、TNAUIMTファイル22に書き 込まれた#終のTNが現在の処理に割り付けられたTNよりも大きいならば、T NAUD汀ファイシフアイル22む必要はない。
そのうえ、TNAUDITファイルは6異なるディスク上で複数のレコードを有 する。これらのレコードは周期的に書き込まれる。こうして、TNAUDITへ の書き込みは複数のディスクに分配される。
フラットファイル20とTNAUDrTファイル22はI10エラーの可能性を 減らすミラードディスク13に保持される。しかし、I10エラーは2つのファ イルが故障すると発生し得る。I10エラーはエラー表示をクライアントに返す 結果となる。
上述により、本発明によるシステムは大容量のリアルタイムデータを受信、スト ア、リドリーブ、送出することが理解される。本装置はデータベース21を管理 する。データベース21は蓄積されたメツセージ及び、実際のデータを蓄積する ミラードディスク13上のフラットファイル20への高速なアクセスを提供する 。データベース21、フラットファイル20、TNAUDIT22、RIを利用 して、本発明のシステムは以下の能力を提供する。即ち、揮発性のためにダンプ され得ず、大容量のためにオーディットされ得ない、大容量のリアルタイムデー タを蓄積する。迅速に蓄積されたデータをリドリーブ、デリートする。データベ ース21とフラットファイル2oの間に存在する不一致を検出し修正する。メソ セージがストア、リドリーブ、デリートされる間にフラットファイル20からデ ータベース21を再構築する。フラットファイル20からのデータベース21の 再構築が要tされるときを自動的に検出する。存在する可能性のあるミラードデ ィスクの不一致を解決する。データベース21とシステムのクライアントアプリ ケーノコンのデータベースとの間に存在する可能性のある不一致を解決する。本 発明は、単一のI10コンポーネント故障やシステムの中断の発生時に損失無し のデータの回復を提供する。本発明は固定長のトークン(MN)により、種々の 長さのデータバケットを参照してシステムを使用するアプリケーノコンの使用を 許可する。
図4から図17は、本発明に基づいて処理を実行するメツセージ管理モノニール (MMM)ルーチン15の動作を詳述するフローチャートである。図4を参照し てトークン、即ちMNが生成され管理される手順を説明する。MNはメンセージ をアクセスするのに使用され、メソセージが受信されると生成される。MNはク ライアントに返される。MNはシステムの所定のライフタイムにおいてユニーク であり、マスターMNより発生される。そして、このマスターMNは高順位コン ポーネント(THCG)47と低順位コンポーネント(TLCG) 48を備え ている。装置が初期化される度に高順位コンポーネントが1つ加算される。そし て、低順位コンポーネントは1にセットされる。低順位コンポーネントは各メソ セージが生成されるときに1つ加算される。もし、低順位コンポーネントがその 最大値を越えて加算されたときは、高順位コンポーネントを1つ加算し、低順位 コンポーネントを1にセットする。高順位コンポーネントはフラットファイル2 0の所定の位置にストアされる。そして、TNAUIMTファイルに書き込まれ る。装置が低順位コンポーネントのオーバーフローにより高順位コンポーネント を加算するとき、その値がフラットファイルとTNAUDITファイルの両方に 記録が完了するまではその加算された値は使用しない。THCG47とTLCG 48 (図1)は上記の操作で利用される。
図5から図17のフローチャートについて、数ページにわたるフローチャートは 共通の英数字の拡張子にてマークされており、これらはフローチャートの種々の 各部分との接続を表す。図5から17は、データベース21やフラットファイル 20の管理、アブリケーンコン14(図1)からのコマンドの実行における動作 を明確にしている。図1.1から15は、クライアントアブリケーノコン14を 代表するメツセージ管理を遂行するためのメツセージ管理モジュールルーチン( MMM)15のレパートリにおけるコマンドの詳細である。図16は装置による 初期化手順である。図17はフラットファイル20からのデータベース21の回 復を詳述する。以下の記述は参照されるフローチャートと同様に構造化されてい る。アラヒア数字はフローチャートの論理レベルを区別するのに使用している。
図5を参照してMSを可能回復情報(ARI)にセットする動作を説明する。
!、AMは「使用可」1こセットされる。C5とSPが正しければ、このAMは MSが使用可であるかどうかを確認するために必要とされる唯一のテスト項目で ある。
1、 C5l: R,1のチェックサムを有する。
図6を参照して、〜4SがARIを有するかどうかを決定する動作を説明する。
MSは以下のステップにより使用可であると確認される。
1、MSにあるRIのチェックサムを実施する。
1、もしチェ、クサムの値がR1にあるC5の値と一致しないときはエラーを返 す。
l もし、SPが不正であわば(本MSを指し示していない)、エラーを返す。
l もしAMが使用可の場合は、このMSは使用可である。また、そうでないと きは、このMSは使用可ではない。
図7を参、照して回復情報(RI)の照合の動作を説明する。R1の照合は以下 のステップより構成される。
1、MSにあるR1のチェ、クサムを実施する。
l もし、RIのC5とチェックサムが一致しないときはエラーを返す。
1 もしSPが不正であれば(本MSを指し示していない)エラーを返す。
図8Aから図8Cを参照して、フラットファイルポインタ(FFP)が照合済み か未照合かどうかを調べる動作について説明する。未照合FFPのリストはデー タベースを補足することにより初期化中に構築され、このリストはUFFL41  (図1)と称する。即ち、データベース中のエントリにより参照されるメ、セ ージセグメノトを除(、全フラットファイルは使用可とみなされる。データがU FFLのエントリにより指し示されたMSに書き込まれる前に、MSは使用可と マークされていても、使用中とマークされていても、もとのメソセージのコンポ ーネントではないということを確かめるために照合される(参照される最終MS は、同じメツセージに対する確定した最終セグメントではないことを照合するた めに読みだされる。)。このようにして、使いものにならないか不正なデータベ ースの使用は確定されたメソセージへの上書きの原因とはなり得ないものとなる 。
FFPにより特定されるフラットファイルの位置が装置の最終の初期化から読み だされもしくは書き込まれ続けてきたり、その位置に対する最終のオペレー7ヨ ノが使用可のMSの書き込みか使用可のMSというリターンの読み込みであれば 、FFPは照合済みとなる。
この処理を通して、I10エラーが発生すると、照合されているFFPは使用で きないものであり、EFFL43 (図1)におかれる。EFFLはI10エラ ーにより使用され得ないFFPのリストを有する。
1、UFFLからFFPを取り出す。説明のためにUFFLから得られたFFP の指すMSをTBV (To BE VERIFIED)と称する。
10回復中(RIP)がセットされると全MSを読みだす。そうでないときは、 TBVのR1を読み出す。
LRI照合を実行する。もしエラーが返ったらTBVは使用不能でありEFFL におかれる。
l もしAMがTBVが使用可であることを表示したら、それはVFFPとみな される。もし、RJPがセットされていたらTBVをフラットファイルへ書き戻 す。
l もし、AMがTBVが使用中である表示をしていたら以下のステ/プを実行 する。
2、もし、TBVのRIがメソセージの最終セグメントであることを示しており 、RIPがセントされていれば、TBVをフラットファイルに書き戻し、データ ベース回復に関連して後述される保留セグメントリスト(R5L)にTBVを置 く。
TBVはVFFPではない。また、RIPがリセツトされていると、フラットフ ァイルからのデータベースの回復が開始され、TBVの再処理が開始される。T BVが再処理されるとき、全MSは読みだされ、書き込まれる。
2そうでない場合は、TBVのR1のLAで指し示されるMSのmを読み出す。
以後このMSをLMS (最終メツセージセグメント)とする。
2m照合をこのLMSに対して実行する。もしエラーが返されればこのTBVは 使用不能である。即ち、EFFLにおかれる。
2もし、LMSのAMが使用中を表し、TBVのmにおけるMNがLMSの円に おけるMNと同じであり、さらに、RIPがセットされていたら、TBVをフラ ットファイルに書き戻し、R5Lに置く。TBVは照合済みのFFPではない。
また、もしRIPがリセットされているときは、フラットファイルからのデータ ベースの回復を開始し、TBVの再処理を実行する。TBVが再処理されるとき 、全MSは読みだされ、再書き込みされる。
2、もしも、LMSのAMが使用中を表示し、TBVの■におけるMNがLMS のえにおけるMNと一致しないときはTBVはVFFPとみなされる。もし、R IPがセットされていると、TBVl:ARIを置き、フラットファイルに書き 込む。もし、LMSのAMが使用可を表すと、TBVはVFFPとみなされる。
もし、RIPがセットされているならばARIをTBVにおき、フラットファイ ルに書き込む。
l もし、TBVがVFFPでないときは別のFFPをUFFLより照合のため に取り出す。
VFFL42 (図1)は使用可で照合済みのFFPのリストを有する。VFF LはUFFLよりFFPを取り出し、図8Aから8Cに示されるような照合工程 を実行する工程からなる。もしも、FFPがVFFPであればVFFLに置かれ る。
図9を参照してメツセージ番号不一致の場合の照合(MNMV)ルーチンを説明 する。!vINMVは、データベースのMNと刀のMNとの間でミスマンチがあ るとき実行される。この照合プロセスの目的は、フラットファイルからのデータ ベースの回復を開始するかどうかを確認することにある。説明のために、照合を 要求するMSをTBV (To BE VERIFIED)と称スル。
1 もし、RIPがセットされていたら、エラーを返す。
1、もし、TBVがメツセージの最終セグメントであれば、フラットファイルか らのデータベースの回復を開始し、エラーを返す。
1、TBVのえのLAフィールドにより指し示されるMSのえを読み出す。説明 のために、このMSをLMS (LAST MEESAGE SEGMENT) と称する。
1、I10エラーが検出された場合は、エラーを返すが、フラットファイルから のデータベースの回復は開始しない。
1、LMSにたいしてRI照合を実行する。もしエラーが検出された場合は、エ ラーを返すが、フラットファイルからのデータベースの回復は開始しない。
1、もし、AMがLMSは使用中であることを表していて、MNがTBVのMN と同じであるとき、フラットファイルからのデータベースの回復を実行し、エラ ーを返す。
1、そうでないときは回復を開始しない。
図10Aから図10Eを参照して、不完全メツセージの処理(IMF)を実行す るフローチャートを説明する。あるMNのIMPは以下のとき実行される。IM Fフィールドがセットされているメツセージの使用が試みられるとき、もしくは 、クライアントの特定するMNがデータベース中に見いだされず、カリ、RIP がリセットであるとき、である。
IMFはまた、周期的にエラーデータベースレコード(EDBR,)にある全F FPを処理することを実行する。もし、フラットファイルからのデータベースの 回復が実行され、かっ、1つまたは複数のメツセージセグメントにI10エラー が検出されたとき、EDBRはデータベースに置がれる。EDBRは全てのメツ セージセグメントの中で、フラットファイルからのデータベースの回復が実行さ れているときにJ10エラーを有することが見いだされたFFPを含む。
IMFはメンセージの現在の状態を解明することを試みる。説明のため?こ、解 ”A さtL6: とを12 さt’L るMN をrMN と称T る(IN  COMPLETE MESSAGENUMBER)。以下のステップが実行さ れる。
1、もし、EDBRがデータベース上にないとき、以下のステップを実行する。
2もし、rMNに対するデータベースレコードがあれば、以下のステ、ブを実行 する。
3もし、データベースレコードに最終SDが存在するならば、以下のステップを 実(テする。
4データベースレコードの最終SDにより指定される〜1sのRJを読み出す。
4もし、工/○エラーが検出されたら、データベースレコードの処理を中止する 。
4データベースレコードの最終SDにより指定されるMSに対してR1照合を実 行する。もし、エラーが検出されたらデータベースレコード′の処理を中止する 。
4、データベースレコードの最終SDにより指し示されるMSのAMが使用中を 表しており、データベースレコードのMNと円のMN力仁致しない場合は、この MSに対して、メツセージ番号不一致照合(MNMV)を実行する。もし、この 照合工程(MNMV)がフラットファイルからのデータベースの回復を呼び起こ すと、MSをフラットファイルに書き戻しデータベースレコードの処理を中止す る。この照合工程の最中にエラーが検出されたらデータベースレコードの処理を 中止する。
4、 ARIでLMSの沼を書き直す。I10エラーを検出したらデータベース レコードの処理を中止する。
3.7Nを得る。
3 トランザク/ヨ/を開始する。
3、 Uスタートデータセット(RDS)にTNをセットする。
3データベースレコードからの全FFPをUFFLにおく。そして、データベー スからそのMNのデータベースレコードを消去する。
3 トランザク/コンの終了。
3 TNをTNAUDITファイルに書き込む。
2エラーを返す。
1、そうでないときは、EDBHにより指し示される各MSにたいして、以下の ステップを実行する。
2、MSを読み出す。
2、I10エラーが見いだされたときは、次のMSを処理する。
2、 R1照合を実行する。もし、エラーが見いだされたら次のMSを処理する 。
2、MSをフラットファイルに書き戻す。
2もし、I10エラーが検出されたら次の〜1sを処理する。
2、もし、R1のMNがIMNにマツチする場合は、以下のステップを実イテす る。
3゜TNを得る。
3 トランザクノコンを開始する。
3、RDSにTNをおく。
3現在処理されているMSに対するFFPをEDBRから除去する。もしこのE DBRが空になる場合は、EDBRをデータベースより消去する。
3、現在処理されているMSに対するSDを含むようにIMNのデータベースレ コードを更新する。もし、IMNに対するデータベースレコードが存在しない場 合は、IMNに対するデータベースレコードを生成しIMFをセットする。
3もし、IMNが完全になれば、IMFフィールドをリセツトする。
3、もし、IMNが完全でなく 、EDBRに他のエントリが無いときは、以下 のステップを実行する。
4、データベースレコードの最終SDが存在するならば、以下のステップを実行 する。
5、データベースレコードの最終SDにより指定されるMSのmを読み出す。
5、I10エラーが検出されたら、データベースレコードの処理を中止する。
5、データベースレコードの最終SDにより指定されるMSにたいして、m照合 を実行する。エラーが見いだされたら、データベースレコードの処理を中止する 。
5、もし、データベースレコードにある最終SDにより指定されるMSのAMが 使用中を表しており、mのMNがデータベースレコードのRIとマツチしない場 合は、このMSに対して、MNMVを実行する。もし、この照合がフラットファ イルからのデータベースの回復を引き起こす場合はフラットファイルにそのMS を書き戻し、データベースレコードの処理を中止する。
5その最終MSのR,18ARIで書き換える。もし、I10エラーが検出され たらデータベースレコードの処理を中止する。
4このデータベースレコードの全FFPをじFFLに書き込む。そして、データ ベースから、EMNのためのデータベースレコードを消去する。
3、トラノザクノヨノの終了。
3、TNをTNAUDITファイルに書き込む。
2もし、IMNが完了したらEDBHの処理を終える。
lメンセージの状態を返す。メツセージは(a)完全/処理可能、(b)データ ベースに有りません、(c)現在使用可ではありません、を表示する。「現在使 用可ではありません」は、データベースにEDBRがある限り、不完全メツセー ジや、データベースに存在しないメツセージに対して、返される。
MMMルーチン15(図1)は、装置からのサービスを要求するクライアントを 受け付けるためのコマンドのレパートリを有する。クライアントはメツセージの 送出、受付、消去を要求する。加えて、クライアントは外部ファイルを生成した り、フラットファイルからロードされたりする事を要求する。アプリヶ−ノコン が孤児となったメツセージの消去に関係することを可能とするために、装置に知 らされたMNのリストを発生するコマンドが提供される。追加可能な有効なレコ ードをフラットファイルに追加するコマンドが提供される。
MSが使用中かまたは使用可とマークされる前に、その同一性が確認される。
加えて、データベースがフラットファイルと一致していることを確認するために 照合が実行される。データベースとフラットファイルの間には2種類の不一致が ある。メンセージがデータベースに存在し、フラットファイル中のそのメツセー ジの最終のMSを除く全メツセージセグメントが確定され、データベースと一致 しているとき、「通常の不一致」が存在する。また、この「通常の不一致」は、 MSがデータベースのどのメソセージによっても参照されず、かつ、使用中にな っており、その最終セグメント(それが指し示す)が異なるメソセージにより使 用可または使用中のいずれかとなっているときにも存在する。これらのケースは メツセージ受付、メツセージ消去のコマンドが故障により中断されると発生し得 る。
もう1つのタイプの不一致は「異常不一致」である。「異常不一致」が発見され たり、データベースが不正であると認識されると、データベースは自動的にフラ 。
トファイルより再構築される。
コマンドレパートリは以下のものを備える。即ち、メソセージ送出、メ。
セージ受付、メツセージ消去、獲得、生成、フラットファイル拡張、メソセージ 番号獲得である。
図11Aから図11Dを参照して、メツセージ送出コマンドを詳述する。このコ マンドはフラットファイルにメソセージを配置するように装置を動かす。そじて 、そのメゾセージをデータチャンネルに配る。
1データベースを使用して特定のMNに対してSDを見いだす。
l もし、MNがデータベースにない場合、又は、MNがデータベースにありI MFフィールドがセットされている場合、以下のステップを実行する。
2、もし、RIFがセットされているとクライアントにエラーを返す。
2、そうでない場合、メツセージの状態を返すIMFを実行する。もし、メツセ ージが存在し完了した場合、処理を続行する。そうでないとき、エラーをクライ アント1こ返す。
1各MSを読む。
1各MSに対して、以下のステップを実行する。実行の順序は、データベース中 の最終SDにより指定されるMSより開始する。
2、RIR合を実行する。エラーが発見された場合はエラーをクライアントに返 す。
2もしMSのAMが使用可を表しているならば、以下のステップを実行する。
3、MSをフラットファイルへ書き戻す。
3、モし、データベースレコードの最終SDが指定するMSではないとき、フラ ットファイルからのデータベースの回復を開始する。
3エラーをクライアントに返す。
2、もし、MSのAMが使用中を表示し、R1のMNがデータベースレコードの MNとマツチしないとき、以下のステップを実行する。
3、MSをフラットファイルに書き戻す。
3もし、これがデータベースレコードの最終SDにより指定されたMSであると 、!VINMVをこのMSに実行する。この照合はフラットファイルからのデー タベースの回復を引き起こす。
3エラーをクライアントにリターンする。
1 もし、最uMSへのWBL45 (図1)のエントリがセットされていない 場合、最終MSをフラットファイルへ書き込む。そして、最終MSへのWBLの エントリをセットする。もし、装置の最終の初期化以来その最終MSは書き戻さ れていなかったならば、この手順において、最終MSはフラットファイルへ書き 戻される。
1、データチャンネルを介してデータを送出する。
図12Aから図12cを参照して、メツセージ受取コマンドの詳細な説明をする 。このコマンドはデータチャンネルよりデータを受け取り、そのデータをフラッ トファイルヘスドアする。
1最終MSのVFFPを得る。
1 このメソセージを特定するMNを得る。
1データを獲得し、バッファにおく。各バッファは1つのMSを保持する。
l、最終のMSを除く各MSに対して以下のステップを実行する。
2、 VFFPを得る。
2、現在のMS i、: RIをおく。
2、RIのチェックサムを実行する。
2、MSをフラットファイルに書き込む。
1、TNを得る。
1 トランザク7ョンを開始する。
1、もし、RJPがセットされているとRDSにゼロをセットする。他の場合は 、TNをRDSにセントする。
l各MSに対して、SDを生成し、MNをキーとして使用しデータベースに生成 されたSDをストアする。
l トランザク7ョンを終了する。
l、最終MSに対を置く。
1、RIのチェックサムを実行する。
1、TNAUDITファイルにTNを書き込む。
1最終MSをフラットファイルに書き込む。
1、MNをクライアントに返す。
図13Aから図13Fを参照して、メソセージ消去コマンドを詳細に説明する。
このコマンドは、データベースからのメツセージを消去し、メツセージに関連す る全ての蓄積をリロケーンコンのために返す。
1、データベースを使用して、MNに対するSDを見つけだす。
1、もし、MNがデータベースにないときは以下のステップを実行する。
2、もし、RIPがセットされていたらクライアントにエラーを返す。
2、他の場合は、メツセージの状態を返すIMFを実行する。そして、メツセー ジが存在するか、もしくは、少なくともデータベースレコードの最終SDが指定 するMSが存在するならば、処理を続行する。他の場合、エラーをクライアント に返す。
1また、もし、MNがデータベースにあり、rMFフィールドがセットされると 、以下のステップが実行される。
2データベースレコードの最終SDにより指定されるMSが存在すると、処理を 続行する。
2、 RIPがセントされるとクライアントにエラーを返す。
2、メツセージの状態を返すIMFを実行する。データベースレコードの最終S Dにより指定されるMSが存在する場合、処理を続行する。他の場合エラーをク ライアントに返す。
l各MSに対するえを読み出す。
1各MSに対しては照合を実行する。もし、エラーが発見されたら、それをクラ イアントに返す。
■、もし、データベースレコードの最終SDにより指定されるMSのAMが使用 中を表示し、えのMNがデータベースレコードのMNとマツチしない場合、MN MVを実行する。もし、この照合処理がフラットファイルからのデータベースの 回復を引き起こすと、MSをフラットファイルに書き戻し、クライアントにエラ ーを返す。もし、その照合処理で、そのほかのエラーを発見したときは、クライ アントにそれを返す。
1、ARIで最終MSのえを書き換える。
1.7Nを獲る。
■ トランザクションを開始する。
1、もし、RWがセットされている場合は、RDSにゼロをセットする。そうで ない場合は、RDSにTNをセットする。
1、データベースからそのレコードを消去する。
1 トランザクノコンを終了する。
1.TNをTNAUDrTファイルに書き込む。
1、 VFFLに最終MSを貢く。
l他の全てのメツセージセグメントに対して、以下のステップを実行する。
たとえ、フラットファイルからのデータベースの回復力呵1き起こされても、全 てのメツセージセグメントを処理する。
2、MSのA、Mが使用可を表示する場合、フラットファイルからのデータベー スの回復を開始し、えをフラットファイルに書き戻す。もし、I10エラーが検 出された場合は、FFPをEFFLの中のMSに置く。
2もし、MSのAMが使用中を表示し、R1のMNがデータベースレコードのM Nと一致しない場合、フラットファイルからのデータベースの回復を開始し、U FFLのMSにFFPを置く。
2もし、MSのAMが使用中を表示しR1のMNがデータベースレコードのMト と一致する場合、RIをAR,Iで書き換える。もし、I10エラーが検出され たら、EFFLのMS l: FFPを置く。そうでない場合は、VFFLの中 のMSにFFPを置く。
GETメツセージコマンドに関して、もし、フラットファイルからメツセージを 引き出して、それを外部ファイルにおく必要がある場合、メツセージを送出する とき(メンセージ送出コマンド)に使用するのと同様のテクニックが用いられる 。データチャンネルを介してデータを送出するかわりに、メンセージは外部ファ イルに書き込まれる。
クリエートメツセージコマンドに関して、もし、外部ファイルからメツで−ジを 獲得してフラットファイルに置く必要がある場合、メソセージを受け取るとき( メツセージ受取コマンド)に使用されるのと同様のテクニックが用いられる。
データはデータチャンネルを介して受け取る代わりに、外部ファイルより獲得さ れる。
図14を参照して、フラットファイル拡張コマンドについて説明する。データが 送出されたり受け取られたりしている間にフラットファイルを拡張することがで きる。もし、この拡張工程がシステム故障により中断された場合は、自動的に再 起動される。
1 フラットファイルの予約された位置において拡張処理が実行されているとい う事実をレコードする。
1 フラットファイルにディスクのエリアを追加する。
l各新規MS1.−ARIを書き込む。
1 フラットファイルの予約場所におけるフラットファイルの新しいサイズを記 録する。
]、、VFFLへ新しいメツセージセグメントへのFFPを加える。
図15を参照して、GETメツセージナンバーについて説明する。このコマンド はある特定のアプリケ−ノコンに関連したMNのリストを返し、アブリケーンコ ンデータベースを装置のデータベースに同期させる。装置の最終の初期化に先立 って存在した全てのMN及び、特定のDBNと関連した全てのMNがクライアン トIこ提供される。装置に知られているがアブリケーンコンには知られていない どのMNも孤立メツセージとして参照される。
アプリケ−/コンにMNを返した後、アプリデージョンデータベースにはないこ れらのMNをアプリデージョンデータベースより消去すること、GETメツセー ジナノバーにより表示されないMNを消去することはアプリケ−ノコンの責任範 囲である。
■、もし、RIPがセットされているときはクライアントにエラーを返す。
l蓄積されたトークン(図4)よりMNリミットを返す。MNリミントはアプリ ケ−7ヨ/が処理すべき最も大きいMNを表す。MNリミットよりも大きいどの MNも装置が初期化された後生成されてきて、クライアントに返されることはな い。装置はMNリミットよりも小さいMNを有するメツセージを扱うのみでなけ ればならない。
1、データベースレコードのDBNフィールドがアプリケ−ノコンに割り当てら れたDBNと一致するMNや、各MNが装置の最終の初期化に先立って存在した MNのリストを返す。
図」6を参照して、装置の初期化順序を詳述する。この順序は、各システム故障 に続いて、クライアントのコマンドを受け付ける前に実行される。
1、データベースのに3から最大のTNを獲得する。
1、TNAUIMTファイルから最大のTNを獲得する(そのファイル中の全て のレコードは読み書きされる。)。もし、このファイルが失われていたり、よみ だしができない場合は、TNAUDITファイルのTNはデータベースのTNよ りも大きいものとみなされる。
1 もし、TNAUDITファイルからのTNがRDSからのTNよりも大きい 場合は、フラットファイルからのデータベースの回復を開始する。
1最大のTN (TNAUD汀ファイシフアイルからの2つのTNのうち〕をイ ンクリメントし、TNの新しい値として使用する。
1、次のMNが割り当てられているかを調べる。フラットファイルの予約された 位置にセーブされる情報は次のMNが割り当てられることを許可する。
1、もし、フラットファイルが拡張工程の最中であった場合、拡張工程を再起動 する。拡張が処理中であることはフラットファイルの中の予約された位置にセー ブされる。
l フラットファイルの全てのメツセージセグメントは使用可であるとみなす。
lデータベースを補充する。こうして、UFFLを構築する。
1、WBLの全てのエントリをリセットする。
I UFFLの照合を開始する。
図17Aから図17Eを参照して、データベース回復の動作を説明する。フラッ トファイルからのデータベースの回復は次の時開始される。フラットファイルと データベースの間にミスマツチが検出されたとき、また、TNAUIIHTファ イルがデータベースが回復しないことを表示したとき、また、TNAUDITフ ァイルがロールバックされたときである。
1、 RIPをセットする。
1、VFFLの全てのエントリをLIFFLに移動する。
1 もし、EDBRがデータベースにあるとき、全てのFFPをこのレコードか ら取りだしUFFLにおく。EDBRをデータベースから消去する。
1、もし、EFFLが空でないとき、全てのFFPをUFFLに移動する。
lデータベース中の各メツセージにたいして、以下を実行する。
2、もし、IMFフィールドがセットされたら、データベースよりこのメソセー ジを消去し、このデータベースレコードの全てのFFPをUFFL l:llI  <。
2、そうでない場合、各MS(データベースレコードの最終SDにより指定され るMSで開始する)にたいして、以下を実行する。
3、MSを読み出す。
3もし、I10エラーが検出された場合、このMSを処理することはできない。
もし、これが、データベースレコードの最終SDにより指定されるMSである場 合、このメツセージをデータベースから消去し、UFFLに全てのFFPをおく にのデータベースレコードの他の処理は何も実行されない。)。もし、これが、 データベースレコードの最終SDにより指定されるMSでない場合、このデータ ベースレコードの処理は続行される。但し、このMSに対する追加の処理は何も 実行されない。
3、 RJ照合を実行する。もしエラーが検出された場合、このMSを処理する ことはできない。もし、これが、データベースレコードの最?SDにより指定さ れるMSである場合、このメツセージをデータベースから消去し、UFFLに全 てのFFPをおく。にのデータベースレコードの他の処理は何も実行されない。
)もし、これが、データベースレコードの最終SDにより指定されるMSでない 場合、このデータベースレコードの処理は続行される。但し、このMSに対する 追加の処理は何も実行されない。
3、MSをプラントファイルに書き戻す。
3もし、I10エラーが検出された場合、このMSは処理されることはできない 。もし、これが、データベースレコードの最終SDにより指定されるMSである 場合、このメツセージをデータベースから消去し、じFFLに全てのFFPをお く。(このデータベースレコードの他の処理は何も実行されない。)もし、これ が、データベースレコードの最終SDにより指定されるMSでない場合、このデ ータベースレコードの処理は続行される。但し、このMSに対する追加の処理は 何も実行されない。
3、もし、AMがMSは使用可であることを表示するとき、もしくは、AMが〜 ISは使用中であることを表示しR1のMNかデータベースのMNと一致しない とき、このメツセージをデータベースから消去し全てのFFPをUFFLにお匂 (このデータベースレコードの他の処理は何も実行されない。)1、UFFLの 各FFPにたいして、以下を実行する。
2図8Aから図8Cのステップ(VFF円を実行する。もし、MSの照合が失敗 に終わったら、確定されたメソセージの1部分であるので、このMSはR5Lに おかれる。もし、FFPがVFFPである場合は、それを〜’FFLにおく。
1、MNとSSNによりR5Lをソートする。
l。全完了メツセージに対してデータベースレコードが構築される。
16もし、EFFLが空の場合、全ての不完全メツセージの各MSにARIが書 き込まれる。もし、I10エラーが検出された場合は、MSへのFFPはEFF Lにおかれる。そうでない場合は、MSへのFFPはVFFLにおかれる。
] その他の場合、もし、EFFLが空でない場合、データベースレコードは未 完成メツセージのために構築される。これらのレコードの各々はIMFフィール ドセットをもって構築される。加えて、EDBRは読みだしのできないメツセー ジセグメントのために構築される。
1、 RIPをリセツトする。
1、TNを獲得する。
■ トランザクノコンを開始する。
1、 RDSにTNをおく。
1 トランザクノヨノを終了する。
l TNAUD汀ファイルにTNを書き込む。もし、I10エラーが検出された 場合、それは無視される。
上述より以下のことが理解される。フラットファイルからのデータベースの回復 は以下のときに開始される。即ち、フラットファイルとデータベースとの間に不 一致が検出されたとき、または、初期化の後にデータベースが回復されていない ことを、もしくはデータベースがロールバンクされたことをTNAUDrTが表 示するときである。即ち、データベースの回復は以下のとき開始される。フラ。
トメァイルとデータベースとの間でMSのミスマツチが検出され、MNMVが回 復が開始されるべきであることを表示したとき。また、回復は次のとき開始され ない。データベースにメソセージが存在しており、フラットファイル中の最終セ グメントを除くその全てのメツセージセグメントが確定されており、データベー スと一致しているときである。更に、以下のときデータベースの回復が引き起こ されない。メソセージセグメントがデータベースのどのメツセージによっても参 照されないで、使用中となっており、その最終メソセージセグメント(そのセグ メントが1定する)が異なるメソセージにより使用中もしくは使用可となってい るときである。一般的にこれらの状態はレノーブメソセージコマンドもしくはプ リートメ、セージコマンドが故障により中断されたときに発生する。その他の全 てのMSの不一致については、回復が引き起こされる。
以下のことが理解される。本発明によるシステムは揮発性のリアルタイムデータ を管理する。このデータは、固定長のメソセージセグメントを構成要素の1部と する可変長の分離したメツセージとして受け取られる。
以下のことが理解される。上記の説明と後述の請求の範囲において、最終メツセ ージセグメントを参照することは、ファイナルフラグがセットしたメツセージセ グメントを表示すること、データベースレコードによりアドレスされた最終のメ ツセージセグメントを表示する(意味する)ことである。「最終メソセージセグ メント」という言語は前者のことを表示するのに使用される。そして、データベ ースレコードの最終SD (SDもしくはポインタ)により指定される「メツセ ージセグメント」という言葉は後者を表すものである。また、以下のことが理解 される。データベースレコードの最終SDにより指定されるメンセージセグメン トは通常は使用中とマークされファイナルフラグをセットする。このメンセージ セグメントはしかしながら、未セントファイナルフラグと使用可のAMをもつこ とができる。
上述のように、もしくは請求の範囲にて列記されているようjこ、データベース 回復は2つのメツセージセグメントのえのMNの比較により開始される。その2 つの異なるRIのセントを区別するために、以下のように言葉を使用する。
「データベースの最終SDにより指定されるMSのえ」と「データベースの最終 SDにより指定されるMSのえにおけるLAによりアドレスされたMSのに」で ある。
フラットファイルからのデータベースの回復は以下のケースの1つを検出したと きに開始される。
ケース1 そのMSが使用中とマークされており、MSのRIにおけるMNがデータベース のMNと異tiっており、そのMSはデータベースレコードの最終SDにより指 定されていない場合。
(ファイナルフラグはこの認識には使用されない)ケース2 MSは使用可とマークされており、 そのMSはデータベースレコードの最終SDにより指定されていない場合。
(ファイナルフラグはこの認識には使用されない)ケース3 MSは使用中とマークされており、 MSのえにおけるMNがデータベースのMNと異なり、そのMSはデータベース レコードの最終SDにより指定されておらず、(ファイナルフラグはこの認識に は使用されない)データベース中の最終SDにより、指定されるMSのmにおけ るLAによりアドレスされるMSのえにおけるAMが使用中とマークされており 、データベースの最終SDにより指定されるMSのえにおけるMNが、データベ ースの最終SDにより指定されるMSのえにおけるLAによりアドレスされるM SのRIにおけるMNと等しいとき。
上述より、以下のことが理解される。センドメソセージコマンドとデリートメツ セージコマンドに関して、送出もしくは消去される各メツセージセグメントの沼 が照合される。フラットファイルからのデータベースの回復は以下のケースの内 の1つが検出されたときに開始される。
ケース1 MSは使用可とマークされており、 MSがデータベースレコードの最終SDにより指定されていない場合。
ケース2 MSは使用中とマークされており、 MSのR,IにおけるMNとデータベースのMNが等しくなく、MSがデータベ ースレコードの最終SDにより指定されていない場合。
ケース3 MSは使用中とマークされており、 MSのRTにおけるMNとデータベースのMNが等しくなく、MSがデータベー スレコードの最終SDにより指定されており、データベースのi&終SDにより 措定されるMSの円にお(ブるLAによりアドレスされるMSのR1におけるA Mが使用中となっており、データベースの最終SDにより指定されるMSの円に おけるMNが、データベースの最終SDにより指定されるMSのえにおけるLA によりアドレスされるMSのmにおけるMNと等しいとき。
以下のことが理解される。不完全メツセーフの処理はEDBRの処理を含む。
そのEDBRはフラットファイルからのデータベースの回復中には読み書きがで きないメツセージセグメントから構成される。R1を読み、照合し、EDBRに よりアドレスされた各メツセージセグメントを書くことが試みられる。もし、メ  。
セージセグメントが読まれ、照合され、書かれ、R1のMNが未完成メ、セーノ のMNと同じである場合、EDBRよりそのアドレスが取り出され、J完成メ、 セージに加えられる。もし、適切な(喪失する)メツセージセグメントが未完成 メ。
セージに加えられる場合、MSは完全なものとなり、使用できるようになる。適 切なメツセージセグメントが見いだされない場合は、未完成メツセージは不完全 なまま残る。
要するに、未完メツセージ処理とはEDBHの処理であり、EDBRの処理とは R,I tl−読み、照合し、EDBHの各MSを書き直すことである。即ち、 もし、MS、RI。
MNがデータベースの不完全なレコードに対応している場合、EDBRからアド レスを取りだし、対応するSDをデータベースのレコードに加える。そして、も し、加えられたSDがデータベースのレコードを完全なものとした場合は、完了 のマークをする。
以下のことが理解される。例えば上述の/ステムは1990年5月7日に出願さ れたUS特許第071521,210に記述されたタイプのテレフォンボイスメ ソセージングシステムに使用することができる。これは、「テレフォンネットワ ークをサポートするディジタルコンピュータプラントフォーム(Digital  ComputerPlatform For Supporting Te1 ephone Network System)Jという名称で、DWハイルマ ンジュ−ア(D、W、Heileman Jr、)、F、Cクルージ(F、C, Kruesi )、R,Hラチ? −(R,H,Latimerll、TL、ベ ネノト(T、L、Bennett)によるものである。前記の第071521, 210は本発明の法的な受取人に譲渡されている。
更に、以下のことが理解される。データはインターフェイス(不図示)を介して 、データチャンネル11とI10プロセンサ12との間で転送される。上記のイ ンターフェイスとしては、199f)年4月2日に出願されたUS特許第071 503.195にて記述されているタイプが挙げられる。これは「非同期のディ ジタルコンピュータンステムへのリアルタイムコミュニケ−7コンリンクのイン ターフェイス装置(、Apparatus For Interfacing  A Real −Time Communication LinkTo 、A JI Asynchronous Digital Computer Sys tem)Jという名称で、R−H,ラチ7− (R,H,Latimer)とり 、Wへイルマノジュニア(D、W、Heileman Jr、)によるものであ る。前記第071503.195は本発明の法的な譲渡者に譲渡されている。
好適な実施例において本発明を記述してきたが、使用されている単語は限定では な(記述のためのものであり、添付の請求の範囲の条項の範囲で、より広い見地 で本発明の真実の範囲と主旨を逸脱せずに、変形がなし得るものである。
2丁6.2 回 ?(・清vL [RI] FlG、4 FlG−4A FIG、6 FI口 RA FIG +、:’A 要約書 本メツセージ管理システムは、システムにより管理される可変長メツセージを構 成する固定長メツセージセグメントを格納するためのミラードディスク上のフラ ットファイルを利用する。ミラートコピーにおけるデータの不一致は許容され、 校正される。メツセージ管理は、クライアントからの命令に応じて、メソセージ の格納、回収、削除を行う。本システムは各メツセージに固有のメソセージ番号 を割り当て、これによりクライアントは関連するメツセージの参照を行う。フラ ットファイル内の各メソセージセグメントは、メツセージセグメントデータ及び 回復情報を有するレコードに格納される。メツセージセグメントはセグメントデ ィスクリブタとして表されるフラットファイルアドレスに格納される。回復情報 は、使用可能マーカ、セルフポインタ、メツセーフ番号、セグメントソーケンス 番号、データベース番号、ファイナルフラグ1最終アドレス及びチェックサムの フィールドを含む。仕様可能マーカは、当該メツセージセグメントが使用中か、 使用可能かを示す。セルフポインタはセグメントディスクリブタのアドレスと同 じである。メソセージ番号のフィールドは、メソセージセグメントをその一部と するメツセージを特定する。セグメントシーケンス番号はメソセージセグメント により占められたメツセージにおける順序を示す。データベース番号はそのメツ セージに関連するクライアントのアプリケ−/コンを特定する。最終フラグのフ ィールドはメツセージセグメントがそのメソセージにおける最終のメツセージセ グメントであるか否かを表すフラグを有する。最終アドレスのフィールドはメツ セージセグメントをその一部とするメツセージの、最終メ。
セージセグメントのセグメントディスクリブタを有する。チェックサムのフィー ルドは回復情報のチェックサムを有する。フラットファイル内のメツセージセグ メントにアクセスするためのデータベースは、システムディスク上に保持されメ ソセージ内のセグメントの数を含むシーケンスカランタ、クライアントアプリケ ーノコンを特定するためのデータベース番号のフィールド、メソセージが不完全 であるか否かを示すフラグを有する不完全メンセージ情報のフィールド及びメソ セージを構成するフラットファイル内のメソセージセグメントのセグメントデノ スクリブタアドレスを存するセグメントディスクリブタのフィールドを何してい る。回1y情報は、データベースが陳腐化したり、失われたり、破壊された場合 に、フラットファイル内の回復情報からデータベースの回復を許可する。TNA [IDITファイルは、本システムに関して影響を受けるトランザクノコンへ割 り当てられた、選択されたトランザクノコン番号を記録するために含まれる。T NAUDITファイルはシステムの初期化においてデータベースをフラットファ イルに同期させることを決定する。データベースの不一致が検出された場合、デ ータベースは回復情報から再構築される。データベース及び回復情報におけるメ ソセージ番号の比較や、使用可能マーカのテストは、回復情報からのデータベー スの回復を開始するためのきっかけを提供する。回復情報におけるセルフポイン タ及びチェックサムのフィールドはメソセージセグメントの正当性の確認を有効 なものとする。
国際調査報告 、+−、、、 、、==−−= PCT/us 91102845

Claims (65)

    【特許請求の範囲】
  1. (1)分離したメッセージとして受け取られた大容量の揮発性のリアルタイムデ ータのためのメッセージ管理システムであって、前記メッセージをフラットファ イルのそれぞれのアドレスにストアするフラットファイル手段と、 前記フラットファイルの前記アドレスを指定するポインタにより前記メッセージ にアクセスするインデックス構造を有するデータベース手段と、前記メッセージ の各々は回復情報をもって前記フラットファイル手段にストアされ、前記データ ベース手段が前記回復情報と不一致であることを表すステータス情報が発生する と、前記回復情報より前記データベース手段を再構築し、前記ステータス情報が 、前記データベース手段は前記回復情報と一致していないことを表示するとき、 前記回復情報と前記ステータス情報に応じて前記データベース手段を前記回復情 報より再構築する回復手段とを備えることを特徴とするメッセージ管理システム 。
  2. (2)ミラードディスクシステムを更に備え、前記フラットファイル手段は同一 のフラットファイルを前記ミラードディスクシステム上に備えることを特徴とす る請求の範囲1に記載のシステム。
  3. (3)前記メッセージは種々の長さのメッセージを備え、前記メッセージの各々 は唯一のメッセージ番号により特定され、前記メッセージの各々は最終メッセー ジセグメントを含む固定長のメッセージセグメントを含み、前記メッセージセグ メントは前記フラットファイル手段の対応するアドレスにストアされ、 前記インデックス構造は前記メッセージ番号へキーするデータベースレコードを 有し、各キードインデックス構造レコードは前記メッセージ番号によりキーされ るメッセージを有するメッセージセグメントが属する前記フラットファイル手段 の中の前記アドレスを指定するポインタをそれぞれに有し、前記ポインタは前記 最終メッセージセグメントに対応して前記レコードの中に最終ポインタを有する ことを特徴とする請求の範囲1に記載のシステム。
  4. (4)前記フラットファイル手段のアドレスにストアされる前記メッセージはメ ッセージと共にストアされる回復情報を有することを特徴とする請求の範囲3に 記載のシステム。
  5. (5)メッセージセグメントと共にストアされる前記回復情報は、前記メッセー ジセグメントの属するメッセージの前記メッセージ番号をストアするためのフィ ールドを有することを特徴とする請求の範囲4に記載のシステム。
  6. (6)メッセージセグメントと共にストアされる前記回復情報は、前記メッセー ジセグメントがメッセージデータをストアするのに使用可能であることを表す使 用可能マーカをストアするための使用可能マーカフィールドを有することを特徴 とする請求の範囲5に記載のシステム。
  7. (7)メッセージセグメントと共にストアされる前記回復情報は、前記メッセー ジセグメントを有するメッセージの最終メッセージセグメントのフラットファイ ルアドレスをストアするための最終アドレスフィールドと、メッセージセグメン トがメッセージの最終メッセージセグメントであることを表すファイナルフラグ を有するためのファイナルフラグフィールドを有することを特徴とする請求の範 囲6に記載のシステム。
  8. (8)メッセージセグメントと共にストアされる前記回復情報は、前記メッセー ジセグメントが属するフラットファイルアドレスをストアするためのセルフポイ ンタフィールドを有することを特徴とする請求の範囲7に記載のシステム。
  9. (9)メッセージセグメントと共にストアされる前記回復情報は、メッセージに おけるメッセージセグメントの順序位置を表すセグメントシーケンス番号をスト アするフィールドを有することを特徴とする請求の範囲8に記載のシステム。
  10. (10)請求の範囲10のシステムにおいて、メッセージセグメントと共にスト アされる前記回復情報は、前記回復情報を構成する全ての前記フィールドのチェ ックサムをストアするためのチェックサムフィールドを有することを特徴とする 請求の範囲9に記載のシステム。
  11. (11)前記回復情報の前記メッセージ番号と前記データベースの前記メッセー ジ番号を比較し、それらの間の不一致によりステータス情報を発生する比較手段 を有するステータス情報発生手段を更に備えることを特徴とする請求の範囲5に 記載のシステム。
  12. (12)前記回復情報の前記使用可能マーカにより、メッセージセグメントが「 使用中」か「使用可」かを決定し、前記データベースのメッセージの1部である メッセージセグメントが使用可にマークされていることに従ってステータス情報 を発生するための決定手段を有するステータス情報発生手段を更に有することを 特徴とする請求の範囲6に記載のシステム。
  13. (13)前記回復情報の前記メッセージ番号と前記データベースの前記メッセー ジ番号を比較し、それらの間の不一致により、前記メッセージセグメントが前記 メッセージの最終メッセージセグメントではない場合にステータス情報を発生す る比較手段を有するステータス情報発生手段を更に備えることを特徴とする請求 の範囲5に記載のシステム。
  14. (14)前記ステータス情報発生手段は、前記データベース手段のメッセージの 1部であるメッセージセグメントが使用可とマークされており、前記データベー スレコードの前記最終ポインタにより指定される前記メッセージのメッセージセ グメントではない場合、前記回復情報の前記使用可能マーカによりメッセージセ グメントが「使用中」か「使用可」かを決定し、ステータス情報を発生する決定 手段を更に備えることを特徴とする請求の範囲6に記載のシステム。
  15. (15)前記回復情報の前記メッセージ番号と前記データベースの前記メッセー ジ番号を比較する比較手段と、 前記回復情報の使用可能マーカによりメッセージセグメントが「使用中」か「使 用可」かを決定し、前記データベース手段のメッセージの1部であるメッセージ セグメントが使用中とマークされ、前記回復情報の前記メッセージ番号と前記デ ータベース手段の前記メッセージ番号が同じでなく、前記メッセージの前記メッ セージセグメントは前記データベースレコードの前記最終ポインタにより指定さ れていない場合にステータス情報を発生する決定手段とを備えるステータス情報 発生手段を更に備えることを特徴とする請求の範囲6に記載のシステム。
  16. (16)前記回復情報の前記メッセージ番号と前記データベースの前記メッセー ジ番号を比較する比較手段と、 前記回復情報の使用可能マーカによりメッセージセグメントが「使用中」か「使 用可」かを決定し、前記データベース手段のメッセージの1部であるメッセージ セグメントか使用中とマークされ、かつ前記回復情報の前記メッセージ番号と前 記データベース手段の前記メッセージ番号が同じでなく、かつ前記メッセージの 前記メッセージセグメントは前記データベースレコードの前記最終ポインタによ り指定されており、かつ前記データベースレコードの前記最終ポインタにより指 定される前記メッセージセグメントの回復情報の前記使用可能マーカが使用中を 表し、かつ前記データベースレコードの前記最終ポインタにより指定される前記 メッセージセグメントの前記回復情報における前記メッセージ番号が前記データ ベースレコードの前記最終ポインタにより指定される前記メッセージセグメント の前記回復情報の前記最終アドレスによりアドレスされる前記メッセージセグメ ントの前記回復情報の前記メッセージ番号が同じである場合、ステータス情報を 発生する決定手段とを備えるステータス情報発生手段を更に備えることを特徴と する請求の範囲7に記載のシステム。
  17. (17)インクリメントされた前記データベース手段におけるトランザクション 番号をストアする手段と、 前記トランザクション番号は、前記データベース手段と前記フラットファイル手 段とに関連して変化した現トランザクションに従ってインクリメントされ、前記 トランザクションに結合した前記トランザクション番号より選択されたトランザ クション番号を記録するTNAUDITファイルと、前記TNAUDITファイ ルと前記データベース手段における前記トランザクション番号を比較し、前記T NAUDITファイルにおける前記トランザクション番号の全てが、前記データ ベース手段にストアされる前記トランザクション番号よりも大きい場合にステー タス情報を発生する比較手段とを更に備えることを特徴とする請求の範囲10に 記載のシステム。
  18. (18)メッセージセグメントと共にストアされる前記回復情報に応答して、前 記回復情報の前記セルフポインタと前記メッセージセグメントがストアされる前 記フラットファイルアドレスとを比較し、両者の間の不一致に従ってエラー信号 を発生する回復情報照合手段をさらに備えることを特徴とする請求の範囲10に 記載のシステム。
  19. (19)前記回復情報照合手段は、 前記回復情報に基づいて、その回復情報のチェックサムフィールドを除く全ての チェックサムを計算するチェックサム手段と、前記チェックサム手段により生成 されるチェックサムと、前記回復情報の前記チェックサムフィールドにストアさ れている前記チェックサムとを比較し、両者の不一致に従ってエラー信号を発生 する比較手段とを更に備えることを特徴とする請求の範囲18に記載のシステム 。
  20. (20)前記メッセージ番号の各々は前記システムに期待されるライフタイムに わたりユニークであることを特徴とする請求の範囲3に記載のシステム。
  21. (21)高順位コンポーネントと低順位コンポーネントとを備えるマスターメッ セージ番号手段を備えるメッセージ番号発生手段を更に備え、前記メッセージ番 号の各々は、新しいメッセージ番号が要求される度に前記低順位コンポーネトを インクリメントし、前記低順位コンポーネントがオーバーフローするかもしくは システムが初期化される度に前記高順位コンポーネントをインクリメントし、前 記高順位コンポーネントがインクリメントされたときストアすることにより、前 記マスターメッセージ番号手段から生成されることを特徴とする請求の範囲20 に記載のシステム。
  22. (22)前記システムの各初期化の後に、前記フラットファイル手段より読みだ されるメッセージの最終メッセージセグメントを前記フラットファイル手段へ書 き戻すための書き戻し手段を更に備えることを特徴とする請求の範囲3に記載の システム。
  23. (23)前記書き戻し手段は、前記システムの各初期化の後に、前記最終メッセ ージセグメントを1度だけ書き戻す手段を備えることを特徴とする請求の範囲2 2に記載のシステム。
  24. (24)前記データベースレコードは、前記メッセージ番号により指示される前 記メッセージが不完全であることを表示する不完全メッセージフラグをストアす るフィールドを更に備える請求の範囲10に記載のシステム。
  25. (25)前記回復手段は、 前記不完全メッセージフラグがセットされているメッセージの状態または、前記 回復手段による前記フラット手段からの前記データベースの前記再構築の実行中 に前記メッセージセグメントに関して前記回復手段がI/Oエラーを返すメッセ ージを解明することを試みる不完全メッセージ処理手段を更に備えることを特徴 とする請求の範囲24に記載のシステム。
  26. (26)前記フラットファイル手段からの前記データベースの回復を実行中に読 み出し或いは書き込みができないメッセージセグメントのアドレスをストアする ためのエラーデータベースレコード(EDBR)を更に備え、前記不完全メッセ ージ処理手段は、 前記エラーデータベースレコードから前記アドレスを得る手段と、前記フラット ファイル手段より前記アドレスの前記メッセージセグメントを読み出す手段と、 前記フラットファイル手段よりエラー無しで読み出された前記メッセージセグメ ントの各々について、回復情報の照合を行う手段と、照合が成功した前記メッセ ージセグメントの前記回復情報に基づいて前記フラットファイルのそれぞれ対応 するアドレスに前記メッセージセグメントを書き戻す手段と、 前記データベースレコードが配置される前記データベースヘの検索キーとして前 記回復情報の前記メッセージ番号を利用する手段と、前記フラットファイル手段 にエラー無しで書き込まれた前記メッセージセグメントに基づいて前記データベ ースレコードを得る手段と、前記データベースレコードの前記不完全メッセージ フラグがセットされている場合、前記アドレスに対応するポインタを前記データ ベースレコードに含む手段と、 前記データベースレコードの前記ポインタの包含に基づいて、前記エラーデータ ベースレコードから前記アドレスを引き出す手段と、前記データベースレコード に前記ポインタの完全なセットを含ませる前記ポインタの包含に基づいて前記不 完全メッセージフラグのをリセットする手段とを備える請求の範囲25に記載の システム。
  27. (27)メッセージ送出コマンド、メッセージ受取コマンド、メッセージ消去コ マンドに応じて、前記フラットファイル手段の所定のメッセージにアクセスし、 それぞれ、アクセスされたメッセージをデータチャンネルを介して送出し、デー タチャンネルよりデータを受け取り前記フラットファイル手段にストアし、前記 フラットファイル手段より所定のメッセージを消去するコマンド手段を更に備え ることを特徴とする請求の範囲17に記載のシステム。
  28. (28)前記コマンド手段は、 送出される前記メッセージの前記メッセージセグメントの各々における前記回復 情報を照合する手段と、 送出される前記メッセージの前記メッセージセグメントの各々の前記使用可能マ ーカに応答して、前記メッセージセグメントが使用中か使用可であるかを決定す る手段と、 前記使用可能マーカ決定手段に結合して、前記メッセージセグメントが使用可と なっており、前記データベースレコードの前記最終ポインタにより指定されるメ ッセージセグメントではない場合にステータス情報を発生する手段と、送出され る前記メッセージの前記メッセージセグメントの各々における回復情報の前記メ ッセージ番号とデータベース手段における前記メッセージ番号を比較し、両者間 の不一致を検出する手段と、前記使用可能マーカ決定手段と前記メッセージ番号 比較手段に結合して、メッセージ番号の不一致が検出され、前記メッセージセグ メントは使用中となっており、前記メッセージセグメントは前記データベースレ コードの前記最終ポインタにより指定されるメッセージセグメントではない場合 に前記ステータス情報を発生する手段と、 前記使用可能マーカ決定手段と前記メッセージ番号比較手段に結合して、メッセ ージ番号の不一致が検出され、前記メッセージセグメントは使用中となっており 、前記メッセージセグメントは前記データベースレコードの前記最終ポインタに より指定されているメッセージセグメントであり、前記データベースレコードの 前記最終ポインタにより指定されるメッセージセグメントの回復情報の最終アド レスによりアドレスされるメッセージセグメントの回復情報が使用中となってお り、前記データベースレコードの前記最終ポインタにより指定されるメッセージ セグメントの回復情報のメッセージ番号が前記データベースレコードの前記最終 ポインタにより指定されるメッセージの回復情報の最終アドレスによりアドレス されるメッセージセグメントの回復情報にあるメッセージ番号と同じである場合 、前記ステータス情報を発生する手段とを備えるメッセージ送出コマンド手段を 有することを特徴とする請求の範囲27に記載のシステム。
  29. (29)前記コマンド手段は、 受信された前記メッセージのかくメッセージセグメントにおける前記回復情報を 生成する手段と、 前記生成手段に結合して、前記メッセージの最終メッセージセグメントを除く各 メッセージセグメントを前記フラットファイル手段にストアする手段と、前記ス トア手段に結合して、前記トランザクション番号を発生する手段と、前記発生手 段に結合して、前記データベース手段をストアする手段と、前記発生手段に結合 して、前記トランザクション番号をストアする手段と、前記ストア手段に結合し て、前記最終メッセージセグメントをストアする手段とを備えるメッセージ受取 コマンド手段を有することを特徴とする請求の範囲27に記載のシステム。
  30. (30)前記コマンド手段は、 消去される前記メッセージの前記メッセージセグメントの各々における前記回復 情報を照合する手段と、 消去される前記メッセージの前記メッセージセグメントの各々の前記使用可能マ ーカにより、前記メッセージセグメントが使用中か使用可かを決定する手段と、 前記使用可能マーカ決定手段に結合して、前記メッセージセグメントが使用可と なっており、前記データベースレコードの前記最終ポインタにより指定されるメ ッセージセグメントではない場合、前記ステータス情報を発生する手段と、消去 される前記メッセージの前記メッセージセグメントの各々における前記回復情報 の前記メッセージ番号と、前記データベース手段の前記メッセージ番号とを比較 し、両者の間に不一致を検出する手段と、前記使用可能マーカ決定手段と前記メ ッセージ番号比較手段とに結合して、メッセージ番号の不一致が検出され、前記 メッセージセグメントは使用中となっており、前記メッセージセグメントは前記 データベースレコードの前記最終ポインタにより指定されていない場合に前記ス テータス情報を発生する手段と、前記使用可能マーカ決定手段と前記メッセージ 番号比較手段とに結合して、メッセージ番号の不一致が検出され、前記メッセー ジセグメントは使用中となっており、前記メッセージセグメントは前記データベ ースレコードの前記最終ポインタにより指定されており、前記データベースレコ ードにおける前記最終ポインタにより指定されるメッセージセグメントの回復情 報の最終アドレスによりアドレスされるメッセージセグメントの回復情報が使用 中とマークされており、前記データベースレコードにおける前記最終ポインタに より指定されるメッセージセグメントの回復情報におけるメッセージ番号が、前 記データベースレコードにおける前記最終ポインタにより指定されるメッセージ セグメントの回復情報の最終アドレスによりアドレスされるメッセージセグメン トの回復情報のメッセージ番号と同じである場合に前記ステータス情報を発生す る手段とを備えるメッセージ消去コマンド手段を有することを特徴とする請求の 範囲27に記載のシステム。
  31. (31)前記データベースレコードはクライアントアプリケーションを特定する データベース番号をストアするためのフィールドを有し、前記コマンド手段はメ ッセージ番号獲得コマンドにより、前記システムの最終の初期化に先立って生成 された前記データベースレコードにおける全てのメッセージ番号を獲得し、前記 データベース番号フィールドにおける要求されたデータベース番号を所有する手 段を有することを特徴とする請求の範囲27に記載のシステム。
  32. (32)照合されていないメッセージセグメントのアドレスをストアするための 未照合フラットファイルリスト(UFFL)と、照合されたメッセージセグメン トのアドレスをストアするための照合済みフラットファイルリスト(VFFL) と、前記データベースの中に保留されるメッセージセグメントのアドレスをスト アする保留セグメントリスト(RSL)とを更に備える請求の範囲26に記載の システム。
  33. (33)前記回復手段が、 前記VFFLとEDBRにおける全ての前記アドレスを前記UFFLに移動する 手段と、 前記不完全メッセージフラグかセットされている前記データベースレコードの全 てに対するメッセージセグメントのアドレスをUFFLにおく手段と、前記不完 全メッセージフラグがセットされていない前記データベースレコードの全てに対 して、前記メッセージセグメントの各々の前記セルフポインタ及び前記チェック サムをI/Oエラー無しで照合し、照合されたメッセージセグメントを前記フラ ットファイル手段に書き戻す処理を行う手段と、前記フラットファイル手段に書 き戻しを完了した前記照合済みメッセージセグメントに対して、それらの前記回 復情報の前記使用可能マーカか使用中か使用可かを決定し、それらの前記回復情 報におけるメッセージ番号と前記データベースのメッセージ番号とを比較し、前 記使用可能マーカが使用可を表す場合に前記フラットファイル手段に書き戻しを 完了した前記メッセージセグメントの全てのアドレスをUFFLにおき、また、 前記使用可能マーカが使用中を表し、それらの前記回復情報における前記メッセ ージ番号が前記データベースの前記メッセージ番号と一致しない場合に前記フラ ットファイル手段に書き戻しを完了した前記メッセージセグメントの全てのアド レスをUFFLにおく処理を行う手段と、前記UFFLにおける各アドレスに対 して、前記UFFLにおける前記アドレスにより指定される各メッセージセグメ ントの前記回復情報の前記使用可能マーカが使用中か使用可かを決定し、使用中 の前記メッセージセグメントに対するアドレスを前記RSLにおき、使用可の前 記メッセージセグメントに対するアドレスを前記VFFLにおく手段と、 前記RSLにおける前記アドレスに対応する前記メッセージセグメントの回復情 報における前記メッセージ番号と前記セグメントシーケンス番号により、前記R SLに前記アドレスをストアする手段と、各完全メッセージに対して前記RSL にストアされた前記アドレスを利用するデータベースレコードを構築する手段と を更に備えることを特徴とする請求の範囲32に記載のシステム。
  34. (34)フラットファイルの各アドレスにそれぞれメッセージをストアする工程 と、 前記フラットファイルにおける前記アドレスを指すポインタにより前記メッセー ジをアクセスするためのインデックス構造を有するデータベースを使用する程と 、 前記フラットファイルにストアされる前記メッセージの各々と共に回復情報をス トアする工程と、 前記データベースと前記回復情報とが不一致であることを表すステータス情報が 発生した場合に前記回復情報より前記データベースを再構築するものであり、 前記ステータス情報が前記データベースは前記回復情報と不一致であることを表 すとき、前記データベースを前記回復情報より再構築する工程とを備えた、セパ レートメッセージとして受け取られる大容量の揮発性のリアルタイムデータを管 理するシステムのデータ管理方法。
  35. (35)ミラードディスクシステムを使用する工程を更に備え、前記フラットフ ァイルは前記ミラードディスクシステム上に同一のフラットファイルを有するこ とを特徴とする請求の範囲34に記載の方法。
  36. (36)前記メッセージは可変長のメッセージであり、前記方法は、固有のメッ セージ番号により前記メッセージの各々を特定する工程と、 前記メッセージの各々は最終メッセージセグメントを含む固定長のメッセージセ グメントから構成され、 前記フラットファイルの対応するアドレスに前記メッセージセグメントをストア する工程と、 前記インデックス構造において前記メッセージ番号をキーとするデータベースレ コードをストアする工程とを更に有し、各キーとなるデータベースレコードはフ ラットファイル中の前記アドレスを指すポインタを含み、前記アドレスには前記 メッセージ番号によりキーされる前記メッセージを有するメッセージセグメント がそれぞれ属し、前記ポインタは前記最終メッセージセグメントに対応する最終 ポインタを前記レコードの中に有することを特徴とする請求の範囲34に記載の 方法。
  37. (37)前記フラットファイルのアドレスにストアされる前記メッセージセグメ ントの各々とともに、前記回復情報をストアする工程を更に備える請求の範囲3 6に記載の方法。
  38. (38)前記回復情報をメッセージセグメントとともにストアする工程は、前記 メッセージセグメントが属するメッセージのメッセージ番号をストアするフィー ルドを含める工程を備えることを特徴とする請求の範囲37に記載の方法。
  39. (39)前記回復情報をメッセージセグメントとともにストアする工程は、使用 可能マーカフィールドを含む工程を備え、前記メッセージセグメントがメッセー ジデータをストアすることが可能であるかどうかを表す使用可能マーカをストア することを特徴とする請求の範囲38に記載の方法。
  40. (40)前記回復情報をメッセージセグメントとともにストアする工程は、メッ セージセグメントを有するメッセージの最終メッセージセグメントのフラットフ ァイルアドレスをストアするための最終アドレスフィールドと、メッセージの最 終メッセージセグメントであることを表すファイナルフラグを有するファイナル フラグフィールドを含める工程を備えることを特徴とする請求の範囲39に記載 の方法。
  41. (41)前記回復情報をメッセージセグメントとともにストアする工程は、前記 メッセージセグメントが登録されるフラットファイルアドレスをストアするセル フポインタフィールドを含める工程を備えることを特徴とする請求の範囲40に 記載の方法。
  42. (42)前記回復情報をメッセージセグメントとともにストアする工程は、メッ セージにおけるメッセージセグメントシーケンス位置を表現するセグメントシー ケンス番号をストアするフィールドを備えることを特徴とする請求の範囲41に 記載の方法。
  43. (43)前記回復情報をメッセージセグメントとともにストアする工程は、前記 回復情報の前記フィールドの全てについてのチェックサムをストアするチェック サムフィールドを含める工程を備えることを特徴とする請求の範囲42に記載の 方法。
  44. (44)前記回復情報における前記メッセージ番号と前記データベースにおける 前記メッセージ番号とを比較し、両者の不一致に従って前記ステータス情報を発 生する工程を更に備えることを特徴とする請求の範囲38に記載の方法。
  45. (45)前記回復情報の前記使用可能マーカより、メッセージセグメントが使用 中か使用可かを決定し前記データベースにおけるメッセージの1部であるメッセ ージセグメントが使用可となっている場合前記ステータス情報を発生する工程を 更に備えることを特徴とする請求の範囲39に記載の方法。
  46. (46)前記回復情報における前記メッセージ番号と、前記データベースにおけ る前記メッセージ番号とを比較し、両者の不一致に従って、前記メッセージセグ メントが前記メッセージの最終メッセージセグメントではない場合に、前記ステ ータス情報を発生する工程を更に備えることを特徴とする請求の範囲38に記載 の方法。
  47. (47)前記ステータス情報を発生する工程は、前記メッセージセグメントの前 記回復情報における前記使用可能マーカより前記メッセージセグメントが使用中 か使用可かを決定する工程と、前記データベースにおけるメッセージの1部であ るメッセージセグメントが使用可となっており、そのメッセージセグメントは前 記データベースレコードにおける前記最終ポインタにより指定されるメッセージ セグメントではない場合に前記ステータス情報を発生する手段とを備えることを 特徴とする請求の範囲39に記載の方法。
  48. (48)前記回復情報における前記メッセージ番号と前記データベースにおける 前記メッセージ番号とを比較し、前記回復情報の前記使用可能マーカによりメッ セージセグメントが使用中か使用可かを決定し、前記データベースにおけるメッ セージの1部分であるメッセージセグメントが使用中であり、前記回復情報にお ける前記メッセージ番号が前記データベースにおける前記メッセージ番号と異な り、前記メッセージの前記メッセージセグメントは前記データベースレコードの 前記最終ポインタにより指定されていない場合にステータス情報を発生する工程 を更に備えることを特徴とする請求の範囲39に記載の方法。
  49. (49)前記回復情報における前記メッセージ番号と前記データベースにおける 前記メッセージ番号とを比較し、前記回復情報の前記使用可能マーカによりメッ セージセグメントが使用中か使用可かを決定し、前記データベースのメッセージ の1部分であるメッセージセグメントが使用中となっており、前記回復情報にお ける前記メッセージ番号が前記データベースレコードにおける前記メッセージ番 号と同じではなく、前記メッセージの前記メッセージセグメントは前記データベ ースレコードの前記最終ポインタにより指定されており、前記データベースレコ ードにおける前記最終ポインタにより指定される前記メッセージセグメントの回 復情報における前記最終アドレスによりアドレスされるメッセージセグメントの 前記回復情報の前記使用可能マーカが使用中となっており、前記データベースレ コードにおける前記最終ポインタにより指定される前記メッセージセグメントの 前記回復情報における前記メッセージ番号が前記データベースレコードの最終ポ インタにより指定される前記メッセージセグメントの前記回復情報における最終 アドレスによりアドレスされる前記メッセージセグメントの前記回復情報におけ る前記メッセージ番号と同一でない場合に前記ステータス情報を発生する工程を 更に備えることを特徴とする請求の範囲40に記載の方法。
  50. (50)前記データベースにインクリメントされたトランザクション番号をスト アする工程と、 前記トランザクション番号は、前記データベースと前記フラットファイルに関連 して変化した現在のトランザクションに従ってインクリメントされるものであり 、 前記トランザクションに関連した前記トランザクション番号のうちの選択された ものをTNAUDITファイルに記録する工程と、前記TNAUDITファイル と前記データベースのトランザクション番号を比較し、前記TNAUDITファ イルにおける前記トランザクション番号のどれもが前記データベースレコードに ストアされた前記トランザクション番号よりも大きい場合にステータス情報を発 生する工程とを更に備えることを特徴とする請求の範囲43に記載の方法。
  51. (51)前記回復情報の前記セルフポインタと前記メッセージセグメントがスト アされる前記フラットファイルアドレスとを比較し、両者の間の不一致にし違っ てエラー信号を発生することにより、メッセージセグメントとともにストアされ る前記回復情報の照合を実行する工程を更に備えることを特徴とする請求の範囲 43に記載の方法。
  52. (52)前記回復情報照合工程は、 前記回復情報の前記チェックサムフィールドを除く全てよりチェックサムを得る 工程と、 前記チェックサム獲得工程により得られるチェックサムと、前記回復情報の前記 チェックサムフィールドにストアされる前記チェックサムとを比較し、両者の間 の不一致に従ってエラー信号を発生する工程とを更に備えることを特徴とする請 求の範囲51に記載の方法。
  53. (53)前記システムの期待されるライフタイムにわたりユニークである前記メ ッセージ番号を発生する工程を更に備える請求の範囲36に記載の方法。
  54. (54)高順位コンポーネントと低順位コンポーネントとを有するマスターメッ セージ番号よりメッセージ番号を発生する工程を更に備え、新しいメッセージ番 号が要求される度に前記低順位コンポーネントをインクリメントし、 前記低順位コンポーネントがオーバーフローもしくは前記方法が初期化される度 に前記高順位コンポーネントをインクリメントし、前記高順位コンポーネントが インクリメントされるときに前記高順位コンポーネントをストアすることを特徴 とする請求の範囲53に記載の方法。
  55. (55)前記方法の各初期化の後に前記フラットファイルより読みだされたメッ セージの最終メッセージセグメントを前記フラットファイルに書き戻す工程を更 に備えることを特徴とする請求の範囲36に記載の方法。
  56. (56)前記書き戻し工程は前記方法の各初期化の後に1度だけ前記最終メッセ ージセグメントを書き戻す工程を備えることを特徴とする請求の範囲55に記載 の方法。
  57. (57)前記メッセージ番号によりキーされた前記メッセージが不完全であるこ とを表す不完全メッセージフラグをストアするふぃーる度を前記データベースレ コードに有する工程を更に備える請求の範囲43に記載の方法。
  58. (58)前記不完全メッセージフラグがセットされているメッセージの現在の状 態を解明するか、または、前記フラットファイルからの前記データベースの前記 再構築を実行している間にメッセージセグメントに関してI/Oエラーが返され たメッセージの現在の状態を解明することを試みる不完全メッセージ処理工程を 更に備えることを特徴とする請求の範囲57に記載の方法。
  59. (59)前記システムは前記フラットファイルからの前記データベースの回復中 に読みだし及び書き込みのできなかったメッセージセグメントのアドレスを含む エラーデータベースレコードを備え、 前記不完全メッセージ処理工程は、 前記エラーデータベースレコードより前記アドレスを獲得する工程と、前記フラ ットファイルの前記アドレスよりメッセージセグメントを読み出す工程と、 前記フラットファイルよりI/Oエラー無しで読みだされた前記メッセージセグ メントに対して前記回復情報の照合を行う工程と、前記メッセージセグメントに おける前記回復情報の照合が正常に完了したメッセージセグメントを前記フラッ トファイルの対応する前記アドレスへ前記メッセージセグメントの各々を書き戻 す工程と、前記データベースレコードを配置する前記データベースヘのキーとし て前記回復情報の前記メッセージ番号を利用する工程と、前記フラットファイル へエラー無しで書き込まれた前記メッセージセグメントにおいて、前記データベ ースレコードを獲得する工程と、前記データベースレコードにおける前記不完全 メッセージフラグがセットされている場合、前記データベースレコードにおいて 前記アドレスに対応するポインタを含ませる工程と、 前記データベースレコードに前記ポインタを含ませる工程において、前記エラー データベースレコードより前記アドレスを引き出す工程と、前記データベースレ コードに前記ポインタの完了セットを含ませる工程において、前記不完全メッセ ージフラグをリセットする工程とを備える請求の範囲58に記載の方法。
  60. (60)メッセージ送出コマンドに応答して、フラットファイル中の指定された メッセージにアクセスし、前記アクセスされたメッセージをデータチャンネルを 介して送信する工程と、 メッセージ受取コマンドに応答して、データチャンネルよりメッセージを受け取 り、前記の受け取ったデータを前記フラットファイルにストアする工程と、メッ セージ消去コマンドに応答して、指定されたメッセージを前記フラットファイル より消去する工程とを更に備えることを特徴とする請求の範囲50に記載の方法 。
  61. (61)前記アクセスと送出の工程は、送出される前記メッセージの前記メッセ ージセグメントの各々における前記回復情報を照合する工程と、 送出される前記メッセージの前記メッセージセグメントの各々の前記使用可能マ ーカより、前記メッセージセグメントが使用中か使用可かを決定する工程と、 前記メッセージセグメントが使用可であり、前記データベースレコードの前記最 終ポインタにより指定されるメッセージセグメントではない場合に前記ステータ ス情報を発生する工程と、 送出される前記メッセージの前記メッセージセグメントの各々における前記回復 情報の前記メッセージ番号と、前記データベースにおける前記メッセージ番号を 比較し、両者の間に不一致を検出する工程と、メッセージ番号の不一致が検出さ れ、前記メッセージセグメントは使用中となっており、前記データベースレコー ドの前記最終ポインタにより指定されるメッセージセグメントではない場合に前 記ステータス情報を発生する手段と、前記メッセージセグメントの前記回復情報 における前記メッセージ番号と、ぜんきでーたべーすのぜんきめっせーじばんご うとがで不一致が検出され、前記メッセージセグメントは使用中と表示され、前 記メッセージセグメントは前記データベースレコードにおける前記最終ポインタ により指定されており、前記データベースレコードにおける前記最終ポインタに より指定される前記メッセージセグメントの回復情報の最終アドレスによりアド レスされるメッセージセグメントの回復情報が使用中となっており、前記データ ベースレコードの前記最終ポインタにより指定されるメッセージセグメントの回 復情報におけるメッセージ番号と、前記データベースレコードの前記最終ポイン タにより指定されるメッセージセグメントの回復情報の最終アドレスによりアド レスされるメッセージセグメントの回復情報におけるメッセージ番号が同じであ る情合、前記ステータス情報を発生する工程とを備えることを特徴とする請求の 範囲60に記載の方法。
  62. (62)前記メッセージ受取工程は、 受け取られた前記メッセージのメッセージセグメントの各々における回復情報を 生成する工程と、 前記メッセージの最終メッセージセグメントを除く他の全メッセージセグメント を前記フラットファイルにストアする工程と、前記トランザクション番号を発生 する工程と、前記データベースをストアする工程と、前記トランザクション番号 をストアする工程と、前記最終メッセージセグメントをストアする工程とを備え ることを特徴とする請求の範囲60に記載の方法。
  63. (63)前記消去工程は、 消去される前記メッセージの前記メッセージセグメントの各々における前記回復 情報を照合する工程と、 消去される前記メッセージの前記メッセージセグメントの各々の使用可能マーカ より前記メッセージセグメントが使用中か使用可かを決定する工程と、前記メッ セージセグメントが使用可となっており、前記データベースレコードの前記最終 ポインタにより指定されるメッセージセグメントではない場合前記ステータス情 報を発生する工程と、 消去される前記メッセージの前記メッセージセグメントの各々における前記回復 情報の前記メッセージ番号と前記データベースレコードにおける前記メッセージ 番号とを比較し、両者間の不一致を検出する工程と、メッセージ番号の不一致が 検出され、前記メッセージセグメントは前記データベースレコードの前記最終ポ インタにより指定されるメッセージセグメントではない場合に前記ステータス情 報を発生する工程と、メッセージ番号の不一致が、前記メッセージセグメントの 前記回復情報における前記メッセージ番号と前記データベースにおける前記メッ セージ番号との間で検出され、前記メッセージセグメントは使用中とマークされ ており、前記メッセージセグメントは前記データベースレコードの前記最終ポイ ンタにより指定されており、前記データベースレコードの前記最終ポインタによ り指定されるメッセージセグメントの回復情報における最終アトレスによりアド レスされるメッセージセグメントの回復情報が使用中となっており、前記データ ベースレコードの前記最終ポインタにより指定されるメッセージセグメントの回 復情報におけるメッセージ番号と前記データベースレコードの前記最終ポインタ により指定されるメッセージセグメントの回復情報の最終アドレスによりアドレ スされるメッセージセグメントの回復情報におけるメッセージ番号とが同じであ る場合に前記ステータス情報を発生する工程とを備えることを特徴とする請求の 範囲60に記載の方法。
  64. (64)前記データベースレコードは、クライアントアプリケーションを特定す るデータベース番号をストアするフィールドを有し、前記方法は、メッセージ番 号獲得コマンドに応答して、前記システムの最終の初期化に先立って生成された 前記データベースレコードの全てのメッセージ番号を獲得し、前記データベース 番号フィールドに要求されるデータベース番号を所有する工程を更に備えること を特徴とする請求の範囲60に記載の方法。
  65. (65)前記システムは、 照合されていないメッセージセグメントのアドレスをストアするための未照合フ ラットファイルリスト(UFFL)と、照合されたメッセージセグメントのアド レスをストアするための照合済みフラットファイルリスト(VFFL)と、前記 データベースに保留されるべきメッセージセグメントのアドレスをストアするた めの保留セグメントリスト(RSL)とを更に備え、前記方法は、 前記VFFLとEDBRの全ての前記アドレスを前記UFFLに移動する工程と 、前記不完全メッセージフラグがセットされた前記データベースレコードの全て に対するメッセージセグメントの全てのアドレスを前記UFFLにおく工程と、 前記不完全メッセージフラグがセットされていない前記データベースレコード全 てにたいして、前記メッセージセグメントの各々の前記セルフポインタと前記チ ェックサムをI/Oエラーの発生無しに照合し、前記照合されたメッセージセグ メントを前記フラットファイルに書き戻す処理を行う工程と、書き込みを完了し た前記照合されたメッセージセグメントの各々に対して、それらメッセージセグ メントの回復情報の使用可能マーカが使用中か使用可かを決定し、それらメッセ ージセグメントの前記回復情報におけるメッセージ番号と前記データベースにお けるメッセージ番号とを比較し、前記使用可能マーカか使用可である場合、前記 フラットファイル手段に書き戻しを完了した前記メッセージセグメントのアドレ スを前記UFFLにおき、前記使用可能マーカか使用中となっており前記回復情 報の前記メッセージ番号が前記データベースにおける前記メッセージ番号が一致 しない場合に前記フラットファイル手段に書き戻しを完了した前記メッセージセ グメントのアドレスを前記UFFLにおく処理を実行する工程と、 前記UFFLにおける各アドレスに対して、前記UFFLにおけるアトレスによ り指定される各メッセージセグメントの前記回復情報の使用可能マーカが使用中 か使用可かを決定し、使用中にマークされた前記メッセージセグメントのアドレ スを前記RSLにおき、使用可にマークされた前記メッセージセグメントのアド レスをVFFLにおく処理を実行する工程と、前記RSLにおける前記アドレス に対応した前記メッセージセグメントの回復情報にの前記メッセージ番号と前記 セグメントシーケンス番号とにより前記RSLいおけるアドレスをソーティング する工程と、各完了メッセージの前記RSLにストアされたアドレスを利用して 、前記データベースレコードを構築する工程とを更に備えることを特徴とする請 求の範囲59に記載の方法。
JP3508679A 1990-04-25 1991-04-24 大容量データベースシステムにおける回復 Pending JPH05502747A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US07/514,783 US5138710A (en) 1990-04-25 1990-04-25 Apparatus and method for providing recoverability in mass storage data base systems without audit trail mechanisms
US514,783 1990-04-25

Publications (1)

Publication Number Publication Date
JPH05502747A true JPH05502747A (ja) 1993-05-13

Family

ID=24048674

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3508679A Pending JPH05502747A (ja) 1990-04-25 1991-04-24 大容量データベースシステムにおける回復

Country Status (6)

Country Link
US (1) US5138710A (ja)
EP (1) EP0480009B1 (ja)
JP (1) JPH05502747A (ja)
CA (1) CA2060886C (ja)
DE (1) DE69116065T2 (ja)
WO (1) WO1991016677A1 (ja)

Families Citing this family (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5065311A (en) * 1987-04-20 1991-11-12 Hitachi, Ltd. Distributed data base system of composite subsystem type, and method fault recovery for the system
US5325519A (en) * 1991-10-18 1994-06-28 Texas Microsystems, Inc. Fault tolerant computer with archival rollback capabilities
DE69231873T2 (de) * 1992-01-08 2002-04-04 Emc Corp Verfahren zur Synchronisierung von reservierten Bereichen in einer redundanten Speicheranordnung
JP3213766B2 (ja) * 1992-03-16 2001-10-02 株式会社日立製作所 レプリケートファイル更新システム
EP0593062A3 (en) * 1992-10-16 1995-08-30 Siemens Ind Automation Inc Redundant networked database system
US5404508A (en) * 1992-12-03 1995-04-04 Unisys Corporation Data base backup and recovery system and method
US5504883A (en) * 1993-02-01 1996-04-02 Lsc, Inc. Method and apparatus for insuring recovery of file control information for secondary storage systems
US5515502A (en) * 1993-09-30 1996-05-07 Sybase, Inc. Data backup system with methods for stripe affinity backup to multiple archive devices
CA2137167C (en) * 1993-12-22 1999-09-21 Tony J. Brice Data management method and architecture
US5778167A (en) * 1994-06-14 1998-07-07 Emc Corporation System and method for reassigning a storage location for reconstructed data on a persistent medium storage system
US5592618A (en) * 1994-10-03 1997-01-07 International Business Machines Corporation Remote copy secondary data copy validation-audit function
US5734817A (en) * 1995-03-01 1998-03-31 Unisys Corporation Method for making a data base available to a user program during data base recovery
US5644696A (en) * 1995-06-06 1997-07-01 International Business Machines Corporation Recovering multi-volume data sets during volume recovery
US5771276A (en) * 1995-10-10 1998-06-23 Ast Research, Inc. Voice templates for interactive voice mail and voice response system
US6453345B2 (en) 1996-11-06 2002-09-17 Datadirect Networks, Inc. Network security and surveillance system
US5953352A (en) 1997-06-23 1999-09-14 Micron Electronics, Inc. Method of checking data integrity for a raid 1 system
US6061822A (en) * 1997-06-23 2000-05-09 Micron Electronics, Inc. System and method for providing a fast and efficient comparison of cyclic redundancy check (CRC/checks sum) values of two mirrored disks
US6058166A (en) * 1997-10-06 2000-05-02 Unisys Corporation Enhanced multi-lingual prompt management in a voice messaging system with support for speech recognition
US6317485B1 (en) * 1998-06-09 2001-11-13 Unisys Corporation System and method for integrating notification functions of two messaging systems in a universal messaging system
US6430177B1 (en) 1998-06-09 2002-08-06 Unisys Corporation Universal messaging system providing integrated voice, data and fax messaging services to pc/web-based clients, including a content manager for receiving information from content providers and formatting the same into multimedia containers for distribution to web-based clients
US6148329A (en) * 1998-07-20 2000-11-14 Unisys Corporation Method and system for maintaining the format of messages in a messaging system database
US6504915B1 (en) 1998-09-25 2003-01-07 Unisys Corporation Multiple node messaging system wherein nodes have shared access to message stores of other nodes
US6408310B1 (en) * 1999-10-08 2002-06-18 Unisys Corporation System and method for expediting transfer of sectioned audit files from a primary host to a secondary host
US7116764B1 (en) 2000-08-11 2006-10-03 Unisys Corporation Network interface unit having an embedded services processor
US7327832B1 (en) 2000-08-11 2008-02-05 Unisys Corporation Adjunct processing of multi-media functions in a messaging system
US7095828B1 (en) 2000-08-11 2006-08-22 Unisys Corporation Distributed network applications platform architecture
US7386610B1 (en) 2000-09-18 2008-06-10 Hewlett-Packard Development Company, L.P. Internet protocol data mirroring
US6977927B1 (en) 2000-09-18 2005-12-20 Hewlett-Packard Development Company, L.P. Method and system of allocating storage resources in a storage area network
US6804819B1 (en) 2000-09-18 2004-10-12 Hewlett-Packard Development Company, L.P. Method, system, and computer program product for a data propagation platform and applications of same
JP2002189607A (ja) * 2000-12-22 2002-07-05 Nec Corp メモリ管理方法及び情報処理装置
US6606690B2 (en) 2001-02-20 2003-08-12 Hewlett-Packard Development Company, L.P. System and method for accessing a storage area network as network attached storage
US6629108B2 (en) * 2001-03-09 2003-09-30 Hewlett-Packard Development Company, Lp. Method for insuring data integrity for mirrored independently accessible memory devices
US20030154271A1 (en) * 2001-10-05 2003-08-14 Baldwin Duane Mark Storage area network methods and apparatus with centralized management
US7028156B1 (en) 2003-07-01 2006-04-11 Veritas Operating Corporation Use of read data tracking and caching to recover from data corruption
US7028139B1 (en) 2003-07-03 2006-04-11 Veritas Operating Corporation Application-assisted recovery from data corruption in parity RAID storage using successive re-reads
US7360111B2 (en) * 2004-06-29 2008-04-15 Microsoft Corporation Lossless recovery for computer systems with remotely dependent data recovery
US7472129B2 (en) * 2004-06-29 2008-12-30 Microsoft Corporation Lossless recovery for computer systems with map assisted state transfer
GB2529403A (en) 2014-08-18 2016-02-24 Ibm A Method of operating a shared nothing cluster system
CN107864135A (zh) * 2017-11-07 2018-03-30 山东网智物联网科技有限公司 物联网通信方法、装置及物联网通信的实现装置
CN112052120B (zh) * 2020-08-27 2022-08-05 厦门市美亚柏科信息股份有限公司 数据库删除数据恢复方法和装置

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR1510481A (fr) * 1966-02-21 1968-01-19 Western Electric Co Agencement de transfert d'information
US3840862A (en) * 1973-09-27 1974-10-08 Honeywell Inf Systems Status indicator apparatus for tag directory in associative stores
US4148098A (en) * 1976-10-18 1979-04-03 Xerox Corporation Data transfer system with disk command verification apparatus
US4419725A (en) * 1980-11-14 1983-12-06 Sperry Corporation Cache/disk subsystem with tagalong copy
US4637024A (en) * 1984-11-02 1987-01-13 International Business Machines Corporation Redundant page identification for a catalogued memory
US4785473A (en) * 1984-11-27 1988-11-15 Genesis Electronics Corporation Interactive audio telecommunications message storage, forwarding and retrieval system
US4945474A (en) * 1988-04-08 1990-07-31 Internatinal Business Machines Corporation Method for restoring a database after I/O error employing write-ahead logging protocols
JPH01261745A (ja) * 1988-04-08 1989-10-18 Internatl Business Mach Corp <Ibm> データ・ベース・レコードのトランザクシヨンの回復方法

Also Published As

Publication number Publication date
EP0480009B1 (en) 1996-01-03
US5138710A (en) 1992-08-11
CA2060886A1 (en) 1991-10-26
WO1991016677A1 (en) 1991-10-31
DE69116065T2 (de) 1996-06-13
CA2060886C (en) 2004-03-23
EP0480009A1 (en) 1992-04-15
DE69116065D1 (de) 1996-02-15

Similar Documents

Publication Publication Date Title
JPH05502747A (ja) 大容量データベースシステムにおける回復
US7136883B2 (en) System for managing object storage and retrieval in partitioned storage media
US8060713B1 (en) Consolidating snapshots in a continuous data protection system using journaling
US6311193B1 (en) Computer system
US6460054B1 (en) System and method for data storage archive bit update after snapshot backup
US6023710A (en) System and method for long-term administration of archival storage
US7836029B2 (en) Systems and methods of searching for and determining modified blocks in a file system
US7689599B1 (en) Repair of inconsistencies between data and metadata stored on a temporal volume using transaction log replay
US7774565B2 (en) Methods and apparatus for point in time data access and recovery
US4819156A (en) Database index journaling for enhanced recovery
US7752180B1 (en) File system group consistency point
US6629110B2 (en) Administration of a differential backup system in a client-server environment
US6898688B2 (en) Data management appliance
KR100622801B1 (ko) 파일 시스템 액세스 방법, 파일 시스템 복원 방법, 컴퓨터 판독 가능 기록 매체 및 데이터 처리 시스템
US8010505B2 (en) Efficient backup data retrieval
EP0918284A2 (en) Log based data architecture for a transactional message queuing system
US20040163029A1 (en) Data recovery techniques in storage systems
US20060155946A1 (en) Method for taking snapshots of data
US20060271604A1 (en) Management of file system snapshots
US20070005669A1 (en) Method and system for automated disk i/o optimization of restored databases
US20030131253A1 (en) Data management appliance
JP2004038929A (ja) 複数のスナップショットを管理するシステム及び方法
US20080172423A1 (en) Hsm control program, hsm control apparatus, and hsm control method
US6415296B1 (en) Method and system for more efficiently providing a copy in a raid data storage system
US20060107103A1 (en) Apparatus and method for recovering destroyed data volumes