JP3689336B2 - データベースにおける並行したトランザクションのストリームを調停するための方法およびシステム - Google Patents
データベースにおける並行したトランザクションのストリームを調停するための方法およびシステム Download PDFInfo
- Publication number
- JP3689336B2 JP3689336B2 JP2000562841A JP2000562841A JP3689336B2 JP 3689336 B2 JP3689336 B2 JP 3689336B2 JP 2000562841 A JP2000562841 A JP 2000562841A JP 2000562841 A JP2000562841 A JP 2000562841A JP 3689336 B2 JP3689336 B2 JP 3689336B2
- Authority
- JP
- Japan
- Prior art keywords
- database
- task
- stream
- resources
- tasks
- 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.)
- Expired - Lifetime
Links
- 238000000034 method Methods 0.000 title claims description 32
- 230000000694 effects Effects 0.000 claims description 5
- 230000004048 modification Effects 0.000 description 17
- 238000012986 modification Methods 0.000 description 17
- 238000010586 diagram Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 7
- 230000008569 process Effects 0.000 description 7
- 230000004913 activation Effects 0.000 description 2
- 230000000903 blocking effect Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000007704 transition Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/466—Transaction processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2308—Concurrency control
- G06F16/2336—Pessimistic concurrency control approaches, e.g. locking or multiple versions without time stamps
- G06F16/2343—Locking methods, e.g. distributed locking or locking implementation details
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
-
- Y—GENERAL 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
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
- Y10S707/99938—Concurrency, e.g. lock management in shared database
-
- Y—GENERAL 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
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99941—Database schema or data structure
- Y10S707/99943—Generating database or data structure, e.g. via user interface
-
- Y—GENERAL 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
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99951—File or database maintenance
- Y10S707/99952—Coherency, e.g. same view to multiple users
-
- Y—GENERAL 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
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99951—File or database maintenance
- Y10S707/99952—Coherency, e.g. same view to multiple users
- Y10S707/99953—Recoverability
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- Technology Law (AREA)
- General Business, Economics & Management (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
(発明の背景)
本発明は、一般に、データベースにおける並行トランザクションの管理に関し、より詳細には、スケジューリングデータベースにおいて、データベースの完全性を保証するような方法で、並行したトランザクションのストリームを調停(reconciling)するためのシステムおよび方法に関する。
【0002】
データベースの基本的な目的は、トランザクションを実行することである。トランザクションは、データベースに対する読取り、書込み、更新、および/または削除などの動作のシーケンスからなる作業の単位である。データベースの状態の正しさ(correctness)の測度は、データベースの完全性と呼ばれる。データベースの完全性とは、並行して実行中の2つ以上のトランザクションが、データベースにおいて誤った状態を生じるような方法で互いに干渉しないようにすることの問題を指す。アプリケーションプログラマは、データベースが正しい状態であるときに各トランザクションが開始するとすれば、各トランザクションが正しい状態を生じ、他のすべてのトランザクションから分離して実行するようにしなければならない。例えば、会計アプリケーションにおける各トランザクションは、資産を負債および総資産額と帳尻が合った状態にしておかなければならない。
【0003】
トランザクション間の干渉は、多数の形式を取る可能性がある。干渉の1つの形式は「更新の紛失」問題であり、これが図1に例示される。図1に示すように、トランザクションAがレコードRにおけるフィールドFの値を1だけインクリメントしようと試みる。トランザクションAと並行して、トランザクションBがフィールドFの値に2をかけようと試みる。時間t1において、フィールドFは値4を有し、トランザクションAがレコードRを読み取る。時間t2において、トランザクションBがレコードRを読み取る。時間t3において、トランザクションAは、トランザクションAが時間t1で読み取ったフィールドFの値を1だけインクリメントし(すなわち、4プラス1)、結果として生じる値5でフィールドFを更新する。時間t4において、トランザクションBは、トランザクションBが時間t2で読み取ったフィールドFの値に2をかけ(すなわち、4かける2)、結果として生じる値8でフィールドFを更新する。トランザクションAによるレコードRへの更新がこの例で失われるが、これは、トランザクションBが時間t4において、トランザクションAが時間t3でフィールドFの値を変更したことを考慮せずにフィールドFに上書きするからである。
【0004】
更新の紛失の問題に対する1つの知られている解決策は、異なる実行優先順位を各トランザクションに割り当てることである。具体的には、より高い実行優先順位のプロセスP1が、低優先順位のプロセスP2がそのトランザクションを実行する前に、トランザクションを実行するために必要となる如何なる計算リソースをも制御する。結果として、2つのトランザクションは、それぞれ一度に実行されたものであるかのように、データベースに効果を与える。低優先順位のプロセスにおけるトランザクションは、高優先順位のプロセスにおけるトランザクションがその動作のシーケンスを完了するまで待機しなければならない。図1に示した例では、トランザクションAを含むプロセスに高優先順位を、トランザクションBを含むプロセスに低優先順位を割り当てることによって、トランザクションBは、トランザクションAがレコードRを時間t3において更新する後まで、レコードRを読み取ることができない。トランザクションBがレコードRを読み取る時間までに、トランザクションAによって行われた修正がレコードRに反映され、したがって、更新の紛失の問題が回避される。
【0005】
しかし、多数のトランザクションのストリームが並行してデータベースを修正しようと試みるとき、各ストリームがいくつかのトランザクションを含んでいる可能性がある場合、実行優先順位を各トランザクションに割り当てることは「データ優先順位」を保証しない。あるストリームにおける各トランザクションは、別のストリームにおけるトランザクションより高い実行優先順位を有する可能性があるにもかかわらず、2つのストリームにおけるトランザクションがなおインタリーブする可能性がある。すなわち、低い実行優先順位のトランザクションがなお、高い実行優先順位のトランザクションによって行われたデータベースにおける修正に上書きする可能性がある。したがって、高優先順位のストリームの修正が低優先順位のストリームの修正とコンフリクトするとき、データ優先順位を保証するためには、高優先順位のストリームの修正をデータベースにおいて確立し、低優先順位のストリームの修正をデータベースにおいて確立しないようにする。
【0006】
したがって、従来技術のデータベースシステムでは、高優先順位のトランザクションのストリームが低優先順位のトランザクションのストリームより高いデータ優先順位を獲得するようにする唯一の方法は、各ストリームを単一のトランザクションに変換することである。これにより、高優先順位のストリームは低優先順位のストリームが実行を開始する前に完全に実行するようになり、高優先順位のストリームがその実行を完了するときにデータ優先順位が保持されるようになる。しかし、各ストリームが修正しようと試みるデータベースエントリが予め知られていない場合、各ストリームが他のストリームより高いデータ優先順位を保証するために、実行中にデータベース全体への排他的なアクセスを獲得しなければならない。さらに、ストリームが長い実行時間を有し、新しいトランザクションのストリームが経時的に発生する場合、各ストリームは完了するために過大な量の時間を待機しなければならなくなり、これによりデータベースにおいてブロック化およびデッドロックを引き起こす可能性がある。
【0007】
したがって、データベースにおいて、第2のトラザクションのストリームと並行する第1のトランザクションのストリームの実行を調停(reconciling)して、第1のストリームが第2のストリームより高いデータ優先順位を有するようにし、したがって、各ストリームを単一のトランザクションに変換せずにデータベースの完全性を保証するための方法およびシステムを有することが望ましい。
【0008】
(発明の説明)
本発明は、スケジューリングデータベースにおける、並行したトランザクションのストリームの実行を調停する(reconciling)ための方法およびシステムを含む。スケジューリングデータベースは、一般に、リソース、タスク、および関連付けられた割当て関係を含み、そのすべてが様々なタイミング規則、例えば、タスクを完了するための特定の時間ウィンドウによって制御される。スケジューリングデータベースは、2つの割当て関係のうち1つを含むことができる。すなわち、1)タスクを0または1つのリソースに割り当てることができる、あるいは、2)タスクを0、1つまたはいくつかのリソースに割り当てることができる。如何なるリソースにも割り当てられないタスクは、「割当て解除(unassigned)」または「保留中(pending)」と呼ばれる。
【0009】
本発明は、低優先順位のトランザクションのストリームと並行する高優先順位のトランザクションのストリームの実行を調停(reconciling)し、その両方がスケジューリングデータベースにおいてタスク、リソース、およびそれらの関連付けられた割当て関係を修正する方法およびシステムを含む。高優先順位のストリームによるデータベースへの修正は、以下で「ピング(ping)」と呼ばれる。したがって、割り当てられたタスクのリソースのリスト内で、あるリソースから別のリソースへ、あるいは異なる時間へタスクを割り当て直すことによって、高優先順位のストリームがタスクの割当てを修正する場合、タスクが「ピング」される。類似の方法で、高優先順位のストリームが新しいタスクをリソースに割り当て、1つまたは複数のタスクをリソースから割当て解除し、あるいはリソースに割り当てられたタスクを並べ替える場合、リソースが「ピング」される。
【0010】
高優先順位のストリームは、例えば、ユーザによって(例えば、新しい順序または取り消しの結果として)開始されることが可能であり、低優先順位のストリームは、例えば、インテリジェントスケジューリングシステムによって開始されることが可能である。本発明の1つの目的は、高優先順位のストリームの修正と矛盾しないデータベースを維持し、一方で、低優先順位のストリームによって生成されたできるだけ多くの割当て関係を満たし、所望の安全および活性制約(liveness constraints)に従うことである。安全制約(a safety constraint)は、スケジューリングデータベースが「望ましくない」状態の適切な定義について望ましくない状態に決して到達しないことを必要とする。活性制約は、スケジューリングデータベースが「所望の」状態の適切な定義について所望の状態についに到達することを必要とする。
【0011】
本発明はさらに、スケジューリングデータベースにおいて、データベースにおける高優先順位のストリームを確立し、一時記憶装置における低優先順位のストリームを確立し、低優先順位のストリームを高優先順位のストリームと調停し、この時間の間にデータベースの一部へのさらなる修正が許可されず、高優先順位のストリームが低優先順位のストリームより高いデータ優先順位を有して結果として生じるデータベースが所望の安全および活性制約を満たすように、データベースにおいて低優先順位のトランザクションのストリームのいくつか、またはすべてを確立することによって、低優先順位のトランザクションのストリームと並行する高優先順位のトランザクションのストリームの実行を調停するための方法およびシステムを含む。低優先順位のストリームを高優先順位のストリームと調停すること(reconciling)は、一般に、低優先順位のストリームにおいて、高優先順位のストリームのものとコンフリクトするこれらの割当て関係を廃棄すること、データベースにおいてピングされないリソースに、一時記憶装置において割当て解除されるタスクおよびデータベースにおいてピングされないタスクのいくつかを割り当てること、および、一時記憶装置において結果として生じる割当て関係をデータベースにおいて確立することを意味する。
【0012】
具体的には、低優先順位のストリームを高優先順位のストリームと調停することは、1)データベースにおける高優先順位のトランザクションのストリームの実行の前に、データベースにおいて保留中であったピングされたタスクを識別するステップ、2)データベースにおいてピングされたリソースに割り当てられるタスクを識別するステップ、3)データベースにおいて識別されたタスクに対応する、一時データベースにおけるタスク割当て解除するステップ、4)ピングされないリソースに、一時記憶装置において割当て解除されるタスクおよびデータベースにおいてピングされないタスクのいくつかを割り当てるステップ、および、5)データベースにおいて、結果として生じる一時記憶装置の割当て関係を確立するステップを含む。
【0013】
本発明の方法およびシステムは、データ優先順位ならびに所望の安全および活性制約を保証し、したがって、並行したトランザクションのストリームを実行するときにデータベースの完全性を維持する。具体的には、本発明の方法およびシステムは、データベースにおいてピングされたエントリの知識(knowledge)、高優先順位のストリームの実行前のデータベースの状態、および低優先順位のストリームにおけるトランザクションのみに基づいて、低優先順位のトランザクションのストリームと並行する高優先順位のトランザクションのストリームの実行を調停する(reconcile)。したがって、データベースにおけるロッキング間隔の持続時間は、低優先順位のストリーム全体を実行する持続時間よりも調停ステップ(reconciliation step)の持続時間のみに低減される。さらに、データベースにおいて調停ステップ中にロックされなければならないエントリ数が低減され、これは、データベースにおいてピングされたエントリがロックされないためである。データベースにおいてロックされるエントリ数を低減することによって、データベースデッドロックおよびトランザクションロールバックの数が低減され、データベースの性能が向上する結果となる。
【0014】
本発明の説明、および、本発明の最良の形態を実施するための以下の説明は、記載された本発明の範囲を制限するべきでない。両方が、他者が本発明を実施できるようにするための例および説明を提供する。添付の図面は、本発明の最良の形態を実施するための説明の一部を形成し、本発明のいくつかの実施形態を図示し、説明と共に、本発明の原理を説明する。
【0015】
(発明を実施するための最良の形態)
次に、本発明のこの好ましい実施形態を詳細に参照し、その例が添付の図面に例示される。可能なところでは、図面中で同一参照番号が使用され、同一あるいは類似の部分を指す。
【0016】
本発明は、スケジューリングデータベースにおいて、データベースにおいて高優先順位のストリームを実行し、一時記憶装置において低優先順位のストリームを実行し、低優先順位のストリームを高優先順位のストリームと調停して、この時間の間にデータベースの一部へのさらなる修正が許可されないようにすることによって、低優先順位のトランザクションのストリームと並行する高優先順位のトランザクションのストリームの実行を調停するための方法およびシステムを含む。スケジューリングサブシステムは、高優先順位のストリームが低優先順位のストリームより高いデータ優先順位を有して、結果として生じるデータベースが所望の安全および活性制約を満たすように、データベースにおける低優先順位のトランザクションのストリームのいくつか、またはすべてを実行することによって、低優先順位のストリームにおける割当て関係を高優先順位のストリームのそれらと調停する。
【0017】
具体的には、スケジューリングサブシステムが、1)データベースにおける高優先順位のトランザクションのストリームの実行の前に、データベースにおいて割当て解除されるピングされたタスクを識別すること、2)データベースにおいてピングされたリソースに割り当てられるタスクを識別すること、3)データベースにおいて識別されたタスクに対応する、一時データベースにおけるタスクを割当て解除すること、4)ピングされないリソースに、一時記憶装置において割当て解除されるタスクおよびデータベースにおいてピングされないタスクのいくつかを割り当てること、および、5)データベースにおいて、結果として生じる一時記憶装置の割当て関係を確立することによって、低優先順位のストリームを高優先順位のストリームと調停する。割当て関係は、例えば、タスクの状態、そのタスクに割り当てられたリソース、およびタスクの推定開始時間を含むことができる。割当て関係の要素は、単一の構造または異なるテーブルにおける別々のエントリとして格納することができ、これは、割当て関係の特定の実施態様が本発明の実施に必須ではないからである。
【0018】
調停ステップは、結果として生じるデータベースがタスクおよびリソース間の特定の割当て関係とは無関係に、以下の活性制約を満たすことを保証する。すなわち、タスクが時間t1とt2の間で実行されなければならず、ピングされないリソースがタスクを実行する適性を有する場合、調停ステップの完了後、タスクが時間t1とt2の間で実行されないときにリソースが時間t1とt2の間でアイドル状態になるべきではない。
【0019】
図2は、本発明の一実施形態による、M個のタスクをN個のリソースに割り当てるためのシステムのブロック図を例示する。図のように、スケジューリングシステム200は、デスクトップコンピュータ201および202、モニタ210および211、およびプリンタ212と、それぞれ接続203、204、213、214、および215を介してインタフェースを取る。デスクトップコンピュータ201および202を介して、ユーザがタスク、リソース、および、タスクおよびリソースに関連付けられた割当て関係を作成し、修正することができ、次いでこれらがスケジューリングシステム200に格納される。さらに、スケジューリングシステム200は、自動的にタスクをリソースへ、リソースをタスクへ割り当て、必要があれば、ユーザによって入力された割当て関係を修正する。
【0020】
本発明の一実施形態によれば、スケジューリングシステム200は、リソース、タスク、および関連付けられた割当て関係を含み、そのすべてが様々なタイミング規則、例えば、タスクを完了するための特定の時間ウィンドウによって制御される。スケジューリングシステム200は、タスクを0または1つのリソースに割り当てることができる、本発明の別の実施形態によれば、タスクを0、1つまたはいくつかのリソースに割り当てることができる。如何なるリソースにも割り当てられないタスクは、「割当て解除」または「保留中」と呼ばれる。
【0021】
図3は、本発明の一実施形態によるスケジューリングシステム200の構成要素を例示する。図のように、スケジューリングシステム200は、プロセッサ300、メモリ310、入力デバイス320、出力デバイス330、および補助記憶装置340を含み、そのすべてが高速バス350に接続される。メモリ310は、オペレーティングシステム312およびスケジューリングサブシステム314を含み、これらがデータ、および、プロセッサ300が実行する1組の実行可能命令を含む。入力デバイス320は、標準の端末またはデスクトップコンピュータを含むことができる。出力デバイス330は端末とプリンタを含む。
【0022】
補助記憶装置340は、ディスクドライブおよびテープドライブ、またはCD読取り専用メモリ(ROM)を含む。テープドライブまたはCD ROMからソフトウェアおよびデータをディスクドライブ上にロードすることができ、次いでこれらをメモリ310にコピーすることができる。類似の方法で、メモリ310におけるソフトウェアおよびデータをディスクドライブ上にコピーすることができ、次いでこれらをテープドライブまたはCD ROM上にロードすることができる。
【0023】
図4は、本発明の一実施形態によるスケジューリングサブシステム314のブロック図である。図のように、スケジューリングサブシステム314は、スケジューラ400、ユーザアクセス410、レコンシレーション(reconciliation)420、およびデータベース管理システム(DBMS)430を含み、これがデータベース440を含む。ユーザアクセス410は、タスク、リソース、およびそれらの関連付けられた割当て関係を追加、修正、および削除するためのユーザインタフェースを提供し、それらのすべてがデータベース440に格納される。タスクおよびリソースがシステムに入力された後、スケジューラ400は、入力されたタスクをリソースに、リソースを入力されたタスクに割り当て、必要があれば既存のタスクおよびリソースの割当て関係を修正する。レコンシレーション420はユーザアクセス410およびスケジューラ400の並行した試みを制御して、データベース440におけるタスク、リソース、およびそれらの関連付けられた割当て関係にアクセスし、これらを修正する。
【0024】
DBMS430は、スケジューラ400、ユーザアクセス410、およびレコンシレーション420に、データベース440への読取りおよび書込みアクセスを提供する。DBMS430は、例えばOracleバージョン7.3など、商用データベース管理システムアプリケーションとすることができる。特定のタイプのデータベース管理システムは本発明の実施に必要ではなく、当業者に知られている他のデータベース管理システムを代わりに使用することができる。
【0025】
データベース440は、タスク要求442およびタスクリスト443テーブルを含む。タスク要求442における各エントリは、一般に、タスクをその割り当てられたリソースにマッピングする。各エントリは、例えば、タスク識別子(task_id)、リソース識別子(resource_id)、状態、タスク完了予定日(scheduled_date)、タスク開始推定時間(estimated_start_time)、および、エントリが最後に修正および/または作成されたときのタイムスタンプを含む。タスク要求442のための一次キーはtask_idを含むことができる。
【0026】
タスク要求442のエントリにおける状況フィールドがタスクの状況を表し、これを、例えば「保留中」、「割当て済み(asssinged)」、「ディスパッチ済み(dispatched)」、または「完了(completed)」とすることができる。上で説明したように、「保留中」状態はタスクがリソースに割り当てられないことを示す。「割当て済み」状態は、タスクがリソースに割り当てられることを示す。「ディスパッチ済み」状態は、リソースがタスク上で動作開始したことを示す。「完了」状態は、タスクが完了されたことを示す。
【0027】
タスクリスト443における各エントリは、各リソースの割り当てられたタスクに関する情報を提供する。エントリは、例えばリソース識別子(resource_id)、タスク識別子(task_id)、タスク完了予定日(scheduled_date)、実際のタスク開始日、実際のタスク完了日、および、エントリが最後に修正および/または入力されたときのタイムスタンプを含む。タスクリスト443のための一次キーは、resource_idおよびscheduled_dateを含むことができる。
【0028】
図5は、本発明の一実施形態によるスケジューリングサブシステム314の状態図である。所与の時点において、スケジューリングサブシステム314の状態を、タスク、リソース、およびタスクからリソースへの割当て関係によって定義することができ、これらはデータベース440に格納される。この初期状態をINITIAL(状態500)として示す。INITIAL状態で、スケジューリングサブシステムにおける2つの独立したイベントが起こることができ、これらが、データベース440に格納されたタスク、リソース、およびタスクからリソースへの割当て関係の状態を修正する。まず、ユーザが新しいタスク、リソース、および割当て関係を入力し、および/または、既存のタスク、リソース、および割当て関係を修正することができ、この場合、ユーザアクセス410が高優先順位のトランザクションのストリームを生成してデータベース440を修正する(ステップ505)。ユーザアクセス430がデータベース440において高優先順位のトランザクションのストリームを実行した後、スケジューリングサブシステム314の新しい状態は、修正されたデータベース440における、新しい、および/または、修正されたタスク、リソース、および割当て関係によって定義される。この状態はCURRENT(状態510)として示される。
【0029】
次に、ユーザアクセス410と並行して、スケジューラ400がデータベース440における既存のタスク、リソース、および割当て関係を、データベース440における潜在的な実行のために低優先順位のトランザクションのストリームを生成することによって修正する。しかし、スケジューラ400は、データベース440において低優先順位のトランザクションのストリームを直接実行しない。スケジューラ400は、INITIAL状態におけるデータベース440の一部のレプリカまたはコピーにおいて低優先順位のストリームを実行し、これがメモリ310に格納され、図4でproposed_db425として示される。データベース440のコピーされた部分は、タスク、関連付けられた割当て関係、およびリソースを含むことができ、これらは、例えば、割当てのための特定の日に使用可能である。別法として、コピーされた部分は、INITIAL状態におけるデータベース440全体を含むことができる。
【0030】
レコンシレーション420がproposed_db425において低優先順位のストリームを実行するとき(ステップ507)、スケジューリングサブシステム314の新しい状態は、proposed_db425に含まれている提案の(proposed)タスク要求テーブル427および提案のタスクリストテーブル428における修正されたタスク、リソース、および割当て関係によって定義される。この状態は、PROPOSED(状態520)として示される。さらにスケジューラ400は、「ディスパッチ済み」または「完了」の状態を有するタスクを修正しない。
【0031】
以下で詳細に示すように、レコンシレーション420は、データベース440における並行する高優先順位のトランザクションを、proposed_db425における低優先順位のトランザクションと調停する。具体的には、レコンシレーション420がproposed_db425から、データベース440においてピングされたタスクおよび/またはピングされたリソースに関連付けられる割当て関係とコンフリクトする割当て関係を除去し、ピングされないリソースに、proposed_db425において割当て解除されるタスクおよびデータベース440においてピングされないタスクのいくつかを割り当てる(ステップ525)。ステップ525は、スケジューリングサブシステム314における新しい状態の結果となり、これが図5において状態PROPOSEDMINUS(状態530)として示される。次いで、レコンシレーション420はデータベース440において、proposed_db425における残りの割当て関係を確立する(ステップ535)。ステップ535は、スケジューリングサブシステム314における別の新しい状態の結果となり、これが状態RECONCILEDとして示される(状態540)。スケジューリングサブシステム314が状態RECONCILEDに到達するとき、これはデータベース440において、低優先順位のトランザクションのいくつか、あるいはすべてを確立しており、これがデータベース440における割当て関係を修正し、修正がデータベース440における高優先順位のトランザクションと矛盾しないようにし、したがって、データベース440の完全性を保証する。
【0032】
図6は、本発明の一実施形態による、データベース440において並行したトランザクションのストリームを調停するときに、スケジューリングサブシステム314が実行するステップのフローチャートである。スケジューラ400がデータベース440(または、ユーザアクセス410を介して行われた仕様に基づいて識別されたような、少なくとも1つのデータベース440のサブセット)をproposed_db425にコピーし、コピーされたタスク、リソース、および割当て関係のそれぞれの最後の修正の時間(「proposed_stamp」と呼ばれる)を含む(ステップ600)。別法として、スケジューラ400は、コピーの日付および時間をproposed_stampに格納することができる。ユーザアクセス410は、高優先順位のトランザクションのストリームを生成し実行して、データベース440において新しいタスク、リソース、および割当て関係を作成し、および/または、既存のタスク、リソース、および割当て関係を修正する(ステップ610)。ユーザアクセス410と並行して、スケジューラ400が低優先順位のトランザクションのストリームを生成し実行して、proposed_db425において既存のタスク、リソース、および割当て関係を修正する(ステップ620)。
【0033】
次いで、レコンシレーション420は、proposed_db425における低優先順位のトランザクションを、データベース440における高優先順位の修正と、以下のように調停する(ステップ630から670)。すなわち、レコンシレーション420は、例えば、第1のストアされたプロシージャを実行して、タスクリスト443においてproposed_stampより大きいタイムスタンプを有するエントリを求めてデータベース440を照会することによって、データベース440においてピングされたリソースを識別する(ステップ630)。具体的には、第1のストアされたプロシージャがproposed_stampをタスクリスト443への探索キーとして使用し、リードロック(read−lock)を使用してリソース、タスク、および割当て関係をロックし、ステップ600においてスケジューラ400がこれらをproposed_db425にコピーする。タスクリスト443におけるエントリがproposed_stampより大きいタイムスタンプを有する場合、最後にスケジューラ400がデータベース440をproposed_db425にコピーしたとき以来、そのエントリに関連付けられたリソースがピングされている。第1のストアされたプロシージャは、ピングされているリソースのサブセットを返す。別法として、第1のストアされたプロシージャがライトロックを使用して、タスクリスト443全体をロックすることができる。当業者に知られている他のロッキングまたは並行処理制御方法を代わりに使用することができ、これは、特定のロッキング機構は本発明の実施に必須でないからである。
【0034】
次に、レコンシレーション420は、例えば第2のストアされたプロシージャを実行して、proposed_db425において保留中の状態を有するタスク、および、タスク要求442においてそれらの関連付けられたエントリがproposed_stampより大きいタイムスタンプを有するタスクを求めて、データベース440を照会することによって、データベース440においてピングされたタスクを識別する(ステップ640)。具体的には、タスク要求442におけるエントリがproposed_stampより大きいタイムスタンプを有する場合、最後にスケジューラ400がデータベース440をproposed_db425にコピーしたとき以来、そのエントリに関連付けられたタスクがピングされている。別法として、第2のストアされたプロシージャがライトロックを使用して、タスク要求442全体をロックすることができる。当業者に知られている他のロッキング方法を代わりに使用することができ、これは、特定のロッキング機構は本発明の実施に必須でないからである。
【0035】
レコンシレーション420は、例えば、proposed_db425においてそのタスクに関連付けられたエントリを削除することによって、データベース440においてピングされる、proposed_db425において割り当てられた各タスクを割当て解除する(ステップ650)。次いで、レコンシレーション420は、例えばproposed_db425から、そのタスクに関連付けられた割当て関係を除去することによって、データベース440においてピングされるリソースに割り当てられる、proposed_db425における各タスクを割当て解除する(ステップ660)。活性制約を満たすために、次いでレコンシレーション420はピングされないリソースに、proposed_db425において割当て解除されるタスク、および、データベースにおいてピングされないタスクのいくつかを割り当てる(ステップ670)。
【0036】
最後に、レコンシレーション420は、proposed_db425において、スケジューラ400によって修正されたタスク、リソース、および割当て関係を識別し、ライトロックを使用してデータベース440において対応するエントリを修正する(ステップ680)。DBMS430がデータベース440において対応するエントリをうまく修正するとき、レコンシレーション420はデータベース440上でロックを解除する。
【0037】
(調停(RECONCILIATION)の詳細)
上で説明したように、スケジューリングデータベースは、タスクとリソースの間の2つの割当て関係のうち1つを含むことができる。すなわち、1)タスクを0または1つのリソースに割り当てることができる、あるいは、2)タスクを0、1つまたはいくつかのリソースに割り当てることができる。本発明の一実施形態によれば、タスクとリソースの間の第1の割当て関係は各タスクxを多くとも1つのリソースに割り当てることができる安全制約を満たさなければならず、リソースはallowable(x)における複数の単集合のうちの1つでなければならず、ただし、単集合は単一のリソースを含む集合であり、allowable(x)は、タスクxを実行するために必須の属性を有するリソースを表す。スケジューリングデータベースの最後の状態も、タスクおよびリソースの間の特定の割当て関係に関係なく、以下の活性制約を満たさなければならない。すなわち、タイミング規則が、ピングされないタスクxが時間t1とt2の間で行われることを可能にすると仮定すれば、リソースyはタスクxを実行することができ(すなわち、{y}がallowable(x)に属する)、yはピングされない。次いで、これは、リソースyが時間t1とt2の間でアイドル状態であり、タスクxは、タスクxのタイミング規則を満たす方法で完了されない場合であってはならない。
【0038】
本発明の別の実施形態によれば、第2の割当て関係は各タスクxを多くともallowable(x)における1つの集合に割り当てることができる汎用安全制約を満たさなければならず、ただし、各集合は、共にタスクxを実行するために必須の属性を有する複数のリソースを含むことができる。データベースの最後の状態も、以下の汎用活性制約を満たさなければならない。すなわち、タイミング規則がピングされないタスクxが時間t1とt2の間で行われることを可能にすると仮定すれば、リソースの集合yがタスクxを実行することができ(すなわち、集合yはallowable(x)に属する)、yにおけるすべてのリソースはピングされない。次いで、これは、yにおけるすべてのリソースが時間t1とt2の間でアイドル状態であり、タスクxは、タスクxのタイミング規則を満たす方法で決して完了されない場合であってはならない。
【0039】
具体的には、割当てを、ある時間にタスクをリソースに、あるいは、「保留中」と呼ばれる状態にマッピングする関数とすることができる。別法として、割当てを集合値関数にすることができ、ただし、タスクをいくつかのリソースに割り当てることができる。リソースにマッピングされない如何なるタスク(すなわち、リソースの非空集合にマッピングされない如何なるタスク)も「保留中」にマッピングされる。これは公式として、PENDING={task x|assigned(x)=pending)と表すことができる。さらに、ピングされたタスクは、割当て関数が高優先順位のトランザクションのストリームによって変更されているものである。同様に、ピングされたリソースは、割当て関数が高優先順位のストリームによって修正されているリソースである。
【0040】
スケジューリングデータベースは、本発明の一実施形態による5つの状態のうち1つを含むことができる。すなわち、1)INITIAL状態は、データベースの元のアンロックされた状態を表し(データベースにおけるトランザクションの実行前)、2)CURRENT状態は、高優先順位のトランザクションのストリームの実行からの結果であるデータベースの状態を表し(調停プロセス(reconciliation process)が開始するとき、これがデータベースの状態である)、3)PROPOSED状態は、INITIAL状態における低優先順位のトランザクションのストリームの実行からの結果であるデータベースの状態を表し、4)PROPOSEDMINUS状態は、CURRENTにおけるピングされたタスクおよび/またはピングされたリソースに関連付けられた割当て関係にコンフリクトする、PROPOSEDにおける割当て関係を除去することから、かつ、リソースに、PROPOSEDにおいて割り当て解除されるタスクおよびCURRENTにおいてピングされないタスクのいくつかを割り当てることからの結果であるデータベースの状態を表し、5)RECONCILED状態は、PROPOSED状態とCURRENT状態の調停(reconciliation)からの結果であるデータベースの状態を表す。
【0041】
Sが、上で識別された5つのデータベース状態のうち1つを表す場合、S:xはSにおけるxの値を表す。例えば、xがタスクである場合、INITIAL:assigned(x)はデータベース状態INITIALにおけるassigned(x)の値である。換言するなら、INITIAL:assigned(x)はリソースであり、これには、データベース状態INITIALにおいてタスクxが割り当てられる(すなわち、一般にはリソースの集合)。さらに、次の表記法が以下で使用される。
【0042】
pinged[X]は、ピングされるXの要素を表し、すなわち、{x in X|pinged(x)=true}であり、
Tは、INITIALにおけるリソースの集合を表し(すなわち、T=INITIAL:resources)、
Pは、INITIALにおける保留中のタスクの集合を表し(すなわち、P=INITIAL:PENDING)、
new_tasksは、INITIALにおけるものでなくCURRENTにおけるタスクであり、
discarded_tasksは、CURRENTにおけるものでなくINITIALにおけるタスクであり、
pinged[T]は、INITIAL中に存在するピングされるリソースの集合を表し、
pinged[P]は、INITIALにおいて存在する、ピングされるタスクの集合を表し、
pinged[P]の要素は、ピングされたPENDINGと呼ばれる。さらに、ピングされたPENDINGタスクは、データベース状態CURRENTにおける状態「保留中」をなお有することができる。
【0043】
高優先順位のストリームが実質的な遅延なしに実行できるようにするため、上述の安全および活性制約を条件として、どのタスクおよびリソースがピングされたかを知ることを越えて、CURRENT状態の詳細へのアクセスを有することなく、低優先順位のストリームを高優先順位のストリームと調停することが望ましい。これは、以下の副命題のために達成することができる。すなわち、LeaveAloneを、CURRENT状態においてピングされたリソースに割り当てられたすべてのタスク(INITIALおよび新規)と、CURRENT状態において保留中であるすべてのピングされたタスクとの集合にさせる。略して、recent_resourceを、INITIAL以来システムに入ったリソースにさせる、すなわち、recent_resource=CURRENT:resource−INITIAL:resourceである。公式として、LeaveAloneを以下のように表すことができる。
【0044】
LeaveAlone={x in task|((CURRENT:assigned(x)はrecent_resourceまたはpinged[T]にある)または(CURRENT:assigned(x)=pendingであり、xはpinged[task]にある)または(xはdiscarded_tasksにある))}。
【0045】
assignedが集合値関数である場合、CURRENT:assigned(x)は、recent_resourceまたはpinged[T]と交わりなしではない状態(non−null intersection)でなければならない。調停(reconciliation)を実行中にCURRENT状態全体が読み取られる必要がないようにするため、LeaveAloneConstructedを、INITIAL状態においてピングされたリソースに割り当てられたすべてのタスクと一緒に、INITIAL状態において保留中であったピングされたタスクの集合として定義することができることは確かである。LeaveAloneConstructedは以下のように表すことができる。
【0046】
LeaveAloneConstructed={x in task|((INITIAL:assigned(x)はpinged[T]にある)または(INITIAL:assigned(x)=pendingかつpinged(x)=true)または(xはnew_tasksにある))}。
【0047】
assignedが集合値関数である場合、INITIAL:assignedはpinged[T]と交わりなしではない状態でなければならない。
【0048】
以下の副命題は、タスクが単一のリソースまたは「保留中」にマッピングされる割当て関数の場合について証明されるが、タスクをいくつかのリソースにマッピングすることができる場合にも適用される。以下の副命題、すなわち、LeaveAloneConstructed=LeaveAloneを考慮する。以下では、LeaveAloneはLeaveAloneConstructedの部分集合であることを証明する。まず、CURRENT状態においてピングされたリソースYに割り当てられるタスクxを考慮する。これは、以下のように表すことができる。すなわち、CURRENT:assigned(x)はpinged[T]またはrecent_resourceにある。さらに、タスクxを、以下の4つの方法のうち1つでYに割り当てておくことができる。
【0049】
i)xがINITIAL状態においてYに割り当てられていた(すなわち、INITIAL:assigned(x)=Y)、xがINITIAL状態においてピングされたリソースに割り当てられていた場合であり、したがって、INITIAL:assigned(x)はpinged[T]にある。
ii)xがINITIAL状態において別のリソースY’に割り当てられていた(すなわち、INITIAL:assigned(x)=Y’)、次いでCURRENTにおいてYに割り当てられた。この場合、Y’はピングされ、xはピングされたリソースのINITIAL状態にあるようになる。したがって、INITIAL:assigned(x)はpinged[T]にある。これは、YがINITIAL状態におけるリソースでなかった場合にも当てはまる。
iii)xがINITIALにおいて保留中されていて、次いで、CURRENTにおいてYへ移動された。次いで、xはピングされたPENDINGにあるようになる(すなわち、INITIAL:assigned(x)=pending、かつpinged(x)=true)。または
iv)xが新規であり、CURRENTにおいてYへ移動された。したがって、xはnew_tasksにある。
【0050】
CURRENT:PENDINGにおいてピングされたタスクxは以下のように表すことができる。すなわち、CURRENT:assigned(x)=pendingである。タスクxは、ピングされる前の2つの状態のうちの1つであった可能性がある。すなわち、1)xが保留中であったか、あるいは2)INITIAL状態においてリソースへ割り当てられていた。この部分集合関係は、以下の2つの理由によって当てはまる。
【0051】
i)xがINITIAL状態において保留中であった場合、xはピングされたPENDINGであり、したがって、xはpinged[P]にある。これは、INITIAL:assigned(x)=pending、かつpinged(x)=trueと表すことができる。または
ii)xがINITIAL状態において、あるリソースYに割り当てられていた場合は、Yはピングされている(すなわち、xがpinged[T]にある)。これは、INITIAL:assigned(x)はpinged[T]にあると表すことができる。
【0052】
最後に、廃棄されたタスクxの場合、2つの可能性がある。すなわち、i)タスクxがINITIAL状態において保留中されていた、次いでそれが廃棄されたときにピングされた(すなわち、INITIAL:assigned(x)=pending、かつpinged(x)=true)、またはii)タスクxがINITIALにおいてあるリソースYに割り当てられていた、次いで除去されたとき、そのリソースはピングされる(すなわち、INITIAL:assigned(x)はpinged[T]にある)。
【0053】
以下では、LeaveAloneConstructedはLeaveAloneの部分集合であることを証明する。xを、INITIAL状態における、ピングされたリソースTのためのタスクとし、これを公式として、INITIAL:assigned(x)がpinged[T]にあることを表すことができる。したがって、タスクxは、以下の3つの状態のうちの1つとすることができる。
【0054】
i)xがなお同一か、あるいは異なるリソースに割り当てられる(すなわち、CURRENT:assigned(x)はpinged[T]にある)。
ii)xが保留中になったので、INITIAL:assigned(x)とx自体が共にピングされている(CURRENT:assigned(x)=pendingであり、xがpinged[task]にある)。または
iii)xは廃棄されている(すなわち、xはdiscarded_tasksにある)。
【0055】
xがINITIAL状態において保留中であった、ピングされたタスクの場合(すなわち、INITIAL:assigned(x)=pending、かつpinged(x)=true)、CURRENT状態において、タスクxは以下の3つの状態のうちの1つとすることができる。
【0056】
i)xがCURRENT:PENDINGにある場合、xがピングされて以来、CURRENT:assigned(x)=pendingであり、xはpinged[task]にある。
ii)xがあるリソースYのスケジュールへ移動されると、このときYはピングされているので、CURRENT:assigned(x)はpinged[T]またはrecent_resourceにある。または
iii)xがnew_tasksにあると、このときxは保留中の状態において、あるいはタスクリスト上でピングされる(すなわち、(CURRENT:assigned(x)がpinged[T]またはrecent_resourceにある))または(CURRENT:assigned(x)=pendingであり、xはpinged[task]にある))。
【0057】
したがって、LeaveAloneはタスクxを含む。さらに、RECONCILEDは、CURRENTにおける集合LeaveAloneにおけるすべてのタスクに関連付けられた割当て関係、およびPROPOSEDMINUSにおける他のすべてのタスクの割当て関係を含む。すなわち、LeaveAloneタスクに関連付けられた割当て関係は、PROPOSEDMINUSにおける割当て関係によって修正されない。
【0058】
(調停(RECONCILIATION)ステップ)
調停方法は、1)CURRENTからpinged[T]およびpinged[P]を識別するステップ、および2)pinged[T]、pinged[P]、INITIAL、およびPROPOSEDの識別にのみ基づいてRECONCILEDを達成するために、CURRENTへの必要な修正を決定するステップを含む。具体的には、調停のステップ(2)はさらに以下のステップを含む。
【0059】
a)PROPOSEDから、LeaveAloneConstructedにおけるxについて、unassign(x)を実行する(すなわち、タスクxを保留中へ返す)。さらに、活性を達成するため、yが割当て解除されてLeaveAloneにない場合、タスクyをTruePendingTaskとする。次に、残りの使用可能なリソースが残りのTruePendingTasksに不適当であるか、残りのTruePendingTasksのためのタイミング要件を満たさなくなるまで、ピングされないリソースにTruePendingTasksを割り当てる。一般に、タスクyをピングされないリソースにおけるギャップの集まりへ挿入し、ここで、xはallowable(y)に属する。これにより、データベース状態PROPOSEDMINUSの結果となる。
b)RECONCILEDは、CURRENT中でピングされたタスクとピングされたリソースに関連付けられた割当て関係の互いに素の和集合(disjoint union)から、PROPOSEDMINUS中のタスクとリソースに関連付けられた割当て関係と一緒に達成される。
【0060】
PROPOSEDおよびCURRENTが個々に安全制約を満たす(それぞれ、低および高優先順位のストリームにおけるトランザクションによって保証される)と仮定すると、活性ステップa)からの結果生じるデータベース状態は安全制約を満たす。これは、LeaveAloneにおけるタスクに関連付けられた割当て関係がCURRENTから取られ、他のすべてのタスクに関連付けられた割当て関係がPROPOSEDから取られるからである。すなわち、PROPOSEDおよびCURRENTはそれぞれ安全制約を満たすので、PROPOSEDMINUSおよびCURRENTの互いに素の和集合も安全制約を満たす。
【0061】
したがって、高優先順位のストリームは低優先順位のストリームよりも高いデータ優先順位を維持する。これは、CURRENTにおけるすべてのピングされたタスクおよびリソースがデータベースにあるからである。データベースは、調停の活性ステップa)のため、活性制約を満たす。活性ステップにおいて割り当てられたタスクは集合LeaveAloneになく、タスクの保留中状態から割当て済み状態への移行のため、活性ステップは安全性またはデータ優先順位に違反しないことに留意されたい。
【0062】
ここに、本発明の好ましい実施形態および方法であると見なされるものが例示され、記載されたが、本発明の真の範囲から逸れることなく、様々な変更および修正を行うことができ、それらの要素の代わりに均等物を使用できることは、当業者には理解されよう。
【0063】
加えて、本発明の中心の範囲から逸れることなく、特定の要素、技術または実施態様を本発明の教示に適合させるように、多数の修正を行うことができる。したがって、本発明は、本明細書に開示された特定の実施形態および方法に限定されず、本発明は、添付した特許請求の範囲の範囲内に含まれるすべての実施形態を含むことを意図するものである。
【図面の簡単な説明】
【図1】 従来技術のデータベースの、多数のトランザクションが並行してデータベースを修正しようと試みるときの状態を例示する図である。
【図2】 本発明の一実施形態による、M個のタスクをN個のリソースに割り当てるためのシステムのブロック図である。
【図3】 本発明の一実施形態によるスケジューリングシステムの構成要素を例示する図である。
【図4】 本発明の一実施形態によるスケジューリングサブシステムのブロック図である。
【図5】 本発明の一実施形態によるスケジューリングサブシステムの状態図である。
【図6】 本発明の一実施形態によるスケジューリングデータベースにおいて、並行したトランザクションのストリームの実行を調停するときに、スケジューリングサブシステムが実行するステップのフローチャートである。
Claims (5)
- データベースにおけるデータの、第1の高優先順位のトランザクションのストリームと第2の低優先順位のトランザクションのストリームの並列実行の完全性を保証するための方法であって、前記データベースがタスク、リソース、および、該タスクと該リソース間の割当て関係を含む方法において、
前記データベースの一部を記憶装置にコピーするステップと、
前記第1の高優先順位のトランザクションのストリームを前記データベースにおいて確立するステップと、
前記第2の低優先順位のトランザクションのストリームを前記記憶装置において確立するステップと、
前記第2の低優先順位のトランザクションのストリームを前記第1の高優先順位のトランザクションのストリームに対し調停して前記第1の高優先順位のトランザクションのストリームに前記第2の低優先順位のトランザクションのストリームより高いデータ優先順位を持たせ、かつ、前記データベースに所定の活性および安全制約を満足させるステップとを有し、
高いデータ優先順位を持たせかつ満足させる該ステップが、
前記コピーするステップの後で、前記データベースにおいて修正されているすべてのタスクおよびリソースを識別するステップと、
前記データベースにおいて修正されるリソースに割り当てられるタスクを、前記記憶装置において識別するステップと、
前記データベースにおいて修正されるタスクを、前記記憶装置において識別するステップと、
前記データベースにおいて修正されたと識別された、または修正されるリソースに割り当てられたと識別されたタスクについて、そのタスクに割り当てられたリソースを前記データベースにおいて割当て解除するステップと、
前記データベースにおいて修正されていないおよびリソースを必要としない、前記データベースにおけるタスクの一部に、前記データベースからの修正されていないリソースを割り当てるステップと、
前記データベースにおける前記割当て関係の互いに素の和集合を、前記データベースにおいて修正されたタスクおよびリソースと関連付けられる前記割当て関係と一緒に確立するステップと
を含むことを特徴とする方法。 - 請求項1において、
前記一緒に確立するステップがさらに、
前記記憶装置において修正された前記割当て関係と、修正されていないタスクおよび修正されていないリソースに関連付けられる前記割当て関係を、前記データベースから削除するステップと、
前記記憶装置において修正された前記割当て関係と、修正されていないタスクおよび修正されていないリソースに関連付けられる前記割当て関係を、前記データベースにコピーするステップと
を含む方法。 - 請求項1において、
前記記憶装置にコピーするステップが、
前記タスク、前記リソース、および、前記データベースの一部における前記割当て関係を、前記記憶装置にコピーするステップを含む方法。 - データベースにおけるデータの、第1の高優先順位のトランザクションのストリームと第2の低優先順位のトランザクションのストリームの並列実行の完全性を保証するためのシステムであって、前記データベースがタスク、リソース、および、該タスクと該リソース間の割当て関係を含むシステムにおいて、
記憶装置と、
前記データベースの一部を記憶装置にコピーする手段と、
前記第1の高優先順位のトランザクションのストリームを前記データベースにおいて確立する手段と、
前記第2の低優先順位のトランザクションのストリームを前記記憶装置において確立する手段と、
前記第2の低優先順位のトランザクションのストリームを前記第1の高優先順位のトランザクションのストリームに対し調停して前記第1の高優先順位のトランザクションのストリームに前記第2の低優先順位のトランザクションのストリームより高いデータ優先順位を持たせ、かつ、前記データベースに所定の活性および安全制約を満足させる手段とを有し、
高いデータ優先順位を持たせかつ満足させる該手段が、
前記データベースの一部を前記記憶装置にコピーしてから、前記データベースにおいて修正されているすべてのタスクおよびリソースを識別する手段と、
前記データベースにおいて修正されるリソースに割り当てられるタスクを、前記記憶装置において識別する手段と、
前記データベースにおいて修正されるタスクを、前記記憶装置において識別する手段と、
前記データベースにおいて修正されたと識別された、または修正されるリソースに割り当てられたと識別されたタスクについて、そのタスクに割り当てられたリソースを前記データベースにおいて割当て解除する手段と、
前記データベースにおいて修正されていないおよびリソースを必要としない、前記データベースにおけるタスクの一部に、前記データベースからの修正されていないリソースを割り当てる手段と、
前記データベースにおける前記割当て関係の互いに素の和集合を、前記データベースにおいて修正されたタスクおよびリソースと関連付けられる前記割当て関係と一緒に確立する手段と
を備えることを特徴とするシステム。 - データベースにおけるデータの、第1の高優先順位のトランザクションのストリームと第2の低優先順位のトランザクションのストリームの並列実行の完全性を保証するための方法であって、前記データベースがタスク、リソース、および、該タスクと該リソース間の割当て関係を含む方法において、
前記データベースの一部を記憶装置にコピーするステップと、
前記第1の高優先順位のトランザクションのストリームを前記データベースにおいて確立するステップと、
前記第2の低優先順位のトランザクションのストリームを前記記憶装置において確立するステップと、
前記第2の低優先順位のトランザクションのストリームを前記第1の高優先順位のトランザクションのストリームに対し調停して前記第1の高優先順位のトランザクションのストリームに前記第2の低優先順位のトランザクションのストリームより高いデータ優先順位を持たせ、かつ、前記データベースに所定の活性および安全制約を満足させるステップとを有し、
高いデータ優先順位を持たせかつ満足させる該ステップが、
前記コピーするステップの後で、前記データベースにおいて修正されているすべてのタスクおよびリソースを識別するステップと、
前記データベースにおいて修正されるリソースに割り当てられるタスクを、前記記憶装置において識別するステップと、
前記データベースにおいて修正されるタスクを、前記記憶装置において識別するステップと、
前記データベースにおいて修正されたと識別された、または修正されるリソースに割り当てられたと識別されたタスクについて、そのタスクに割り当てられたリソースを前記データベースにおいて割当て解除するステップと、
前記データベースにおいて修正されていないおよびリソースを必要としない、前記データベースにおけるタスクの一部に、前記データベースからの修正されていないリソースを割り当てるステップと、
前記データベースにおける前記割当て関係の互いに素の和集合を、前記データベースにおいて修正されたタスクおよびリソースと関連付けられる前記割当て関係と一緒に確立するステップと
を含むことを特徴とする方法を、コンピュータシステムに実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/126,168 US6138118A (en) | 1998-07-30 | 1998-07-30 | Method and system for reconciling concurrent streams of transactions in a database |
US09/126,168 | 1998-07-30 | ||
PCT/US1999/016004 WO2000007119A1 (en) | 1998-07-30 | 1999-07-15 | Method and system for reconciling concurrent streams of transactions in a database |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2002521766A JP2002521766A (ja) | 2002-07-16 |
JP3689336B2 true JP3689336B2 (ja) | 2005-08-31 |
Family
ID=22423347
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000562841A Expired - Lifetime JP3689336B2 (ja) | 1998-07-30 | 1999-07-15 | データベースにおける並行したトランザクションのストリームを調停するための方法およびシステム |
Country Status (5)
Country | Link |
---|---|
US (1) | US6138118A (ja) |
EP (1) | EP1141864B1 (ja) |
JP (1) | JP3689336B2 (ja) |
CA (1) | CA2338478C (ja) |
WO (1) | WO2000007119A1 (ja) |
Families Citing this family (147)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1630865A (zh) | 1998-11-13 | 2005-06-22 | 大通银行 | 在非安全的网络上用于多币种多银行处理的系统和方法 |
CN1439142A (zh) | 1998-12-23 | 2003-08-27 | 大通银行 | 包括生成、处理和跟踪在内的贸易运作及贸易单证的集成系统和方法 |
US7068832B1 (en) | 1999-05-11 | 2006-06-27 | The Chase Manhattan Bank | Lockbox imaging system |
US7058817B1 (en) | 1999-07-02 | 2006-06-06 | The Chase Manhattan Bank | System and method for single sign on process for websites with multiple applications and services |
US7805365B1 (en) | 1999-10-25 | 2010-09-28 | Jpmorgan Chase Bank, N.A. | Automated statement presentation, adjustment and payment system and method therefor |
WO2001033477A2 (en) | 1999-11-04 | 2001-05-10 | Jpmorgan Chase Bank | System and method for automated financial project management |
US8571975B1 (en) | 1999-11-24 | 2013-10-29 | Jpmorgan Chase Bank, N.A. | System and method for sending money via E-mail over the internet |
US10275780B1 (en) | 1999-11-24 | 2019-04-30 | Jpmorgan Chase Bank, N.A. | Method and apparatus for sending a rebate via electronic mail over the internet |
US6584475B1 (en) * | 1999-12-15 | 2003-06-24 | Oracle International Corporation | System for controlling database growth in a read-repeatable environment |
US7822656B2 (en) | 2000-02-15 | 2010-10-26 | Jpmorgan Chase Bank, N.A. | International banking system and method |
US6867789B1 (en) | 2000-02-15 | 2005-03-15 | Bank One, Delaware, National Association | System and method for generating graphical user interfaces |
US8768836B1 (en) | 2000-02-18 | 2014-07-01 | Jpmorgan Chase Bank, N.A. | System and method for electronic deposit of a financial instrument by banking customers from remote locations by use of a digital image |
US7426530B1 (en) | 2000-06-12 | 2008-09-16 | Jpmorgan Chase Bank, N.A. | System and method for providing customers with seamless entry to a remote server |
US10185936B2 (en) | 2000-06-22 | 2019-01-22 | Jpmorgan Chase Bank, N.A. | Method and system for processing internet payments |
US8468071B2 (en) | 2000-08-01 | 2013-06-18 | Jpmorgan Chase Bank, N.A. | Processing transactions using a register portion to track transactions |
AU2001285422A1 (en) | 2000-08-11 | 2002-02-25 | John J. Loy | Trade receivable processing method and apparatus |
US7206768B1 (en) * | 2000-08-14 | 2007-04-17 | Jpmorgan Chase Bank, N.A. | Electronic multiparty accounts receivable and accounts payable system |
US8335855B2 (en) | 2001-09-19 | 2012-12-18 | Jpmorgan Chase Bank, N.A. | System and method for portal infrastructure tracking |
AU2002224482A1 (en) | 2000-11-06 | 2002-05-15 | First Usa Bank, N.A. | System and method for selectable funding of electronic transactions |
US6725287B1 (en) * | 2000-11-09 | 2004-04-20 | Elity Systems, Inc. | Method and system for capturing streaming data by an actionable information engine |
US8805739B2 (en) | 2001-01-30 | 2014-08-12 | Jpmorgan Chase Bank, National Association | System and method for electronic bill pay and presentment |
US8849716B1 (en) | 2001-04-20 | 2014-09-30 | Jpmorgan Chase Bank, N.A. | System and method for preventing identity theft or misuse by restricting access |
WO2002099598A2 (en) | 2001-06-07 | 2002-12-12 | First Usa Bank, N.A. | System and method for rapid updating of credit information |
US7266839B2 (en) | 2001-07-12 | 2007-09-04 | J P Morgan Chase Bank | System and method for providing discriminated content to network users |
US7103576B2 (en) | 2001-09-21 | 2006-09-05 | First Usa Bank, Na | System for providing cardless payment |
US7822684B2 (en) | 2001-10-05 | 2010-10-26 | Jpmorgan Chase Bank, N.A. | Personalized bank teller machine |
US7689504B2 (en) | 2001-11-01 | 2010-03-30 | Jpmorgan Chase Bank, N.A. | System and method for establishing or modifying an account with user selectable terms |
US7987501B2 (en) | 2001-12-04 | 2011-07-26 | Jpmorgan Chase Bank, N.A. | System and method for single session sign-on |
US7941533B2 (en) | 2002-02-19 | 2011-05-10 | Jpmorgan Chase Bank, N.A. | System and method for single sign-on session management without central server |
US20030220863A1 (en) | 2002-05-24 | 2003-11-27 | Don Holm | System and method for varying electronic settlements between buyers and suppliers with dynamic discount terms |
US7689482B2 (en) | 2002-05-24 | 2010-03-30 | Jp Morgan Chase Bank, N.A. | System and method for payer (buyer) defined electronic invoice exchange |
US7007197B2 (en) * | 2002-05-31 | 2006-02-28 | Microsoft Corporation | Virtual logging system and method |
EP1546822A4 (en) * | 2002-09-18 | 2008-07-02 | Netezza Corp | ASYMMETRIC DATA STREAMING ARCHITECTURE WITH AN AUTONOMOUS AND ASYNCHRONOUS JOB PROCESSING UNIT |
US7058660B2 (en) | 2002-10-02 | 2006-06-06 | Bank One Corporation | System and method for network-based project management |
US20040078360A1 (en) * | 2002-10-22 | 2004-04-22 | Defauw Randy | Data locking system and method for medical system architecture |
US8301493B2 (en) | 2002-11-05 | 2012-10-30 | Jpmorgan Chase Bank, N.A. | System and method for providing incentives to consumers to share information |
US7769650B2 (en) | 2002-12-03 | 2010-08-03 | Jp Morgan Chase Bank | Network-based sub-allocation systems and methods for swaps |
US10311412B1 (en) | 2003-03-28 | 2019-06-04 | Jpmorgan Chase Bank, N.A. | Method and system for providing bundled electronic payment and remittance advice |
US8630947B1 (en) | 2003-04-04 | 2014-01-14 | Jpmorgan Chase Bank, N.A. | Method and system for providing electronic bill payment and presentment |
US8190893B2 (en) | 2003-10-27 | 2012-05-29 | Jp Morgan Chase Bank | Portable security transaction protocol |
US7792717B1 (en) | 2003-10-31 | 2010-09-07 | Jpmorgan Chase Bank, N.A. | Waterfall prioritized payment processing |
US7702577B1 (en) | 2003-11-06 | 2010-04-20 | Jp Morgan Chase Bank, N.A. | System and method for conversion of initial transaction to final transaction |
US7814003B2 (en) | 2003-12-15 | 2010-10-12 | Jp Morgan Chase | Billing workflow system for crediting charges to entities creating derivatives exposure |
US7380707B1 (en) | 2004-02-25 | 2008-06-03 | Jpmorgan Chase Bank, N.A. | Method and system for credit card reimbursements for health care transactions |
US9026578B2 (en) | 2004-05-14 | 2015-05-05 | Microsoft Corporation | Systems and methods for persisting data between web pages |
US8606723B2 (en) | 2004-06-04 | 2013-12-10 | Sap Ag | Consistent set of interfaces derived from a business object model |
WO2005122078A2 (en) | 2004-06-04 | 2005-12-22 | Sap Ag | Consistent set of interfaces derived from a business object model |
US8554673B2 (en) | 2004-06-17 | 2013-10-08 | Jpmorgan Chase Bank, N.A. | Methods and systems for discounts management |
EP1915726A4 (en) | 2004-06-18 | 2009-10-28 | Sap Ag | COHERENT SET OF INTERFACES DERIVED FROM A COMMERCIAL OBJECT MODEL |
US8121944B2 (en) | 2004-06-24 | 2012-02-21 | Jpmorgan Chase Bank, N.A. | Method and system for facilitating network transaction processing |
US8290862B2 (en) | 2004-07-23 | 2012-10-16 | Jpmorgan Chase Bank, N.A. | Method and system for expediting payment delivery |
US8290863B2 (en) | 2004-07-23 | 2012-10-16 | Jpmorgan Chase Bank, N.A. | Method and system for expediting payment delivery |
US7440978B2 (en) * | 2005-01-14 | 2008-10-21 | Microsoft Corporation | Method and system for synchronizing multiple user revisions, updating other strategy maps in the databases that are associated with the balanced scorecard |
US8458125B1 (en) * | 2005-01-31 | 2013-06-04 | Oracle America, Inc. | Dynamic creation of replicas of streaming data from a storage device without added load |
US8744937B2 (en) | 2005-02-25 | 2014-06-03 | Sap Ag | Consistent set of interfaces derived from a business object model |
US7822682B2 (en) | 2005-06-08 | 2010-10-26 | Jpmorgan Chase Bank, N.A. | System and method for enhancing supply chain transactions |
US7676409B1 (en) | 2005-06-20 | 2010-03-09 | Jpmorgan Chase Bank, N.A. | Method and system for emulating a private label over an open network |
US8185877B1 (en) | 2005-06-22 | 2012-05-22 | Jpmorgan Chase Bank, N.A. | System and method for testing applications |
US8583926B1 (en) | 2005-09-19 | 2013-11-12 | Jpmorgan Chase Bank, N.A. | System and method for anti-phishing authentication |
US8301529B1 (en) | 2005-11-02 | 2012-10-30 | Jpmorgan Chase Bank, N.A. | Method and system for implementing effective governance of transactions between trading partners |
US8374931B2 (en) | 2006-03-31 | 2013-02-12 | Sap Ag | Consistent set of interfaces derived from a business object model |
US7333921B2 (en) * | 2006-05-09 | 2008-02-19 | Stephen Taylor | Scalable, concurrent, distributed sensor system and method |
US8924269B2 (en) | 2006-05-13 | 2014-12-30 | Sap Ag | Consistent set of interfaces derived from a business object model |
US7734545B1 (en) | 2006-06-14 | 2010-06-08 | Jpmorgan Chase Bank, N.A. | Method and system for processing recurring payments |
US8392364B2 (en) | 2006-07-10 | 2013-03-05 | Sap Ag | Consistent set of interfaces derived from a business object model |
US8793490B1 (en) | 2006-07-14 | 2014-07-29 | Jpmorgan Chase Bank, N.A. | Systems and methods for multifactor authentication |
US8566193B2 (en) | 2006-08-11 | 2013-10-22 | Sap Ag | Consistent set of interfaces derived from a business object model |
US8571961B1 (en) | 2006-09-28 | 2013-10-29 | Sap Ag | Managing consistent interfaces for financial business objects across heterogeneous systems |
US7916925B2 (en) | 2007-02-09 | 2011-03-29 | Jpmorgan Chase Bank, N.A. | System and method for generating magnetic ink character recognition (MICR) testing documents |
US8473735B1 (en) | 2007-05-17 | 2013-06-25 | Jpmorgan Chase | Systems and methods for managing digital certificates |
US7881726B2 (en) * | 2007-07-31 | 2011-02-01 | Motorola, Inc. | Method and apparatus for spectrum sharing between an incumbent communications system and a cognitive radio system |
US8762270B1 (en) | 2007-08-10 | 2014-06-24 | Jpmorgan Chase Bank, N.A. | System and method for providing supplemental payment or transaction information |
US8788281B1 (en) | 2007-12-03 | 2014-07-22 | Jp Morgan Chase Bank, N.A. | System and method for processing qualified healthcare account related financial transactions |
US8024285B2 (en) * | 2007-12-27 | 2011-09-20 | Microsoft Corporation | Determining quality of tier assignments |
US7766244B1 (en) | 2007-12-31 | 2010-08-03 | Jpmorgan Chase Bank, N.A. | System and method for processing transactions using a multi-account transactions device |
US8622308B1 (en) | 2007-12-31 | 2014-01-07 | Jpmorgan Chase Bank, N.A. | System and method for processing transactions using a multi-account transactions device |
US20090183159A1 (en) * | 2008-01-11 | 2009-07-16 | Michael Maged M | Managing concurrent transactions using bloom filters |
US8321682B1 (en) | 2008-01-24 | 2012-11-27 | Jpmorgan Chase Bank, N.A. | System and method for generating and managing administrator passwords |
US8417593B2 (en) | 2008-02-28 | 2013-04-09 | Sap Ag | System and computer-readable medium for managing consistent interfaces for business objects across heterogeneous systems |
US8370233B2 (en) | 2008-03-31 | 2013-02-05 | Sap Ag | Managing consistent interfaces for business objects across heterogeneous systems |
US8433585B2 (en) | 2008-03-31 | 2013-04-30 | Sap Ag | Managing consistent interfaces for business objects across heterogeneous systems |
US8589263B2 (en) | 2008-03-31 | 2013-11-19 | Sap Ag | Managing consistent interfaces for retail business objects across heterogeneous systems |
US8364715B2 (en) * | 2008-03-31 | 2013-01-29 | Sap Ag | Managing consistent interfaces for automatic identification label business objects across heterogeneous systems |
US8930248B2 (en) | 2008-03-31 | 2015-01-06 | Sap Se | Managing consistent interfaces for supply network business objects across heterogeneous systems |
US8423418B2 (en) | 2008-03-31 | 2013-04-16 | Sap Ag | Managing consistent interfaces for business objects across heterogeneous systems |
US8577991B2 (en) * | 2008-03-31 | 2013-11-05 | Sap Ag | Managing consistent interfaces for internal service request business objects across heterogeneous systems |
US8473317B2 (en) | 2008-03-31 | 2013-06-25 | Sap Ag | Managing consistent interfaces for service part business objects across heterogeneous systems |
US8413165B2 (en) | 2008-03-31 | 2013-04-02 | Sap Ag | Managing consistent interfaces for maintenance order business objects across heterogeneous systems |
US20090326988A1 (en) | 2008-06-26 | 2009-12-31 | Robert Barth | Managing consistent interfaces for business objects across heterogeneous systems |
US8645228B2 (en) | 2008-06-26 | 2014-02-04 | Sap Ag | Managing consistent interfaces for business objects across heterogeneous systems |
US8671064B2 (en) | 2008-06-26 | 2014-03-11 | Sap Ag | Managing consistent interfaces for supply chain management business objects across heterogeneous systems |
US8566185B2 (en) | 2008-06-26 | 2013-10-22 | Sap Ag | Managing consistent interfaces for financial instrument business objects across heterogeneous systems |
US8112355B1 (en) | 2008-09-05 | 2012-02-07 | Jpmorgan Chase Bank, N.A. | Method and system for buyer centric dispute resolution in electronic payment system |
US9092447B1 (en) | 2008-10-20 | 2015-07-28 | Jpmorgan Chase Bank, N.A. | Method and system for duplicate detection |
US8391584B2 (en) | 2008-10-20 | 2013-03-05 | Jpmorgan Chase Bank, N.A. | Method and system for duplicate check detection |
US8463666B2 (en) | 2008-11-25 | 2013-06-11 | Sap Ag | Managing consistent interfaces for merchandise and assortment planning business objects across heterogeneous systems |
US8577760B2 (en) | 2008-11-25 | 2013-11-05 | Sap Ag | Managing consistent interfaces for tax authority business objects across heterogeneous systems |
US20100153297A1 (en) | 2008-12-12 | 2010-06-17 | Sap Ag | Managing Consistent Interfaces for Credit Portfolio Business Objects Across Heterogeneous Systems |
US9608826B2 (en) | 2009-06-29 | 2017-03-28 | Jpmorgan Chase Bank, N.A. | System and method for partner key management |
US8396751B2 (en) | 2009-09-30 | 2013-03-12 | Sap Ag | Managing consistent interfaces for merchandising business objects across heterogeneous systems |
US8447641B1 (en) | 2010-03-29 | 2013-05-21 | Jpmorgan Chase Bank, N.A. | System and method for automatically enrolling buyers into a network |
US8417588B2 (en) | 2010-06-15 | 2013-04-09 | Sap Ag | Managing consistent interfaces for goods tag, production bill of material hierarchy, and release order template business objects across heterogeneous systems |
US8732083B2 (en) | 2010-06-15 | 2014-05-20 | Sap Ag | Managing consistent interfaces for number range, number range profile, payment card payment authorisation, and product template template business objects across heterogeneous systems |
US9135585B2 (en) | 2010-06-15 | 2015-09-15 | Sap Se | Managing consistent interfaces for property library, property list template, quantity conversion virtual object, and supplier property specification business objects across heterogeneous systems |
US8515794B2 (en) | 2010-06-15 | 2013-08-20 | Sap Ag | Managing consistent interfaces for employee time event and human capital management view of payroll process business objects across heterogeneous systems |
US8370272B2 (en) | 2010-06-15 | 2013-02-05 | Sap Ag | Managing consistent interfaces for business document message monitoring view, customs arrangement, and freight list business objects across heterogeneous systems |
US8412603B2 (en) | 2010-06-15 | 2013-04-02 | Sap Ag | Managing consistent interfaces for currency conversion and date and time business objects across heterogeneous systems |
US8364608B2 (en) | 2010-06-15 | 2013-01-29 | Sap Ag | Managing consistent interfaces for export declaration and export declaration request business objects across heterogeneous systems |
WO2012030266A1 (en) * | 2010-08-30 | 2012-03-08 | Telefonaktiebolaget L M Ericsson (Publ) | Method and arrangement for white space allocation |
US8589288B1 (en) | 2010-10-01 | 2013-11-19 | Jpmorgan Chase Bank, N.A. | System and method for electronic remittance of funds |
US8543504B1 (en) | 2011-03-30 | 2013-09-24 | Jpmorgan Chase Bank, N.A. | Systems and methods for automated invoice entry |
US8543503B1 (en) | 2011-03-30 | 2013-09-24 | Jpmorgan Chase Bank, N.A. | Systems and methods for automated invoice entry |
US8601490B2 (en) | 2011-07-28 | 2013-12-03 | Sap Ag | Managing consistent interfaces for business rule business object across heterogeneous systems |
US8521838B2 (en) | 2011-07-28 | 2013-08-27 | Sap Ag | Managing consistent interfaces for communication system and object identifier mapping business objects across heterogeneous systems |
US8725654B2 (en) | 2011-07-28 | 2014-05-13 | Sap Ag | Managing consistent interfaces for employee data replication business objects across heterogeneous systems |
US8666845B2 (en) | 2011-07-28 | 2014-03-04 | Sap Ag | Managing consistent interfaces for a customer requirement business object across heterogeneous systems |
US8775280B2 (en) | 2011-07-28 | 2014-07-08 | Sap Ag | Managing consistent interfaces for financial business objects across heterogeneous systems |
US8560392B2 (en) | 2011-07-28 | 2013-10-15 | Sap Ag | Managing consistent interfaces for a point of sale transaction business object across heterogeneous systems |
US8762454B2 (en) | 2012-02-16 | 2014-06-24 | Sap Ag | Consistent interface for flag and tag |
US9232368B2 (en) | 2012-02-16 | 2016-01-05 | Sap Se | Consistent interface for user feed administrator, user feed event link and user feed settings |
US8762453B2 (en) | 2012-02-16 | 2014-06-24 | Sap Ag | Consistent interface for feed collaboration group and feed event subscription |
US8984050B2 (en) | 2012-02-16 | 2015-03-17 | Sap Se | Consistent interface for sales territory message type set 2 |
US9237425B2 (en) | 2012-02-16 | 2016-01-12 | Sap Se | Consistent interface for feed event, feed event document and feed event type |
US8756274B2 (en) | 2012-02-16 | 2014-06-17 | Sap Ag | Consistent interface for sales territory message type set 1 |
US8521621B1 (en) | 2012-06-28 | 2013-08-27 | Sap Ag | Consistent interface for inbound delivery request |
US8756135B2 (en) | 2012-06-28 | 2014-06-17 | Sap Ag | Consistent interface for product valuation data and product valuation level |
US9246869B2 (en) | 2012-06-28 | 2016-01-26 | Sap Se | Consistent interface for opportunity |
WO2014000200A1 (en) | 2012-06-28 | 2014-01-03 | Sap Ag | Consistent interface for document output request |
US8949855B2 (en) | 2012-06-28 | 2015-02-03 | Sap Se | Consistent interface for address snapshot and approval process definition |
US9400998B2 (en) | 2012-06-28 | 2016-07-26 | Sap Se | Consistent interface for message-based communication arrangement, organisational centre replication request, and payment schedule |
US9367826B2 (en) | 2012-06-28 | 2016-06-14 | Sap Se | Consistent interface for entitlement product |
US8615451B1 (en) | 2012-06-28 | 2013-12-24 | Sap Ag | Consistent interface for goods and activity confirmation |
USD678653S1 (en) | 2012-07-19 | 2013-03-19 | Jpmorgan Chase Bank, N.A. | Drive-up financial transaction machine |
US9547833B2 (en) | 2012-08-22 | 2017-01-17 | Sap Se | Consistent interface for financial instrument impairment calculation |
US9043236B2 (en) | 2012-08-22 | 2015-05-26 | Sap Se | Consistent interface for financial instrument impairment attribute values analytical result |
US9076112B2 (en) | 2012-08-22 | 2015-07-07 | Sap Se | Consistent interface for financial instrument impairment expected cash flow analytical result |
USD690074S1 (en) | 2013-03-13 | 2013-09-17 | Jpmorgan Chase Bank, N.A. | Financial transaction machine |
US9419957B1 (en) | 2013-03-15 | 2016-08-16 | Jpmorgan Chase Bank, N.A. | Confidence-based authentication |
US9191357B2 (en) | 2013-03-15 | 2015-11-17 | Sap Se | Consistent interface for email activity business object |
US9191343B2 (en) | 2013-03-15 | 2015-11-17 | Sap Se | Consistent interface for appointment activity business object |
US9384257B2 (en) * | 2013-06-24 | 2016-07-05 | International Business Machines Corporation | Providing multiple concurrent transactions on a single database schema using a single concurrent transaction database infrastructure |
US9058626B1 (en) | 2013-11-13 | 2015-06-16 | Jpmorgan Chase Bank, N.A. | System and method for financial services device usage |
US10148726B1 (en) | 2014-01-24 | 2018-12-04 | Jpmorgan Chase Bank, N.A. | Initiating operating system commands based on browser cookies |
US10481943B2 (en) * | 2016-12-30 | 2019-11-19 | Winmore, Inc. | System and method for state machine management |
US10552218B2 (en) * | 2017-01-06 | 2020-02-04 | Microsoft Technology Licensing, Llc | Dynamic context of tasks |
US20230065823A1 (en) * | 2021-08-24 | 2023-03-02 | Twitter, Inc. | Updating records in a real-time storage system |
US20230087584A1 (en) * | 2021-09-10 | 2023-03-23 | Amazon Technologies, Inc. | Reconciliating payment transactions performed by a payment service provider |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63254541A (ja) * | 1987-04-10 | 1988-10-21 | Fujitsu Ltd | デ−タセツト制御情報更新処理方式 |
US4914569A (en) * | 1987-10-30 | 1990-04-03 | International Business Machines Corporation | Method for concurrent record access, insertion, deletion and alteration using an index tree |
JPH03180963A (ja) * | 1989-12-08 | 1991-08-06 | Hitachi Ltd | 計画作成支援システムおよびこれを基にしたスケジューリングシステム |
DE4216871C2 (de) * | 1991-05-21 | 2001-09-06 | Digital Equipment Corp | Ausführungsordnen zum Sicherstellen der Serialisierbarkeit verteilter Transaktionen |
US5392390A (en) * | 1992-04-10 | 1995-02-21 | Intellilink Corp. | Method for mapping, translating, and dynamically reconciling data between disparate computer platforms |
JP3621433B2 (ja) * | 1993-05-24 | 2005-02-16 | 日本電信電話株式会社 | データベース排他制御方法 |
US5564044A (en) * | 1994-04-15 | 1996-10-08 | Wang Laboratories, Inc. | Integration of result data from first program operations on dynamic source data into data of a second program |
US5546580A (en) * | 1994-04-15 | 1996-08-13 | Hewlett-Packard Company | Method and apparatus for coordinating concurrent updates to a medical information database |
US5551023A (en) * | 1994-08-05 | 1996-08-27 | Panasonic Technologies, Inc. | System of database concurrency control based on transaction types and prior access to a data set |
JP2654612B2 (ja) * | 1995-02-23 | 1997-09-17 | 日本電気株式会社 | 排他ウエイト削減制御方法 |
US5991771A (en) | 1995-07-20 | 1999-11-23 | Novell, Inc. | Transaction synchronization in a disconnectable computer and network |
JPH1027122A (ja) * | 1996-07-08 | 1998-01-27 | Fuji Xerox Co Ltd | データベース管理システム |
US5878434A (en) * | 1996-07-18 | 1999-03-02 | Novell, Inc | Transaction clash management in a disconnectable computer and network |
US5781910A (en) * | 1996-09-13 | 1998-07-14 | Stratus Computer, Inc. | Preforming concurrent transactions in a replicated database environment |
US6012060A (en) * | 1997-05-30 | 2000-01-04 | Oracle Corporation | Sharing, updating data blocks among multiple nodes in a distributed system |
-
1998
- 1998-07-30 US US09/126,168 patent/US6138118A/en not_active Expired - Lifetime
-
1999
- 1999-07-15 CA CA002338478A patent/CA2338478C/en not_active Expired - Lifetime
- 1999-07-15 WO PCT/US1999/016004 patent/WO2000007119A1/en active Application Filing
- 1999-07-15 JP JP2000562841A patent/JP3689336B2/ja not_active Expired - Lifetime
- 1999-07-15 EP EP99935586A patent/EP1141864B1/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
EP1141864B1 (en) | 2013-01-16 |
EP1141864A4 (en) | 2009-09-16 |
EP1141864A1 (en) | 2001-10-10 |
CA2338478A1 (en) | 2000-02-10 |
WO2000007119A1 (en) | 2000-02-10 |
JP2002521766A (ja) | 2002-07-16 |
US6138118A (en) | 2000-10-24 |
CA2338478C (en) | 2005-07-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3689336B2 (ja) | データベースにおける並行したトランザクションのストリームを調停するための方法およびシステム | |
Lee et al. | Using dynamic adjustment of serialization order for real-time database systems | |
US6718360B1 (en) | Providing predictable scheduling of programs using a repeating precomputed schedule | |
Ulusoy et al. | Real-time transaction scheduling in database systems | |
US7716249B2 (en) | Transaction and task scheduler | |
JPH10301834A (ja) | 共用メモリの管理方法 | |
US7721289B2 (en) | System and method for dynamic allocation of computers in response to requests | |
JPH05197604A (ja) | マルチプロセッサ・コンピュータ及びその動作方法 | |
JPS62180429A (ja) | 多重処理環境でのロツク管理方法 | |
Son et al. | An Integrated Real-Time Locking Protocol. | |
Bestavros et al. | Value-cognizant speculative concurrency control | |
JP3113841B2 (ja) | 並列トランザクション処理システム | |
Shanker et al. | SWIFT—A new real time commit protocol | |
Son et al. | Real-Time Replication Control for Distributed Database Systems: Algorithms and Their Performance. | |
Son et al. | A token-based synchronization scheme for distributed real-time databases | |
Agrawal et al. | Using multiversion data for non-interfering execution of write-only transactions | |
Lee et al. | Concurrency control for mixed transactions in real-time databases | |
CN115629822B (zh) | 一种基于多核处理器的并发事务处理方法及其系统 | |
Son et al. | An adaptive policy for improved timeliness in secure database systems | |
CN116266101A (zh) | 一种分布式对象存储系统处理方法及装置、存储介质 | |
Chen | Schedulability analysis of resource access control protocols in real-time systems | |
Lam et al. | Transaction scheduling in distributed real-time systems | |
Son et al. | Concurrency control for replicated data in distributed real-time systems | |
Chakravarthy et al. | Incorporating load factor into the scheduling of soft real-time transactions | |
JPS62287359A (ja) | 疎結合マルチプロセツサシステムにおけるフアイル同時アクセス制御方式 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050204 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050427 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20050427 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20050603 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050610 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 3689336 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090617 Year of fee payment: 4 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100617 Year of fee payment: 5 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100617 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110617 Year of fee payment: 6 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110617 Year of fee payment: 6 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110617 Year of fee payment: 6 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110617 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120617 Year of fee payment: 7 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120617 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120617 Year of fee payment: 7 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120617 Year of fee payment: 7 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120617 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130617 Year of fee payment: 8 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
EXPY | Cancellation because of completion of term |