JP4543034B2 - 資源をロックする方法、プログラム及びシステム - Google Patents
資源をロックする方法、プログラム及びシステム Download PDFInfo
- Publication number
- JP4543034B2 JP4543034B2 JP2006506218A JP2006506218A JP4543034B2 JP 4543034 B2 JP4543034 B2 JP 4543034B2 JP 2006506218 A JP2006506218 A JP 2006506218A JP 2006506218 A JP2006506218 A JP 2006506218A JP 4543034 B2 JP4543034 B2 JP 4543034B2
- Authority
- JP
- Japan
- Prior art keywords
- lock
- agent
- request
- locking
- client
- 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 - Fee Related
Links
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
-
- 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/52—Program synchronisation; Mutual exclusion, e.g. by means of semaphores
-
- 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
-
- 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/99933—Query processing, i.e. searching
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Multi Processors (AREA)
- Storage Device Security (AREA)
Description
"Specification for CIMOperations over HTTP," Version 1.1, May 2, 2002
ロック管理プロトコルの目的は、エージェントの分散ネットワークに対して動作する複数の、非協働的クライアントをサポートすることである。非協働的クライアント(noncooperating client)とは、互いに独立であり、資源に対して競合し、互いに独立に実行される複数のクライアントである。ロッキングを使用して、異種のSAN(storagearea network)内の複数のベンダからのクライアントからの潜在的に衝突する操作の管理が行われる。ロッキング機構に参加するクライアントは、その操作が、SAN内で進行中である可能性のある他の操作と衝突しないことが保証されることになる。
原子性とは、「操作」(operation)を完全に行うか、まったく行わないかを(ある操作が1つまたは複数のエージェントに対する複数の要求として定義されている場合に)指す。原子性に対するサポートには、操作が失敗するときに「操作」要求をアンドゥするための「ロールバック」能力が必要である。この理由で、原子性は「トランザクション」レベルのロッキングでサポートされており、トランザクション・マネージャによってロールバック・プロセスがサポート/駆動される。
一貫性は、「モデル」データを一貫した状態にしておくことを指す。一貫性は、トランザクション・レベルのロッキングでサポートされる。一貫性は、隔離性またはクライアント制御のレベルでは必ずしもサポートされない。本発明の好ましい一実施形態では、エージェントは、そのモデルに自己一貫性を確実にもたせることが期待される。しかし、あるエージェントのモデルが他のエージェントのそれと一貫性をもつことを保証するやり方はない。
ロック管理のコンテキストにおいて、LTMシステムでは、操作は、単一のクライアントの代わりに開始する一連の関連するエージェント動作(または要求)と定義される。1つの動作は、あるエージェントに対する単一のクライアントからの単一の要求である。クライアント操作は、通常、様々なエージェント上の複数の動作(または要求)からなる。隔離性により、「操作」は、他の操作とシリアルに実行されているのと同様に見える。LTMシステム操作がコンカレントに実行される場合でさえ、「O」という各操作にとっては、他の操作は、操作「O」の前か操作「O」の後に、両方ではないが、実行されたように見える。これは、単に、他のLTMシステム操作とコンカレントに実行されているLTMシステム操作、またはLTMシステムのロック管理の下にあるCIM(Common Information Model、共通情報モデル)操作が、それが実行中の唯一の操作であるのと同様に振る舞うことを意味する。CIMは、情報を管理するためのオブジェクト・モデルを作成するための標準である。オブジェクト・モデルは、SAN(storagearea network)などのネットワーク資源のオブジェクト指向の表現である。CIM標準は、DMTF(Distributed ManagementTaskForce),Inc.が提供している。CIM標準についてのさらなる情報に関しては、"Specification for CIMOperations over HTTP," Version 1.1, May 2, 2002を参照されたい。以下ではこれをCIMspecificationと呼び、この文言によりその全体を参照により本明細書に組み込む。
耐久性がある場合には、結果が実際に発生するのは、成功が返されたときである。「耐久性」の意義は、使用しているロッキングのレベルに応じて変わる。トランザクション・レベルのロッキングのコンテキストでは、耐久性は、クライアント操作が(成功にせよそうでないにせよ)完了したときに、結果が障害の前後で保証されることを意味する。これは、ロギングおよび2フェーズ・コミット・プロセスにより、エージェントすべてがコミット(またはロールバック)を確実に済ませるようにすることを意味する。2フェーズ・コミット・プロセスでは、第1のプロセスが他のプロセスに、そのプロセスがコミットの準備中であることを示す。他のプロセスのそれぞれは、コミットの準備を行う。次いで、第1のプロセスがコミットし、他のプロセスのコミットが行われる。ロギングでは、再起動時に、トランザクション・マネージャが、何が行われることになっていたかを決定し、それが実際に起きることを確認することができる。
ロック管理およびトランザクション管理の議論では、プロセスに参加するいくつもの構成要素がある。その構成要素を参照の便宜のためにここで要約する。
ロッキングがサポートするように設計される1組の設計原理がある。この設計原理のすべてが全レベルに適用されるわけではない。設計原理およびそれが適用されるロッキング・レベルを、次の表2に要約している。
このロッキングの設計が、管理要求に対する装置サポートに関して行ういくつかの仮定がある。こうした仮定は、装置の設計およびエージェント提供者とそのサポートする装置の間の関係に固有のものである。こうした仮定は、エージェント動作の振る舞いを理解するのに有用であり、ロッキング機構が効果を有するのに必要である。
図1に、構成図の形で、本発明の好ましい実施形態による、4つの異なる役割を含むロッキングおよびトランザクション管理のための参照モデルを示している。
図2に、本発明の好ましい実施形態による、トランザクション・マネージャ220のあるロッキング環境を示している。トランザクション・ロッキングに関する参照モデルは、環境内の1つまたは複数のトランザクション・マネージャ、ならびに、ロック管理サーバを含む。
図3に、本発明の好ましい実施形態による、トランザクション・マネージャのないロッキング環境を示している。トランザクション・マネージャをもたない環境でのロッキングは、「隔離性」レベルにあるとすることも、または「クライアント制御」レベルにあるとすることもできる。
図4に、本発明の好ましい一実施形態による、ロッキング非対応クライアント−2 270のあるロッキング環境を示している。特に、図4には、「隔離性」または「クライアント制御」のレベル用のロッキング環境を示している。図4では、ロッキング・エージェントX244は、装置X280に接続されており、また、これが要素マネージャ・クライアント290に接続されている。要素マネージャ・クライアントは、特別なタイプのロッキング非対応クライアントである。「トランザクション」レベルのロッキングに対しても考察は同じであり、このためトランザクション・マネージャは図4の図には示していない。
ロックにより、クライアント(すなわち、クライアント・アプリケーション)要求の主体となる資源(または複数の資源)が予約される。たとえば、あるクライアントがボリュームの変更を希望する場合、そのクライアントにより、そのボリュームがロックされる。このロッキングの設計の1つの重要な部分は、相互運用の基礎となる機能(すなわち、要求)を理解することであり、その資源をロックするために必要なものは、その要求の実行を可能にするために予約される。これと関連する別の問題は、クライアント要求が「作成」(create)である場合に、何がロックされるかである。すなわち、問題は、クライアントが、まだ存在していないものをどうやってロックするのかということである。ボリュームを作成する場合では、クライアントが、そのボリュームが作成されるストレージ・プールをロックすることが妥当であるかも知れない。しかし、これでは、その作成するボリュームをロックするのかどうかという問題は、依然として未解決のままである。最後に、どのようにしてロックを識別するかという問題がある。ロックした資源を一意に表すには、ひと工夫必要である。こうしたトピックのそれぞれを、次のセクションで扱う。
このロッキングの設計では、ロッキングの粒度が可能になっている。しかし、ロッキングでは、オブジェクト・モデルのあらゆる要素を明示的にロックすることは必要ではない。クライアントは、発行するつもりの要求が直接に影響する資源すべてをロックすることになる。たとえば、ボリュームを作成することには、ボリュームを作成するストレージ・プールに対するロックが必要になる。論理ユニット番号(LUN、Logical Unit Number)のマッピングおよびマスキングの要求を行うことには、参照すべきボリューム、ポート、およびホスト・イニシエータ(hostinitiators)をロックすることが必要になる。これは、ロッキングに対するクライアントの見方である。
エージェントが、そのロッキングの実装において考慮することの必要な、カスケーディング効果がある。このロッキングの設計では、このカスケーディング効果を、あるオブジェクトをロックすることにより、そのオブジェクトが基づいている複数のオブジェクト(すなわち、CIM環境内のインスタンス)のロックが効果的に行われるようなものとして定義している。図5には、本発明の特定の実施形態によるカスケーディング・ロッキングを示している。仮想化エージェント300は、ストレージ・プール310およびエクステント320を含む。アレイ・エージェント330は、ストレージ・ボリューム340およびエクステント350を含む。ストレージ・プール310をロックすることには、ストレージ・プール310の基づくエクステント320に対するロックが伴う可能性がある。ストレージ・プール310に対するロックは、仮想化エージェント300の管理していない資源に対して発行されたロックを含むことができる(たとえば、ストレージ・プール310を所有する仮想化エージェント300からカスケードされるエージェントの管理する資源)。仮想化エージェント300のオブジェクト・モデルの完全性を維持するために、仮想化エージェント300では、より低いレベルのエージェント内の資源をロックする必要があることもある。たとえば、仮想化エージェント300は、アレイ・エージェント330の所有するストレージ・ボリューム340およびエクステント350をロックすることができる。
インスタンス・ロックは、インスタンスに対するCIMObjectPathを参照することによって実現される。これは、「Enumerate」インスタンスの得る不透明な(opaque)トークンである。「Enumerate」インスタンスは、CIM使用のセクション2.3.2.11に定義されており、CIMクラスのインスタンスを列挙するために使用される。実際のロック・インスタンスは、クライアントの操作IDとロックされるインスタンスのCIMObjectPathの組み合わせである。実際、ロックは、操作IDとCIMObjectPathの間の関連付けと考えることができる。この関連付けは、ロック型(読み取りまたは変更)の特徴をもつ。
ロックを明示的に要求しなくても得られる特定の状況がある。具体的には、資源(たとえば、ストレージ・ボリュームまたはストレージ・プール)を作成するとき、その資源はCIMObjectPathを、その資源が作成されるまではもたないことになる。資源が作成されるとすぐに、CIMObjectPathに対するロックの獲得が、クライアントの操作IDを代理して、クライアントがロック要求を発行しなくても行われる。
ロックの行われる資源は、ロッキングのレベルすべて(すなわち、トランザクション、隔離性、およびクライアント制御)で同じである。粒度およびどのようにロックが識別されるかが同じである。カスケードされた暗黙のロッキングは変わることが可能であるが、通常は変わらない。一般に、トランザクション・ロッキングでは、潜在的なロールバック要求をサポートするために、カスケードされた暗黙のロッキングの厳守(strict adherence)が必要となる傾向がある。隔離性およびクライアント制御のレベルのロッキングでは、ロールバック操作をサポートする必要がないため、厳守は必要ではない。
ロックの型(lock type)とは、要求の対象となるロックの「強さ」(strength)を指す。ロックの型により、そのロックの妨げる動作が決定される。LTMシステム・ロッキングのコンテキストでは、「変更」(change)ロックおよび「読み取り」(read)ロックがある。変更ロックは、読み取りロックよりも強い。
表3に、本発明の好ましい一実施形態におけるLTMシステム・ロッキングに関するロック互換性のセマンティクスを要約している。
保護される動作は、ロックの妨げることができる動作である。読み取りまたは変更ロックが何を妨げるかという議論から、基本的な原理が得られるが、ここに提示するガイドラインは、網羅的なリストではない。
ロッキング非対応クライアントとのやり取りが起きるのは、LTMシステム・ロッキングが存在しており、「ロック保持側」または「ロック要求側」がロックを行っており、他のクライアントがロッキングを行っていないときである。ロッキング非対応クライアントは、どのようなロックを発行することもまったくない。しかし、ロッキング非対応クライアントが書き込み動作を試みるときには、暗黙の変更ロックが、その動作の持続期間の間、獲得される。したがって、変更または読み取りロックでは、ロックした資源に対するどのようなロッキング非対応クライアント動作も妨げられる。しかし、ロッキング非対応クライアントが読み取り動作を試みた場合(非ロック読み取り)、その読み取り動作はどのようなロッキングによっても妨げられない。ロッキング非対応クライアントが資源を更新している場合には、これにより、ロッキング・クライアントによる変更ロックが一時的に妨げられる。しかし、ダーティ・リード(非ロック読み取り)は妨げられない。
このロッキングの設計では、デッドロックを取り扱うために、ロック・マネージャ内にデッドロック検出機構を置いている。このロッキングでは、「lock as you go」セマンティクスがサポートし、ロックが直ちに利用可能でない場合用にロック・キューイングをサポートしている。デッドロックが起きるのは、2つ以上のクライアントが、2つ以上の資源をロックしようと試みており、互いを待っているときである(これは、時に「死の抱擁」(deadlyembrace)と呼ばれる)。本発明の好ましい一実施形態では、そのような状況を解決するために、ロック・マネージャが、そのようなサイクルの検出を試み、デッドロックを起こしているクライアントのうちの1つを選び、そのクライアントのロック要求を拒否することができる。
ロッキング対応クライアントとロック・マネージャ(サーバ)の間の要求/応答プロトコルの説明を、次のセクションで行う。このプロトコルに他のメッセージが追加されることもあり、あるいは一部のメッセージの削除または入れ替えが行われることもある。
AgentRequestは、次のパラメータのそれぞれのうちの1つを含む。すなわち、CIMObjectPath(すなわち、ロックすべき各インスタンスに対するオブジェクト・パス)およびType(すなわち、要求されているロックの型(Read(読み取り)またはChange(変更)))である。AgentResultsは、次のパラメータのそれぞれのうちの1つを含む。すなわち、CIMObjectPath(すなわち、ロックされている各インスタンスに対するオブジェクト・パス)およびType(すなわち、許可されたロックの型(ReadまたはChange))。
このセクションでは、クライアントとトランザクション・マネージャの間の要求/応答プロトコルを説明する。
このセクションでは、クライアントとロック管理サーバの間の要求/応答プロトコルを説明する。
このセクションでは、ロック管理サーバとロッキング対応エージェントの間の特定の要求/応答のセットを説明する。
本発明の好ましい実施形態では、管理者は、ロック管理サーバをセットアップし、そのそれぞれに一意のロック管理グループ値を与える。次いで、管理者は、ロック管理グループ値をエージェントに割り当てる。各エージェントは、ロック管理グループに属さないか、または1つのロック管理グループに属する。エージェントに対するデフォルトのロック管理グループ値は「DefaultUnconfigured」(デフォルト未構成)である。
本発明の好ましい一実施形態では、ロック管理の実装は、本明細書で説明するロッキングの設計を実装する適切な構成要素すべてによって行われるが、このロッキングは、環境内で非ロッキング構成要素と共存する。本発明の好ましい一実施形態では、ロッキング環境を得るために、ロック管理を、ロック管理サーバおよびロック管理エージェントで実装するが、クライアントでのロッキングは、クライアントの裁量に委ねられる。ロック管理サーバまたはロック・エージェントは、ロッキングを行わないクライアントまたはロッキング非対応エージェントに対処することができる。こうした場合のそれぞれを下で詳細に論じる。
ロック非対応クライアントは、操作に関するロック管理を実装しないクライアントか、またはロッキングをまったく実装しないクライアント(たとえば、レガシ・クライアント)である。ロック対応エージェントは、更新要求をロック非対応クライアントから受け取ると、そのエージェントのロック対応クライアントを保護するために、その操作の持続期間の間、その操作をロックされている(すなわち、変更ロックを伴う)ものとして扱う。すなわち、動作がモデルを更新した場合、それに伴うロックは、その要求から影響を受ける資源に対する変更ロックである。操作が読み取りの場合は、エージェントは動作を「非ロック」読み取りとして扱うことができる。本質的には、ロック非対応クライアントは、CIMで表現されるオブジェクト・モデルの何らかの部分の更新を試みる場合には、ロック非対応クライアントを妨げることができる(すなわち、拒否される要求となる)。
ロック非対応エージェントまたはオブジェクト・マネージャは、ロック管理を実装していないエージェントまたはオブジェクト・マネージャである。
クライアントでは、その動作するロッキング環境の認識を行う。まず、クライアントは、ロック・マネージャの有無の認識を行う。次いで、クライアントは、トランザクション・マネージャの有無の認識を行う。エージェントがすべてロッキング対応であり、トランザクション・マネージャが存在している場合は、エージェントはトランザクション・レベルのロッキングを使用することができる。トランザクション・マネージャが存在しない場合は、エージェントは、隔離性レベルまたはクライアント制御レベルを使用するか、あるいは、ロッキングをまったく行わない。
(1)クライアントでは、そのクライアントが操作において扱わなければならなくなるエージェント、ロック管理サーバ、およびトランザクション・マネージャの一覧を作成して、エージェントがすべてロッキングで扱われているか、およびロッキング環境がトランザクション可能(transaction enabled)かを決定する。ある操作をロッキング操作としてコードできるかどうか、およびロッキングのレベルは、操作により変わりうる。すなわち、クライアントは、そのクライアントの使用することになるロッキングのレベルの選択を、その操作に何が必要になるかのそのクライアントの理解に基づいて行える。
ロッキング・プロセスは、ロッキングに関する状態情報を維持するロック・マネージャ(たとえば、ロック管理サーバ)に関わる。これは、ロック要求はロック管理サーバにより管理され、衝突はロック管理サーバのレベルで扱われることを意味する。ロック管理サーバでは、明らかな衝突およびキュー要求の検出を、エージェントと相談する必要なく行うことが可能である。ロック・マネージャは、たとえば、次の状態情報を維持している。すなわち、
あるクライアント(操作ID)の保持しているロック
あるクライアント(操作ID)のためのロックをもつエージェント
ロック・キュー(他のロック要求の背後でキューイングされるクライアント・ロック要求)
ロック・キュー・タイムアウト
本発明の好ましい一実施形態では、最小限のロック管理サーバは、次の特徴および特色を持つはずである。
ロック管理サーバ要求を受理し、所定の応答を提供すること。
ロック管理エージェント要求を駆動し、その応答を処理すること。
ロッキング対応クライアント操作をサポートするときに、ステートフル(stateful)であること。
SPOF(single point of failure、単一機器の障害がシステム全体の障害となる箇所)に従属しているが、ロック管理サーバ・フェイルオーバをサポートするようにも設計されていること。
機能をそれ自体のロック管理グループの範囲内で行うこと。
本発明の好ましい一実施形態では、次のものをサポートするようにロック・マネージャを設計することが可能である。すなわち、
可用性の高い(highly available)ロック管理サーバ
トランザクショナル(transactional)なロック管理サーバ
ロッキング対応エージェントは、ロッキング・モードまたは非ロック(no lock)モードで動作するように作成されている。ロッキング対応エージェントが行うよう求められるものは、操作により様々である。
許可されたロックは、すべて、明示的に解放されるまで保持する。
ロッキング対応クライアントの保持するロックと衝突するようなロッキング非対応クライアントからの動作は妨げる。
ロック非対応クライアントによる使用が理由でロック要求を拒否した後で資源が利用可能になっているときは、ロック管理サーバに(AgentAvailで)通知する。
このロッキングの設計の例示のために、クライアント操作のための1組の想定状況(scenarios)を説明することにする。ロック論理の説明は、次の想定状況のそれぞれに対して行う。すなわち、
ストレージの不十分な仮想化システム上にボリュームを作成する
ある仮想化システムから別の仮想化システムへとストレージを移動させる
仮想化システムからホスト・ベースの仮想化へとストレージを移動させる。
論理ボリューム・マネージャ上に論理ボリュームを作成し、それを仮想化サブシステムおよびディスク・アレイからプロヴィジョンする
図6に、本発明の好ましい実施形態による、ストレージの不十分な仮想化システム上でのボリュームの作成を示している。クライアント(C1)400は、仮想化サブシステム(V1)410上にボリュームの作成を試みるが、仮想化サブシステム410には、そのボリュームを作成するのに十分なストレージがない。このため、クライアント400は、まず、ストレージをディスク・アレイSS1 420から得る。このストレージはV1 410へと割り当てられ、次いで、このストレージは、V1 410上で使用することができる。動作は操作ID1(Op1)と関連付けられている。この操作の具体的なステップは、次のものである。
図8に、本発明の好ましい実施形態による、ある仮想化システムから別の仮想化システムへのストレージの移動を示している。クライアント(C1)510は、ロック管理グループA500内である仮想化システム(V1)520から別の仮想化システム(V2)530へとストレージを移動させることを試みる。このために、クライアント510は、V1 520上のストレージを解放し、次いで、解放したストレージをV2 530へと割り当てる。V1 520から解放されたストレージは、ロック管理グループB540内のアレイSS1 550によって保持される。動作は操作ID1(Op1)と関連付けられている。この操作の具体的なステップは次のものである。
図11に、本発明の好ましい実施形態による、仮想化システムから論理ボリューム・マネージャへのストレージの移動を示している。クライアント(C1)610は、ロック管理グループA600内のある仮想化システム(V1)620から論理ボリューム・マネージャ(LVM1)630へとストレージを移動させる。このために、クライアント610はV1 620上のストレージを解放し、解放したストレージをLVM1 630へと割り当てる。V1 620から解放されたストレージは、ロック管理グループB640内のアレイSS1 650によって保持されている。動作は、操作ID1(Op1)に関連付けられている。この操作の具体的なステップは、次のものである。
図14に、本発明の好ましい実施形態による、論理ボリュームの作成、および複数のソースからのその論理ボリュームのプロヴィジョンを示している。クライアント(C1)700は、論理ボリュームの作成、および、その論理ボリュームの複数のソースからのプロヴィジョンを試みている。具体的には、クライアント700は、ストレージを仮想化システム(V1)720およびストレージ・アレイ(SS1)730から得ようと望む。動作は、操作ID1(Op1)に関連付けられている。この操作の具体的なステップは、次のものである。
図17に、本発明の好ましい実施形態による、ロックおよびトランザクション管理(LTM、lockand transaction management)システムにおいてロックを処理するために実装する論理を示している。制御は、ブロック800で、クライアントがロックすべき資源を識別することから始まる。また、このクライアントには、どのエージェントがその資源へのアクセスを制御する(すなわち、「資源を制御する」)かがわかっており、このクライアントは、ロック要求を、ロック・マネージャを介して、資源へのアクセスを制御するロック・エージェントへと送る(ブロック810)。エージェントでは、ロック要求を許可または拒否し(820)、エージェントは、ロック要求に対する応答をロック・マネージャ(830)へと送る。ロック・マネージャは、ロック要求が許可されたかどうかを判定する(ブロック840)。ロック要求が許可されていた場合は、ロック・マネージャは許可通知をクライアントへと転送し(ブロック850)、そうでない場合は、ロック・マネージャはそのロック要求をキューイングする(ブロック850)。
ロックおよびトランザクションを管理するための説明した技法は、方法、装置、または製造物として、ソフトウェア、ファームウェア、ハードウェア、またはそのどのような組み合わせも製造する、標準のプログラミングのまたは工学上の技法あるいはそのどちらを用いても実装することができる。本明細書で使用する「製造物」(article of manufacture)という用語は、ハードウェア論理(たとえば、集積回路チップ、PGA(ProgrammableGate Array)、ASIC(Application Specific Integrated Circuit)など)、または、磁気ストレージ媒体(たとえば、ハード・ディスク・ドライブ、フロッピー(R)・ディスク、テープなど)、光学ストレージ(CDROM、光ディスクなど)、揮発性および不揮発性のメモリ装置(たとえば、EEPROM、ROM、PROM、RAM、DRAM、SRAM、ファームウェア、プログラマブル・ロジック(programmablelogic)など)などのコンピュータ可読媒体の形で実装されるコードまたは論理を指す。コンピュータ可読媒体内のコードは、プロセッサによってアクセスおよび実行される。好ましい実施形態を実装するコードは、さらに、伝送媒体を通してまたはファイル・サーバからネットワークを介してアクセス可能である。そのような場合、コードを実装する製造物は、ネットワーク伝送線、無線伝送媒体、空間を伝播する信号、電波、赤外線信号などの伝送媒体を含む。したがって、「製造物」は、コードを実施する媒体を含む。さらに、「製造物」は、コードを実施し、処理し、実行するハードウェアとソフトウェアの構成要素の組み合わせを含む。もちろん、多くの変更をこの構成に対して行うことができること、および、製造物は当技術分野に知られているどのような情報担持媒体も含むことができることが当業者には理解されよう。
Claims (12)
- クライアント・アプリケーションに対して第1エージェント及び第2エージェントがカスケードされており前記第1エージェントが前記第2エージェントに対するクライアントとして働くシステムにおける資源をロックする方法であって、
(i)前記第1エージェントが、第1操作識別子に関連づけられているクライアント・アプリケーションが前記第1エージェントの制御のもとにある資源をロックするための前記クライアント・アプリケーションからの第1ロック要求を受け取るステップと、
(ii)前記第1エージェントが、該第1エージェントの制御のもとにある前記資源のロックを前記第1操作識別子によって行うステップと、
(iii)前記第1エージェントが、前記第2エージェントの制御のもとにある追加の資源のロックを、前記クライアント・アプリケーションからの第1ロック要求を処理するために前記第1操作識別子によって行うかどうかの判定を、前記第2エージェント上で行うべき操作が前記クライアント・アプリケーションからの第1ロック要求が完了するときまでに完了しなければならないかどうかに基いて行う判定ステップと、
(iv)前記追加の資源を前記第1操作識別子によってロックすべきであると判定されたことに応答して、前記第2エージェントが該第2エージェントの制御のもとにある前記追加の資源を前記第1操作識別子によりロックするステップと、
(v)前記追加の資源を前記第1操作識別子によってロックすべきでないと判定されたことに応答して、前記第1のエージェントが第2操作識別子を取得するステップと、
(vi)前記第2エージェントが、該第2エージェントの制御のもとにある前記追加の資源を前記第2操作識別子によりロックするステップとを含む方法。 - 前記ステップ(iv)が、
(イ)前記追加の資源を前記第1操作識別子によってロックすべきであると判定されたことに応答して、前記第1エージェントが、前記追加の資源を前記第1操作識別子によってロックするために第2ロック要求を前記第2エージェントのロック・マネージャに送るステップと、
(ロ)前記第2エージェントのロック・マネージャが、ロックの衝突があるかどうかを判定するステップと、
(ハ)前記ロックの衝突がないことに応答して、前記第2エージェントのロック・マネージャが、前記第2ロック要求を前記第2エージェントに渡すステップと、
(ニ)前記第2エージェントが該第2エージェントの制御のもとにある前記追加の資源を前記第1操作識別子によりロックするステップと、
(ホ)前記ロックの衝突があることに応答して、前記第2エージェントのロック・マネージャが、前記第2ロック要求をキューイングするステップとを行う、請求項1に記載の方法。 - 前記ステップ(v)と前記ステップ(vi)との間に、
(ヘ)前記第1エージェントが、前記追加の資源を前記第2操作識別子によってロックするために第3ロック要求を前記第2エージェントのロック・マネージャに送るステップと、
(ト)前記第2エージェントのロック・マネージャが、ロックの衝突があるかどうかを判定するステップと、
(チ)前記ロックの衝突がないことに応答して、前記第2エージェントのロック・マネージャが、前記第3ロック要求を前記第2エージェントに渡すステップとを行い、そして
(リ)前記ステップ(ト)において前記ロックの衝突があることに応答して、前記第2エージェントのロック・マネージャが、前記第3ロック要求をキューイングするステップとを行う、請求項1に記載の方法。 - 前記キューイングするステップの次に、前記キューイングを管理するロック・マネージャが、
(a)前記ロック要求がロック・キューのタイムアウト期間内に前記ロック・キューの先頭にあるかどうかを判定するステップと、
(b)前記ロック要求がロック・キューのタイムアウト期間内に前記ロック・キューの先頭にあることに応答して、前記ロック要求を再発行するステップと、
(c)前記ロック要求の許可が前記ロック・キュー・タイムアウト期間内に行われたどうかを判定するステップと、
(d)前記ロック要求の許可が前記ロック・キュー・タイムアウト期間内に行われたことに応答して、前記ロック要求を前記ロック・キューから取り除くステップと、
(e)前記ロック要求がロック・キューのタイムアウト期間内に前記ロック・キューの先頭にないことに応答して、前記ロック・キュー・タイムアウト期間が時間切れになっているかどうかを判定するステップと、
(f)前記ロック・キュー・タイムアウト期間が時間切れになっていることに応答して、前記ロック要求を拒否し、前記ロック・キュー・タイムアウト期間が時間切れになっていないことに応答して、前記ステップ(a)に戻るステップとを行う、請求項2又は請求項3に記載の方法。 - クライアント・アプリケーションに対して第1エージェント及び第2エージェントがカスケードされており前記第1エージェントが前記第2エージェントに対するクライアントとして働くシステムにおける資源をロックするプログラムを記録したコンピュータ読み取り可能な記録媒体であって、
コンピュータに、
(i)前記第1エージェントが、第1操作識別子に関連づけられているクライアント・アプリケーションが前記第1エージェントの制御のもとにある資源をロックするための前記クライアント・アプリケーションからの第1ロック要求を受け取る手順と、
(ii)前記第1エージェントが、該第1エージェントの制御のもとにある前記資源のロックを前記第1操作識別子によって行う手順と、
(iii)前記第1エージェントが、前記第2エージェントの制御のもとにある追加の資源のロックを、前記クライアント・アプリケーションからの第1ロック要求を処理するために前記第1操作識別子によって行うかどうかの判定を、前記第2エージェント上で行うべき操作が前記クライアント・アプリケーションからの第1ロック要求が完了するときまでに完了しなければならないかどうかに基いて行う判定手順と、
(iv)前記追加の資源を前記第1操作識別子によってロックすべきであると判定されたことに応答して、前記第2エージェントが該第2エージェントの制御のもとにある前記追加の資源を前記第1操作識別子によりロックする手順と、
(v)前記追加の資源を前記第1操作識別子によってロックすべきでないと判定されたことに応答して、前記第1のエージェントが第2操作識別子を取得する手順と、
(vi)前記第2エージェントが、該第2エージェントの制御のもとにある前記追加の資源を前記第2操作識別子によりロックする手順とを実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。 - 前記手順(iv)が、
(イ)前記追加の資源を前記第1操作識別子によってロックすべきであると判定されたことに応答して、前記第1エージェントが、前記追加の資源を前記第1操作識別子によってロックするために第2ロック要求を前記第2エージェントのロック・マネージャに送る手順と、
(ロ)前記第2エージェントのロック・マネージャが、ロックの衝突があるかどうかを判定する手順と、
(ハ)前記ロックの衝突がないことに応答して、前記第2エージェントのロック・マネージャが、前記第2ロック要求を前記第2エージェントに渡す手順と、
(ニ)前記第2エージェントが該第2エージェントの制御のもとにある前記追加の資源を前記第1操作識別子によりロックする手順と、
(ホ)前記ロックの衝突があることに応答して、前記第2エージェントのロック・マネージャが、前記第2ロック要求をキューイングする手順とを行う、請求項5に記載のコンピュータ読み取り可能な記録媒体。 - 前記手順(v)と前記手順(vi)との間に、
(ヘ)前記第1エージェントが、前記追加の資源を前記第2操作識別子によってロックするために第3ロック要求を前記第2エージェントのロック・マネージャに送る手順と、
(ト)前記第2エージェントのロック・マネージャが、ロックの衝突があるかどうかを判定する手順と、
(チ)前記ロックの衝突がないことに応答して、前記第2エージェントのロック・マネージャが、前記第3ロック要求を前記第2エージェントに渡す手順とを行い、そして
(リ)前記手順(ト)において前記ロックの衝突があることに応答して、前記第2エージェントのロック・マネージャが、前記第3ロック要求をキューイングする手順を行う、請求項5に記載のコンピュータ読み取り可能な記録媒体。 - 前記キューイングする手順の次に、前記キューイングを管理するロック・マネージャが、
(a)前記ロック要求がロック・キューのタイムアウト期間内に前記ロック・キューの先頭にあるかどうかを判定する手順と、
(b)前記ロック要求がロック・キューのタイムアウト期間内に前記ロック・キューの先頭にあることに応答して、前記ロック要求を再発行する手順と、
(c)前記ロック要求の許可が前記ロック・キュー・タイムアウト期間内に行われたどうかを判定する手順と、
(d)前記ロック要求の許可が前記ロック・キュー・タイムアウト期間内に行われたことに応答して、前記ロック要求を前記ロック・キューから取り除く手順と、
(e)前記ロック要求がロック・キューのタイムアウト期間内に前記ロック・キューの先頭にないことに応答して、前記ロック・キュー・タイムアウト期間が時間切れになっているかどうかを判定する手順と、
(f)前記ロック・キュー・タイムアウト期間が時間切れになっていることに応答して、前記ロック要求を拒否し、前記ロック・キュー・タイムアウト期間が時間切れになっていないことに応答して、前記ステップ(a)に戻る手順とを行う、請求項6又は請求項7に記載のコンピュータ読み取り可能な記録媒体。 - クライアント・アプリケーションに対して第1エージェント及び第2エージェントがカスケードされており前記第1エージェントが前記第2エージェントに対するクライアントとして働くシステムであって、
(i)前記第1エージェントが、第1操作識別子に関連づけられているクライアント・アプリケーションが前記第1エージェントの制御のもとにある資源をロックするための前記クライアント・アプリケーションからの第1ロック要求を受け取り、
(ii)前記第1エージェントが、該第1エージェントの制御のもとにある前記資源のロックを前記第1操作識別子によって行い、
(iii)前記第1エージェントが、前記第2エージェントの制御のもとにある追加の資源のロックを、前記クライアント・アプリケーションからの第1ロック要求を処理するために前記第1操作識別子によって行うかどうかの判定を、前記第2エージェント上で行うべき操作が前記クライアント・アプリケーションからの第1ロック要求が完了するときまでに完了しなければならないかどうかに基いて行い、
(iv)前記追加の資源を前記第1操作識別子によってロックすべきであると判定されたことに応答して、前記第2エージェントが該第2エージェントの制御のもとにある前記追加の資源を前記第1操作識別子によりロックし、
(v)前記追加の資源を前記第1操作識別子によってロックすべきでないと判定されたことに応答して、前記第1のエージェントが第2操作識別子を取得し、
(vi)前記第2エージェントが、該第2エージェントの制御のもとにある前記追加の資源を前記第2操作識別子によりロックする、システム。 - (イ)前記追加の資源を前記第1操作識別子によってロックすべきであると判定されたことに応答して、前記第1エージェントが、前記追加の資源を前記第1操作識別子によってロックするために第2ロック要求を前記第2エージェントのロック・マネージャに送り、
(ロ)前記第2エージェントのロック・マネージャが、ロックの衝突があるかどうかを判定し、
(ハ)前記ロックの衝突がないことに応答して、前記第2エージェントのロック・マネージャが、前記第2ロック要求を前記第2エージェントに渡し、
(ニ)前記第2エージェントが該第2エージェントの制御のもとにある前記追加の資源を前記第1操作識別子によりロックし、
(ホ)前記ロックの衝突があることに応答して、前記第2エージェントのロック・マネージャが、前記第2ロック要求をキューイングする、請求項9に記載のシステム。 - (ヘ)前記第1エージェントが、前記追加の資源を前記第2操作識別子によってロックするために第3ロック要求を前記第2エージェントのロック・マネージャに送り、
(ト)前記第2エージェントのロック・マネージャが、ロックの衝突があるかどうかを判定し、
(チ)前記ロックの衝突がないことに応答して、前記第2エージェントのロック・マネージャが、前記第3ロック要求を前記第2エージェントに渡し、そして
(リ)前記(ト)において前記ロックの衝突があることに応答して、前記第2エージェントのロック・マネージャが、前記第3ロック要求をキューイングする、請求項9に記載のシステム。 - 前記キューイングを管理するロック・マネージャが、
(a)前記ロック要求がロック・キューのタイムアウト期間内に前記ロック・キューの先頭にあるかどうかを判定し、
(b)前記ロック要求がロック・キューのタイムアウト期間内に前記ロック・キューの先頭にあることに応答して、前記ロック要求を再発行し、
(c)前記ロック要求の許可が前記ロック・キュー・タイムアウト期間内に行われたどうかを判定し、
(d)前記ロック要求の許可が前記ロック・キュー・タイムアウト期間内に行われたことに応答して、前記ロック要求を前記ロック・キューから取り除き、
(e)前記ロック要求がロック・キューのタイムアウト期間内に前記ロック・キューの先頭にないことに応答して、前記ロック・キュー・タイムアウト期間が時間切れになっているかどうかを判定し、
(f)前記ロック・キュー・タイムアウト期間が時間切れになっていることに応答して、前記ロック要求を拒否し、前記ロック・キュー・タイムアウト期間が時間切れになっていないことに応答して、前記(a)の動作に戻る、請求項10又は請求項11に記載のシステム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/428,758 US7496574B2 (en) | 2003-05-01 | 2003-05-01 | Managing locks and transactions |
PCT/GB2004/001927 WO2004097632A2 (en) | 2003-05-01 | 2004-05-04 | Managing locks and transactions |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2006525573A JP2006525573A (ja) | 2006-11-09 |
JP4543034B2 true JP4543034B2 (ja) | 2010-09-15 |
Family
ID=33310489
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006506218A Expired - Fee Related JP4543034B2 (ja) | 2003-05-01 | 2004-05-04 | 資源をロックする方法、プログラム及びシステム |
Country Status (8)
Country | Link |
---|---|
US (4) | US7496574B2 (ja) |
EP (1) | EP1623322B1 (ja) |
JP (1) | JP4543034B2 (ja) |
KR (1) | KR100877319B1 (ja) |
CN (1) | CN100422936C (ja) |
CA (2) | CA2677251C (ja) |
TW (1) | TWI322381B (ja) |
WO (1) | WO2004097632A2 (ja) |
Families Citing this family (141)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7483967B2 (en) * | 1999-09-01 | 2009-01-27 | Ximeta Technology, Inc. | Scalable server architecture based on asymmetric 3-way TCP |
US7246120B2 (en) | 2000-01-28 | 2007-07-17 | Oracle International Corporation | Techniques for achieving higher availability of resources during reconfiguration of a cluster |
US7792923B2 (en) | 2000-10-13 | 2010-09-07 | Zhe Khi Pak | Disk system adapted to be directly attached to network |
WO2003007674A2 (en) | 2001-07-16 | 2003-01-30 | Han Gyoo Kim | Scheme for dynamically connecting i/o devices through network |
US7685126B2 (en) | 2001-08-03 | 2010-03-23 | Isilon Systems, Inc. | System and methods for providing a distributed file system utilizing metadata to track information about data stored throughout the system |
US20050149682A1 (en) * | 2001-10-09 | 2005-07-07 | Han-Gyoo Kim | Virtual multiple removable media jukebox |
US8495131B2 (en) * | 2002-10-08 | 2013-07-23 | International Business Machines Corporation | Method, system, and program for managing locks enabling access to a shared resource |
US7610305B2 (en) * | 2003-04-24 | 2009-10-27 | Sun Microsystems, Inc. | Simultaneous global transaction and local transaction management in an application server |
US7289992B2 (en) * | 2003-05-01 | 2007-10-30 | International Business Machines Corporation | Method, system, and program for lock and transaction management |
US7496574B2 (en) * | 2003-05-01 | 2009-02-24 | International Business Machines Corporation | Managing locks and transactions |
EP1652040A4 (en) * | 2003-07-11 | 2010-08-11 | Computer Ass Think Inc | DISTRIBUTED METHOD AND SYSTEM FOR MANAGING NETWORKED EQUIPMENT |
US7739252B2 (en) * | 2003-07-14 | 2010-06-15 | Oracle America, Inc. | Read/write lock transaction manager freezing |
US7243088B2 (en) * | 2003-08-06 | 2007-07-10 | Oracle International Corporation | Database management system with efficient version control |
US7269588B1 (en) | 2003-09-24 | 2007-09-11 | Oracle International Corporation | Neighborhood locking technique for increasing concurrency among transactions |
US7457880B1 (en) * | 2003-09-26 | 2008-11-25 | Ximeta Technology, Inc. | System using a single host to receive and redirect all file access commands for shared data storage device from other hosts on a network |
US7555481B1 (en) * | 2003-10-28 | 2009-06-30 | Oracle Corporation | Method and apparatus for increasing transaction concurrency by early release of locks in groups |
US7574438B2 (en) * | 2003-12-03 | 2009-08-11 | Sap Aktiengesellschaft | Database access with multilevel lock |
US7500000B2 (en) * | 2003-12-17 | 2009-03-03 | International Business Machines Corporation | Method and system for assigning or creating a resource |
US7379952B2 (en) * | 2004-01-30 | 2008-05-27 | Oracle International Corporation | Techniques for multiple window resource remastering among nodes of a cluster |
US7664836B2 (en) * | 2004-02-17 | 2010-02-16 | Zhe Khi Pak | Device and method for booting an operation system for a computer from a passive directly attached network device |
US20050193017A1 (en) * | 2004-02-19 | 2005-09-01 | Han-Gyoo Kim | Portable multimedia player/recorder that accesses data contents from and writes to networked device |
US20060069884A1 (en) * | 2004-02-27 | 2006-03-30 | Han-Gyoo Kim | Universal network to device bridge chip that enables network directly attached device |
US8074220B2 (en) * | 2004-05-21 | 2011-12-06 | Computer Associates Think, Inc. | System and method for interfacing an application to a distributed transaction coordinator |
US7746900B2 (en) * | 2004-07-22 | 2010-06-29 | Zhe Khi Pak | Low-level communication layers and device employing same |
US7921250B2 (en) * | 2004-07-29 | 2011-04-05 | International Business Machines Corporation | Method to switch the lock-bits combination used to lock a page table entry upon receiving system reset exceptions |
US7860943B2 (en) * | 2004-08-23 | 2010-12-28 | Zhe Khi Pak | Enhanced network direct attached storage controller |
US7739244B2 (en) * | 2004-10-14 | 2010-06-15 | Oracle International Corporation | Operating logging for online recovery in shared memory information systems |
US8055711B2 (en) | 2004-10-29 | 2011-11-08 | Emc Corporation | Non-blocking commit protocol systems and methods |
US8238350B2 (en) | 2004-10-29 | 2012-08-07 | Emc Corporation | Message batching with checkpoints systems and methods |
US7403945B2 (en) * | 2004-11-01 | 2008-07-22 | Sybase, Inc. | Distributed database system providing data and space management methodology |
US7849257B1 (en) | 2005-01-06 | 2010-12-07 | Zhe Khi Pak | Method and apparatus for storing and retrieving data |
US20080270770A1 (en) * | 2005-01-24 | 2008-10-30 | Marc Vertes | Method for Optimising the Logging and Replay of Mulit-Task Applications in a Mono-Processor or Multi-Processor Computer System |
US20060184528A1 (en) * | 2005-02-14 | 2006-08-17 | International Business Machines Corporation | Distributed database with device-served leases |
US20060200469A1 (en) * | 2005-03-02 | 2006-09-07 | Lakshminarayanan Chidambaran | Global session identifiers in a multi-node system |
US7735089B2 (en) * | 2005-03-08 | 2010-06-08 | Oracle International Corporation | Method and system for deadlock detection in a distributed environment |
US7581225B2 (en) * | 2005-04-29 | 2009-08-25 | Microsoft Corporation | Multithreading with concurrency domains |
US8275793B2 (en) * | 2005-04-29 | 2012-09-25 | Microsoft Corporation | Transaction transforms |
US8418132B2 (en) * | 2005-04-29 | 2013-04-09 | Microsoft Corporation | Application description language |
US7886269B2 (en) * | 2005-04-29 | 2011-02-08 | Microsoft Corporation | XML application framework |
US8132148B2 (en) | 2005-04-29 | 2012-03-06 | Microsoft Corporation | XML application framework |
US7318138B1 (en) | 2005-08-30 | 2008-01-08 | Symantec Operating Corporation | Preventing undesired trespass in storage arrays |
US7788303B2 (en) * | 2005-10-21 | 2010-08-31 | Isilon Systems, Inc. | Systems and methods for distributed system scanning |
US7917474B2 (en) | 2005-10-21 | 2011-03-29 | Isilon Systems, Inc. | Systems and methods for accessing and updating distributed data |
US7797283B2 (en) * | 2005-10-21 | 2010-09-14 | Isilon Systems, Inc. | Systems and methods for maintaining distributed data |
TWI416901B (zh) * | 2005-11-30 | 2013-11-21 | Ibm | 故障容忍之異動處理系統 |
US20070136289A1 (en) * | 2005-12-14 | 2007-06-14 | Intel Corporation | Lock elision with transactional memory |
US20070143755A1 (en) * | 2005-12-16 | 2007-06-21 | Intel Corporation | Speculative execution past a barrier |
CA2578666C (en) * | 2006-02-13 | 2016-01-26 | Xkoto Inc. | Method and system for load balancing a distributed database |
US7848261B2 (en) | 2006-02-17 | 2010-12-07 | Isilon Systems, Inc. | Systems and methods for providing a quiescing protocol |
US7904435B2 (en) * | 2006-03-10 | 2011-03-08 | Yahoo! Inc. | System and method for resource lock acquisition and reclamation in a network file system environment |
US20070214142A1 (en) * | 2006-03-10 | 2007-09-13 | Prabhakar Goyal | System and method for providing transaction support across a plurality of data structures |
US20070214457A1 (en) * | 2006-03-10 | 2007-09-13 | Prabhakar Goyal | System and method for automated recovery of data in a batch processing system |
US8838623B2 (en) * | 2006-06-22 | 2014-09-16 | International Business Machines Corporation | System and method for locking context of sets of members in crosstabs |
US7899800B2 (en) | 2006-08-18 | 2011-03-01 | Isilon Systems, Inc. | Systems and methods for providing nonlinear journaling |
US7822932B2 (en) | 2006-08-18 | 2010-10-26 | Isilon Systems, Inc. | Systems and methods for providing nonlinear journaling |
US7882071B2 (en) | 2006-08-18 | 2011-02-01 | Isilon Systems, Inc. | Systems and methods for a snapshot of data |
US20080052397A1 (en) | 2006-08-24 | 2008-02-28 | Ramanathan Venkataraman | Future locking of resources |
US20080082761A1 (en) * | 2006-09-29 | 2008-04-03 | Eric Nels Herness | Generic locking service for business integration |
US7921075B2 (en) * | 2006-09-29 | 2011-04-05 | International Business Machines Corporation | Generic sequencing service for business integration |
US9274857B2 (en) | 2006-10-13 | 2016-03-01 | International Business Machines Corporation | Method and system for detecting work completion in loosely coupled components |
US9514201B2 (en) * | 2006-10-13 | 2016-12-06 | International Business Machines Corporation | Method and system for non-intrusive event sequencing |
US7743039B2 (en) * | 2006-12-11 | 2010-06-22 | Simdesk Technologies, Inc. | File operations with multiple level file locking techniques |
US8286029B2 (en) | 2006-12-21 | 2012-10-09 | Emc Corporation | Systems and methods for managing unavailable storage devices |
US7593938B2 (en) | 2006-12-22 | 2009-09-22 | Isilon Systems, Inc. | Systems and methods of directory entry encodings |
US7509448B2 (en) * | 2007-01-05 | 2009-03-24 | Isilon Systems, Inc. | Systems and methods for managing semantic locks |
US8966080B2 (en) | 2007-04-13 | 2015-02-24 | Emc Corporation | Systems and methods of managing resource utilization on a threaded computer system |
US7900015B2 (en) | 2007-04-13 | 2011-03-01 | Isilon Systems, Inc. | Systems and methods of quota accounting |
US7779048B2 (en) | 2007-04-13 | 2010-08-17 | Isilon Systems, Inc. | Systems and methods of providing possible value ranges |
US20080282244A1 (en) * | 2007-05-07 | 2008-11-13 | Microsoft Corporation | Distributed transactional deadlock detection |
US8060775B1 (en) | 2007-06-14 | 2011-11-15 | Symantec Corporation | Method and apparatus for providing dynamic multi-pathing (DMP) for an asymmetric logical unit access (ALUA) based storage system |
US7962456B2 (en) * | 2007-06-27 | 2011-06-14 | Microsoft Corporation | Parallel nested transactions in transactional memory |
US7941411B2 (en) * | 2007-06-29 | 2011-05-10 | Microsoft Corporation | Memory transaction grouping |
US7882068B2 (en) | 2007-08-21 | 2011-02-01 | Isilon Systems, Inc. | Systems and methods for adaptive copy on write |
US7890472B2 (en) * | 2007-09-18 | 2011-02-15 | Microsoft Corporation | Parallel nested transactions in transactional memory |
US7840530B2 (en) * | 2007-09-18 | 2010-11-23 | Microsoft Corporation | Parallel nested transactions in transactional memory |
US20090198548A1 (en) * | 2008-02-05 | 2009-08-06 | Mathias Kohler | System to avoid policy-based deadlocks in workflow execution |
US7895172B2 (en) * | 2008-02-19 | 2011-02-22 | Yahoo! Inc. | System and method for writing data dependent upon multiple reads in a distributed database |
US9418005B2 (en) | 2008-07-15 | 2016-08-16 | International Business Machines Corporation | Managing garbage collection in a data processing system |
US7954002B2 (en) * | 2008-08-07 | 2011-05-31 | Telefonaktiebolaget L M Ericsson (Publ) | Systems and methods for bulk release of resources associated with node failure |
US20100057965A1 (en) * | 2008-08-29 | 2010-03-04 | International Business Machines Corporation | Extension of Lock Discipline Violation Detection for Lock Wait Patterns |
US20100064280A1 (en) * | 2008-09-09 | 2010-03-11 | International Business Machines Corporation | Systems and methods for implementing test applications for systems using locks |
US8510281B2 (en) * | 2008-12-18 | 2013-08-13 | Sap Ag | Ultimate locking mechanism |
US8326973B2 (en) * | 2008-12-23 | 2012-12-04 | Novell, Inc. | Techniques for gauging performance of services |
CN102301368B (zh) * | 2009-02-06 | 2014-01-22 | 国际商业机器公司 | 用于保持数据完整性的设备 |
US20100254388A1 (en) * | 2009-04-04 | 2010-10-07 | Oracle International Corporation | Method and system for applying expressions on message payloads for a resequencer |
US8578218B2 (en) * | 2009-04-04 | 2013-11-05 | Oracle International Corporation | Method and system for implementing a scalable, high-performance, fault-tolerant locking mechanism in a multi-process environment |
US8661083B2 (en) * | 2009-04-04 | 2014-02-25 | Oracle International Corporation | Method and system for implementing sequence start and increment values for a resequencer |
US8254391B2 (en) * | 2009-04-04 | 2012-08-28 | Oracle International Corporation | Method and system for performing blocking of messages on errors in message stream |
US9124448B2 (en) * | 2009-04-04 | 2015-09-01 | Oracle International Corporation | Method and system for implementing a best efforts resequencer |
US8005924B2 (en) * | 2009-04-29 | 2011-08-23 | Lsi Corporation | Unified support for web based enterprise management (“WBEM”) solutions |
US8381308B2 (en) * | 2009-05-27 | 2013-02-19 | International Business Corporation | Computer-implemented multi-resource shared lock |
US10013277B2 (en) * | 2009-05-29 | 2018-07-03 | Red Hat, Inc. | Rolling back state changes in distributed transactions |
US8209699B2 (en) * | 2009-07-10 | 2012-06-26 | Teradata Us, Inc. | System and method for subunit operations in a database |
US20110093745A1 (en) * | 2009-10-20 | 2011-04-21 | Aviad Zlotnick | Systems and methods for implementing test applications for systems using locks |
CN102053861B (zh) * | 2009-10-30 | 2014-03-12 | 国际商业机器公司 | 并行程序中死锁检测的方法和系统 |
US9176783B2 (en) | 2010-05-24 | 2015-11-03 | International Business Machines Corporation | Idle transitions sampling with execution context |
US8352658B2 (en) | 2010-05-27 | 2013-01-08 | Microsoft Corporation | Fabric based lock manager service |
US8843684B2 (en) | 2010-06-11 | 2014-09-23 | International Business Machines Corporation | Performing call stack sampling by setting affinity of target thread to a current process to prevent target thread migration |
US9411634B2 (en) | 2010-06-21 | 2016-08-09 | Microsoft Technology Licensing, Llc | Action framework in software transactional memory |
US8719515B2 (en) * | 2010-06-21 | 2014-05-06 | Microsoft Corporation | Composition of locks in software transactional memory |
US8799872B2 (en) | 2010-06-27 | 2014-08-05 | International Business Machines Corporation | Sampling with sample pacing |
US8799904B2 (en) | 2011-01-21 | 2014-08-05 | International Business Machines Corporation | Scalable system call stack sampling |
US20120278366A1 (en) * | 2011-04-29 | 2012-11-01 | Siemens Product Lifecycle Management Software Inc. | Creation and use of orphan objects |
CN102156928A (zh) * | 2011-04-29 | 2011-08-17 | 浪潮通信信息系统有限公司 | 一种通过业务逻辑锁进行系统并发控制的方法 |
US8504542B2 (en) * | 2011-09-02 | 2013-08-06 | Palantir Technologies, Inc. | Multi-row transactions |
US10262310B1 (en) * | 2011-09-07 | 2019-04-16 | Amazon Technologies, Inc. | Generating a verifiable download code |
US20130080672A1 (en) * | 2011-09-27 | 2013-03-28 | Kaminario Technologies Ltd. | System, method and computer program product for access control |
CN102508720B (zh) * | 2011-11-29 | 2017-02-22 | 中能电力科技开发有限公司 | 一种提高前处理模块和后处理模块效率的方法及系统 |
US9578130B1 (en) * | 2012-06-20 | 2017-02-21 | Amazon Technologies, Inc. | Asynchronous and idempotent distributed lock interfaces |
US9560134B1 (en) * | 2012-06-27 | 2017-01-31 | Netapp, Inc. | Storage array side write locking |
US20140040218A1 (en) * | 2012-07-31 | 2014-02-06 | Hideaki Kimura | Methods and systems for an intent lock engine |
CN103634347B (zh) | 2012-08-24 | 2019-04-12 | 腾讯科技(深圳)有限公司 | 一种并行业务处理方法、设备及系统 |
CN103853527A (zh) * | 2012-11-29 | 2014-06-11 | 国际商业机器公司 | 切换多线程程序中的对象锁定模式的方法和系统 |
US9733664B1 (en) * | 2013-03-14 | 2017-08-15 | Gamesys Ltd. | Method for expiring fault-tolerant timers using distributed locks |
JP6461167B2 (ja) | 2014-01-21 | 2019-01-30 | オラクル・インターナショナル・コーポレイション | アプリケーションサーバ、クラウドまたは他の環境においてマルチテナンシをサポートするためのシステムおよび方法 |
US9600324B2 (en) * | 2014-04-28 | 2017-03-21 | Oracle International Corporation | System and method for supporting transaction affinity based on resource manager (RM) instance awareness in a transactional environment |
US9887937B2 (en) * | 2014-07-15 | 2018-02-06 | Cohesity, Inc. | Distributed fair allocation of shared resources to constituents of a cluster |
US10628380B2 (en) * | 2014-07-24 | 2020-04-21 | Netapp Inc. | Enabling data replication processes between heterogeneous storage systems |
CN107077382B (zh) * | 2014-09-26 | 2021-07-16 | 甲骨文国际公司 | 在多租户应用服务器环境中进行事务恢复的系统和方法 |
CN105573823A (zh) * | 2014-10-09 | 2016-05-11 | 阿里巴巴集团控股有限公司 | 一种资源锁定方法及装置 |
US10299232B2 (en) | 2014-10-15 | 2019-05-21 | Xuemin Shen | Method, system and apparatus for enabling vehicular communications |
US9699085B2 (en) * | 2014-11-13 | 2017-07-04 | Cisco Technology, Inc. | Periodic advertisements of host capabilities in virtual cloud computing infrastructure |
US10409800B2 (en) | 2015-08-03 | 2019-09-10 | Sap Se | Priority queue for exclusive locks |
US10706019B2 (en) * | 2015-09-22 | 2020-07-07 | Sap Se | Database processing after a lock condition |
EP3220282B1 (en) | 2015-12-14 | 2019-05-08 | Huawei Technologies Co., Ltd. | Method for managing lock in cluster, lock server and client |
US10599676B2 (en) | 2015-12-15 | 2020-03-24 | Microsoft Technology Licensing, Llc | Replication control among redundant data centers |
US11226985B2 (en) | 2015-12-15 | 2022-01-18 | Microsoft Technology Licensing, Llc | Replication of structured data records among partitioned data storage spaces |
US10235406B2 (en) | 2015-12-15 | 2019-03-19 | Microsoft Technology Licensing, Llc | Reminder processing of structured data records among partitioned data storage spaces |
US10248709B2 (en) | 2015-12-15 | 2019-04-02 | Microsoft Technology Licensing, Llc | Promoted properties in relational structured data |
KR102016702B1 (ko) * | 2015-12-30 | 2019-08-30 | 후아웨이 테크놀러지 컴퍼니 리미티드 | 잠금 획득 요청을 처리하는 방법 및 서버 |
US11226748B2 (en) * | 2016-07-05 | 2022-01-18 | Red Hat Israel, Ltd | Differentiating open and abandoned transactions in a shared storage environment |
US11080271B2 (en) * | 2016-09-09 | 2021-08-03 | Sap Se | Global database transaction management service |
US10623487B2 (en) * | 2017-01-11 | 2020-04-14 | International Business Machines Corporation | Moveable distributed synchronization objects |
CN106874118A (zh) * | 2017-02-17 | 2017-06-20 | 郑州云海信息技术有限公司 | 一种资源锁的自动恢复系统及方法 |
CN108108287A (zh) * | 2018-01-05 | 2018-06-01 | 上海优思通信科技有限公司 | 便携式电子终端的安全审计信息处理及创建方法 |
CN110580232B (zh) * | 2018-06-08 | 2021-10-29 | 杭州宏杉科技股份有限公司 | 一种锁管理的方法及装置 |
US10938897B2 (en) * | 2019-01-31 | 2021-03-02 | EMC IP Holding Company LLC | Extended group service changes |
US11422716B2 (en) | 2020-04-08 | 2022-08-23 | Samsung Electronics Co., Ltd. | Systems and method for distributed read/write locking with network key values for storage devices |
CN113535413B (zh) * | 2020-04-21 | 2023-10-17 | 长鑫存储技术有限公司 | 交易请求的处理方法及半导体生产系统 |
EP4348421A2 (en) * | 2021-05-31 | 2024-04-10 | Mellanox Technologies Ltd. | Deadlock-resilient lock mechanism for reduction operations |
TWI787042B (zh) * | 2022-01-05 | 2022-12-11 | 大陸商北京集創北方科技股份有限公司 | 觸控數據傳輸方法、觸控數據傳輸控制電路及資訊處理裝置 |
Family Cites Families (105)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5175852A (en) | 1987-02-13 | 1992-12-29 | International Business Machines Corporation | Distributed file access structure lock |
US5202971A (en) | 1987-02-13 | 1993-04-13 | International Business Machines Corporation | System for file and record locking between nodes in a distributed data processing environment maintaining one copy of each file lock |
JPH02195453A (ja) | 1989-01-25 | 1990-08-02 | Toshiba Corp | ファイルアクセス制御方式 |
US5060144A (en) | 1989-03-16 | 1991-10-22 | Unisys Corporation | Locking control with validity status indication for a multi-host processor system that utilizes a record lock processor and a cache memory for each host processor |
US5226159A (en) | 1989-05-15 | 1993-07-06 | International Business Machines Corporation | File lock management in a distributed data processing system |
US5161227A (en) | 1989-11-13 | 1992-11-03 | International Business Machines Corporation | Multilevel locking system and method |
JPH05134886A (ja) | 1990-11-30 | 1993-06-01 | Fujitsu Ltd | デツドロツク検出方式 |
US5339427A (en) | 1992-03-30 | 1994-08-16 | International Business Machines Corporation | Method and apparatus for distributed locking of shared data, employing a central coupling facility |
JPH0619771A (ja) | 1992-04-20 | 1994-01-28 | Internatl Business Mach Corp <Ibm> | 異種のクライアントによる共用ファイルのファイル管理機構 |
US5611049A (en) * | 1992-06-03 | 1997-03-11 | Pitts; William M. | System for accessing distributed data cache channel at each network node to pass requests and data |
US5423044A (en) | 1992-06-16 | 1995-06-06 | International Business Machines Corporation | Shared, distributed lock manager for loosely coupled processing systems |
US5392433A (en) * | 1992-09-25 | 1995-02-21 | International Business Machines Corporation | Method and apparatus for intraprocess locking of a shared resource in a computer system |
DE69322057T2 (de) | 1992-10-24 | 1999-06-10 | Int Computers Ltd | Verteiltes Datenverarbeitungssystem |
US5440732A (en) * | 1993-02-05 | 1995-08-08 | Digital Equipment Corp., Pat. Law Gr. | Key-range locking with index trees |
US5485607A (en) * | 1993-02-05 | 1996-01-16 | Digital Equipment Corporation | Concurrency-control method and apparatus in a database management system utilizing key-valued locking |
JP3681415B2 (ja) * | 1993-03-30 | 2005-08-10 | 富士通株式会社 | デッドロック検出装置 |
EP0618532B1 (en) * | 1993-03-30 | 2000-01-26 | Fujitsu Limited | Deadlock detecting device |
US5615373A (en) | 1993-08-26 | 1997-03-25 | International Business Machines Corporation | Data lock management in a distributed file server system determines variable lock lifetime in response to request to access data object |
US5454108A (en) | 1994-01-26 | 1995-09-26 | International Business Machines Corporation | Distributed lock manager using a passive, state-full control-server |
JPH07253950A (ja) | 1994-03-15 | 1995-10-03 | Fujitsu Ltd | ネットワークファイルシステム |
US5613139A (en) * | 1994-05-11 | 1997-03-18 | International Business Machines Corporation | Hardware implemented locking mechanism for handling both single and plural lock requests in a lock message |
US5692120A (en) | 1994-08-08 | 1997-11-25 | International Business Machines Corporation | Failure recovery apparatus and method for distributed processing shared resource control |
JP3392236B2 (ja) * | 1994-11-04 | 2003-03-31 | 富士通株式会社 | 分散トランザクション処理システム |
US5742813A (en) | 1994-11-10 | 1998-04-21 | Cadis, Inc. | Method and apparatus for concurrency in an object oriented database using lock inheritance based on class objects |
US5513314A (en) | 1995-01-27 | 1996-04-30 | Auspex Systems, Inc. | Fault tolerant NFS server system and mirroring protocol |
US5745747A (en) * | 1995-02-06 | 1998-04-28 | International Business Machines Corporation | Method and system of lock request management in a data processing system having multiple processes per transaction |
US5682537A (en) | 1995-08-31 | 1997-10-28 | Unisys Corporation | Object lock management system with improved local lock management and global deadlock detection in a parallel data processing system |
US5734909A (en) | 1995-09-01 | 1998-03-31 | International Business Machines Corporation | Method for controlling the locking and unlocking of system resources in a shared resource distributed computing environment |
JP3674117B2 (ja) | 1995-11-20 | 2005-07-20 | 株式会社日立製作所 | 排他制御方法およびそれを利用したデータ管理システム並びに記録媒体 |
US6128657A (en) | 1996-02-14 | 2000-10-03 | Fujitsu Limited | Load sharing system |
US5761659A (en) * | 1996-02-29 | 1998-06-02 | Sun Microsystems, Inc. | Method, product, and structure for flexible range locking of read and write requests using shared and exclusive locks, flags, sub-locks, and counters |
US5845147A (en) | 1996-03-19 | 1998-12-01 | Emc Corporation | Single lock command for an I/O storage system that performs both locking and I/O data operation |
US6574654B1 (en) * | 1996-06-24 | 2003-06-03 | Oracle Corporation | Method and apparatus for lock caching |
JP2850863B2 (ja) * | 1996-06-29 | 1999-01-27 | 日本電気株式会社 | 排他制御装置 |
JPH10240553A (ja) * | 1996-12-27 | 1998-09-11 | N T T Data Tsushin Kk | 分散型トランザクション処理システムのためのリソースの排他制御方式及び方法 |
US5987621A (en) | 1997-04-25 | 1999-11-16 | Emc Corporation | Hardware and software failover services for a file server |
US6041384A (en) * | 1997-05-30 | 2000-03-21 | Oracle Corporation | Method for managing shared resources in a multiprocessing computer system |
US5872981A (en) * | 1997-05-30 | 1999-02-16 | Oracle Corporation | Method for managing termination of a lock-holding process using a waiting lock |
US6141720A (en) * | 1997-06-12 | 2000-10-31 | Cabletron Systems, Inc. | Method and apparatus for coordination of a shared object in a distributed system |
GB2326492B (en) * | 1997-06-20 | 2002-03-20 | Ibm | Apparatus, method and computer program for providing arbitrary locking modes for controlling concurrent access to server resources |
US5933825A (en) | 1997-07-21 | 1999-08-03 | Apple Computer, Inc. | Arbitrating concurrent access to file system objects |
JPH1165863A (ja) * | 1997-08-26 | 1999-03-09 | Hitachi Ltd | 共有資源管理方法 |
US6029190A (en) * | 1997-09-24 | 2000-02-22 | Sony Corporation | Read lock and write lock management system based upon mutex and semaphore availability |
US6275953B1 (en) | 1997-09-26 | 2001-08-14 | Emc Corporation | Recovery from failure of a data processor in a network server |
US6192408B1 (en) | 1997-09-26 | 2001-02-20 | Emc Corporation | Network file server sharing local caches of file access information in data processors assigned to respective file systems |
US6145089A (en) | 1997-11-10 | 2000-11-07 | Legato Systems, Inc. | Server fail-over system |
US6292860B1 (en) * | 1997-12-16 | 2001-09-18 | Ncr Corporation | Method for preventing deadlock by suspending operation of processors, bridges, and devices |
US6151659A (en) | 1997-12-22 | 2000-11-21 | Emc Corporation | Distributed raid storage system |
SE522023C2 (sv) | 1998-01-22 | 2004-01-07 | Ericsson Telefon Ab L M | Metod för konsistent läsning av objekt i en databas |
US5983225A (en) | 1998-01-26 | 1999-11-09 | Telenor As | Parameterized lock management system and method for conditional conflict serializability of transactions |
JPH11259350A (ja) * | 1998-03-09 | 1999-09-24 | Kokusai Zunou Sangyo Kk | デッドロックを事前検知可能なデータベース管理システム |
US6173293B1 (en) | 1998-03-13 | 2001-01-09 | Digital Equipment Corporation | Scalable distributed file system |
US6145094A (en) | 1998-05-12 | 2000-11-07 | Sun Microsystems, Inc. | Transaction locks for high availability |
US6115715A (en) | 1998-06-29 | 2000-09-05 | Sun Microsystems, Inc. | Transaction management in a configuration database |
US6182186B1 (en) * | 1998-06-30 | 2001-01-30 | Sun Microsystems, Inc. | Method and apparatus that utilizes lock states to lock resources |
SE521433C2 (sv) * | 1998-07-22 | 2003-11-04 | Ericsson Telefon Ab L M | En metod för hantering av risken för en total låsning mellan samtidiga transaktioner i en databas |
US6266785B1 (en) | 1998-09-01 | 2001-07-24 | Ncr Corporation | File system filter driver apparatus and method |
US6324571B1 (en) | 1998-09-21 | 2001-11-27 | Microsoft Corporation | Floating single master operation |
US7065540B2 (en) * | 1998-11-24 | 2006-06-20 | Oracle International Corporation | Managing checkpoint queues in a multiple node system |
CN1327254C (zh) * | 1998-11-26 | 2007-07-18 | 住友电气工业株式会社 | 光纤以及包含该光纤的传光系统 |
US6336171B1 (en) | 1998-12-23 | 2002-01-01 | Ncr Corporation | Resource protection in a cluster environment |
US6324581B1 (en) * | 1999-03-03 | 2001-11-27 | Emc Corporation | File server system using file system storage, data movers, and an exchange of meta data among data movers for file locking and direct access to shared file systems |
US7010554B2 (en) * | 2002-04-04 | 2006-03-07 | Emc Corporation | Delegation of metadata management in a storage system by leasing of free file system blocks and i-nodes from a file system owner |
US6212640B1 (en) | 1999-03-25 | 2001-04-03 | Sun Microsystems, Inc. | Resources sharing on the internet via the HTTP |
US6412034B1 (en) * | 1999-04-16 | 2002-06-25 | Oracle Corporation | Transaction-based locking approach |
US6539446B1 (en) * | 1999-05-07 | 2003-03-25 | Oracle Corporation | Resource locking approach |
US6553384B1 (en) | 1999-06-14 | 2003-04-22 | International Business Machines Corporation | Transactional name service |
US6341318B1 (en) * | 1999-08-10 | 2002-01-22 | Chameleon Systems, Inc. | DMA data streaming |
US6546466B1 (en) * | 1999-08-23 | 2003-04-08 | International Business Machines Corporation | Method, system and program products for copying coupling facility cache structures |
US7206805B1 (en) * | 1999-09-09 | 2007-04-17 | Oracle International Corporation | Asynchronous transcription object management system |
US6389420B1 (en) * | 1999-09-30 | 2002-05-14 | Emc Corporation | File manager providing distributed locking and metadata management for shared data access by clients relinquishing locks after time period expiration |
US7805423B1 (en) * | 1999-11-15 | 2010-09-28 | Quest Software, Inc. | System and method for quiescing select data modification operations against an object of a database during one or more structural operations |
US6823511B1 (en) * | 2000-01-10 | 2004-11-23 | International Business Machines Corporation | Reader-writer lock for multiprocessor systems |
US6668304B1 (en) * | 2000-01-18 | 2003-12-23 | International Business Machines Corporation | Transaction support on logical disks |
AU2001232565A1 (en) * | 2000-02-11 | 2001-08-20 | Telefonaktiebolaget Lm Ericsson (Publ) | Active cooperation deadlock detection system/method in a distributed database network |
US7203782B1 (en) * | 2000-04-12 | 2007-04-10 | Novell, Inc. | Queueing method supporting multiple client accesses simultaneously |
SG99941A1 (en) | 2000-08-30 | 2003-11-27 | Ibm | Transaction support on logical disks |
US6697901B1 (en) * | 2000-10-24 | 2004-02-24 | Oracle International Corporation | Using secondary resource masters in conjunction with a primary resource master for managing resources that are accessible to a plurality of entities |
US6718448B1 (en) * | 2000-11-28 | 2004-04-06 | Emc Corporation | Queued locking of a shared resource using multimodal lock types |
US6757769B1 (en) * | 2000-11-28 | 2004-06-29 | Emc Corporation | Cooperative lock override procedure |
US7107279B2 (en) * | 2000-12-20 | 2006-09-12 | Insitech Group, Inc. | Rapid development in a distributed application environment |
US7328263B1 (en) * | 2001-01-30 | 2008-02-05 | Cisco Technology, Inc. | Controlling access of concurrent users of computer resources in a distributed system using an improved semaphore counting approach |
US6959337B2 (en) * | 2001-04-23 | 2005-10-25 | Hewlett-Packard Development Company, L.P. | Networked system for assuring synchronous access to critical facilities |
US7107319B2 (en) * | 2001-05-31 | 2006-09-12 | Oracle Corporation | Method and apparatus for reducing latency and message traffic during data and lock transfer in a multi-node system |
US7089555B2 (en) * | 2001-06-27 | 2006-08-08 | International Business Machines Corporation | Ordered semaphore management subsystem |
US7085815B2 (en) * | 2001-07-17 | 2006-08-01 | International Business Machines Corporation | Scalable memory management of token state for distributed lock managers |
JP3981255B2 (ja) * | 2001-10-05 | 2007-09-26 | 株式会社日立製作所 | 取引処理方法 |
US6748470B2 (en) * | 2001-11-13 | 2004-06-08 | Microsoft Corporation | Method and system for locking multiple resources in a distributed environment |
US7174552B2 (en) * | 2002-01-12 | 2007-02-06 | Intel Corporation | Method of accessing a resource by a process based on a semaphore of another process |
US8086579B1 (en) * | 2002-01-22 | 2011-12-27 | Oracle International Corporation | Semantic response to lock requests to reduce coherence overhead in multi-node systems |
TW513512B (en) | 2002-03-08 | 2002-12-11 | Li-Chiau Wu | Security lock system and the administration way thereof |
US7155438B2 (en) * | 2002-05-01 | 2006-12-26 | Bea Systems, Inc. | High availability for event forwarding |
US7131120B2 (en) * | 2002-05-16 | 2006-10-31 | Sun Microsystems, Inc. | Inter Java virtual machine (JVM) resource locking mechanism |
US20030233455A1 (en) | 2002-06-14 | 2003-12-18 | Mike Leber | Distributed file sharing system |
US7093230B2 (en) | 2002-07-24 | 2006-08-15 | Sun Microsystems, Inc. | Lock management thread pools for distributed data systems |
US7739245B1 (en) * | 2002-09-30 | 2010-06-15 | Symantec Operating Corporation | Block locking in a multi-node environment |
US8495131B2 (en) * | 2002-10-08 | 2013-07-23 | International Business Machines Corporation | Method, system, and program for managing locks enabling access to a shared resource |
US20040117372A1 (en) * | 2002-12-17 | 2004-06-17 | Bulent Kasman | System and method for controlling access to system resources |
US7337290B2 (en) * | 2003-04-03 | 2008-02-26 | Oracle International Corporation | Deadlock resolution through lock requeing |
US7047337B2 (en) * | 2003-04-24 | 2006-05-16 | International Business Machines Corporation | Concurrent access of shared resources utilizing tracking of request reception and completion order |
US7496574B2 (en) * | 2003-05-01 | 2009-02-24 | International Business Machines Corporation | Managing locks and transactions |
US7289992B2 (en) * | 2003-05-01 | 2007-10-30 | International Business Machines Corporation | Method, system, and program for lock and transaction management |
US7403945B2 (en) * | 2004-11-01 | 2008-07-22 | Sybase, Inc. | Distributed database system providing data and space management methodology |
US20060167921A1 (en) * | 2004-11-29 | 2006-07-27 | Grebus Gary L | System and method using a distributed lock manager for notification of status changes in cluster processes |
US7735089B2 (en) * | 2005-03-08 | 2010-06-08 | Oracle International Corporation | Method and system for deadlock detection in a distributed environment |
-
2003
- 2003-05-01 US US10/428,758 patent/US7496574B2/en not_active Expired - Fee Related
-
2004
- 2004-04-30 TW TW093112119A patent/TWI322381B/zh not_active IP Right Cessation
- 2004-05-04 CN CNB2004800009335A patent/CN100422936C/zh not_active Expired - Lifetime
- 2004-05-04 WO PCT/GB2004/001927 patent/WO2004097632A2/en active Application Filing
- 2004-05-04 CA CA2677251A patent/CA2677251C/en not_active Expired - Fee Related
- 2004-05-04 CA CA2522814A patent/CA2522814C/en not_active Expired - Lifetime
- 2004-05-04 JP JP2006506218A patent/JP4543034B2/ja not_active Expired - Fee Related
- 2004-05-04 KR KR1020057018391A patent/KR100877319B1/ko not_active IP Right Cessation
- 2004-05-04 EP EP04731051.1A patent/EP1623322B1/en not_active Expired - Lifetime
-
2007
- 2007-08-17 US US11/840,842 patent/US7844585B2/en not_active Expired - Fee Related
-
2008
- 2008-06-26 US US12/147,388 patent/US8161018B2/en not_active Expired - Fee Related
-
2012
- 2012-03-12 US US13/418,155 patent/US8768905B2/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
US8768905B2 (en) | 2014-07-01 |
TWI322381B (en) | 2010-03-21 |
KR100877319B1 (ko) | 2009-01-07 |
US20040220933A1 (en) | 2004-11-04 |
KR20060009828A (ko) | 2006-02-01 |
US20080263549A1 (en) | 2008-10-23 |
EP1623322B1 (en) | 2016-09-21 |
US20120173499A1 (en) | 2012-07-05 |
CA2522814C (en) | 2010-06-22 |
CA2677251A1 (en) | 2004-11-11 |
WO2004097632A3 (en) | 2005-04-07 |
US7844585B2 (en) | 2010-11-30 |
US8161018B2 (en) | 2012-04-17 |
CA2677251C (en) | 2011-12-13 |
WO2004097632A2 (en) | 2004-11-11 |
US20070282966A1 (en) | 2007-12-06 |
CN100422936C (zh) | 2008-10-01 |
EP1623322A2 (en) | 2006-02-08 |
CN1809815A (zh) | 2006-07-26 |
TW200516412A (en) | 2005-05-16 |
US7496574B2 (en) | 2009-02-24 |
JP2006525573A (ja) | 2006-11-09 |
CA2522814A1 (en) | 2004-11-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4543034B2 (ja) | 資源をロックする方法、プログラム及びシステム | |
US7289992B2 (en) | Method, system, and program for lock and transaction management | |
EP0972240B1 (en) | An agent-implemented locking mechanism | |
JP2705717B2 (ja) | ロック装置及び方法、ロック要求の細分性を判別するための装置及び方法 | |
US5339427A (en) | Method and apparatus for distributed locking of shared data, employing a central coupling facility | |
US20040199734A1 (en) | Deadlock resolution through lock requeuing | |
US6145006A (en) | Method and apparatus for coordinating locking operations of heterogeneous host computers accessing a storage subsystem | |
US20040034673A1 (en) | Obstruction-free mechanism for atomic update of multiple non-contiguous locations in shared memory | |
US6772154B1 (en) | Implementation of nested databases using flexible locking mechanisms | |
KR100317402B1 (ko) | 서버자원에대한병행억세스제어를위한임의의로킹모드를제공하기위한장치,방법및컴퓨터프로그램 | |
KR20050029202A (ko) | 스토리지 영역 네트워크에서의 비동기 메시징 처리를 위한시스템 및 방법 | |
EP0917050B1 (en) | State-based object transition control and nested locking | |
Nett et al. | Nested dynamic actions: how to solve the fault containment problem in a cooperative action model | |
Kang et al. | Reliable nested transaction processing for multidatabase systems | |
Yao | A Java Implementation of a Linda-like Tuplespace System with Nested Transactions | |
Yao | A Java implementation of a Linda-like Tuplespace system with nested transactions: a thesis presented in partial fulfilment of the requirements for the degree of Master of Science in Computer Science at Massey University, Albany, New Zealand | |
KR20050060806A (ko) | 메시징을 이용한 이질형 정보 자원 통합 멀티데이터베이스 시스템 및 그 전역 동시성 제어 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070416 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20091117 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20091201 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100223 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100323 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100526 |
|
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: 20100622 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20100628 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4543034 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: 20130702 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |