JPH0296839A - Tpキューレポジトリ用シングルキー式索引ファイル - Google Patents

Tpキューレポジトリ用シングルキー式索引ファイル

Info

Publication number
JPH0296839A
JPH0296839A JP1185844A JP18584489A JPH0296839A JP H0296839 A JPH0296839 A JP H0296839A JP 1185844 A JP1185844 A JP 1185844A JP 18584489 A JP18584489 A JP 18584489A JP H0296839 A JPH0296839 A JP H0296839A
Authority
JP
Japan
Prior art keywords
key
queue
identifier
record
task
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
JP1185844A
Other languages
English (en)
Inventor
James P Emmond
ジェイムズ ピー エモンド
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.)
Digital Equipment Corp
Original Assignee
Digital Equipment Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Digital Equipment Corp filed Critical Digital Equipment Corp
Publication of JPH0296839A publication Critical patent/JPH0296839A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Multi Processors (AREA)

Abstract

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

Description

【発明の詳細な説明】 (産業上の利用分野) 本発明は一般に分散演算に関し、さらに詳しくはトラン
ザクション処理(TP)に関する。特に本発明は、デー
タ処理タスクまたはトランザクション用の一連の要求を
保持するキュー(待ち行列)をサーチする方法に関する
(従来の技術) キューは、データプロセッサによって行われるべきタス
クなど、システム内でサービス(処理)を待っている一
列状の項目である。キューには、エントリの一部の特性
に従ってキュー内のエントリを順序付ける待ち合わせ規
則が付属されている。
−i的な待ち合わせ規則には、優先順位、先入れ先出し
くFIFO)、及び後入れ先だしくLIPO)が含まれ
る。
データ処理タスク用のサービスキューでは一般に、優先
順位とFIFO規則との複合方式を採用している。低い
優先順位の要求の後に入れられても高い優先順位の要求
の方が先に処理されるように、タスクにそれぞれの優先
レベルが割り当てられる。但し、同じ優先レベルのタス
クはFIFOベースで処理される。
一部のサービスキューでは、タスクが処理されている間
キューの先頭にタスクを置いておき、タスクの処理が完
了した後そのタスクをキューから取り出すのが望ましい
。タスクが首尾よく処理されないと、その処理はサービ
スキューから取り出される前に、“エラーキュー”に移
される。一般に、サービスキューは非揮発性つまり永久
型メモリ内に保持されているので、部分的なシステム故
障が発生した場合、故障時に実行されていたタスクのレ
コードとまだ実行されていないタスクのレコードが残さ
れている。中断されたタスクの結果は、タスクが完了し
たかどうか、中間地点から再スタートできるかどうか、
あるいは中間結果を廃棄した後初めから再スタートしな
ければならないかどうか、を検査して判定することがで
きる。次いで、キューに残っているタスクも実行できる
゛キー索引ファイル”として知られる非常に有用なデー
タ構造は、データレコードへのランダム及び逐次両方の
アクセスを与えるキューとして編成されている。データ
レコードは“−次キー”によって順序付けられた一次索
引構造内に記憶され、代替キーによって順序付けられた
代替索引構造を通じても検索できる。代替データ構造は
データレコードを含まず、その代わりにデータレコード
への適切なポインタを含んでいる。キー索引ファイルを
管理するソフトウェア機構は一般に、2つのレコードが
同一のキーを持つのを可能とするオプションを与えてい
る;この場合には、先入れ先出し順序で検索できるよう
にレコードが記↑αつまり索引付けされる。このため、
サービスキューは、−次キーとして優先順位番号を用い
たキー索引ファイルとして実施されていた。
(発明が解決しようとする課題) データ処理のアプリケーション、特に分散演算では、一
般に固有の識別番号がコンピュータシステムによって実
行される各タスクまたはトランザクションに割り当てら
れている。またこのようなシステムにおいては、−組の
プロセッサから別の一組のプロセンサへタスクデータを
転送するのに、キューが一般に使われている。多くのア
プリケーションで、あるタスクの処理は別のタスクのタ
スクデータにアクセスできること、例えばタスク間でデ
ータを共有したり、タスク実行の優先順位を変更したり
、あるいは不要になったタスクを取り消したりできるこ
とが望ましい。指定されたタスクをサービスキューでサ
ーチするためには、サービスキューを、−次キーとして
タスク優先レベルを用い、代替キーとしてタスク識別番
号(TD)を用いたキー索引アアイルとし得る。しかし
、2つのキーを用いると、タスクがキューに挿入された
りまたはそこから取り出される毎に代替キーの索引を更
新する必要があるため、メモリアクセス速度が減少する
(課題を解決するための手段) タスクキューはシングルキー式索引ファイルとして構成
され、キーは優先レベルを示す最上位部と、タスクのキ
ュー内へのロードによって順序付けられた下位部とを有
する。キュー内のある与えられたタスクレコードの場合
、キーの下位部はそれぞれのタスク識別子から判定でき
る。キーの下位部は、タスクの発生された現在日付とデ
ータプロセッサの内部24時間クロックの表示とを含む
“時間スタンプで、またタスク識別番号は、システムが
同時に異なるタスクを発生可能な複数のプロセンサを有
する場合、上記の時間スタンプにノード番号を付加する
ことによって形成されるのが好ましい。このシングルキ
ーのフォーマットは、同じ優先順位を持つレコードのブ
ロック内で、キーの下位部に関して連続的なキュー内レ
コードの内部順序付けを生しる。このため、キュー内の
各タスクレコード毎のキーとタスク識別番号との間の関
係から、要求されたタスク識別番号を持つレコードをす
ばやくサーチすることができる。
キー索引ファイルへアクセスするための通常のメモリ管
理機構が、キューをサーチするのに使える。キューはま
ず、ランダムつまり“キーネキスト”アクセスによって
サーチされる。要求されたキーの下位部は、所望なタス
ク識別番号から求められた下位部と必ず等しい。キーの
優先順位フィールドが、最高の優先順位にまずセットさ
れる。
要求されたキーの下位部がレコードの対応フィールドと
合致しないと、キーの優先順位フィールドは、各“キー
ネキスト”アクセス後少なくとも1レベル変えられる。
ランダムアクセスは、要求されたキーの下位部がレコー
ドの対応フィールドと合致するまで続けられる。要求さ
れたタスクの識別番号がレコードのタスク識別フィール
ドと合致したら、それが所望のレコードである。要求さ
れたタスクの識別番号がレコードのタスク識別フィール
ドと合致しなかったら、サーチは逐次つまり“ネキスト
レコード”アクセスによって続けられる。逐次サーチ中
にキーが変わったら、“キーネキスト”アクセスによっ
てサーチが続けられる。
サーチ処理は、所望のレコードが見つかるか、あるいは
ファイルの終わりに達するまで続けられる。
これは、まずキーの合致をサーチし、その後キー合致し
たレコードについてタスク識別番号との合致をサーチす
ることと同等である。
発明のその他の目的及び利点は、以下の詳細な説明と添
付の図面を参照することによって明かとなろう。
(実施例) 発明の各種の変形及び代替の態様を取り得るが、その特
定の実施例を例示として図面に示し、以下詳しく説明す
る。しかしもちろん、発明はここに開示する特定の態様
に限られず、逆に発明は特許請求の範囲に限定される発
明の精神及び範囲内に入る全ての変更、同等及び代替物
を包含するものである。
第1図を参照すると、全体が10で表わされ、本発明の
各種特徴を具備したトランザクション処理システムのブ
ロック図が示しである。トランザクションは、単位とし
て実行されるかあるいは全く実行されない一連のオペレ
ーションである。すなわち、“クラッシュ5などの部分
的なシステム故障が生じた後、システムが再スタートさ
れる場合、データベースはクラッシュによって中断され
たトランザクションの更新を含まないが、クラッシュの
前に完了された全トランザクションの更新全てを含む。
トランザクションは一般に、1つの−71(con−s
isLent )状態から別の一貫状態へデータベース
を変換する必要のある一組のオペレーションを含んでい
る。このため、データベースの各−貫状態は、自然界の
トランザクションつまり実在物をモデル化したオブジェ
クトの容認状態を表す場合がある。例えば会計上のトラ
ンザクションシステムでは、第1勘定の借方記入と第2
勘定の貸方記入が共に、1つの容認状態から別の容認状
態へ勘定の状態を変換するように行われねばならない。
従って、システムの1クラツシユ”後、かかる勘定は、
第1の勘定が借方記入されたが、第2の勘定が貸方記入
されていない矛盾状態となるべきでない。こうなると、
両勘定の貸借が合わなくなるからである。
一組のデータ処理のオペレーションをトランザクション
として定義するため、それらのオペレ−ジョンは、“回
復ユニット”を開始及び終了させる特別の命令によって
区切られた回復ユニット内の一組のプログラム命令を実
行することによって行われる。これらの命令は、データ
ベースを編成し、回復ユニット内の命令によるデータベ
ースの更新全てが同時に行われたように現れる方法でデ
ータベースのアクセスを制御するメモリつまりデータベ
ース管理機構によって認識される。この点ハ基本レベル
において、データベースがレコードまたはファイルへの
各スイッチまたはポインタによって定義され、1つのス
イッチまたはポインタを1回の“アトミック”オペレー
ションで変えることによって全ての更新を同時に行える
ことから生じる。このため、所望の変更はまず、システ
ム内におけるオブジェクトの状態の永久レコードについ
て同時に全て切り換えまたは置換可能な、代替または複
製のデータベースレコードに対してなされる。
広範囲のオペレーションを有する“回復ユニット”が周
知で、市販されているので、コンピュータのプログラマ
は、データベースを一貫して更新するのに使われる内部
機構に関して懸念する必要はない。例えば代表的な“回
復ユニット”機構は、米国マサチューセッツ州0175
4、メイナード所在のデジタル・エクイソブメント社か
ら市販されているレコード管理サービス(RMS)ソフ
トウェアの1回復ユニットジャーナル(動作記録)″機
能である。
トランザクション処理の“回復ユニット”機能が特定の
アプリケーションで重要でないとしても、トランザクシ
ョン処理の手法によってアプリケーションに与えられる
構造と編成が、アプリケーションソフトウェア及びアプ
リケーションデータベースの使用と保守を容易にするこ
とがある。つまり、データ処理のオペレーションを個々
のトランザクションへ細分することで、システムによっ
て管理されるオペレーション及びデータが一貫した状態
に保たれる。また、データ処理のオペレーションが個々
の単位に細分されるため、トランザクションを定義する
プログラミングを変えずに、システムの構成を拡張また
は変更可能である。
一般にトランザクション処理は、システムが中から多数
のユーザを同時にサポートしなければならなかったり、
データ処理のオペレーションが同−組のデータファイル
またはデータベースを用いるトランザクションに細分さ
れていたり、さらにデータ処理のオペレーションが予め
定義された構造化作業を含む場合に、時分割またはバ・
7チ処理などの択一方式よりも好ましい。トランザクシ
ョン処理は、例えばインベントリ (在庫)システム、
予約システム、及びその他のデータベース管理システム
において有用である。
ユーザは一般に、端末に表示された書式に情報を入力す
ることによって、トランザクション処理システムでのト
ランザクションを開始する。この目的のため、第1図の
システムIQは5つの画像表示端末11〜15を含んで
いる。システム10が情報を処理して、アプリケーショ
ンデータベース16内の1つ以上のファイルと対話する
トランザクション処理システムの性能は、データベース
及び演算機能と別個に、端末及びメニュー機能を実行す
ることによって向上可能である。
例えば第1図に示すように、システム10はアプリケー
ジタンデータベース及び演算プロセス18と別個に、端
末及びメニュープロセス17を有する。端末及びメニュ
ー機能を制御するプロセス17がトランザクション処理
システムの“フロントエンド”と称され、データベース
及び演算プロセス18が同システムの“バンクエンド”
と称される。
端末及びメニュープロセス17とアプリケージタンデー
タベース及び演算プロセス18は、別個のデータプロセ
ッサによっと実施することもできるし、あるいは多重処
理環境をサポートするオペレーティングシステムを備え
た単一のデータプロセッサによって実施することもでき
る。単一ブロセソサを用いたシステム10は“単一ノー
ド1システムと称され、1つより多いデータベース・ノ
サを有するシステムは“多重ノード”システムまたはネ
ットワークと称される。多重ノードシステムでは、端末
及びメニュープロセス17を1つのコンピュータまたは
一組のコンピュータにインストールし、アプリケーショ
ンデータベース及び演算プロセス18を別の1つのコン
ピュータまたは別の一組のコンピュータにインストール
することによって、システムの性能及び資源共用が改善
される。
システム10の性能をさらに向上させるため、端末及び
メニュープロセス17によって与えられるデータは、“
タスクキュー”19を介してアプリケーションデータベ
ース及び演算プロセス18に伝送される。システム性能
は特に、データの検索とデータの据置処理、高いアプリ
ケーションの利用性及びトランザクションの持続性を必
要とするトランザクション処理のアプリケーションにお
いて改善される。このようなアプリケーションの例は、
勤務交替時間だけの非常に短い時間中にシステムに入力
されるタイムカードデータの処理である。このようなア
プリケーションでは、各データ項目の処理がシステムの
全体性能に即座に悪影響を及ぼすことがあるので、以後
の処理のためデータを検索してからそれをタスクキュー
19内に記itできることが有用である。この種の処理
は、データの検索とデータの処理が同期されていないた
め、“非同期処理”としても知られでいる。
タスクキュー19は、端末及びメニュープロセス17が
アプリケーションデータベース及び演算プロセス18を
実施する1つ以上のプロセッサと別個な少なくとも1つ
のプロセッサによって実施される場合に、システムの利
用性を高める。つまりこのような分散環境では、1つ以
上のバンクエンドプロセッサが故障しても、1つ以上の
フロントエンドプロセッサはタスクキュー19にタスク
を提出することによって処理を続けられる。
1つ以上のバックエンドプロセッサが新たなタスクへの
割当に利用可能なとき、タスクキュー19内のまだ割り
当てられていない次のタスクが待機タスク開始プログラ
ム20によって割り当てられ、開始される。割当タスク
が完了すると、それはタスクキュー19から取り出され
る。
タスクの完了は、そのタスクに関連したアプリケーショ
ンが首尾よ〈実施されたことを必ずしも意味しない。ア
プリケーションデータベース及び演算プロセス16が処
理すべきデータ中におけるエラーの存在や、アプリケー
ションの実施を妨げるシステム10内の故障を検出する
かもしれないからである。いずれの場合にも、待機タス
ク開始プログラム20はタスクキュー19からタスクを
取り出す前に、そのタスクのエラーコードをエラーキュ
ー21内に入れる。またアプリケーションによっては、
それぞれのアプリケーションが正常に完了しなかった場
合、エラーデータの補正かあるいはシステム10の補修
後にタスクが完了されるのを可能とするため、待機タス
ク開始プログラム20がタスクデータの一部または全て
をタスクキュー19からエラーキュー21へ移すのが望
ましいこともある。エラーキュー21内に入れられたエ
ラーコードは、例えばシステムオペレータ(図示せず)
によって定期的に調べられ、適切な補正措置が取られる
−flu的なトランザクション処理のアプリケーション
において、あるタスクの処理は別のタスクのデータにア
クセスできること、例えばタスク間でデータを共有した
り、タスク実行の優先順位を変更したり、さらに不要に
なったあるいは完了されないタスクを取り消したりでき
ることが望ましい。
このような1つのアプリケーションは、妥当な時間以内
に完了しないタスクや、データヘースI6へのアクセス
の矛盾する要求のためにデッドロック状態となったタス
クなど、異常なシステム状態に応答するシステムオペレ
ータまたはオペレーティングシステムによるタスクキュ
ー19の管理である。この目的のため、各タスクまたは
トランザクションには、それがタスクキュー内に入れら
れる前に固有のタスク識別番号が割り当てられる。
異なるタスクには異なる優先順を割り当てるのが望まし
く、またタスクキュー内のタスクのf3先順位を変える
こともしばしば望ましいので、タスクキュー19内にお
けるタスクの順序付けは、それらのタスク識別番号の順
序付けと異なることがある。このため、タスクキューを
シングルキー式索引ファイルとして編成し、優先順位に
よってタスクの正しい順序付けを得ようとする場合、タ
スク識別信号はシングルキーとして使えない。
要求されたタスク識別番号を持つタスクについてタスク
キューをサーチするには、タスク識別番号を代替キーと
して用い、タスクキュー19を2キ一式索引ファイルと
して編成することもできる。
しかし、こうすると代替キー用の索引にアクセスしまた
それを更新する必要があるため、キュー入れ及びキュー
出しタスクのアクセス時間が大幅に増加する。
本発明によれば、シングルキー用のフォーマットとタス
ク識別番号用のフォーマットを一定の方法で選択すると
共に、要求されたタスク識別番号を持つタスクについて
キューをサーチするための新規なタスクキューサーチ機
構22を用いることによって、シングルキー式索引ファ
イルが有効に使われる。以下、タスクキューサーチ機構
22をさらに説明する。その動作は、タスクキューの好
ましい編成及び動作に関連してより容易に理解されよう
次に第2図を参照すると、タスクキュー(第1図の19
)内に記憶されるタスクデータのレコード用の好ましい
フォーマットが示しである。端末及びメニュープロセス
17がアプリケーションデータベース及び演算プロセス
(第1図の18)によって実施されるべきトランザクシ
ョンのためのデータを収集するとその都度、端末及びメ
ニュープロセス17は、タスクキュー19内に入れられ
べき要求トランザクションつまりタスクについて“TA
SK ID” (タスク識別番号(ID>)を生成する
。個々のタスクを一意的に識別するため、TLSK 1
0は時間と空間にわたって固有である。すなわち、端末
及びメニュープロセス17によって異なる時点に発生さ
れる2つのタスクはいずれも必然的にそれぞれ異なるタ
スク識別番号を有し、また(例えば多重プロセンサシス
テムの異なるプロセッサで生成される結果)異なるプロ
セスが全く同一時点にそれぞれのタスクを生成したとじ
ても、タスク識別番号は異なるものとされる。
第2図に示したように、タスク識別番号の時間と空間に
わたる一意性は、システム内のクロ7クから信号発生さ
れたタスク生成の時刻31と、タスクを生成したプロセ
ッサつまりノードの識別番号32との連結からタスク識
別番号を形成することによって保証される。タスク生成
の時刻31には現在の日、月及び年が含まれるので、タ
スク生成の時刻はアプリケーションデータベースのその
後の考えられるどんな用途においても固有となる。
各タスク毎にタスクキュー内に記憶されるタスクデータ
は、タスクによって要求されている各アプリケーション
プロセスの名前33をさらに含む。
かかる名前がアプリケーションデータベース及び演算プ
ロセス18によって認識されると、予め記憶されたルー
チンまたはアプリケーションプログラムが実行され、タ
スクによって要求されているトランザクションを行う。
各タスク毎にタスクキュー19内に記憶されるタスクデ
ータはさらに、タスクによって要求されているトランザ
クションの実施のため、端末及びメニュープロセスエフ
によって収集されたタスクデータ34を含むこともでき
る。アプリケーションデータベース及び演算プロセス1
8がタスクによって要求されているトランザクションを
実施するとき、場合によって端末及びメニュープロセス
17によって収集された各タスクデータが、アプリケー
ションデータベースI6から読み取られたその他の入力
データと組み合わせられ入力データとして使われる。
端末及びメニュープロセス17に影響を及ぼす部分的な
システム故障にもかかわらず、タスクキュー19は第2
図のフォーマットのタスクデータを受は取ると見なされ
る。すなわち、タスクキュー19は永久メモリ内にファ
イルとして編成され、任意の与えられたタスクに関する
全てのタスクデータを1回の1アトミツク”動作でタス
クキュー内へと書込可能としていると見なされる。この
点は例えば、米国マサチューセッツ州01754、マナ
ード所在のデジタル・エクイップメント社から市販され
ているRMS (レコード管理サービス)システムなど
、任意の数の通常のデータベース管理プログラムからな
る“回復ユニットジャーナル”機能を用いることによっ
て行える。この場合、タスクデータをデータキュー19
内に書き込むためのプログラム命令は、1つの6回復ユ
ニット”内に含まれている。
次に第3図を参照すると、待機タスク開始プログラム(
第1図の20)によって実施される手順のフローチャー
トが、全体を40で示しである。
最初のステップ41では、特段タスク開始プログラムが
タスクキュー19を読み、キュー内の次タスクに関する
データを得る。(単一のアプリケーションプロセッサを
有するシステムでは、データがキューの先頭に現れる)
。ステップ42では、タスクキューが空かどうかテスト
される。空の場合はステップ43で、待機タスク開始プ
ログラムがある一定の時間遅延され、待機タスク開始プ
ログラムが再びタスクキューを読む前に、端末及びメニ
ュープロセス(第1図の17)によってタスクキューが
満たされるのを可能とする。
タスクデータがキューから得られたら、待機タスク開始
プログラムがステップ44を実施し、タスクデータ内の
名前(第2図の33)のアプリケーションプロセスを呼
び出し、タスク識別番号とその他のタスクデータ(第2
図の34)をアプリケーションプロセスに渡す。ステッ
プ45で待機タスク開始プログラムは、アプリケーショ
ンプロセスが完了しているかどうかをチエツクする。完
了していないと、待機タスク開始プログラムはステップ
46で、アプリケーションプロセッサが利用可能かどう
かをチエツクする。アプリケーションプロセッサが利用
可能でないと、ステップ45力(再び行われる。利用可
能なら、タスクキュー内の次タスクのデータをステップ
41で読み取ることができる。(単一ブロセソサシステ
ムでは、現プロセスが終るまで唯一のアプリケーション
プロセッサが利用可能とならないので、ステップ46は
単一プロセッサシステムで行う必要がない)。
呼び出されたアプリケーションプロセスが完了したら、
待機タスク開始プログラム20はステップ47で、プロ
セスが鋳圧よく完了したかどうかを判定する。してない
と、首尾よく完了しなかったことを示すエラー状態コー
ドとタスク識別番号が、ステップ48でエラーキュー2
1内に入れられる。
Hj&にステップ49で、完了したタスクがタスクキュ
ーから取り出され、タスク開始サイクルがステップ46
から再び繰り返される。
単一のコンピュータまたはプロセッサがアプリケーショ
ンデータベース及び演算プロセス(第1図の18)の全
てを行うようなシステム10では、ステップ44におい
て、呼び出されたアプリケーションプロセスが完了する
までその呼び出されたアプリケーションプロセスに実行
権を渡すサブルーチンコールを行うだけでよい。多数の
コンピュータまたはプロセッサが異なるアプリケーショ
ンプロセスを同時に実施するような多重プロセッサシス
テムでは、同時に発生するアプリケーションプロセス間
で衝突が生じないことを、システムが保証する必要があ
る。
“デッドロック”として知られる潜在的な衝突は、例え
ば、一対のプロセッサの各プロセッサが現在他方のプロ
セッサによって使われている資源を必要とするときに生
じ得る。この場合、デッドロックが解消されてから、ど
ちらのプロセッサもそれぞれの割当アプリケーションを
完了できなければならない。潜在的な衝突の他の原因は
、2つの同時に実施されているアプリケーションの正味
の結果が、一方のアプリケーションの特定ステップが他
方のアプリケーションの特定ステップの前または後に行
われることに依存している場合に生じる。このような場
合、システムは、タスクキュー19にタスクが現れる順
序にだけ応じた一貫した結果を与えることが望ましい。
これらの衝突を処理する方法は数多く存在するが、特に
簡単な方法は待機タスク開始プログラム20がキュー内
の次タスクを読み取ってそれを次の利用可能なアプリケ
ーションプロセッサへ送出するのを、前に呼び出された
タスクが制御権を掌握するまで、つまり必要になるかも
しれない全てのファイルを“オーブン”にするまで禁止
することである。言い換えれば、呼び出されたプロセス
が必要になるかもしれない全てのファイルを“オーブン
”にするまで、ステップ44は完了されるべきでない。
次に第4図を参照すると、キー用の好ましいフォーマッ
トが示しである。キーは優先順位レベルと、先に第2図
に示したのと同じで、タスク識別番号の最上位部を形成
するタスク生成時刻31とを含む。第4図のキーと第2
図のタスク識別番号との間の関係から、これらをタスク
キュー(第1図の19)を形成するシングルキー式アク
セスファイルのデータレコードで重複させることができ
る。
次に第5図を参照すると、タスクキュー19用の1つの
可能なフォーマ7)が示しである。キューは、例えばキ
ュー先頭のレコード61と、キュー末尾のレコード62
、及び多数の中間レコードを含む、順序付けられた一組
のレコードである。
図示の目的上、各レコードは表の形で連続的に並べて示
しであるが、レコードは永久メモリ内にこのように連続
的に配置されなくともよい。キュー内へ新たに入れられ
るレコードはキュー内にすでに存在するレコードより高
い優先順位を持つことがあるため、キュー内におけるデ
ータレコードの順序は、メモリアドレススペース内にお
けるデータレコードの順序と同じにするのは効率的でな
い。
周知のように、“二重リンク式リスト”などの断片化デ
ータ構造の方が、キューを実施するのにより効率的であ
る。二重リンク式リストとしてのキューの実施はよく知
られており、例えば、Levy &Eckhouse 
Jr、のCom uter Pro rammin A
ndArchitecture The BAX −1
1、デジクル・エクイップメント社、1980、pp、
178−188に詳しく記載されている。
第5図にさらに示されているように、各レコードは優先
順位フィールド、日付−時刻フィールド、“生成プロセ
ッサ”フィールド、メモリロックビットし、削除フラグ
D、“実行プロセッサフィールド、及びその他のデータ
フィールドつまりデータへのポインタを含む。
タスクレコード61−62は、優先順位値の降順でタス
クキュー19内に入れられており、優先順位が同じとき
は、日付−時刻フィールドの値の降順によっている。こ
のため、高い優先順位のレベルの方が低い数値を持つ。
タスク識別番号フィールドの数値が各タスクレコードを
一意的に識別するが、レコードのキーフィールド内の数
値はそうではない。この点は、同じ優先順位を持ち、同
一時刻であるが異なるプロセッサによって生成された2
つのタスクを表しているレコード63と64を比較すれ
ば分かるであろう。
キュー先頭のエントリ61は、最も低い1の優先順位値
と、1987年7月14午後1時35分に生成されたこ
とを示す日付−時刻フィールドを有する。日付−時刻フ
ィールドの最下位位置は、例えばさらにシステムの正確
なりロックサイクルを識別している。生成プロセッサフ
ィールドは、第ルコード61によって表されるタスクが
システム内の番号1のプロセッサによって生成されたこ
とを示す1の数値を有する。ロックフラグLは、そのタ
スクが現在実施されていることを示し、実行プロセッサ
フィールド内で識別された実行中のプロセッサだけが、
現在時点でタスクフィールド61にアクセス可能なこと
を示している。さらに削除フラグDのゼロの値は、実行
中のプロセッサがそのタスクをまだ完了していないこと
を示している。例えばレコード65は、Oの値のロック
フラグLと、1つの値の削除フラグDと、3つの値の実
行プロセッサフィールドとを有し、番号3のプロセッサ
がそのレコードに関するタスクの処理を完了しており、
レコードはキューから削除できることを示している。
第5図に示したのと同様な内部編成が、前記したRAM
機構などキー索引ファイルへアクセスするための通常の
メモリ管理機構によって、各レコードがタスクキューエ
9内へ挿入され及びそこから削除された場合に生じる。
特に、キュー内におけるレコードの順序はそれぞれのキ
ーフィールドの値に依存し、レコード63と64のよう
に、同じキーフィールドを有する任意の2つのレコード
はFIFOベースでキューへの挿入及びそこからの削除
がなされる。
RMS機構などの通常の機構は、レコードへアクセスす
るための唯一の優先順位があれば、フラグのロックと削
除を管理し、プロセッサまたはアプリケーションのトラ
ックを保持するためのレコードのロック及び削除を与え
られる。そのため、キー索引ファイルを管理する機構を
呼び出すそれぞれ高水準言語の命令を実行することによ
って、エントリはキュー内へ挿入でき、またキューから
削除できる。RMSなとの機構は例えば、キュー内の次
レコードを得る場合、ロックされているレコードをスキ
ップする。キー索引レコードへアクセスするだめのこれ
らの標準的な機能には、例えば、キーによって索引ファ
イルを読み取り、要求されたキーと合致した第1のレコ
ードを戻すか、あるいは要求されたキーと合致するキー
フィールドを持つレコードが存在しなかったら、合致す
るレコードが存在するかもしれない後続ファイル内の次
ルコートヘと進むREAD BY KEY NEXT処
理が含まれる。すなわち、READ BY KEY N
EXT処理は、要求されたキーとレコードのキーフィー
ルド内の値との間における合致の試みに基づいて、ファ
イルへのランダムアクセスを行う。またキー索引ファイ
ルを管理する通常の機構は、READ NEXTなどの
処理も与え、これは索引ファイルを読み取り、READ
 BY KEY NEXTまはREAD NEXT処理
のいずれかで最も最近戻されたレコードの後に続く次の
レコードを戻す。すなわちREAD NEXTはキー索
引ファイルに対する逐次アクセスを与える。
キーとタスク識別番号との間の関係から、第6図に全体
を70で示したフローチャートに例示した手順を用いる
ことによって、要求されたタスク識別番号を持つレコー
ドについてキューを極めて迅速にサーチすることができ
る。最初のステップ71で、キューはその先頭から、要
求されたタスク識別番号の日付−時刻フィールドと合致
する日付−時刻フィールドを持つ次レコードがサーチさ
れる。ステップ72で検出されるように、このサーチ中
ファイルの終わりに達すると、ステップ73でリターン
コードが’NOT POUND  (見つからず)″に
セットされ、サーチは成功せずに完了する。ステップ7
2でファイルの終わりが検出されないと、合致したタス
ク識別番号を持つ可能性のあるレコードが見つかったこ
とになる。正確な合致は、そのレコードのタスク識別フ
ィールドが要求されたタスク識別番号と正確に合致する
かどうかを、ステップ74で判定することによってチエ
ツクされる。第5図に示した特定のフォーマットでは、
レコードの生成プロセッサフィールドが要求されたタス
ク識別番号の最下位部にあるプロセッサ識別番号と合致
するかどうかをチエツクするだけで、ステップ74を実
施できる。合致すれば、ステップ75でリターンコード
がFOUND  (見つかった)”にセントされ、サー
チは成功して完了する。ステップ74で合致が検出され
ないと、実行ループはステップ71に戻り、キューのサ
ーチを続ける。
キューは、キーが昇順または降順で配列された索引ファ
イルとして編成されているため、キューをサーチするス
テップ71はキーでサーチすることによって非常に効率
的に実施できる。また、キー索引ファイルを管理するた
めの既存の機構が、そのサーチを行うための最適化手順
をすでに与えている。本発明の重要な特徴によれば、メ
モリ管理機構によって与えられるランダムアクセスと逐
次アクセスの画処理を用いて、キューのサーチが行われ
る。これを行うための手順を、下記のプログラムリスト
として例示する: 120  READ  BY  KEY  NEXT1
30  LOOP 140   1F  END  OF  FILE15
0    T HE N 160      EXIT LOOP AND RE
TURN(NOT FOUND’)170    EN
DIP 190    THEN 210       READ  BY  KEY  
NEXT220    ELSE 230       IF RECORD、DATE 
TIME FIELDKEY  REQ、DATE  
TIとE  FIELD240       T HE
 N P[01?r7Y” TI(EN EXIT LOOP  AND l?ETURN(’ 
NOT FO[IND’)ELSE INCREMENT  KEY  REQ、PRIOR
ITY  FIELDREAD  BY  KEY  
NEXTNDIP ELSE IF  RECOf?D、TASK  10  FIE
LD=TASK  10  REQ340     T
 II E N 350       EXIT LOOP AND I
?ETIJRN(” FOUND”)360    E
LSE 370           READ  NEXT3
80     ENDIF 390    ENDIP 400   ENDIF 410 END  LOOP 上記プログラムリストの動作は、第7図に全体を80で
示した対応するフローチャートから明かとなろう。概略
すれば、この手順はキーについて可能性のある最も高い
優先順位を想定することによって始まる。要求キーの日
付−時刻フィールドは、必ず要求されたタスク識別番号
の日付−時刻フィールドとされる。次いで要求キーを用
い、キューがランダムアクセス方式で読まれる。合致す
るキーを持つレコードが見つからないと、戻されたレコ
ードの優先順位フィールドに基づいてキーの優先順位が
下げられ、ファイルが再び読まれる。
この動作は、合致するキーを持つレコードが見つかるか
、あるいはファイルの終わりに達するまで、可能性のあ
る優先順位レベルを通じてステップまたはスッキブしな
がら繰り返される。合致するキーを持つレコードが見つ
かると、要求されたタスク識別番号がレコードの識別番
号フィールドと比較される。合致すれば、所望のレコー
ドが見つかったことになる。合致しないと、今度は逐次
アクセスによって、識別番号が合致するかあるいはキー
がもはや合致しなくなるまで、サーチが続けられる。
フローチャート80の最初のステップ81で、要求キー
の優先順位フィールドが可能性のある最も高い優先順位
にセントされ、また要求キーの日付−時刻フィールドが
要求された“TASK 10 (タスク識別番号)”の
日付−時刻フィールドにセットされる。次にステップ8
2で、キューがまず“にEY NEXT (キーネキス
ト)“処理で読まれる。
ステップ83でファイルの終わりが検出されたら、ステ
ップ84でリターンコードが“NOT FOUND(見
つからず)1にセットされ、サーチは成功せずに完了す
る。
ステップ83でファイルの終わりが検出されないと、ス
テップ85でファイルから読み取られたレコードの日付
−時刻フィールドが要求キーの日付−時刻フィールドと
比較される。レコードの日付−時刻フィールドの方が小
さいと、ステップ86に示すように、要求キーの優先順
位フィールドをレコードの優先順位フィールドにセット
し直して、ランダムアクセスが継続される。言い換えれ
ば、ステ・ノブ82で読み取られたレコードと同じ優先
順位を持つレコードについて、合致する日付−時刻フィ
ールドがまだ存在する可能性がある。
しかし、レコードの日付−時刻フィールドの方が要求キ
ーの日付−時刻フィールドより大きいと、キーの優先順
位フィールドと同じ優先順位フィールドを持つ合致レコ
ードをもはや見い出せる可能性がない。そのため、ステ
ップ87で要求キーの優先順位フィールドが可能性のあ
る最も低い優先順位に等しければ、そのファイル中で合
致は見つからないので、ステップ84でリターンコード
が1NOT FOlllJD  (見つからず)″にセ
ントされ、サーチは成功せずに完了する。他方、ステッ
プ87で要求キーの優先順位フィールドが可能性のある
最も低い優先順位に等しくなければ、ステップ88で要
求キーの優先順位フィールドの優先順位値が1レベルイ
ンクレメントされ、ステップ82でランダムアクセスに
よるサーチが続けられる。
ステップ85でレコードの日付−時刻フィールドが要求
キーの日付−時刻フィールドに合致すれば、要求された
タスク識別番号がレコードの識別番号フィールドと合致
する可能性がある。これがステップ89でテストされる
。合致しないと、実行はステップ90にジャンプし、次
レコードを読み取ることによって逐次キューにアクセス
しながら、ステップ83で実行が続けられる。ステ67
189で合致すれば、所望のレコードが見つかったこと
となり、ステップ91でリターンコードが“FOUND
  (見つかった)”にセットされ、サーチは成功して
完了する。
(発明の効果) 以上において、シングルキー式索引ファイルとして構成
され、キーとタスク識別番号が、要求されたタスク識別
番号を持つタスクレコードを効率的に見つけるのにシン
グルキー式索引ファイルのランダムアクセス用の通常処
理が使えるような方法で関係付けられているタスクキュ
ーが開示された。従って、キュー入れ及びキュー出し動
作を遅くするような、代替キーとしてタスク識別番号を
用いる必要がない。タスクキューはトランザクション処
理のためのキューイング要求に特に通ずるが、本発明の
タスクキュー及びサーチ方法は、識別番号の割当後に各
タスクを識別したり、タスクの優先順位を変更するのが
望ましいキューイングアプリケーションにおいてとりわ
け有利である。
【図面の簡単な説明】
第1図は本発明によるタスクキュー編成及びタスクキュ
ーサーチ機構を具備したトランザクション処理システム
のブロック図;第2図は第1図のシステムで使われるタ
スクキュー内に記憶されるタスクレコード用の好ましい
フォーマットの図;第3図は第1図のタスクキューを処
理する待機タスク開始プログラムの動作を示すフローチ
ャート;第4図はタスク識別番号の好ましいフォーマッ
トの図;第5図はタスクキューの好ましいシングルキー
式索引ファイルを示す図;第6図は第5図のタスクキュ
ーをサーチし、要求されたタスク識別子を有するタスク
レコードを見い出す手順のフローチャート;及び第7図
は通常のキー索引ファイルサーチ機構を用いて、第5図
のタスクキューをサーチし要求されたタスク識別子を有
するタスクレコードを見い出す手順のフローチャートで
ある。 10・・・データ処理システム、16・・・アプリケー
ションデータベース、18・・・アプリケーションプロ
セッサ手段、19・・・メモリ装置(タスクキュー)、
21・・・待機タスク開始手段(プログラム)、22・
・・タスクキューサーチ手段(機構)、31と32・・
・識別子(31;時間値、32;プロセッサ指示)、3
1と51・・・キー(51;優先順位レベル)。

Claims (1)

  1. 【特許請求の範囲】 1、データ処理システムにおけるメモリ装置で、該メモ
    リ装置がデータのキューを保持し、該キューが順序付け
    られた一組の多数の前記データのレコードからなり、該
    レコードの各々が別のレコードの識別子フィールドにお
    けるそれぞれの識別子と異なる各識別子を保持する識別
    子フィールドを含み、また前記レコードの各々が、優先
    順位のレベルを示す各最上位部とレコードにおける各識
    別子の所定の関数である下位部とを有するそれぞれのキ
    ー値を保持するキーフィールドも含み、前記キュー内に
    おける前記レコードの順序が前記キー値の順序付けによ
    って指定されるメモリ装置。 2、各レコード内の前記識別子フィールドが、それぞれ
    のキー値の下位部を保持するサブフィールドを含む請求
    項1記載のメモリ装置。 3、各レコードの識別子フィールド内に保持された前記
    識別子がそれぞれの時刻値を示す請求項1記載のメモリ
    装置。 4、前記時刻値が日付と、24時間フォーマットでの時
    刻とを含む請求項3記載のメモリ装置。 5、前記識別子がさらに、前記データ処理システム内の
    プロセッサを示す識別番号を含む請求項3記載のメモリ
    装置。 6、前記レコードがそれぞれのキーフィールド内に、同
    一のキー値を持つ異なるレコードを含む請求項1記載の
    メモリ装置。 7、データ処理システム内のデータプロセッサを作動さ
    せ、要求された識別子を持つデータレコードについてキ
    ューをサーチする方法で、該キューが前記データ処理シ
    ステムのメモリ装置内に保持され、前記キューが前記メ
    モリ装置内に記憶され順序付けられた一組の多数のデー
    タレコードからなり、該レコードの各々が別のレコード
    の識別子フィールドにおけるそれぞれの識別子と異なる
    各識別子を保持する識別子フィールドを含み、また前記
    レコードの各々が、優先順位のレベルを示す各最上位部
    とレコードにおける各識別子の所定の関数である下位部
    とを有するそれぞれのキー値を保持するキーフィールド
    も含み、前記キュー内における前記レコードの順序が前
    記キー値の順序付けによって指定されるものにおいて: a)それぞれのキーフィールド内に、前記要求された識
    別子の前記所定の関数である下位部を有するレコードに
    ついて前記キューをサーチするステップ;及び b)前記ステップa)のサーチで見つかったレコードの
    各識別子フィールドにおける識別子が要求された識別子
    と同じであるかどうかを判定するステップ; を含む方法。 8、前記サーチするステップa)が、前記要求された識
    別子の前記所定の関数である下位部を有する要求キーを
    形成すること、及び該要求キーに応じて前記キューへラ
    ンダムにアクセスし、前記キューから次レコードを得る
    ことを含む請求項7記載の方法。 9、前記ランダムなアクセスが、前記キュー内のうち要
    求キーと合致したキー値を持つ最初のレコードを戻すか
    、あるいは前記キューが要求キーと合致したキー値を持
    つレコードを有していないときは、合致するキー値を持
    つレコードがあると思われたものの後に続く前記キュー
    内の次レコードを戻すソフトウェア処理によって行われ
    る請求項8記載の方法。 10、前記サーチするステップa)が、前記要求キーの
    下位部を前記次レコードのキーフィールド内におけるキ
    ー値の下位部と比較し、前記次レコードがそれぞれのキ
    ーフィールド内に前記要求された識別子の前記所定の関
    数である下位部を有するレコードの1つであるかどうか
    を判定することを含む請求項9記載の方法。 11、前記サーチするステップa)がさらに、(1)前
    記要求されたキーの下位部が前記次レコードのキーフィ
    ールド内におけるキー値の下位部と合致しないこと、及
    び(2)前記次レコードが要求キーの変更前における要
    求キーの最上位部と同じであるキーフィールド内におけ
    るキー値の最上位部を持つべきであること、を前記比較
    が示したとき、前記要求キーの最上位部を優先順位の1
    レベルだけ変更し、該要求キーに応じて前記キューへ再
    びランダムにアクセスするステップを含む請求項10記
    載の方法。 12、前記サーチするステップa)がさらに、(1)前
    記要求されたキーの下位部が前記次レコードのキーフィ
    ールド内におけるキー値の下位部と合致しないこと、及
    び(2)前記次レコードが要求キーの変更前における要
    求キーの最上位部と異なるキーフィールド内におけるキ
    ー値の最上位部を持つべきであること、を前記比較が示
    したとき、前記要求キーの最上位部を前記次レコードの
    キーフィールド内におけるキー値の最上位部にセットす
    ることによって要求キーを変更するステップを含む請求
    項10記載の方法。 13、前記サーチするステップa)が、前記要求された
    識別子の前記所定の関数である下位部を含む部分を有し
    た要求キーに応じ、前記キューのランダムアクセスによ
    ってまず行われ、また要求された識別子が合致キーを持
    つレコードの識別子フィールドにおける識別子と異なる
    ことを前記判定するステップb)が判定したときは、前
    記キューの逐次アクセスによって行われ、前記キュー内
    の次レコードを逐次得る請求項7記載の方法。 14、前記サーチするステップa)がさらに、前記次レ
    コードのキーフィールド内におけるキー値の下位部を前
    記要求された識別子の予め定義された関数である下位部
    と比較し、前記次レコードのキーフィールド内における
    キー値の下位部が前記要求された識別子の前記所定の関
    数である下位部と異なるとき、前記次レコードが要求キ
    ーの変更前における要求キーの最上位部と同じであるキ
    ーフィールド内におけるキー値の最上位部を持つべきで
    あること、を前記比較が示した場合に、前記要求キーの
    最上位部を優先順位の1レベルだけ変更し、該要求キー
    に応じて前記キューへ再びランダムにアクセスすること
    を含む請求項13記載の方法。 15、前記サーチするステップa)がさらに、前記次レ
    コードのキーフィールド内におけるキー値の下位部を前
    記要求された識別子の予め定義された関数である下位部
    と比較し、前記次レコードのキーフィールド内における
    キー値の下位部が前記要求された識別子の前記所定の関
    数である下位部と異なるとき、前記次レコードが要求キ
    ーの変更前における要求キーの最上位部と異なるキーフ
    ィールド内におけるキー値の最上位部を持つべきである
    こと、を前記比較が示した場合に、前記要求キーの最上
    位部を前記次レコードのキーフィールド内におけるキー
    値の最上位部にセットすることによって、要求キーの最
    上位部を変更することを含む請求項13記載の方法。 16、データ処理システムにおいて: タスクキューを保持する非揮発性のメモリ装置で、該キ
    ューがメモリ装置内に保持され順序付けられた一組の多
    数のタスクデータのレコードからなり、該レコードの各
    々が別のレコードの識別子フィールドにおけるそれぞれ
    の識別子と異なる各識別子を保持する識別子フィールド
    を含み、また前記レコードの各々が、優先順位のレベル
    を示す各最上位部とレコードにおける各識別子の所定の
    関数である下位部とを有するそれぞれのキー値を保持す
    るキーフィールドも含み、前記キュー内における前記レ
    コードの順序が前記キー値の順序付けによって指定され
    るメモリ装置; 前記タスクデータを用いてデータ処理のタスクを行うア
    プリケーションプロセッサ手段;キュー内のまだ開始さ
    れていない次タスク用のタスクデータについて前記キュ
    ーにアクセスし、前記アプリケーションプロセッサ手段
    を呼び出すことによってタスクを開始する待機タスク開
    始手段;及び 識別子フィールド内に要求された識別子を持つレコード
    について前記タスクキューをサーチするタスクキューサ
    ーチ手段で、前記要求された識別子の所定の関数である
    下位部をそれぞれのキーフィールド内に有するレコード
    を見い出す手段と、該レコードを見い出す手段によって
    見い出されたレコードが要求された識別子と同じ識別子
    を識別子フィールド内に有するかどうかを判定する手段
    とを含むタスクキューサーチ手段; の組合せからなるデータ処理システム。 17、各レコード内の前記識別子フィールドが、それぞ
    れのキー値の下位部を保持するサブフィールドを含む請
    求項16記載のデータ処理システム。 18、前記識別子が日付と、24時間フォーマットでの
    時刻とを含む請求項16記載のデータ処理システム。 19、前記レコードを見い出す手段が、最上位部と前記
    要求された識別子の所定の関数である下位部とを有する
    要求キーを形成する手段、前記要求キーに応じて前記キ
    ューへランダムにアクセスし、キュー内の次レコードを
    見い出す手段、及び該ランダムにアクセスする手段によ
    って見い出された次レコードが要求された識別子と異な
    る識別子を識別子フィールド内に有することを前記判定
    手段が判定したとき、前記キューに逐次アクセスしてキ
    ュー内の次レコードを見い出す手段を含む請求項16記
    載のデータ処理システム。 20、前記レコードを見い出す手段がさらに、前記キュ
    ー内で見い出された各次レコードのキー値の下位部を前
    記要求された識別子の所定の関数と比較し、各次レコー
    ドのキー値の下位部が前記要求された識別子の所定の関
    数と異なることを前記比較が指示するのに応じて、要求
    キーの最上位部を前記各レコードの優先順位フィールド
    内の優先順位値にセットするか、あるいは要求キーの最
    上位部を変更する手段を含む請求項19記載のデータ処
    理システム。
JP1185844A 1988-07-18 1989-07-18 Tpキューレポジトリ用シングルキー式索引ファイル Pending JPH0296839A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US22046188A 1988-07-18 1988-07-18
US220461 1988-07-18

Publications (1)

Publication Number Publication Date
JPH0296839A true JPH0296839A (ja) 1990-04-09

Family

ID=22823625

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1185844A Pending JPH0296839A (ja) 1988-07-18 1989-07-18 Tpキューレポジトリ用シングルキー式索引ファイル

Country Status (4)

Country Link
US (1) US5327557A (ja)
EP (1) EP0352050A3 (ja)
JP (1) JPH0296839A (ja)
CA (1) CA1322422C (ja)

Families Citing this family (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5227338A (en) * 1990-04-30 1993-07-13 International Business Machines Corporation Three-dimensional memory card structure with internal direct chip attachment
US5588134A (en) * 1992-09-25 1996-12-24 Amdahl Corporation System for establishing priority among selected tasks based on location of tasks and sequence that the tasks were stored whereas task is always stored in location with the lowest available address
JPH06282488A (ja) * 1993-03-25 1994-10-07 Mitsubishi Electric Corp キャッシュ記憶装置
GB9320404D0 (en) * 1993-10-04 1993-11-24 Dixon Robert Method & apparatus for data storage & retrieval
US5457735A (en) * 1994-02-01 1995-10-10 Motorola, Inc. Method and apparatus for queuing radio telephone service requests
US5649195A (en) * 1995-05-22 1997-07-15 International Business Machines Corporation Systems and methods for synchronizing databases in a receive-only network
US5768515A (en) * 1996-07-08 1998-06-16 Microsoft Corporation Method for generating and storing two segments of HTTP message headers with different lifetimes and combining them to form a single response header
US5822752A (en) * 1996-07-15 1998-10-13 International Business Machines Corporation Method and apparatus for fast parallel determination of queue entries
FR2752125B1 (fr) * 1996-08-01 1998-09-11 Bull Sa Distribution de tickets dans un systeme informatique multinodal
US6032207A (en) * 1996-12-23 2000-02-29 Bull Hn Information Systems Inc. Search mechanism for a queue system
US6321308B1 (en) * 1997-03-21 2001-11-20 Emc Corporation Method and apparatus for managing access requests from a plurality of devices using dual level queue locking scheme and a doubly-linked circular queue
WO1998043210A1 (fr) * 1997-03-24 1998-10-01 Akira Sugiyama Systeme destine a emettre des donnees d'authentification en fonction d'une heure specifique, moyen de stockage des donnees d'authentification emises par le systeme d'emission et systeme d'authentification de donnees d'authentification
KR20010103719A (ko) * 1998-12-23 2001-11-23 파워티브이, 인코포레이티드 운영 체계 스케쥴링 동작을 제공하는 방법 및 장치
US7401112B1 (en) * 1999-05-26 2008-07-15 Aspect Communication Corporation Methods and apparatus for executing a transaction task within a transaction processing system employing symmetric multiprocessors
US6775831B1 (en) * 2000-02-11 2004-08-10 Overture Services, Inc. System and method for rapid completion of data processing tasks distributed on a network
US20040045002A1 (en) * 2000-10-05 2004-03-04 Ricardo Berger Method system and apparatus for multiprocessing
PT1305708E (pt) * 2001-05-11 2003-10-31 Sospita As Mecanismo de numeracao de sequencia para assegurar a integridade da ordem de execucao de aplicacoes de placas inteligentes interdependentes
US7284111B1 (en) 2002-04-17 2007-10-16 Dinochip, Inc. Integrated multidimensional sorter
GB2387683B (en) * 2002-04-19 2007-03-28 Hewlett Packard Co Workflow processing scheduler
US20060053161A1 (en) * 2002-07-12 2006-03-09 Lee John C Method to organize and track information according to chronological and priority order
US7127446B1 (en) * 2002-10-30 2006-10-24 Advanced Micro Devices, Inc. File system based task queue management
WO2004088664A2 (en) * 2003-04-04 2004-10-14 Bbc Technology Holdings Limited System and method for media management
CN100407636C (zh) * 2003-10-14 2008-07-30 华为技术有限公司 一种提高通信设备可接入性的方法
US7362765B1 (en) 2003-12-15 2008-04-22 Dinochip, Inc. Network traffic management system with floating point sorter
US6968292B2 (en) * 2004-03-02 2005-11-22 Paragon Technical Services, Inc. Industrial controller event logging
US7352697B1 (en) 2004-06-23 2008-04-01 Dinochip, Inc. Network processing using fractional time stamp values
EP1657640A1 (en) * 2004-11-12 2006-05-17 Sap Ag Method and computer system for queue processing
CN100573516C (zh) * 2006-01-12 2009-12-23 鸿富锦精密工业(深圳)有限公司 虚拟机系统及利用该系统执行指令的方法
US8769703B2 (en) * 2006-04-27 2014-07-01 Unisys Corporation System and method for providing a mechanism to virtualize a perpetual, unique system identity on a partitioned computer system
US20070266391A1 (en) * 2006-04-27 2007-11-15 Hoffman Philip M System and method for separating multi-workload processor utilization on a metered computer system
US20070256076A1 (en) * 2006-04-27 2007-11-01 Thompson James W System and method for separating multiple workloads processing in a single computer operating environment
JP4941034B2 (ja) * 2007-03-20 2012-05-30 富士通株式会社 アクセス制御装置およびアクセス制御方法
US20090055828A1 (en) * 2007-08-22 2009-02-26 Mclaren Iain Douglas Profile engine system and method
US8037024B1 (en) * 2008-06-04 2011-10-11 Google Inc. Data propagation in a multi-shard database system
US9368026B1 (en) 2015-05-26 2016-06-14 Google Inc. Fallback requests for autonomous vehicles
US10901415B1 (en) 2015-05-26 2021-01-26 Waymo Llc Non-passenger requests for autonomous vehicles
WO2017030543A1 (en) * 2015-08-14 2017-02-23 John Chung Lee Method solve technical problem of key violation and setting priority and sequence number
CN107918620B (zh) * 2016-10-10 2022-04-19 阿里巴巴集团控股有限公司 一种数据库的写入方法及装置、电子设备
US10489220B2 (en) * 2017-01-26 2019-11-26 Microsoft Technology Licensing, Llc Priority based scheduling
CN111651417B (zh) * 2020-07-09 2021-09-28 腾讯科技(深圳)有限公司 日志处理方法及装置
CN112347146B (zh) * 2020-10-22 2024-05-14 深圳前海微众银行股份有限公司 一种索引推荐方法及装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5744174A (en) * 1981-07-08 1982-03-12 Toshiba Corp Cleaning device
JPS63133232A (ja) * 1986-11-25 1988-06-06 Nec Corp タスク識別名の生成方式

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU6244686A (en) * 1985-09-17 1987-03-19 Codex Corporation Multiple task control

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5744174A (en) * 1981-07-08 1982-03-12 Toshiba Corp Cleaning device
JPS63133232A (ja) * 1986-11-25 1988-06-06 Nec Corp タスク識別名の生成方式

Also Published As

Publication number Publication date
EP0352050A2 (en) 1990-01-24
EP0352050A3 (en) 1992-09-02
US5327557A (en) 1994-07-05
CA1322422C (en) 1993-09-21

Similar Documents

Publication Publication Date Title
JPH0296839A (ja) Tpキューレポジトリ用シングルキー式索引ファイル
US5414840A (en) Method and system for decreasing recovery time for failed atomic transactions by keeping copies of altered control structures in main memory
US5553303A (en) Data processing system for dynamically switching access control process and for performing recovery process
Abbott et al. Scheduling real-time transactions: A performance evaluation
US4949251A (en) Exactly-once semantics in a TP queuing system
US4463424A (en) Method for dynamically allocating LRU/MRU managed memory among concurrent sequential processes
US8473950B2 (en) Parallel nested transactions
KR101367450B1 (ko) 멀티 스레드 어플리케이션을 위한 해시 테이블의 동시 리해싱의 수행
US20070118547A1 (en) Efficient index versioning in multi-version databases
US5134696A (en) Virtual lookaside facility
EP0450917A2 (en) Distributed computer systems
CA2302303A1 (en) System for accessing database tables mapped into memory for high performance
JPH0810440B2 (ja) アプリケーション イベント収集方法
US6189007B1 (en) Method and apparatus for conducting a high performance locking facility in a loosely coupled environment
JPH1131081A (ja) オブジェクトベースシステムにおけるスレッド同期を行う方法およびコンピュータシステム、並びに、そのためのコンピュータプログラム製品
JPH07104805B2 (ja) 持続性があり再起動可能なカーソルを用いた順次バッチ・アプリ ケーションを支援するための方法
JP2002501649A (ja) リンク済みリストのデータ構造を管理する方法および装置
WO1996007149A1 (en) Parallel processing system for traversing a data base
US5247647A (en) Detection of deletion of stored data by concurrently executing processes in a multiprocessing data processing system
US5600596A (en) Data access scheme with simplified fast data writing
JP2781092B2 (ja) システム間排他制御方式
CN115629822B (zh) 一种基于多核处理器的并发事务处理方法及其系统
US20090204967A1 (en) Reporting of information pertaining to queuing of requests
JPH03123946A (ja) データベースの排他制御方法
JPH10232809A (ja) トランザクション処理システム