TWI317073B - Method, system, and program product for lock and transaction management - Google Patents

Method, system, and program product for lock and transaction management Download PDF

Info

Publication number
TWI317073B
TWI317073B TW093112120A TW93112120A TWI317073B TW I317073 B TWI317073 B TW I317073B TW 093112120 A TW093112120 A TW 093112120A TW 93112120 A TW93112120 A TW 93112120A TW I317073 B TWI317073 B TW I317073B
Authority
TW
Taiwan
Prior art keywords
lock
transaction
client
manager
request
Prior art date
Application number
TW093112120A
Other languages
English (en)
Other versions
TW200508958A (en
Inventor
Michael Leo Walker
Original Assignee
Ibm
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ibm filed Critical Ibm
Publication of TW200508958A publication Critical patent/TW200508958A/zh
Application granted granted Critical
Publication of TWI317073B publication Critical patent/TWI317073B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/466Transaction processing
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99938Concurrency, e.g. lock management in shared database
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99944Object-oriented database structure
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users

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)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Description

1317073 九、發明說明: 【發明所屬之技術領域】 相關申請案之交互參考 本申请案與共同讓渡且共同待審之美國專利申請案第 ΧΧ/ΧΧΧ,ΧΧΧ號有關,其標題為「用於管理鎖定和異動之方法、 系統及製造物品(Method,System, and Articie 〇f
Manufacture for Managing Locks and Transactions)」,係由
Michael L. Walker於本申請案提出申請之日同日提出申請, 檔案號為SJ0920020055US1,該申請案以提及方式全部併 入本文。 本發明係關於鎖定和異動管理。 【先前技術】 遇韦,貢源(例如記 〜一 叫兀纖逋逗寻)可在數 ㈣用中共用。例如,數個用戶端電月I,各電腦均執行用 ^用程式可存取具有一組貢源的相同伺服器電腦。 某些情形下-’應用程式可能希望存取-資源而不容許任何 程式同時存取該資源。例如4[應用程式希 料庫中的資料’第一應用程式會希望存取資料庫 而其他應用程式不應潛在地試圖更新資料庫 列存取資源,通常使用鎖定。 ㈣„狀存取。例如 4 獲得對第一咨Έ 右弟應用%式 源,二Γ鎖定,第二應用程式將不能存取第-資 應用程式解除對第—資源之鎖定為止。 92988.doc 1317073 在某些情況下,可將用戶嫂兩 細的用戶端應用程式之 求傳送至伺服器電腦的第一代 π ^ ^ _ b 吐 代理。弟—代理可將請求傳遞
至第一代理,弟二代理可再女脾4 t A j丹_人將凊求傳遞至第三代理。第 代理充當第二代理的用戶端,a# 尸鈿而弟二代理充當第三代理 的用戶端。第三代理可處理嗜戈以s丨^s — 明求(例如擷取資料)並將結果傳 回弟一代理,第二代理再蔣ό士里/* 再將、、.D果傳回至第-代理。較快的 弟一代理隨後將結果傳回用p 使用了 _個_ 專口用戶^應用程式。儘管該實例中 罢代理,二個以上共同工作以傳遞請求並傳回結 果之代理可稱為級聯代理。 在某些情況下’該組級聯代理中的各代 之鎖定。但是,沒有鏈路向用 貝原 „ 紛门用尸鳊應用程式指示代理為1 獲知了鎖定。因此,有可能第一 # _ 弟代理針對用戶端應用程式 ㈣對一資源的鎖定。隨後’當第二代理從第一代理接收 凊求:试圖獲得對資源之鎖定時’第二代理會受到拒絕。 由於第-與第二代理均在處理用戶端應用程式的相同請 未’故兩者均能鎖定資源。因此’某些傳統系統不支援級 聯代理之鎖定。 處理-請求可能需要多個鎖定。某些傳統系統要求用戶 端應用程式獲得處理一請求所需的所有鎖定。例如,若第 :應用程式要求存取第一與第二資源,某些系統會要求第 1用程式在進行任何處理之前獲得對兩個資源之鎖定。 若:-:用程式獲得對第一資源之鎖定,但第二應用程式 獲得對第二資源之鎖定’則第一資源會等待對第二資源之 鎖定。 92988.doc 1317073 可要求用戶端應用程式以管理鎖定。鎖定的規則 硬雜’ t導致用戶端應用程式複雜性增加。 _此外’某些資料庫管理系統包括異動管理 官理器僅記錄動作結果,而不記錄動作。 毒』 本技術中存在對改進的鎖定及異動管理系統之 【發明内容】 〆 收^明提供一種用於異動管理之方法、系統及程式。接 f動正在開始之指不。產生用於該異動之操作識別 ,° 5己錄該操作識別符所識別之該異動的動作,其中該 動作包括請求、對應的反向請求及授與之鎖定。 。額外的實施方案提供一種用於鎖定管理之方法、系統及 程式^妾收指定一操作識別符之命令。使用該操作識別符 从決定該命令是否與異動相關聯。若決定該命令係與異動 相關聯,則以鎖定之異動位準操作。 進—步的實施方案提供一種用於鎖定管理之方法、系統 及程式。在·:敎管理器之控制下,⑴執行似請求仔列’, (11)執行心跳(heartbeat)功能,以及(iii)保持狀態資訊。 所說明的本發明之實施方案提供一種用於鎖定和異動管 理系統之方法、系統及程式。 【實施方式】 以下說明參考了附圖,該等附圖構成本發明之一部分並 可說明本發明之幾個實施方案。應瞭解可利用其他實施方 案以及改變結構及操作而不背離本發明之範疇。 提供一種鎖定及異動管理(1〇ck and加㈣比⑽ 92988.doc 1317073 management ; LTM)系统。ΤτΛ/Γ 多从 頂系統可識別支援「虛擬」及 虛擬儲存服務之鎖定老 ., 貝疋考里及要求。術語「虛擬」指將 夕個網路儲存裝置之實體 置之裝置,其係由⑽如译—^二以⑽早—館存裝 、JJ早伺服斋電腦進行中央式管理。 在某些實施方Μ,虛擬係作為儲存區域網路(柄gearea network ; SAN)之部分佶用^ 一 一 使用。儲存區域網路(SAN)係一將丑 于貝料儲存裝置與用戶端電腦所存取的關聯伺服器電腦互 連之高速網路或子網路。術語「虛擬儲存裝置」
的儲存裝置。術語「虛擬儲存服務」指由已彙聚儲存裝= 提供的服務(例如鎖定)。除指定鎖定管理協定之外,L 統!:支援鎖定管理器。此外,咖系統亦支援異動管理器 亚疋義支援異動管理所需之鎖定。 在某些實施方案中,鎖定管理器係一可為鎖定窣覺 Oockmg aware)用戶端及鎖定察覺代理提供鎖定功能的 定管理祠服器」,並遵循鎖定管理器之規則。 在某些實碎方案中’異動管理器係一管理並控制異動執 订及委託或轉返處理初始化之「異動管理伺服器」。異㈣ 具有「ACHD」特性之操作。即異動具有單元性、一致產 生一致的結果)、隔離性及持續性。簡單言之,異動 不疋全部π成」,就是「全部失敗」,而且此橫跨系統 組件故障均可得到保證。操作係—系列來自單一 $ 代理請求(或「動作」)。其亦可稱為「用戶端操作」。在^ 在異動管理器時,操作為異動。委託指用於確保異動之= 作均得以執行之異動功能。轉返指涉及「取消」 92988.doc 1317073
之異動功能。異動管理器保持異動記錄,其係異動資訊的 非揮發性記錄。 J LTM系統較之原理錢義異動相關之鎖定,⑽ T具異動支援之鎖定。餘異動設計之期待係不具異動支 :支之鎖疋可細回邊设計以容納不太嚴格之設計。目的係確 保不具異動支援之鎖定之縮回的實施方 定設計的子集,以及不具異動支援......關之鎖 可擴充至異動處理。之縮回鎖定事實上 L™系統鎖定試圖將智慧置於鎖定管理伺服器中,而非 用戶端或㈣巾。其基❹、理係基心下前提:若將智攀 ί地化二而不是橫跨多重供應商用戶端與代理分佈,將; 谷易獲得正確的功能(或至少一致)。 1_〇簡介 理協定之目的係支援多個非合作用戶端在分怖式 :上#作。非合作用戶端係彼此獨立的多個用戶 源展開競爭並彼此獨立執行。鎖定可用於管理異 2子-域網路中多重供應商提供之用戶端的潛在操作衝 =域麥與鎖定機制的用戶端之操作不與其他在儲存 &域網路中運行的操作衝突。 线巾的較管理似相支❹個「支援位準」。 準係鎖定之「異動」位準。支援鎖定之異動位 :有異動管理器」。下-支援位準名為鎖定之「隔 定需存在異動管理器。最後-支援位準名為鎖 戶端控制」位準。各該等位準之特徵在於其保證 92988.doc 1317073 的acid(單元性、 ,, 一致性、完整性及持續性)去护 概括了所提供的 抒“生)支板。下表
1 · 1單元性 :::指:;:喿作」完全完成或根本未完成(其中將操作 操==的多個請求)。單元性之支援要求在 因此,…/7具=「轉返」能力以取消「操作」請求。 其口。早:(·生在鎖定之「異動」位準中受到支援,且異動 官理器支援/驅動該轉返程序。 八 鎖疋之「隔離」及「用戶端# * π MU」位準不支援或需要單 凡性支挺。因此,此等位準可.尤,士田^ #纟不存在異動管理ϋ之情況 下插作。 1·2 —致性 -致性指將「模型」資料保留在一致狀態。一致性在鎖 定之異動位準中受到支援。一致性不一定在隔離或用戶端 控制位準中受到支援。在某些實施方案中,預期代理能禮 保其模型自我-致。但是,無法保證—代理的模型與其他 代理之模型一致。 由於轉返在隔離或用戶端控制位準中不受支援,「交叉代 理」模型不-定需要保持-致狀態。例如,若用戶端改變 92988.doc -10- 1317073 區域(例如纖維請求(fabric r e 卷(例如陣列社本、f ― ))亚在新區域中重新指派 在鎖—仏月求),則在出現故障時此可能僅「完成―半」。 性由用户端決定。 〇’SAN模型位準之—致 1 * 3隔離 在^鎖μ理中’LTM系統將操作定義為—系列代表 戶端發起的相關代理動作(或請求)。動作係來自單一 的夕2代理之單—請求。用戶端操作通常由各種代理上 直Hi作(或請求)組成。藉由隔離’「操作」看起來猶如 二…、他操作-起串列執行。即使LTM系統操作同時執 ::其對各操作「〇」而言’其他操作或在操作「0」之前 一仃或在操作「0」之後執行,但不會兩者皆是。此僅表 :在^Μ系統的鎖定管理下,與其他LTM系統操作或公共 貝訊核型(Common Inf0rmati0n M〇del ; cm)操作同時執行 之ltm系統操作表現為猶如其係唯—的在執行操作。⑽ 係用於建立管理資訊之物件模型的標準。物件模型係諸如 館存區域網路之類網路資源的物件導向表現形式。⑽標 準由刀佈式官理工作組(Distributed T^kF〇rce; DMTFr司提供。欲獲得關於⑽標準的更多 貝讯,凊芩見2002年5月2曰發表的rHTTp上CIM操作規格 曰(Specification for cim 〇perati〇ns 〇ver Ηττρ)」^版, 以下%作「CIM規格書」’已將其作為參考完整併入本文中。 隔離要求鎖定阻擋動作修改操作所使用的資訊。隔離在 鎖定之異動與隔離位準中均受支援。在使用鎖定之「用戶 92988.doc 1317073 端控制」位準時,隔雜 、, 了由用戶端邏輯實現,但鎖定機制 本身並不保證隔離。 在隔離之支援中,鎖定設計支援「讀取」鎖定之觀今, 其與更改鎖定截然不同。讀取鎖定允許用戶端持有一資 源,用戶端不具明確的更改意圖,但並不希望在用戶端操 作㈣中值發生改變。例如,用戶端可掃描多個儲存集區 μ找可用空間來建立卷’且用戶端將從儲存集區之一建 /卷肖戶知可獲得對所有儲存集區之讀取鎖定而非更 一貞疋i可針對用戶端所選擇的—儲存集區發佈更改鎖 定。 在鎖定支援「讀取」鎖定以支援隔離時,對於用户端不 會重新讀取或依賴資訊的情形,鎖定設計亦支援「辦讀取 (dmy reads)」(即使未獲得讀取鎖定亦允許讀取)。辩讀取 係不獲取鎖定(即讀取或更改)而從代理擷取資訊之任㈣ 戶端請求。將其稱為_取的原因在於讀取未受保護。隨 後對該相同實訊的讀取可能產生不同結果。 1 · 4持績性 藉由持續性當成功信號返回時,結果實際上已發生。「持 續性」的重要性隨所使用的鎖定之位準而異。在鎖定之異 動位準中’持續性表示當用戶端操作完成時(成功或失敗厂, 在故障中都能保證結果。其暗含記錄及二階段委託程序以 2保所有代料已委託(或復原)。在二階段委絲序中,第 一程序向其他程序指示其正在準備委託。其他各程序準備 委託。隨後’第-程序委託,且其他料委託。記錄可確 92988.doc -12- 1317073 保重新開始時,異動答;1 其確實發生。、 ^;、定應發生什麼情況並碎保 在鎖定之「隔離」或「用戶 保證在用戶端獲得—成功返回時 括鎖定請求以及代理模型上f到滿足。此包 ^ 、上的動作。不能假定此等未獲回 應的岣求已完成(儘管其 程式可假定操作已在最後:正面=)。本質上,_ 甘取傻的正面回應之時完成。 2·〇鎖定/異動管理群組成 在關於鎖定管理及显會1其1田七l 几e理益係用於管理SAN環境中特定裝置之管理工 具。在鎖定設計中,假定元件管理11為鎖定未察覺docking ΓΓ)且非CIM用戶端1元件管理器儀作為㈣用戶端 編碼,則其係涵蓋於管理鎖定察覺用戶端的規則下。 鎖定管理器亦稱為「鎖定管理祠服器」,為鎖定察覺用戶 端與鎖定察_理提供鎖定功能,並遵循鎖^管理器 則。 鎖疋察覺代理係支援代理之鎖定請求並支援代理之鎖定 規則的代理或物件管理5|。 鎖定察覺用戶端係進行資源鎖定並遵循鎖定之用戶端規 則的用戶端。 鎖定未察覺代理係不支援鎖定請求之代理或㈣物件管 理器。 鎖定未察覺用戶端係根本不進行鎖定之用戶端。 92988.doc -13· 1317073 ,、動g理器係官理並控制異動(及委託或轉返處理之初 始化)之執行的伺服器。 出於可擴充性的原因,鎖定管理器與異動管理器設計可 容納各該等構成組件之多個實例(包括多個鎖定管理器與 多個異動管理器)。 3.0設計原理 鎖疋係口又冲為支援一組設計原王里。並非所有設計原理皆 可應用於所有位準。下表2概括了設計原理與所適用的鎖定 位準: 表2 設計原理 異動 ~------- 隔離 ------- 用戶端控制 保護橫跨來自多個同步 非合作代理的多個代理 之操作 田 疋 是 —~~---- 是 鎖定機制具有應付不作 鎖定的用戶端及其他管 理工具之能力 ----------- 是 是 是 提供較全部代理更精細 之鎖定 是 是 是 养可擴充的鎖定苹幸汽 是 是 —~~—_ 暑 定義可透過SNIA與 DMTF標準化的鎖定架 構 、 ------ ^聯代理提供^ JU:隨鎖支援 ~~''''' 是 是 ~--- 是 是 是 是 是 是 --- 是 放的設計 ---—~~~〜 ----—_ —----- 是 92988.doc -14- ------~~~-—1 1317073 ...隨要隨解鎖|古援
作為自多個同步非合作用戶端的多個代理之操 理資:1:均支援對橫跨非合作用戶端^觸中管 -— ---— 支援用戶端選擇的鎖定 位準 _____________ 對用戶端「智慧」的依 賴程度低,而偏向於將 智慧置於鎖定管理器或 代理中 -------- 提供具有死鎖及錯誤狀 制 理 提供可支援所有ACID 特性(包括單元性)的鎖 定機制 提供易於從故障中恢復 的鎖定機制 力而變化,作是所有二隨用戶端所需的能 護用戶端師敎位準均允許用戶賴由鎖定销 的 制 具 力機制應付不進行鎖定之用戶端或其他管理工具 夠以保護實施鎖定之官理工具的讓步。鎖定機 疋之用戶知的方式處理現有的管理工」
代個代理更精細的敎藉由使用戶端以小W 使用卢端能獲得更佳的並行性。
足、τ擴充之鎖定架構可定義允許進行擴充以符合S 92988.doc 1317073 管理之發展需要的架構。 定義可透過網路儲存產業協會(Storage Networking
Industry Association; SNIA)及分佈式管理工作組(DMTF) 而標準化的鎖定架構可使鎖定架構能在CIM管理環境中使 用,使其明確地可作為CIM標準之潛在擴充而使用。 提供級聯代理支援係另一設計原理。就級聯代理支援而 s,虛擬包括儲存區域網路(SAN)中元件(例如儲存裝置)的 級聯。級聯代理係亦可作為「低位準」代理之鎖定管理用 戶知的鎖疋管理代理。LTM系統使虛擬系統能夠在低位準 代理上執行動作,作為用戶端操作之結果。動作係來自單 一用戶端對代理之單一請求。用戶端操作通常由各種代理 上的夕個「動作」組成。特定言之,藉由LTM系統,級聯 代理決疋低位準代理上的動作是否與原始用戶端衝突。在 某些實施方案中,若需要鎖定以完成用戶端請求,則級聯 代理代表用戶端獲得鎖定。若用戶端請求觸發該動作,但 '、、、需該動作g完成用戶端請求,則級聯代理會自己執行動 =鎖」支援使用戶端能「隨要隨鎖」,其表示用戶 ’、疋仃-動作前不必獲得鎖定。此允 用低位準代理卜沾从「 τ版聚糸統5周 了更多^ ^ 要隨鎖」支援亦為用戶端提供 、〜璉軏之(例如搜尋儲存,找到之後將其鎖定 至下一步)自由度。 八鎖疋亚移 可縮放。又叶係指所有鎖 計原理。此表亍半縮放至止業SAN配置之設 μ負疋§又計應避免架構中的「瓶頸」,並且支 92988.doc -16- 1317073 援鎖定設計所需的通信不會壓倒網路。 藉由支援用戶端選擇的鎖定付淮 ^ 貞疋位準,用戶端可理解用戶端 選擇的鎖定位準。的目的。_定設計支援用戶端 對用戶端「智慧」的依賴程度伯a#二 ^^ &低而偏向於將智慧置於鎖 疋官理器或代理中可支援不 p丨 ’、有用工作之用戶端的規 =戶端規則並非過於複雜。鎖定之隔離與異動位準避 小賴於運行良好的用戶端。用戶端需遵循的規則很 鎖-Γ:?行違反正確行為的用戶端所採取的動作。使用 二^離」或「異動」位準的鎖定察覺用戶端不必擔 及疋否正確鎖定。鎖定或者 知田“ 作,或者鎖定系統將告 矣用戶端何時違反了鎖定協定。 對用戶端「智慧」的低依賴性特 理代?有意義。鎖定管理器處理大部分的規則與 位準。但疋該⑤計原理並不適用於用戶端控制的鎖定 種程度Γ充至異動官理之設計,鎖定之隔離位準(以及在某 需重 了擴充至鎖疋之異動位準而無 的用戶=,端°即’若—異動管理器存在於具有最小 取異W 碼之鎖定環境中,則隔離位準之鎖定能拾 定之^ °在某些實施方案中,該設計原理不適用於鎖 疋之異動位準。 係有死鎖處理並可從錯誤情況恢復之簡單鎖定機制 原理。當二或多個用戶端試圖依次鎖定二或多個 92988.doc -17· 1317073 貝源(例如物件)時會出現死鎖’其會導致用戶蠕無法完成其 操作,原因在於其均在等待對方先完成。鎖定之「:戶端 控制」位準之目的係容納較簡單之鎖定部署。此包括—支 板死鎖處理及錯誤情況中所定義的恢復狀態之機制。在 些實施方案中,該設計原理可應用於鎖定之用戶端控麻 準。 :隨要隨解鎖」支援係—旨在支援最小鎖定環境之鎖定 協定#將持有的鎖定及持有鎖定的持續時間最小化之 鎖疋Wiw解鎖」表示用戶端可告知系統用戶端何時準 備好解除用戶端獲取的資源。在某些實施方案中,其犧牲 了隔離特性與異動處理,但其係基於用戶端邏輯的合理動 作。因此’設計允許非異動應用程式「隨要隨解鎖」。在某 些實施方案中’該設計原理可應用補定之用戶端控制位 準。 提供一可支援所有ACID特性之鎖定機制意味者鎖定機 制支援異動管理器所暗含的鎖定要求。在某些實施方案 中,提供可支援所有ACID特性之鎖定機制並不表示鎖定管 理器必須供應異動管理器角色或表示鎖定管理器必須在所 有情況下皆支援異動鎖定(僅在異動環境中)。在某些實施方 案中,該設計原理可應用於鎖定之異動位準。 另一設計原理係提供一易於從故障中恢復的鎖定機制。 為支援異動處理,鎖定機制能夠在出現故障時恢復。此可 與-異動官理ϋ合作完成。若故障出現於用戶端操作的中 間’對鎖定資源的存取會受到阻撞,直到應_當的恢復 92988.doc -18· 1317073 程序為止。 一旦恢復得以確保’在用戶踹觫战士 L 士 尸5而所持有的任何鎖定丟失 時,所有鎖定均會解除。設計中者 τ亏慮了數個故障條件,包 括鎖定管理伺服器、鎖定代理、 鎖疋用戶端故障及其間的 通信故障。在某些實施方案中,兮讯 通5又叶原理可應用於鎖定 之異動位準。 4·〇代理假定 可假定鎖定設計與支援管理請求 夂之裝置相關。此等假定 係内在於裝《計以及代理提供者與其所支援的裝置之關 係中。此等假;t可有助於理解代理動作之行為,並且係使 鎖定機制有效的必要條件。 在某些實施方案中,將裝置今斗 衣直《又计成將其元資料保留在一 致狀態中。在某些實施方案中, 保存裝置不容許會將元資 料保留在一致狀態中的動作 動作例如,磁碟陣列不會保留1 狀態,以致儲存丟失(例如將+s仟奋,、 了 /、铋不為已使用,但並不指派 給任何卷)。同樣地,磁碟陳列 卜么 — 糸暉列不會保留其狀態,以致儲存 無忍地映射至兩個不同卷。 如 匕假3又亦表示裝置之CIM代理 可精由將其模型保持與裝置 中的7L -貝料同步來確保其資料 一致。 、 在某些實施方案中,當虛裡 th 田處理鎖疋未察覺用戶端時,鎖定 察見代理與裝置在逐請求的其邊L h入 / ,土楚上日9含鎖定。鎖定未察覺 用戶4係根本不進行鎖定 —風 用戶此暗含裝置中的鎖定 祭見。即若未能獲得鎖定, ,...^ ^ 則鎖疋察覺代理獲得所需鎖定 (或寺效物,例如鎖存)以執 仃用戶鳊凊求。然而,一旦執行 92988.doc 1317073 用〜求’便會將鎖定解除 僅僅是代理),從而 3衣置_疋察覺(不 動作。 鎖疋用戶端衝突之「元件管理器」 5.0參考模型 圖1以方塊圖說明根據本發 定及異動管理之參考㈣甘本仏方案之-用於鎖 考果良,其涉及四個不同角色。 定未一鎖定察覺用戶端uo。以下將詳細說明鎖 準。^ 肖戶端其所需的鎖定位 二例如,若鎖定察覺用戶端u。需要鎖定 疋 察覺用戶端-藉…動管理Λ: rglnTransacti〇n(開始異動)請求(以下將對其做進/步詳 =明)來完成。異動管理器協調異動的委託或轉返(即在昱 動:理控制下執行的用戶端操作)。在某些實施方案中,里 動管理器係作為獨立的異動管理顧器⑽而說明。在某些 實施方案中’異動管理器可與用戶端應用程式共同位於2 =糸統上。填常各執行鎖定察覺用戶端的系統皆有一異動 管理器。異動管理器保持用戶端應用程式所採取之動作及 執行異動之轉返所需的「反向」動作之記錄(例如用戶端請 求)。 若鎖定察覺用戶端11〇需要鎖定之隔離或用彳端控制位 準,則鎖定察覺用戶端Π 0省略對異動管理伺服器12〇之請 求並利用(例如)GetOperati〇nId(獲得操作id)請求(以下將進 一步對其作詳細說明)直接跳至鎖定管理器,以獲得操作之 操作識別符(「操作id」或「〇perati〇nId」)。在某些實施方 92988.doc -20- 1317073 案中’鎖定管理關-鎖定f理伺服^顺可協調從盘鎖 定管理飼服器m處於相同鎖定管理群組中的—έ且鎖二 理代理M0AU娜中獲得鎖定。在圖式中,為易於參考: 在說明中元件的多個副本可以相同參考數字與字‘表干 (例如U〇A至11〇Ν,其中Ν表示元件的第η㈣本)。例士y, 鎖定官理代理140A、140B與140N將稱作鎖定管理代理14〇A 至 140N。 鎖定管理群組包括-鎖定管理伺服器與—或多個代理。 可能存在一或多個鎖定管理伺服器12〇,因此在環境中存在 一或多個鎖定管理群組。各鎖定管理伺服器13〇可管理在鎖 定s理群組中一組鎖定管理代理14〇人至14〇N的鎖定。管理 員可設定支援可擴充性要求所需的鎖定管理伺服器130及 鎖定管理群組。若支援仵列,鎖定管理舰器13G亦可執行 鎖定佇列。 鎖定管理代理140入至14〇N針對鎖定管理代理14〇八至 140N管理的裝置執行鎖定。即獲得對資源的實際鎖定並持 有在代理位準。在某些實施方案中,鎖定管理代理14〇八至 14〇N不進行佇列。取而代之,鎖定管理代理140A至140N授 與或拒絕鎖定,且鎖定管理伺服器130管理鎖定請求之佇 歹J鎖疋嘗理代理140A至140N持有鎖定直到鎖定管理伺服 态130告知鎖定管理代理140A至140N解除鎖定為止。 各該等角色(鎖定察覺用戶端110、異動管理伺服器12〇、 鎖定官理伺服器130以及鎖定管理代理140A至140N)皆基於 用戶端要求的鎖定位準(即異動、隔離或用戶端控制)執行功 92988.doc -21 - 1317073 用於鎖疋之參考模型考慮數個鎖定環境,包括以下環 境:具有異動管理器的鎖定環境,其支援鎖定之異動位準; 不具異動管理器之鎖定環境,其包括鎖定之隔離及用戶端 控制位準兩者;以及支援鎖定未察覺用戶端的環境,其包 括對任何鎖定位準之支援。 5·1具有異動管理器之鎖定參考模型 圖2A說明根據本發明某些實施方案之具有一異動管理器 220之鎖定環境。異動鎖定之參考模型包括環境中一或多個 異動管理器以及鎖定管理伺服器。 鎖定察覺用戶端-1 210與異動管理器220、鎖定管理飼服 器A 240及鎖定管理伺服器B 26〇連接。鎖定管理群組a 23〇 包括鎖定管理伺服器A 240、鎖定代理W 242以及鎖定代理 X 244。鎖定管理群組B 25〇包括鎖定管理伺服器B 26〇、鎖 疋代理Y 262以及鎖定代理z 264。鎖定代理w 242、X 244、 Y 262、Z 26f為鎖定察覺代理。在某些實施方案中,αΜ代 理可實施鎖定代理W 242、X 244、Y 262、Z 264。 異動的開始與結束均係由用戶端之用戶端應用程式定 義。為易於參考’用戶端應用程式所執行的動作將視為由 用戶端執行。在圖2A中,當鎖定察覺用戶端]21〇處的用 戶端應用程式向異動管理器22〇傳送(例 如)BeginTransaction請求時,異動開始。異動管理器「建 立」該異動,並傳回一操作idu識別該異動。 在某些實施方案中,操作id橫跨鎖定管理群組和異動管 92988.doc -22· 1317073 理器均為唯一。闵士 分為操作ΚΪ是否由異動心可為一複合密餘,其第-部 鎖定管理群組的指示,其第二部分為 僻4吳動官理器的名稱, 分係鎖定管理群組或異動管理器中的唯_數字。2一部 如用Τ··Α:數字的形式(其中Tn d 異動管理器的名稱,而「數字:值:係鎖…群組或 歡子」係一唯一的整數)。 異動官理盗2 2 0所作的·^辟^ g 4士 > 中。里動的第-摘 的鎖定將位於操作ld 弟一個記錄項係異動之存在(例如開始里動)β 一旦鎖定察覺用戶端」210撼古思& 210擁有異動刼作ld,鎖定察覺用 u 210便將鎖定察覺用戶端-"1〇意圖更改的資源鎖 定。較察覺用戶端.12_可將敎察覺用戶端_12⑽ 取的以及鎖定察覺用片端]210欲於其操作期間保持不^ 的資源敎。針對敎察覺用戶端·1 2Π)欲發佈的更改操作 (即可更改資料的操作),鎖定察覺用戶端」21〇將一執行更 改的命令傳遞至用於記錄的異動管理器22〇,並經由鎖定管 理伺服器A 240、Β 260向鎖定代理w 242、χ 244、γ 262、 Ζ 264發佈鎖定請求。除更改請求之外,鎖定察覺用戶端j 210亦可在異動管理器220需要執行操作之轉返時,向異動 管理器220提供「反向」動作。 異動官理益220§己錄§亥寺更改請求以及用於具有可逆動 作之更改請求的「反向」動作。在更改請求不具可逆動作 的情況下’此等動作可視為在異動範疇之外。 異動的結束係由以下二事件之一決定:鎖定察覺用戶端 -1 2 10發佈至異動管理器220之委託;鎖定察覺用戶端_121〇 92988.doc -23. 1317073 χ佈至異動官理器22〇之轉返;或異動中任何構成組件(例 如:定察覺用戶端-1210或異動管理器22〇)之—故障條件。 兴動成功完成之前異動中任何構成組件的故障均會導致 ,返。在某些實施方案中’則心跳功能以蚊構成組件 疋否已出現故障。 在某些實施方案中,異動管理器2 2 〇可係駐留於用戶端系 =的m者異動f理㈣何與敎管理伺服器a 24〇或B 260組合。
π為了鎖定協調,鎖定設計可擴充至支援「缝器對词月 ^通仏,即使飼服器鎖定於其敎管理群組23g、25〇内 ::實施方案中,該協調可支援鎖定管理 2鎖相。死㈣測指發現:或多<關戶端之間存在^ 之仃為。但是’藉由鎖定佇列逾時(即鎖定請求留在海 2列中的時間週期)’不再需要飼服器對龍器通信
列中,並且代…二=,則鎖定視為㈣ μ — &鎖疋&理Μ列該請求直到衝突鎖定解 除為止。鎖定佇列可使 遇鎖定衝—^ 、 兀成,即使在操作期間遭 若^ ^鎖定永不解除,則稱此情形為死鎖。 右用戶端請求對一已由另一 貝 的資…已由另用戶端鎖定(明確地或暗含地) 所勃〜 見鎖疋衝大。暗含鎖定係指作為代理 斤執仃之動作的結果而暗含地獲得之鎖定。 2不具異動管理器之鎖定參考模型 圖2B說明根據本發明笨 之鎖定環产。不呈Γ 案之不具一異動管理器 兄不/、異動管理器之環境中的鎖定可係在厂隔 92988.doc -24- 1317073 離」位準或在「用戶端控制」位準。 在圖2丑所D兒明之鎖定環境中,鎖定察覺用戶端2 1 〇、鎖定 吕理伺服器A 240、B 260、以及鎖定代理w 242、X 244、γ 262、Z 264具有鎖定能力。將鎖定代理W 242、X 244、Y 262、Z 264指派給鎖定管理群組a 23〇、B 25〇,其分別係 由鎖定管理伺服器A24〇、B26〇管理。 在該鎖定環境中,用戶端藉由從鎖定管理飼服器A 240或 B 260中請求-操作id並宣稱其意圖在關位準或用戶端控 制位準操作而開始操作(例如鎖定察覺用戶端]21〇)。計劃 使用鎖疋f理群組A 23G、B 25G中之代理的用戶端可從鎖 定管理祠服器A 240或B 260中請求操作id。假定鎖定察覺用 戶端-1 210從鎖定管理飼服器a鳩中請求操作id,鎖定管 判服器A 240變成用於操作之控制伺服器,但在存取鎖定 管理飼服器B 260時亦可使用該操作id。對該操作,僅獲得 一次操作id。 就鎖定之驿離與用戶端控制位準兩者而言,在鎖定察覺 用戶端2 H)於鎖定代理W 242、χ 244、γ 262、z 2料上執行 動作之前’敎察覺用戶端21G將其欲使用㈣源(例如物 件)鎖定。使用指派給鎖定察覺用戶端21〇的操作id,鎖定察 覺用戶端210向適當鎖定管理群組(八23〇或8 25〇)之鎖定管 理飼服H(A24()或B26G)發佈鎖定請求。敎管理健器A 240、B 250接收鎖定請求’將其傳遞至鎖定代㈣如、χ 244、γ 262、Z 264並將其記錄為由操作id持有。鎖定代理 W 242、X 244、Y 262、Z 264可授與鎖定或拒絕鎖定。佇 92988.doc -25- 1317073 列(若需要)係在鎖定管理徇 此實施… 〇、B 260内完成。在某 二μ方案中,若料代理w 242、χ⑽、γ加、ζ⑽ 拒絶鎖定,鎖定代理w 242^ Y 262、z 264會將「佇 ⑽」值傳遞回’該值決定鎖定代理W 242、X 244、y Μ、Z 264容許㈣請求停留在仔財的時間長度。 若仔列ft求㈣㈣之頂部,則㈣定 鎖定代理W 242、X 244、y π 啊知怖至 叫從 262、Z 264以獲得鎖定,以及 右獲得鎖定,則通知鎖定察覺 授與。 明疋祭覚用戶知-1 210鎖定請求已得到 丁列明长在到達仔列之頂部前「逾時」,則通知鎖定窣 端d 210鎖定請求已受到拒絕。由於鎖定管理伺服哭 t24〇、B26G並非異㈣理器,在某些實施方案中,鎖定 官理飼服hA24G、B26()不會單方面解除鎖1特卜之, 鎖定察覺用戶端·12_作影響任何「轉返」或操作恢復處 理會需要鎖定。 為了鎖定捧調,鎖定設計可擴充至支援「飼服器對伺服 器」通信,即使鎖定管理飼服器A24〇、b 26〇鎖定於豆鎖 定管理群組A23〇、B25㈣。在某些實施方案中,該鎖定 協調支援鎖定管理故障復原及協調死鎖偵測。但是,藉由 鎖定件列逾時,則不再需要飼服器對伺服器通信。 5.3鎖定未察覺用戶端支援 ®2C說明根據本發明某些實施方案之具有一鎖定未察覺 用戶端-2 270之鎖定環境。特定言之,圖2顯示「隔離」或 「用戶端控制」位準之鎖定環境。在圖2(:中,鎖定代理X 244 92988.doc -26- 1317073 與= X28◦連接,其亦可連接至元件管理器用戶端29〇。 =管理器用戶蠕係一特殊類型的鎖定未察覺用戶端。對 理器。 考5相问,因此圖2C中未顯示異動管 在某些實施方案中,稍玄本 窣-ΓΤΜ田“ 鎖疋未察覺用戶端-2 270係一鎖定未 士見CIM用戶端。在牲定 寺八體實轭例中,作為鎖定未察覺 —用戶端的鎖定未察覺用戶端會經過CIM代理(包括鎖定 祭覺代理)鎖定未察覺用戶端27晴較代理W 242、X 244 作出管理請灰,而τ 44 作涉及對以CI…定。在此情況下,若請求的動
242 X 2441 、V的物件模型進行更改,貞彳鎖定代理W 2 4 2,X 2 4 4 s式圖在請、戈置日# 月求期間獲得「臨時鎖定」(或「鎖存」)。 特疋&之,若經由—CTM私 ’ 合於& M物件路徑達到一物件’則該物件 s於存取之月丨J加以鎖定。 鎖存係在伺服單—諳1 — 月求過耘中代理所獲得的臨時「銘 2」。在某些實施方案中,鎖存的解除不會晚於請求之6 t 二,二鎖:巷彻架構(即鎖存並非在任何⑽介面中: ”鎖疋不同)。而’在執行動作時,代理可利用 鎖存以臨時持肴—資呢。萍用 益Hu 一、#彳端請求係-讀取動作,則 無而鎖疋(例如,將請求作為非鎖定讀取對待)。更新 受到阻擋(原因在於鎖定察覺 ,明未s 取動作不會受相彳t。 持有㈣定)°但是,讀 。。應予考慮的特殊情況係元件管理器290。在許多元件 器無法重新寫入的假定下, 3 ^ 尤為重要地係應理解元件管理 器如何與鎖定察覺用戶端 _ ts理 而互動。70件言理器準備在鎖定察 92988.doc •27- 1317073 覺2境「之外」執行。儘管對元件管理器進行編碼以使用 鎖疋官理(當其存在時)較為理想,但並非必須如此。 當鎖定未察覺元件管理器用戶端290存取裝置又28〇時, 鎖疋未察覺元件管理器用戶端290可無需經過任何CIM代 理=構來完成。因此,鎖定未察覺元件管理器用戶端290 負貝裝置X 280,以實際上監管元件管理器28〇與鎖定察覺 用戶端-1 210之間的互動。裝置χ 28〇遵循以下規則:元 :官理器用戶端290所發佈的讀取動作可視作「無鎖定」㈤ D貝取,以及(2)獲得對元件管理器用戶端29〇的動作所覆蓋的 貝源之「鎖存」,該動作將會阻擂來自鎖定察覺用戶端⑺ 的鎖:動作。與鎖定察覺用戶端_1 210所持有的鎖定衝突之 兀件官理盗用戶端29〇寫入動作受到拒絕。實際上,來自元 件s理$用戶端29〇的寫人暗含寫人動作期間的更改鎖定。 6.〇可鎖定之資源 疋可保留將成為用戶端(即用戶端應用程式)請求之 主題的貝源(或貧源等)。例如,若用戶端希望修改—卷,則 用戶端會鎖定該卷。鎖定設計的—重要部分係對作為互操 作之基礎的功能(即請求)以及需要鎖定的資源之理解,以確 保:源得以保留以允許請求之執行。另一相關問題係若用 端月求為立」’則鎖^何資源。即問題係用戶端該如 可、貞疋尚未存在的育源。在建立卷的情況下,合理的係, 用戶端將從中建立卷的儲存集區鎖定。但依然會留下所產 f的卷是否已鎖定之問題。最後’存在如何識別鎖定之問 題而要方案來唯一地標示鎖定的資源。以下章節中將 92988.doc •28· 1317073 探討各該等問題。 6.1鎖定之粒度 鎖定設計允許鎖定之粒度。然而,鎖定並不要求物件模 型的每一元件均明確鎖定。用戶端將會鎖定所有直接受到 其意圖發佈的請求影響的資源。例如,建立卷會要求對從 中建立卷的儲存集區之毅。執㈣輯單元號碼(l〇細 ㈣NUmber ; LUN)映射及遮罩請求將*求鎖定所引用的 卷、埠及主機啟動器。以上為鎖定之用戶端觀點。 除用戶端觀點之外,還有代理觀點。就代理的角度而言, 鎖定的目的係保留允許用戶端執行請求之資源。因此,。代 理會鎖定足夠資源以確㈣戶端請求不會因鎖定衝突而受 到拒絕。以些實财案巾,代理將敎所有支援用戶端 請未及保持代理模型完整性所必源,其暗含級聯鎖 每當在需要敎何資源上出現分歧時,代理可將鎖定提 升至更高鎖5。明破言之’代理可提升至「代理鎖定」。同 用戶端可請求「代理鎖〇代理鎖定係藉由鎖定所 官理之裝置的電腦系統實例來實現。 鎖定察覺代理所需的最小支援係「 定請求均可提升至代理鎖定。 ^ P任何鎖 6.2級聯鎖定 義其鎖定實施方考慮級聯效應。鎖定設計定 於^多個’以便敎—物件可有效地鎖定該物件所基 '夕件(即㈣環境中的實例)。圖3說明根據本發明 92988.doc -29- 1317073 某些實施方案之級聯鎖定。—虛擬代理3〇〇包括一 =擴充區32〇° —陣列代理观括一儲存卷3额擴充 紅。鎖定該儲存集區31〇暗含對館存集_崎基於的擴 紅⑽之較。對儲存集區31Q之鎖定暗含發佈 虛 擬代理300管理之資、、择,, 又& 里之貝源(例如由從擁有儲存集區31() 代理則級聯而來的代理管理之資源)的料。為保持虛擬 代理30G的物件模型之完整性,虛擬代理需鎖^處於較 低位準代理中的資源。例如,虛擬代理則可較陣列代理 33〇所擁有的儲存卷340與擴充區350。 在⑽環境中,可定義設定檔,且各設定播可定義由設 定檔所支援的敎暗含的敎級聯。網路儲存產業協會 (SNIA)旨在為某些物件模型開發設定檔。設定檔說明儲存 區域網路(SAN)實體的特定類。⑽實體的類可說明san内 的裝置,例如獨立磁碟冗餘陣列(redundant抓吖〇f independent disks ; RAID)裝置。RAm裝置可使相同資料儲 存在多個硬磋上,從而實現對資料副本的同時存取。 6.3鎖定識別 實例鎖定係藉由引用實例之CIM〇bjectPath(CIM物件路 仕)而實現。此係「列舉」實例獲得的不透明符記,規 格書第2.3 ·2 · 11節中定義了該符記,其可用於列舉CIM等級 之實例。實際的鎖定實例係用戶端操作记與鎖定的實例之 CIMObjectPath之組合。實際上,可將鎖定視作操作^與 CIMObjectPath之間的一關聯。關聯具有鎖定類型(讀取或更 改)之特性。 92988.doc -30- 1317073 6.4暗含鎖定 在某些情形下,,未明確地請求鎖定,但卻獲得了鎖定。 明球言之’當建立資源(例如健存卷或儲存集區)時,資源不 會具有CIMObjeetPath,直到建立該f源為止。—旦建立該 資源時,便在crnob細Path上代表用戶端操作id獲得= 定’而用戶端並未發佈鎖定請求。 同樣地,代理可選擇鎖定多於用戶端所請求的資源。在 某些實施方案中,代理不會假定用戶端已鎖定所有位於用 戶端鼓的資源「之下」㈣源。例如,代理瞭解支援「刪 除實例」操作所需的條件,並可選擇將用户端作出的「最 糟情況」請求所暗含的所有資源鎖定。 6.5可鎖定之資源及鎖定位準 鎖疋之寅源對所有鎖定位進卩如衷i 疋位旱(即異動、隔離與用戶端控 制)均相同。粒度及鎖定係如 仃識别均相同^級聯與暗含鎖 定可發生變化,但通常不會。一 * , « ^ 般而s,異動鎖定傾向於 要求厭格h級聯與暗含鎖U支援潛在的轉返請求。鎖 ,之,離及用戶端控制位準不要求嚴格遵守,原、因在於其 热需支援轉返撫作。 7·〇鎖定類型 鎖定類型係指請求的鎖定 如 強度」。鎖定類型決定鎖定 戶::的動作。在LTM系統鎖定中,存在「 「頃取」鎖定。φ丸μ ^ 」只〜” 更改鎖疋強於讀取鎖定。 鎖定設計中的鎖定管理器 改鎖定。、·&代理核讀取鎖定與更 疋保證隔離性(例如操作期間讀取的資料不 92988.doc 1317073 會改變),而不會阻擋其他讀取者。鎖定設計亦支援「無鎖 定」(髒)讀取,而不會暗含讀取鎖定。 在某些實施方案中,「無鎖定」寫入不受支援。即出現在 「Operationld」下的寫入操作會引起獲得鎖定(如同「建立」 操作)。所出現的不具「Operationld」的寫入操作暗含用戶 端係一鎖定未察覺用戶端,適用鎖定未察覺用戶端規則。 即在請求期間獲得更改鎖定(或鎖存)。 讀取與更改鎖定兩者在所有三個鎖定位準(即異動、隔離 與用戶端控制)中均受支援。 7.1鎖定相容性語意 表3概括了在某些實施方案中,LTM系統鎖定之鎖定相容 性語意。 表3 鎖定持有者—鎖 定請求者V 更改 讀取 無鎖定 讀取 無鎖定 寫 更改 拒絕 拒絕 授與 拒絕 讀取 拒絕 授與 授與 拒絕 無鎖定讀取 授與 授與 授與 授與 無鎖定寫入 拒絕 拒絕 授與 拒絕 表3顯示了兩個不同用戶端之間的互動。第一用戶端係對 資源A的「鎖定持有者」,而第二用戶端係對資源A之鎖定 的「鎖定請求者」。若鎖定持有者具有一更改鎖定,則所有 鎖定請求均會受到拒絕。但是,髒讀取(無鎖定讀取)不會受 到阻擋,因為不存在鎖定請求。若鎖定持有者具有對資源 92988.doc -32- 1317073 的讀取鎖定,則更改鎖定請求會受到拒絕,且「無鎖定」 寫入亦會受到拒絕。鎖定請求者可獲得一讀取鎖定或可進 行無鎖定讀取。若鎖定持有者不持有鎖定(無鎖定讀取),則 不會阻擋任何動作。若寫入者未持有鎖定,則所有請求者 均會受到阻擋,除無鎖定讀取者外。 7.2受保護之動作 受保護之動作係可能受到鎖定阻擋之動作。關於讀取或 更改鎖定會阻擋何物之討論可提供基本原理,但本文所呈 現之方針並非一詳盡完整之列表。 基於 Web 的企業管理(Web Based Enterprise Management ; WBEM)係一組由分佈式管理工作組 (Distributed Management TaskForce ; DMTF)公司開發的用 於統一企業運算環境管理的管理與網際網路標準技術。 DMTF已開發出一組構成WBEM的核心標準,其包括公共資 訊模型(Common Information Model ; CIM)。 CIM係用吟管理資訊的物件導向模型之標準。CIM標準係 由分佈式管理工作組(DMTF)公司提供。欲獲得關於CIM標 準的更多資訊,請參見2002年5月2日發表的「HTTP上CIM 操作之規格書(Specification for CIM Operations over HTTP)」1.1版,以下稱作「CIM規格書」,已將其作為參考 完整併入本文中。 欲鎖定之資源係由CIMObjectPath識別。其涵義係任何具 有CIMObjectPath的資源均可加以鎖定。但是,本文提出的 鎖定設計在關於鎖定之關鍵方面更為明確,並係基於級聯 92988.doc -33- 1317073 鎖定。-般而言,代理會支援整個裝置之鎖物「鎖定代 理」)或匯出資源之個別實例之鎖定。若代理不支援對 CIM〇bjectPathl^i的資源之敎,則代理可將鎖 代理鎖定。 1 $ 亦有一些關於較未察覺用戶端與較察覺用戶端 的互動之方針。 讀取保護動作係由讀取敎阻擋的㈣動作。讀取鎖定 可阻播更改鎖定,但不阻撞其他的讀取鎖定。讀取鎖定阻 播對「級聯物件」及在鎖定声 帛疋層、及中處於較低位置的物件之 更改鎖疋。例如,對代理的讀取鎖定暗含對代理所管理的 所有物件之讀取鎖定。對卷的讀取鎖定級聯至對任何較低 =準物件(其可對鎖定的卷作更改)的讀取鎖定。因此,鎖定 列可防止其他代理更改卷所基於的儲存集區、擴充區或陣 更改(寫入)保護動作係該等受到更改鎖定阻撞的動作。 更改鎖定阻梦决Θβ ^ ^來自”他用戶端的讀取或更改鎖定。更改鎖 疋阻擋其他對「級聯 Μ ^ / 件」的鎖疋。例如’對代理的更改 ^ 3對物件所管理的所有物件之更改鎖定。對卷的更 =疋級聯至對任何較低位準物件(其可對鎖定的卷作更 '更改鎖疋。因此’鎖定卷可防止對卷所基於的儲存隼 擴充區或陣列的讀取或寫入。 去、广之動作係在物件上操作的未受鎖定阻擋的該等 作“1受保護之讀取動作係不受讀取鎖定阻措的該等動 、取鎖疋不會阻擔其他讀取者,但讀取鎖定會阻播寫 92988.doc -34- 1317073 入者(以及更改鎖定)。未受保言蒦之寫入動作係不受更改鎖定 阻播的該等動作。更改鎖定不會阻撞對其他不相關物件之 鎖定。更改鎖定不會阻擋對已鎖定物件的鱗讀取。辦讀取 係無需獲取鎖定(讀取或更改)而從代理中#|取資㈣㈣ 用戶端請求。將其稱作鞒讀取的原因在於讀取未受保護。 隨後對該相同資訊的讀取可能產生不同的結果。另外,'ΓΤΜ 系統中的寫人動作要求鎖定察覺代理暗含對受到更改的各 物件之更改鎖定。 7.3與鎖定未察覺用戶端之互動 當料LTM_較時,「敎持有者」或「鎖定請求者」 山鎖疋而其他用戶端未鎖定時,會發生與鎖定未察覺用戶 端之互動。鎖定未察覺用戶端根本不會發佈任何鎖定。然 :期二鎖:未察覺用户端嘗試一寫入動作時,在該動作持 ==獲得暗含的更改鎖定。因此,更改或讀取鎖定 源的任何鎖定未察覺用戶端動作。但是, 右鎖疋未察覺用戶端嘗試一讀 翻 動乍(無鎖疋言買取),則讀取 斩次、$ - 右鎖叱未察覺用戶端已更 新貝源,此將臨時阻擋鎖定用戶端之 鎖定)讀取不會受到阻播。 但是,麟(猓 8·0死鎖管理 鎖定設計藉由將死鎖偵 p. Bs » u + 何利置於鎖疋官理器來處理死 鎖問喊。該鎖定支援「隨要隨鎖钮咅、, 能立即獲得之情形下的鎖定」/ I且支援鎖定不 圖鎖定丁丨二個或更多用戶端試 Ώ鎖疋一個或更多資源並互 斗寺待對方元成時,便會發生 92988.doc -35- 1317073 死鎖(此情形有時亦稱為「致命的擁抱」)。某 為解決此類狀況,鎖定管理哭 如、、,、中, 死錯用ό山 口口 了胃減偵測此類循環,挑選 戶"^—並拒絕該用戶端的鎖定請求。 、 +,L™㈣料,此係較 間早的方法。若一鎧它社+、 τ ψχ 且仍以μ〜 職㈣間量内未獲得鎖定 :然處於鎖定仔列中,則拒絕該鎖定請求。每一資“ 具有一關聯鎖定佇列。 、原音 仔:-鎖定的時間長度由本來會授與 二鎖定管理器保存並維持鎖定仔列”㈣與或= 疋右代理拒絕一德中 n.r ^ ,、 貞 該鎖〜其„„ ,、〇代理可提供一「佇列時間」(於 :代絕該鎖定之前’該鎖定可仵列的時間)。若 間 「供佇列時間’則該鎖定管理器將應用預設的時 管理管理員所定義或預定義的時間長 取二二可能會受到拒絕。下一步將發生的情況 取决於所採用的鎖定位準。 摔動位準,中逾時的鎖定將導致操作(由 通知H 確言之,偵_該料的敎管理器 理器,鎖定請求已被拒絕。該異動 … 轉返之最後部分係解除該異動所持有的鎖 疋,攸而解開該「致命的擁抱」(即結束死鎖)。 對:鎖定之隔離位準,該鎖定管理器將回應該原始用戶 疋已破拒絕。該用戶端可選擇重新發佈該鎖定請求, 端之較佳動作㈣試從該用戶端目前已完成的工 因此,該鎖定管理器不會自動解除對鎖定拒絕 92988.doc •36- 1317073 的鎖定。該用戶端獲得嘗呀「 又仔「取消」該用戶端 敗點已完成的工作之機t。p 戰至鎖疋失 ό山 田該用戶端完成其恢復動作, 该用戶端便解除該等鎖定。 文切1卞 對於鎖定之用戶端控制位準 制位旱,该鎖定管理器將 始用戶端,鎖定已被拒續。Λ 溉拒、,,巴。如同隔離位準,對 控制之情形,該用戶端獲得恢 戶端 又1于伙设其已凡成工作之機會。然 而,在受用戶端控制之情形中 …、 丨月小中,此可能意味著重新獲取該 =戶端以前持有但已解除的鎖定。當然,此可能會導致「循 環拒絕」m此,該鎖定管理器將追蹤其對—操㈣ 給出的拒絕次數’並且在預定的拒絕次數(例如3次)之後單 方面解除全部鎖定。 9·〇鎖定操作 鎖定察覺用戶端與鎖定管理器(飼服器)之間的請求/回應 協定將在以下章節中說明。可將其他訊息增加到該協定 中,亦可移除或替換一些訊息,而不會背離本發明之範疇。 9·1鎖定請枣/回應參數
AgentRequest(代理請求)包含下列參數各一參數: CIMObjectPath(即需鎖定之各實例的物件路徑)及Type(請 求之鎖定的類型(讀取或變更))。AgentResuits(代理結果)包 含下列參數各一參數:CIMObjectPath(即已鎖定之各實例的 物件路徑)及Type(授與之鎖定的類型(讀取或變更乃。 提交關於所有鎖定請求的操作id。該操作id識別請求鎖定 之用戶端操作。該操作id係應GetOperationld(獲得操作id) 請求或Begin Transaction(開始異動)請求而建立。 92988.doc -37- 1317073
QueueTime(仔列時間)係應鎖定請求而返回給受拒絕的 代理之時間週期。QueueTime識別該代理願意讓該鎖定請求 留在佇列中之時間長短。 下表4概括鎖定請求、發佈鎖定請求之構成組件(即用戶 端、鎖定管理伺服器、異動管理器或鎖定代理)、及接收構 成組件(即用戶端、鎖定管理伺服器、異動管理器或鎖定代 理)。下文將進一步詳細說明各鎖定請求。 表4 鎖定/異動 請求/回應 發佈構成組件 接收構成組件 Begin Transaction (開始異動) 用戶端 異動管理器 Log Update (記錄更新) 用戶端 異動管理器 Commit Transaction (委託異動) 用戶端 異動管理器 Rollback Transaction (轉返異動) 用戶端 異動管理器 GrantTransactionld (授與異動id) 異動管理器 用戶端 LogUpdated (記錄已更新) 異動管理器 用戶端 CommitDone (委託完成) 異動管理器 用戶端 RollbackDone (轉返完成) 異動管理器 用戶端 ReleaseOperationld (解除操作id) 異動管理器 鎖定管理器 GetOperationld (獲得操作id) 用戶端 鎖定管理器 LockRequest (鎖定請求) 用戶端 鎖定管理器 92988.doc -38- 1317073
ReleaseOperationld (解除操作id) 用戶端 鎖定管理器 LockRelease(*) (鎖定解除*) 用戶端 鎖定管理器 Gran tOper at ionld (授與操作id) 鎖定管理器 用戶端 LockGrant (鎖定授與) 鎖定管理器 用戶端 LockRefused (鎖定被拒絕) 鎖定管理器 用戶端 LockQueued (鎖定已佇列) 鎖定管理器 用戶端 Oper at ionldRe leased (操作id已解除) 鎖定管理器 用戶端或異動 管理器 LockReleased (*) (鎖定已解除*) 鎖定管理器 用戶端 AgentRequest (代理請求) 鎖定管理器 鎖定代理 AgentReleaseAll (代理解除全部) 鎖定管理器 鎖定代理 AgentRelease (*) (代理解除*) 鎖定管理器 鎖定代理 AgentGrant (代理授與) 鎖定代理 鎖定管理器 AgentRefus-e (代理拒絕) 鎖定代理 鎖定管理器 AgentAvail (代理可用) 鎖定代理 鎖定管理器 AgentAllRel eased (代理全部已解除) 鎖定代理 鎖定管理器 AgentReleased (*) (代理已解除*) 鎖定代理 鎖定管理器 標有星號(*)的請求僅用於鎖定之用戶端控制位準。 9.2用戶端一異動管理器請求/回應 本節說明用戶端與異動管理器之間的請求/回應協定。 92988.doc -39- 1317073 在某些實施方案中,用戶端請求包括BeginTransaction、 LogUpdate、CommitTransaction及 RollbackTransaction。
BeginTransaction()請求係來自用戶端的為用戶端操作 請求操作id之訊息,該用戶端操作將在異動控制(及鎖定之 異動位準)下執行。該用戶端要求異動管理伺服器之一提供 操作id。某些實施方案中,其係用戶端之系統上的異動管 理伺服器。該異動管理器產生之操作id係用於發佈給異動 管理器及鎖定管理(Lock Management; LM)群組祠服器之請 求。
LogUpdate(OperationId,Request, ReverseRequest)請求係 從用戶端至異動管理器的要求記錄更新動作及需採取的用 以逆轉該更新的動作之訊息。
CommitTransaction(Operationld)請求係從用戶端至異動 管理器的要求啟動用於該異動的委託處理之訊息。
RollbackTransaction(Operationld)請求係從用戶端至異 動管理器的署求啟動用於該異動的轉返處理之訊息。 某些實施方案中,異動管理伺服器支援以下回應訊息: Grant Tran sactionlD 、 LogUpdated 、 Commit Done 及
RollbackDone。
GrantTransactionlD(Operationld) 回 應係、 對 BeginTransaction請求之回應。異動管理器產生唯一操作id 並將該操作id返回給用戶端。Operationld之前置(即操作id 之第一部分)指示該操作id係藉由一異動管理器為一異動而 產生。 92988.doc -40- 1317073
LogUpdated(OperationId, Request)回應係從異動管理器 至用戶端之回應訊息,指示異動管理器已完成記錄更新動 作(如請求所識別)。
CommitDone(Operationld)回應係從異動管理器至用戶端 的回應訊息,指示該Operationld所識別的異動之委託處理 已成功完成。此訊息係回應CommitTransaction請求而傳送。
RollbackDone(Operationld)回應係從異動管理器至用戶 端的回應訊息,指示該Operationld所識別的異動之轉返已 完成。此訊息可應 CommitTransaction或 RollbackTransaction 請求而傳送。 9.3用戶端一鎖定管理伺服器請求/回應 本節說明用戶端與鎖定管理伺服器之間的請求/回應協 定。 某些實施方案.中,用戶端請求包括GetOperationld、 LockRequest、ReleaseOperationld及 LockRelease。
GetOperationld ()請求係來自鎖定察覺用戶端之訊息, 其為該用戶端將執行的操作請求操作id。該用戶端要求鎖 定管理群組伺服器之一提供操作id。向其他鎖定管理群組 伺服器發佈請求時,使用該鎖定管理伺服器產生之該同一 操作id。在異動致動的環境中,Operationld可利用 BeginTransaction請求獲得,且此請求將不會向鎖定管理伺 服器發佈。若在發佈BeginTransaction請求之後發佈 GetOperationld請求,則將產生第二 Operationld。
LockRequest(AgentRequest[], Type[],Operationld)請求 92988.doc -41 1317073 係來自鎖定察覺用戶端之訊息,其請求「Type」參數所指 定類型(讀取或更改)的一或多個鎖定。該等鎖定係為了所指 定的操作id而獲得。
ReleaseOperationld(Operationld)請求係來自鎖定察覺用 戶端之訊息,其請求解除該操作id所持有的全部鎖定。將 此請求傳送至參與該操作的各鎖定管理群組伺服器,儘管 該操作id係從一個鎖定管理群組伺服器獲得。在異動致動 的環境中,ReleaseOperationld請求係藉由結束異動(例如, 委託或轉返後完成)而生效,並且用戶端不必發佈 ReleaseOperationld命令。
LockRelease(AgentRequest[], Operationld)請求係來自鎖 定察覺用戶端之訊息,其請求解除特定的鎖定。此命令對 鎖定之用戶端控制位準有效。某些實施方案中,原先授與 的鎖定與解除的鎖定之間並不存在一對一關係。即用戶端 並不必同時解除所有鎖定。 某些實施穸案中,回應用戶端請求,鎖定管理伺服器支 援以下回應訊息:GrantOperationld、LockGrant、 LockRefused 、 LockQueued 、 Op erationRe leased 及 LockReleased o
GrantOperationld(Operationld)回應係對 GetOperationld 請求之回應。鎖定管理伺服器產生唯一操作id並將其返回 給用戶端。
LockGrant(AgentResults[],Operationld)回應係對來自用 戶端的LockRequest請求之回應。AgentResults識別對所請 92988.doc -42- 1317073 求資源授與之鎖定及授與的鎖定之類型。AgentResults可與 AgentRequest不同。即該鎖定可能已提升至更高鎖定(例 如,讀取鎖定提升至更改鎖定)。若用戶端已讓多個操作啟 動,則LockGrant亦將返回操作id。AgentResults返回請求之 鎖定或提升之鎖定。AgentResults不包括暗含之鎖定(經由 級聯鎖定)。因此,用戶端知悉該用戶端為之請求鎖定的物 件。該用戶端可能不知悉該鎖定的物件「以下」的物件。 然而,會報告鎖定提升。鎖定提升係值「升級」所持有的 鎖定以增大鎖定範圍或升級鎖定類型。提升可為從讀取鎖 定提升至更改鎖定,或從實例鎖定提升至代理鎖定。因用 戶端可能根據提升合理地進行最佳化(例如,停止向操作已 經持有代理鎖定的代理發佈鎖定請求),故將報告提升。
LockRefused(AgentResults[],Operationld)回應係對來自 用戶端的LockRequest請求之回應。若無法授與鎖定,且佇 列中該鎖定請求已逾時,則用戶端將得到此回應。對於用 戶端已讓多個操作啟動之情形,LockRefused亦會返回操作 id。
LockQueued(AgentResults[],OperationId)回應係在鎖定 請求進入佇列時由伺服器傳送的回應訊息。此回應訊息並 不必然需要用戶端採取行動,然而,LockQueued訊息告知 用戶端操作處於仔列狀態。所返回的Operationld識別正在 經歷鎖定佇列之操作。
OperationReleased(Operationld)回應係對來自用戶端的 ReleaseOperationld請求之回應。若用戶端已讓多個操作啟 92988.doc -43- 1317073 動,則OperationReleased亦將返回操作id。
LockReleased(AgentResult[],Operationld)回應係對來自 用戶端的LockRelease請求之回應。AgentResult可與 LockRelease請求中的AgentRequest不同。例如,若代理已 將實例鎖定提升至代理鎖定,則該鎖定可能不會得到解 除。實際上,AgentResult可為空陣列。LockReleased回應 適用於鎖定之用戶端控制位準。對於鎖定之異動位準,會 拒絕LockRelease請求。對於鎖定之隔離位準,LockRelease 請求將導致鎖定位準降至用戶端控制位準。 9.4鎖定管理伺服器一代理請求/回應 本節說明鎖定管理伺服器與鎖定察覺代理之間的一組特 定請求/回應。 某些實施方案中,鎖定管理伺服器請求包括 AgentRequest、AgentReleaseAll及 AgentRelease。
AgentRequest(AgentRequest[],OperationId)請求係發佈給 鎖定管理器0將鎖定請求轉移至個別代理之鎖定請求。此 請求將代理管理之該等物件的鎖定請求傳遞給該代理。傳 遞給該代理之巔定請求傳遞操作id以識別請求鎖定之用戶 端操作。持有授與的鎖定,直到明確解除為止經由 AgentRelease請求)。
AgentReleaseAU(Operationld)請求係要求解除操作(用戶 端)所持有的全部(代理)鎖定之請求。伺服器不必明確列& 需解除的鎖定,因為操作id暗含該等鎖定。即鎖定代理應 該保存用於操作之鎖定,而AgentRelease All請求將解除才桑 92988.doc -44- 1317073 作所持有的全部鎖定。
AgentRelease(AgentRequest[], Operationld)請求係要求 解除選定的操作(用戶端)所持有的鎖定之請求。若用戶端操 作係在鎖定之用戶端控制位準下操作,則將發佈此請求。 某些實施方案中,對於異動環境,另有三個請求會發佈。 第一請求係來自鎖定管理伺服器之「Prepare to Commit(準 備委託)」請求。「Prepare to Commit」請求係異動管理器之 功能,用以告知代理準備好委託。即「Prepare to Commit」 請求告知代理,異動即將結束,該代理應準備好委託或轉 返。來自代理之確認表示該代理可以進行上述任一動作。 代理可從異動管理器得到之第二請求係「Rollback Agent (轉返代理)」請求或「Commit Agent (委託代理)」請求。某 些實施方案中,異動管理器可藉由發佈「反向」動作而驅 動轉返,而非依賴於代理智慧以進行轉返。 某些實施方案中,代理回應包括AgentGrant、 AgentRefuse AgentAvail 、 AgentAllRe leased 及
AgentReleased °
AgentGr ant (AgentRe suit [], Operationld)回應係對 AgentRequest請求之回應 。AgentResult列表可較 AgentRequest列表為短。此意味著一些請求之鎖定將被拒絕 (參見下文)。授與之鎖定將顯示CIMObjectPath及授與的鎖 定之類型(例如,讀取或更改)。某些實施方案中, AgentResults包括鎖定提升(例如,讀取鎖定提升至更改鎖 定,或實例鎖定提升至代理鎖定),但AgentResults不包括 92988.doc -45· 1317073 暗含或級聯的鎖定。
Agent Re fuse(AgentResult[], Operationld, QueueTime)回 應係在代理拒絕任何鎖定請求時由代理發佈的回應訊息。 A gent Result中識別受拒絕之鎖定,並且提供QueueTime。此 為代理願意讓任何受拒絕之鎖定留在佇列中之時間間隔。
AgentAvail(AgentResult[])回應告知鎖定管理伺服器,先 前請求(及佇列)之資源現已可用。實際的佇列係在鎖定管理 伺服器中完成。然而,需要此訊息以讓鎖定管理伺服器知 悉,鎖定未察覺用戶端所持有的資源現已可用於鎖定。
AgentAllReleased(Operationld)回應係 為回覆 AgentReleaseAll請求而由代理傳送給鎖定管理伺服器之訊 息。
AgentReleased(AgentResult[], Operationld)回應係代理為 回覆AgentRelease請求而傳送給鎖定管理伺服器之回應。與 AgentRelease請求一樣,此命令適用於鎖定之用戶端控制位 準。 10.0發現 某些實施方案中,管理員設定鎖定管理伺服器,並給各 鎖定管理伺服器指派一唯一鎖定管理群組值。然後,管理 員將鎖定管理群組值指派給代理。各代理或不屬於任何鎖 定管理群組,或屬於一個鎖定管理群組。代理之預設鎖定 管理群組值係「DefaultUnconfigured(預設未配置)」。 鎖定管理用戶端在發現服務代理的過程中決定鎖定管理 群組、其鎖定管理伺服器及鎖定管理代理。此發現程序告 92988.doc -46- 1317073 知用户端使用何鎖定管理飼服器以鎮 的貧源。某些實施方案中,若―一上鎖定^理代理t 發現機制(即,將關於網路資源的 “里伺服器向 公佈自己支援-個鎖定管理群組值,:將於::中之機制) 鎖定管理飼服器出現並發現另-鎖定管理:現„錯誤。若— 自己。 群組值,則該鎖定管理词服器不應公佈其 服=:並;:r鎖定管理群組無鎖定管_ ㈣為「麵定」致動。 =些實施方案中,鎖定f理係藉由所有 祝明之鎖定設計的構成组件來實施, ^本文 =中的非鎖定輪件並存。某些實施方案中,鎖: 吕理係在鎖定管理伺服 μ 負疋 一鎖定環境,而用, 理代理中實施,以實現 其 端中m丨留予用戶端決斷。鎖定
吕里飼服器或鎖定代理鈐A 未察覺代m腺 鎖定之用戶端或鎖定 下文將進一步論述各種情形。 u·1鎖定未察覺用戶端 &未察覺用戶端係對操作不實施鎖定管理之用戶端或 χ不實施鎖定之用戶端(例如舊有用一 理從鎖定未用“ 售有用戶知)田鎖疋祭覺代 在未不見用戶&接收更新請求時,該鎖定察覺代理 —Λ,^期間内將該操作視為已經鎖定(即鎖定以更改鎖 ^模該代理之鎖定察覺用戶端。即若該動作更新 則暗含的鎖定係對該請求所影響的資源之更改鎖 92988.doc •47- 1317073 定。若該操作為讀取, 讀取。本質上,若鎖定二覺J視該動作為「無鎖定」 的該物件模型之任何^戶端試圖更新⑽所代表 (即拒絕請求)。#’則可㈣該鎖定未察覺用戶端 若無鎖定察覺用戶端持有對鎖定未察覺用 貧源之鎖定,則允許執行該請求 2改的 等效物)使得來自鎖定察覺用戶端較改鎖定(或 定= 定察覺用戶端之鎖定請求,可作列鎖 疋《月求。该代理返回件列兮占…咬 因鎖定未察覺— ::戶端完成時,該代理將向鎖定管理器發= 訊息。 2鎖定未察覺代理/物件管理器 鎖定未察覺代理或物件管理器❹實施鎖定管理之代理 或物件管理器。 某些實施㈣中,鎖定未察覺公共f訊模型—擴充標示 語言(Common Informati〇n M〇del ExtensiMe m的耶
Language ; CIM-XML)伺服器(即具有CIM物件管理器與代 理之CIM伺服益' )並不支援額外的用於授與及解除鎖定之内 在方法。發現該等舊有角色的用戶端將像鎖定未察覺用戶 端一樣處理不變操作。 12.0鎖定管理用戶端 用戶端辨識自己在其中操作的鎖定環境。首先,用戶端 辨識鎖定管理器之存在或不存在。然後,用戶端辨識異動 92988.doc -48 - 1317073 管理器之存在或不存在。若所 右所有代理均為鎖定 且存在異動管理器,則該等代理可使 μ見代里並 若不存在異動管理器,列哕# 異動位準。 1厂亥專代理使用隔離位準或用戶嫂 控制位準,或者根本不進行鎖定。 鸲 若組態中存在鎖定未察覺代理, 幻用戶知辨識到該箄仲 理上的任何動作皆❹會得到保護。此外, 執行鎖定之異動哎隔齙命唯μ 4 ^月白’ 兴動次隔離位準的操作 覺代理的能力。 兩關於鎖疋未察 用戶端決定任何給定操作中 及可撼μ ㈣Mu同時性 2擴充性之目的,理想的係用户端使用「最低」鎖定位 準以支援操作。例如,共用ό山 ' ^ ( 立而掃插S an以搜尋可用的錯 存(即用於純讀取操作),則 何計h ^理想的係該用戶端根本不使用任 订鎖疋。右用戶端掃描可 準即足心< 田了用的健存以建立一卷’則隔離位 丰^則紐所發現的儲存可實際地用於建立該儲存卷。 ^之異動位#的使用保留用於涉及多個需要協調的、 2SA財多個代理上進行的更新之複雜操作。 m .., . 下執订刼作的用戶端藉由從異動管 ==用戶端將使用的鎖定管理器之一請求操作ld而開始 二。可從任何鎖定管理器請求該操作Id,然而,若用 而從用戶端使用的鎖定管理器之一請求該操作Id則更有 用於鎖定管理用 (1)用戶端編制用 理伺服器及異動管 戶端之規則概括如下: 戶端在操作中必須應付的代理、鎖定管 理器之目錄,以決定鎖定是否覆蓋全部 92988.doc •49- 1317073 代理以及該鎖定環境是否係 碼為鎖定操作以及所用的鎖定位,兄。操作是否可編 端可根據用戶端對操疋位準可隨操作而異。即用戶 將使用的鎖定位準。 了種鎖疋的理解來選擇用戶端 ⑺鎖定管理用戶端在該用戶端—次 作之前獲得對㈣進行-動 作之前完成。某些實施方案中:不二:正好在執行該動 獲得所有較,而對「建立 在“㈣動作之前 含在「建立」請求上。」月’例外。更改鎖定係暗 (3)單一鎖定管理請求包 之代理的制。 匕括對處於同—鎖定管理群組中 ⑷當操作完成時,鎖定管理用戶端解除鎖定。若 使用異動管理ϋ(即委託或轉返暗含解除鎖定), 端,此解除將自動完成。 、用戶 ⑸若有任何鎖定請求受到拒絕,則鎖定管理用戶端進行 恢復」並解除鎖定。即若鎖定請求受到拒絕,則將保持 §亥操作持有的現有鎖定以使應用程式可嘗試進行其自己的 「取消」或調用異動管理器轉返功能。以上任_動作一經 完成,鎖定便會解除。 (a)於鎖定之隔離位準或用戶端控制位準執行的鎖定 管理用戶端負責「取消」遇到故障狀況之前進行的該操 作之任何部分。 (b)若鎖定管理用戶端嘗試獲得鎖定,而該嘗試失敗, 則該鎖定管理用戶端可再次進行鎖定嘗試。某些實施方 92988.doc -50- 1317073 案中,並不推薦進行 拒絕進行再次㈣ ’且敎#理健器可藉由 13.0鎖;^管理飼服器’啦鎖定來實行此規則。 鎖疋長序涉及—鎖定管理器(例如一鎖定 其保持用於鎖定之狀態 3服為), 理鎖定請求並日兔*二、°此〜'味著鎖定管理伺服器管 鎖定管理飼服係於鎖定管理飼服器位準得到解決。 代理㈣相可偵測明顯的衝突並仔列請求,而… 代理商議。鎖定管理器保持(例如)下列狀態資訊·· ^ •用戶端(操作id)持有的鎖定 •具有用於用戶端(操作⑷的鎖定之代理 求;鎖定件列(件列於其他鎖定請求之後的用戶端鎖定請 •鎖定彳宁列逾時 鎖疋十中,對於任一給定鎖定管理 動的鎖定管if枸BE抑 砰、、均有一個活 ,方:Γ 。代理屬於一個鎖定管理群組。某此 a方案中―’鎖定設計支援代理不屬於任 二 戒:然而,此種代理所管理的資源不受鎖定控制。 =較管料服器在發現鎖定管理器代理的過程中’ 】-到另-活動鎖定管理飼服器具有相同的鎖定 =則該鎖定管理祠服器不會啟動自己。然而,該鎖定管 理飼服器可啟動與該其他具有相同較管理群組 :理飼服=通信,並且將自己建立為該鎖定管理群二 備用鎖疋官理群組伺服器。 鎖定管理伺服器辨識其執行環境。明確言之,該鎖定管 92988.doc -51 - 1317073 理伺服器發現其他鎖定管理群組飼服器,驗證該鎖定管理 词服器係用於其鎖定管理群組值之唯一鎖定管理飼服器。 另外’該鎖定管理伺服哭菸招仏士曰士丄 發現所有具有相同鎖定管理群组 值之代理。 致動一鎖定管理伺服器以執行下列功能: ⑴支援並實行鎖定位準(異動、隔離或用戶端控制)。明 I之,若Opemi❶nId係異動id(即前置係開),則鎖定管理 器將不支援在異動結束前解除鎖定。在隔離位準對用戶端 控制位準之情形中,鎖定管理器將假定隔離位準,直到用 戶端解除個別鎖定為止。然後,鎖定管理器將該操作標示 為受用戶端控制。 _⑺產生0perationId。伺服器能產生操作id以識別鎖定之 離位準及用戶端控制位準的用戶端操作。某些實施方案 中,Operat聰⑷系複合值。值的第一部分指*射非異動^ 第二部分係鎖定管理群組值,而值的第三部分係鎖定管理 群組内的唯:識別符。識別符係〇至232-ι範圍中的整數。此 即使得距離足以避免同一時間訊框令發生再用。 (3)猎由記錄何持有者(0perationId)持有何資源(例如 CIM〇bjectPath)來保持鎖定記_ ’另和保持仔列的鎖定請 求之記錄。 ⑷在鎖定管理器或鎖定代理發生故障後恢復鎖定。另 外,恢復鎖定佇列。 (5M宁列受到阻擋之鎖定請求。可允許的仔列時間由本來 會鎖定該資源的代理提供。鎖定管理飼服器監視仔列上之 92988.doc -52· 1317073 時間以兒現代理說明之仔列時間。若仔列時間在操作以 鎖定之琢過期’則將返回給用戶端—鎖定被拒絕訊息。于 ⑹當用戶端要求時解㈣m管理㈣器❹代理 及用戶端之心跳功能,以在故障時解除鎖定(例如,用戶 端、代理或通信故障)。心跳功能係(例如)從伺服器傳送至 用戶端及代理的信號,而對該信號之回應指示作出回库的 用戶端或代理運作正常。 一 鎖定管 某些實施方案中,鎖定管理飼服器亦實施與其他 理态之通信,以實現鎖定管理之故障復原。 13.1鎖定管理伺服器功能 某些實施方案中 功能: 鎖定管理伺服器最少具有下列特徵及 ⑴接受鎖定管理健器請求並提供規定之回應。 (2) 驅動鎖定管理代理請求並處理其回應。 (3) 畲支援鎖定察覺用戶端操作時,作出說明。 服器故 ⑷受制於_單點故障’但亦設計為支援鎖定管理飼 障復原。 (5)在自有鎖定管理群組範圍内執行功能。 13.2鎖定管理器之可選増強功能 某些實施方案中,可 J »又彳鎖疋g理态以支援以下事項: (1) 高可用度鎖定管理伺服器。 (2) 異動式鎖定管理伺服器。 14.0鎖定管理代理考量 鎖定察覺代理應準備既可在鎖定模式下操作,亦可在無 92988.doc *53- 1317073 鎖定模式下操作。I七μ ' 鎖疋察覺代理做什麼將隨操作而異。 在初始發現過程中, 、 中鎖疋察覺代理尋找其鎖定管理群袓 伺服器。若找到销$ & 到鎖疋官理群組伺服器,則致動該代理之鎖 疋能力。若未找到銷宗总" 疋S理群組伺服器,則該代理將在無 鎖定模式下操作。 … /、實轭方案中,處理鎖定請求時鎖定管理代理需遵循 的規則係如下: ()持有所有&與之鎖^ ’直到明確解除為止。 ()阻擋來自鎖定未察覺用戶端的、會與鎖定察覺用戶端 持有之鎖定相衝突的動作。 0)在由於鎖定未察覺用戶端之使用而拒絕一鎖定請求 之後通知(經由AgentAvail)其鎖定管理伺服器資源何時可 用。 15.0鎖定管理使用案例 為尤月鎖疋3又s十,下文將描述一組用於用戶端操作之方 案。對於下列各方案,說明鎖定邏輯: (1) 於儲存不足的虛擬系統上建立卷。 (2) 將健存從一個虛擬系統移動至另一個虛擬系統。 (3) 將儲存從一虛擬系統移動至一基於主機的虛擬系統。 (4) 在邏輯卷管理器上建立一邏輯卷並由一虛擬子系 統及一磁碟陣列向該邏輯卷提供儲存。 15.1在虛擬系統上建立卷 圖4A顯示根據本發明某些實施方案在一儲存不足的虛擬 系統上建立一卷。用戶端(Cl)400試圖在虛擬子系統 92988.doc -54- 1317073 (Vl)410上建立一卷,但虛擬子系統4ι〇並不具有足夠的儲 存以建立3亥卷。故用戶端4〇〇首先從磁碟陣列% ^ 獲得 儲存。分配該儲存給乂丨410,然後該儲存可用於V1 41〇。 該等動作與操作icn (〇pl)相關聯。此操作之特定步驟係如 下: (1) 在SS1 420上建立一卷(例如,經由CIM2St〇rage C〇nfigUrationService(儲存組態服務)敘述句)_此涉及到鎖 定SS1 420中的儲存集區並發佈該建立卷服務。此方案中之 假定係虛擬子系統410不自動提供儲存。用戶端4〇〇完成在 SS1 420上建立該卷。 (2) 將該卷指派給V1 41〇 —將剛建立的該卷指派(即邏輯 單元號瑪(logical unit number ; LUN)映射)給V1 410。假定 係直到用戶端400將該卷映射至V1 41〇,V1 41〇才控制該 卷。 (3) 將該卷增加至V1 410上的一儲存集區以擴充該集區— 指派給VI 4_10之該卷在VI 410物件模型中係作為擴充區出 現。用戶端400將該擴充區增加至乂141〇儲存集區,其將容 納該新VI 410卷。 (4) 在VI 410上建立一 LUN—用戶端4〇〇在¥1 41〇上實際 建立該卷。 圖4 B顯示根據本發明某些實施方案在一儲存不足的虛擬 系統上建立一卷的動作序列中之鎖定步驟及主要用戶端動 作請求表460。 15.2將儲存從一個虚擬系統移動至另一個虛擬系統 92988.doc •55- 1317073 圖5 A顯示根據本發明某些實施方案將儲存從一個虛擬系 統移動至另一個虛擬系統。用戶端(C1) 51〇試圖將儲存從— 個虛擬系統(VI) 520移動至鎖定管理群組A 5〇〇中之另一個 虛擬系統(V2) 530。為此,用戶端51〇釋放V1 52〇上的儲存, 然後將釋放之儲存指派給V2 53〇。自¥1 52〇釋放之館存為 鎖定管理群組B 54〇中的陣列卻55()所持有。該等動作與 知作id 1 (Op 1)相關聯。此操作之特定步驟係如下: (1) 刪除 Vi 520上的擴充區(St〇rageC〇nfig_i〇nService) —此涉及到鎖定V i 5 2 0中之儲存集區並發佈刪除擴充區服 務。此方案中之假定係鎖定該儲存集區會鎖定該儲存集區 之擴充區。 (2) 自VI 520解映射SS1 550 —此涉及到鎖定SS1 55〇卷及 映射該卷的埠/啟動器。此處之假定係映射所涉及的物件即 為需要鎖定的物件(從映射請求來看)。 (3) 將SS1 550卷映射至¥2 53〇 一該操作已經持有對該卷 的鎖定,但镇操作亦鎖定用於V2 53〇之新埠/啟動器。 (4) 將擴充區(SS1 55〇卷)增加至V2 53〇儲存集區 (st〇ragec〇nfigurationService)—此涉及到鎖定 v2 53〇上的 儲存集區。 圖5B及5C顯示根據本發明某些實施方案在鎖定之隔離 位準下將儲存從一個虛擬系統移動至另一個虛擬系統所採 取的動作序财之鎖定步驟及主要用戶端動作請求表⑽。 15.3將儲存從虛擬系統移動至邏輯卷 圖6A顯示根據本發明某些實施方案將儲存從虛擬系統移 92988.doc -56- 1317073 動至邏輯卷管理器。用戶端(C1)610將儲存從一個虛擬系統 (VI) 620移動至鎖定管理群組A 6〇〇中之邏輯卷管理器 (LVM1)630。為此,用戶端61〇釋放V1 62〇上的儲存,然後 將釋放之儲存指派給LVM1 630。自VI 620釋放之儲存為鎖 定管理群組B 640中的陣列SS1 65〇所持有。該等動作與操 作id 1 (Op 1)相關聯。此操作之特定步驟係如下: (1) 刪除 VI 620上的擴充區(St〇rageC〇nfigumi〇n Service) -此涉及到鎖^ 620中之儲存集區並發佈刪除擴充區服 務。此方案中之假定係鎖定該儲存集區會鎖定該儲存集區 之擴充區。 (2) 自VI解映射SS1 650—此涉及到鎖定SS1 65〇卷及映射 該卷的埠/啟動器。此處之假定係映射所涉及的物件即為需 要鎖定的物件(從映射請求來看)。 (3) 將SS1 650卷映射至LVM1 630—該操作已經持有對該 卷的鎖定,但該操作亦鎖定用於LVM1 63〇之新埠/啟動器。 (4) 將擴充區(SS1 640卷)增加至LVM1 630邏輯卷群組(儲 存集區)(St〇rageC〇nfigUrationService)—此涉及到鎖定 LVM1 630上的邏輯卷群組。 圖6B及6C顯示根據本發明某些實施方案在鎖定之隔離 位準下將儲存從虛擬系統移動至邏輯卷管王里器所採取的動 作序列十之鎖定步驟表660及主要用戶端動作請求。 15.4建立一邏輯卷並從多重來源向其供應儲存 圖7A顯示根據本發明某些實施方案建立一邏輯卷並從多 重來源向該邏輯卷供應儲存。用戶端(Cl)7〇〇試圖 —= 92988.doc -57- 1317073 輯卷並從乡重來源供應料料賴卷。明確言之,用戶 知700希望攸虛擬系統(V1) 72〇及儲存陣列(如)㈣取得儲 存。該等動作與操作ldl(〇pl)相關聯。此操作之特定步驟 係如下: (1) ^L VI 720Ji 5t ^ 4(StorageConfigurationService)- jtb 涉及到敎VI 720中之儲存集區並發佈建立卷服務。 (2) 將VI 720卷曝露(即映射)於主機(即邏輯卷管理器 1(則1)71〇)—此涉及到鎖定VI 720卷及映射該卷的埠/啟 動器。此處之假定係映射所涉及的物件即為需要鎖定的物 件(從映射請求來看)。 (3) ^ SS1 730_L iL 4 (StorageConfigurationService)- 此涉及到鎖定SS1 730中之儲存集區並發佈建立卷服務。 (4) 將SS1 730卷曝露(即映射)於主機(即lvm”—此涉及 到鎖定SS1 730卷及映射該卷的琿/啟動器。此處之假定係映 射所以及的物件即為需要鎖定的物件(從映射請求來看)。 (5) 將邏輯_磁碟(即擴充區)增加至71〇邏輯卷群組 (儲存市區)(St〇rageConfigurationService)—此涉及到鎖定 LVM1 710上的邏輯卷群組。 圖7 B及7 C顯示根據本發明某些實施方案在鎖定之隔離 位準下建立邏輯卷並從多重來源供應儲存給該邏輯卷所採 取的動作序列中之鎖定步驟表⑽及主要用戶端動作請求。 16·0鎖定及異動管理 "圖8顯示根據本發明某些實施方案為處理系統中之 鎖定而實施的邏輯。控制以步驟8〇〇開始,其中用戶端識別 92988.doc -58 - 1317073 需鎖定「的資源。該用戶端亦知悉何代理控制對該資源之存 取(即「控制該資源),且咳 ’、 理㈣、矣…, 定請求經由鎖定管 ==該資源的存取之該鎖定代理(步_)。 :==拒絕該鎖定請求(82°),且該代理將對該鎖定 二:=送至鎖定管理器(㈣)。該鎖定管理器決定該 ! ;; !!到授與(步驟840)。若該鎖定請求得到授 ^ 、°亥鎖疋官理器將授與通知轉發給該用戶端 i °亥鎖疋官理器佇列該鎖定請求(步驟850)。 邏π示根據本發明某些實施方案鎖定管理器所實施的 邏:用控制以步驟9_始,其中鎖定管理器 : 應商用戶料《導向至乡重供應商伽 : ::多重供應商代理至多重供應商用戶端二在多: 供應商環境中,多重供庫 …在夕重 角色d… 所有供應商開發的 π或用戶端)中實施相同的邏輯。血型的SAN 環境包括多重供應商環境。因:【:⑽ 端」係用以指示各用戶端重供應商用戶 開發。術語「多重供岸商代4子集可能由不同供應商 早金〜 .應商代理」係用以指示各代理或代理 /、可忐由不向供應商開發。 鎖定管理器保持各多重供 上之狀離…商用戶端及多重供應商代理 應商代理㈣Λ ㈣用於受到多重供 行心跳功▲… 之佇列(步驟9 2 〇)。鎖定管理器執 作正常(牛Γ 重供應商用戶端及多重供應商代理運 F 书(步驟930)。 圖1〇顯示根據本發明某些實施方案異動管理器所實施的 92988.doc -59- 1317073 邏輯。控制以步驟丨000 优一心 開始,其中異動管理器接收異質分 布式裱境十異動正在開始 w β ^ — 9 ^ 吳貝分佈式環境係代 里、異動官理器、鎖定管理哭 相同或不同供應商·::寻角色的子集可能來自 用…… 驟1010中,異動管理器產生 用:该異動的插作識別符。步請。中,異動管理器記錄 ⑽作識別符所識別之該異動的動作,且該等動作包 請=對t的反向請求(用於轉返中)及鎖定授與。例如, 二表”’、立卷X」’此情形下對應的反向請求將為「刪 = 中’異動管理器執行用於該異動的委託 處理。步驟1 〇4〇中,里動总/ 理(若有需要)。-g Θ執订用於該異動的轉返處 及_員示根據本發明某些實施方案在決定使用 作識別符以較資源時級聯代理所執行的邏輯。圖1以 中,控制以步驟1100開妒 開始其中第一代理接收具有關聯的 :::別…戶端要求鎖定該第-代理控制的資源之鎖
Si:::代理利用與該用戶端相關聯的該操作識別 疋以弟一厂理控制之該資源(步驟H〇2)。即該鎖定斑該 插作識別符(其與該用戶端相關聯)相關聯。若接收到另1利 ^該相同操作識別符鎖定該資源之請求,則授與該鎖定請 °亥第代理決定是否應利用該相同操作識別符鎖定第_ 代理控制之額外眘、,原,、,+ ^ ~ 原以處理該用戶端之請求,其根據係對 代理執行的該操作是否必須於㈣戶端之請求完成 時完成(步驟腦)。即若對該第二代理執行的該操作必=於 92988.doc -60- 1317073 =端:請求完成時完成,則利用該相同操作識別符鎖 控制之该額外資源。步驟〗1〇6中, 應利用該相同極你ΑΑ决疋 牛驟咖 歧該㈣㈣,料理進行至 步驟^職料行至㈣ιιΐ8。 仃至 步驟110 8中,黛—处时 鎖定、 將—敎請求料至第二代理之 痍疋g理态以利用該相 驟1π〇φ〜 ⑽作識別付鎖疋該額外資源。步 扣 弟一代理之鎖定管理器決定是否存在鎖定 大。若存在-鎖定衝突,則處理進行至步驟iu4,否· 理進盯至1112。步驟1114中,第二代理之鎖定管理琴仵歹^ 該鎖定請求。步驟1112中,第二代理错—一 丁 ^ ^ ^ ^ . 一代里之鎖疋官理器將該鎖 疋Μ求傳遞給該第二 貝 別符鎖定該第二代理於制之;代理利用該相同操作識 η埋控制之該貧源(步驟1116) 〇 步驟1118中,第—代理您苴〜 別符。第一代理向第L:管理器中獲得新操作識 Q —代理之鎖疋官理器傳送通知以利用 物作識別符較該額外資源(步驟U20)。步驟1122中, 第二代理H管㈣決定是㈣在鎖定衝^若存在— 鎖定衝突’則處理進行至步驟⑽,否則處理進行至蘭。 步驟1126中,第二代理之鎖定管理器符列該鎖定請求。步 驟 1 1 24 中,第二^ yf-U I® ^ ^ 一 ’貞疋官理器將該鎖定請求傳遞給該 第二代理。該第二代理利用該新操作識別符鎖定該第二代 理控制之該資源(步驟u28)。 圖11C及11D顯示根據本發明某些實施方案當第一代理 鎖定第二代理控制之資源且第二代理接收另一請求以鎖定 該育源時級聯代理所執行的邏輯。圖UC中,控制以步驟 92988.doc -61- 1317073 1150開始,其中第一代理接收且有 戶端g , 八1恥的操作識別符之用 尸鈿要衣鎖&弟二代理控制的資源之… 用 用與該用户端相關聯的該操作定^弟代理利 之該資源(步驟⑽)。圖UD中,控制^亥弟二代理控制 中第-获捉姑,Λ· 控制从步驟1154開始,其 弟一代理接收用戶端要求利用一 代理抻制沾次、s 、作識別付鎖定該第二 ==⑽驟— Μ二代理決定是否已 宰中,藉由二广鎖疋該資源(步驟1156)。某些實施方 系τ,糟由將該第一据作诉 & 作識別付與用以鎖定該資源之一择 作識別符進行比對來決定該第二 原之才呆 _ "^里疋否已利用該相同择 作識別符鎖定該資源。步驟 ’、 ^ ^ ^ . τ 右已利用該相同操作 識別符鎖疋該貧源,則處理進 — 订主’驟1160,否則處理進 仃至步驟1162。步驟116〇中, 運 μ第—代理通知該用戶端已 利用该相同操作識別符鎖定欠 仃頌疋6亥貝源。步驟1162中,第二抑 理向其鎖定管理器傳送對該 Τ忑鎖疋凊求之拒絕。步驟1164 ,第二代理之鎖定管理器仵列該鎖定請求。 圖12顯示根據本發明某些實施方案容許由用戶端之不同 鎖定位準來鎖定管理器所實施的邏輯。控制以步驟㈣開 始,其中鎖定管理器自用戶端接收一命令。步驟ΐ2ι〇中, 鎖2管理器決定是否隨該命令提供有操作識別符,該命令 之前置指示一異動營王軍哭太 里益產生該操作識別符。步驟丨22〇 中右决疋及異動官理器產生該操作識別符,則處理進行 至步驟酬’否則處理進行至步驟124〇。步驟12对,鎖 定管理器以鎖定之異動位準操作。步驟测中,鎖定管理 器以鎖定之隔離位準操作,直㈣戶端解除—鎖定(即任何 92988.doc '62- 1317073 鎖定)〇 — 曰 —用戶端解除一鎖定,鎖定管理器便以鎖定之用 戶端控制位準操作。 ’’頁示根據本發明某些實施方案代理所實施的邏輯。 控:以步驟1300開始,其中代理接收—包括一或多個動作 之$作。該操作係在多個代理上受到保護以防止多個同步 2 口作用戶端之影響,其中操作包含-或多個動作。特定 言之,,對於各讀取保護動#,持有對—資源之讀取鎖定, 、擋寫入動作寫入至受該讀取鎖定保護之該資源(步驟 1310)。對於各寫入保護動作,持有對一資源之更改鎖定, 以阻撞對受該更改鎖定保護之該資源的寫人動作及讀取與 更改鎖定(步驟1320)。 圖14顯示根據本發明某些實施方案敎管理器中實施的 用以解决死鎖之邏輯。控制邏輯以步驟14⑼開始,其中對 於,利用第二操作識別符鎖定之一資源(例如物件),鎖定管 理益接收到對具有第一操作識別符之一鎖定請求的拒絕。 用戶端傳送该鎖定請求’而代理拒絕該鎖定請求。鎖定管 益將《亥鎖疋請求置於具有鎖定件列逾時週期之件列中 (士步驟UH))。步驟1412中,鎖定管理器蚊在該鎖定仔列逾 ¥週期内該鎖定請求是否位於該仔列頂部。若是,則處理 進行至步驟U20,否則處理進行至步驟1414。為引用方便, =所用之仔列「頂部」指作列中之一位置,從該位置該 疋睛求可藉由較管理器處理。步驟1414中,鎖定管理 益決定該鎖定仔列逾時週期是否過^若是,則處理進行 至步驟1450,否則處理進行至步驟丨4丨2。 92988.do< -63. 1317073 '驟20巾鎖疋官理器重新發饰該鎖定請求。特定古 先二::M2。中’鎖定管理器重新發佈該鎖定請求,因: : 鎖定的用戶端已解除該鎖定,且該佇列之鎖定 :求麵以宁列逾時週期内已移動至該仔列頂n主 二二一仵1 之鎖定請求位於传列頂部,鎖定管理器便 鎖-二广鎖疋明求。步驟1430中’若該鎖定請求係在該 鎖疋仔列逾時_㈣龍與,職理進行至步驟1440, 否則處理進行至步驟1412。步驟1440中,鎖定管理器從符 =㈣該鎖定請求。若未授與該鎖定,則重新發佈該鎖 ^月求。以此方式,對-已鎖定資源之鎖定請求或者在稍 後得到授與,或者終止,從而避免死鎖情況。替代性實施 方案中,步驟⑷〇中’根據一或多個因素,諸如先前將鎖 疋請^於陣列中之次數等,可將該鎖定請求放則宁列卜 士特疋吕t ’當一鎖定請求位於佇列頂部並得到重新發佈 時,通常會在稍後授與該鎖定請求。然而,可能存在此情 七即鎖定未察覺用戶端獲得所需的鎖定。因此,重新發 2之鎖定請求即可能會受到代理的拒絕。此情形中,將鎖 =請求放回陣列中並等待「鎖定未察覺用戶端鎖定」解除。 仗代理傳送至鎖定管理器之AgentAvaii訊息提供關於鎖定 未察覺用戶端解除該鎖定的指示。若鎖定管理器得到
AgentAvail訊息,則鎖^管理器知悉應重新發佈該鎖定請 , 或者若分列中之该鎖定請求已逾時,則鎖定管里 捨棄該訊息即可。 口口 額外的實施細節 92988.doc -64 - 1317073 上述用於鎖定及異動管理之技術可實施為採用標準程式 及/或工程技術以生產軟體、韌體、硬體或其任一組合之方 法、設備或製造物品。本文中使用的術語「製造物品」指 在硬體邏輯(如積體電路晶片、可程式化閘極陣列 (Programmable Gate Array ; PGA)、特定應用積體電路 (Application Specific Integrated Circuit; ASIC)等)或電腦可 讀取媒體,如磁儲存媒體(如硬碟驅動器、軟碟、磁帶等)、 光學儲存器(CD-ROM、光碟等)、揮發性與非揮發性記憶體 裝置(如 EEPROM、ROM、PR0M、RAM、DRAM ' SRam、 韌體、可程式化邏輯等)中實施的編碼或邏輯。電腦可讀取 媒體中的編碼係藉由一處理器存取並執行。實施較佳具體 實施例之編碼可進一步藉由傳送媒體或經由網路從檔案伺
術中熟知的資訊承載媒體。 圖8至14之邏輯說明以 乂特定順序發生的特定操作。
施方案。此外,本文所述之 作。在替代 某些操作亦 可以不同順序執行、修改或 上述邏輯,並依然符合上述實 操作可依次發生,某些操作亦 1317073 可並列處理,而 程序來執行。 早王序執行的操作亦可由分散的 ::述的圖8至14之邏輯係在軟 系統之作業系㈣、WT為主機 施方案中,可將 ^ 心用程式。在進一步實 了將此邏輯保持於儲存 記憶體或其他硬t保持於唯續 尘衣置中。較佳邏輯可在硬磁碟中 = 式化及不可程式化閑極陣列邏輯中實施。 圖_示根據本發明某些實施方案角色n〇、i2 =至Γ之架構。鎖定察覺用戶㈣。、異動管理飼服 W20、骸管判服胃13()及料管理代理 皆可實施電腦架構1500,1且有處理…,⑽各 。 、有處理益1502(如一微處理 為)、6己憶體1504(如揮發性記憶體震置)及儲存器i5〇6(如非 :發性儲存器’諸如磁碟驅動器、光碟驅動器、磁帶驅動 為專)。儲存器15〇6可包括内部儲存裝置或附屬的或網路可 絲儲存器。將儲存器15〇6中的程式載人記憶體15〇4,並 藉由處理器L502以本技術中所熟知的方式執行。該架構進 一步包括網路卡1508以便與網路通信。輸入裝置ΐ5ι〇係用 於向處理器1502提供使用者輸入,且其可包括鍵盤、滑鼠、 針筆、麥克風、觸控感應式顯示器螢幕或任何其他本技術 中已熟知的啟動或輸入機制。輸出裝置1512能顯現處理器 1502或其他組件,如顯示監視器、印表機、儲存器等發送 的資訊。 基於說明與描述之目的,前面已提出本發明較佳實施方 案的描述。無意包攬無遺、或將本發明限於所揭示的具體 92988.doc -66 - 1317073 形式。在以上教導的啟發下,可進行許多修改及變更。目 的乃是不將本發明範鳴限於詳細說明…而是將其限制在 隨附的中料利範圍内。上料明書、實似㈣提供本 發明之製造及使用的完整說明。因可對本發明作多種實施 方案而不背離本發明之精神與範脅,故本發明存在於所附 申請專利範圍中。 【圖式簡單說明】 在圖式中,相同參考數字代表對應的部件: 圖1說明根據本發明某些實施方案之一之方塊圖,其用於 鎖定及異動管理包括四個不同角色之參考㈣。 圖2A說明根據本發明某些實施方案之具有 之鎖定環境。 ,、S里盗 圖2B說明根據本發明某些實 之鎖定環境。 方案之不具-異動管理器 圖2 C s兒明根據本發明某此實# f # 田— 方案之具有一鎖定未察覺 用戶端之鎖定環境。 見 圖3說明根據本發明某些實施方案之級聯鎖定。 圖4Α說明根據本發明某肽實 系統上建立-卷。 —貫㈣案在—料不足之虛擬 圖4Β說明根據本發明某此會 統在儲存不足的虛擬系 請求表。 ”的鎖定步驟及主要用戶端動作 圖5Α說明根據本發明某些實施方 統移動至另-個虛擬系統。 子破個虛擬糸 92988.doc -67. 1317073 位〜°說明根據本發明某些實施方案在鎖定之隔離 將館存從—個虛擬系統移動至另—個虛擬系統所採 、—系列動作中鎖定步驟及主要用戶端動作請求表。 :,明根據本發明某些實施方案將儲存從一虛擬系統 移動至一邏輯卷管理器。 :6B與6。說明根據本發明某些實施方案在鎖定之隔離 一:將儲存攸一虛擬系統移動至邏輯卷管理器所採取的 一系列動作中鎖定步驟及主要用戶端動作請求表。 =說明根據本發明某些實施方案建立邏輯卷以及從多 個來源向其供應儲存。 說明根據本發明某些實施方案在鎖定之隔離 >下立邏輯卷及從多個來源中供應儲存給該邏輯 而採取的-系列動作中鎖定步驟及主要用戶端動作請求 表0 圖8說明根據本發明某些實 — —方方案只把以在鎖定及異動 官理(lock ami transaction matiw 〜 gement ; LTM)系統中處理鎖 疋之邏輯。 圖9說明根據本發明苹此眘 月杲二實施方案鎖定管理器所實施的 邏輯。 圖103兒明根據本發明草此每# + + 月系二只轭方案異動管理器所實施的 邏輯。 圖11A與11B說明根據本發 何操作識別符來鎖定資源時, 圖11C與11D說明根據本發 明某些實施方案在決定使用 由級聯代理所實施的邏輯。 明某些實施方案在第一代理 92988.doc -68 - 1317073 鎖定一由第二代理控制的資源並且第二代理接收另一鎖定 該資源之請求時,由級聯代理所實施的邏輯。 圖12說明根據本發明草此會姑古安姓—& m 承+ 乃示二:r她方累鎖疋官理器所實施的 允許用戶端執行不同的鎖定位準之邏輯。 圖13說明根據本發明某些實施方案代理所實施的邏輯。 圖14說明根據本發明某些實施方案在鎖定管理器中實施 的用以解決死鎖4邏輯。 、 圖15說明根據本發明某歧實 ._ ^ ^ 卜 —貫鉍方案一鎖定察覺用戶端、 一異動管理伺服器、一鎖定 g理伺服Is及一鎖定管理代理 之架構。 【主要元件符號說明】 110 鎖定察覺用戶端 120 異動管理伺服器 130 鎖定管理伺服器 140 鎖定管理代理 210 — 鎖定察覺用戶端 220 異動管理器 230 鎖定管理群組 240 鎖定管理伺服器 250 鎖定管理群组 260 鎖定管理伺服器 270 鎖定未察覺用戶端 280 裴置 290 几件管理器用戶端 92988.doc -69. 1317073 300 310 330 340 242 、 244 、 262 、 320 > 350 400 410 420 460 500 510 520 530 540 550 - 560 600 610 620 630 640 650 660 虛擬代理 健存集區 陣列代理 儲存卷 264 鎖定代理 擴充區 用戶端 虛擬糸統 磁碟陣列 表 鎖定管理群組 用戶端 虛擬糸統 虛擬糸統 鎖定管理群組 磁碟陣列 表 鎖定管理群組 用戶端 虛擬系統 邏輯卷管理器 鎖定管理群組 代理磁碟陣列 表 92988.doc -70- 1317073 700 用戶端 710 邏輯卷管理器 720 虛擬糸統 730 儲存陣列 760 表 1500 架構 1502 處理器 1504 記憶體 1506 儲存器 1508 網路卡 1510 輸入裝置 1512 輸出裝置 92988.doc -71 -

Claims (1)

131 7Λ®3ιι2ι2〇號專利申請案 中文申凊專利範圍替換本(98年6月 十、申請專利範圍: 1. 一種用於異動管理之方法,其包含: 於一異動管理器控制下, 备—& y , 市j卜該異動官理器管理且控制異 動之執仃亚與一鎖定認知 動管理器; 之客戶耗口’该客戶知悉該異 從該鎖定認知之客戶處 . 心设叹吳動正在開始之一指示 _ ^該㈣之—操作識別符心應接受到之該指 :…中該操作識別符使用於鎖定請求與對該異動管理 “,及其中該操作識別符係-複合鍵碼,其由用 於指不該操作識別符係由該異動管理器產生之一第一部 二、^鎖疋官理群組名稱和—該異動管理器之名稱之 时的帛部分、以及為該鎖定管理群組和該異動管理 益之一的上下文中的—猫 . 獨特數字的一第三部分複合而成 匕著該操作識別符從該鎖定認知之客戶處接受改變資 科的一改變請求和相對於該改變請求的-反向動作,其 中該反向動作係用於轉返該異動;以及 '、 記錄用於該操作識別符所識別之該異動的動作,豆中 料動作包括該改變請求、對應的反向請求及授與^鎖 定。 、 2·如申請專利範圍第1之方法,其進一步包含: 執行用於該異動之委託處理。 3_如申請專利範圍第2項之方法,其進一步包含: 92988-980617.doc 1317073 使用該等對應的反向請求以執行該異動之轉返。 4. 一種用於異動管理之系統,其包含: 一異動管理器,其管理且控制異動之執行並與一鎖定 認知之客戶耦合,該客戶知悉該異動管理器,該显動管 理器包含; * ~ 一處理器; 一電腦可讀取媒體,該處理器可存取該媒體;以及 私式邏輯,其包括能使該處理器執行下列步驟之代碼: ⑴從該鎖定認知之客戶處接收一異動正在開始之一 指示; (ϋ) 產生用於該異動之一操作識別符以回應接受到之 °玄才曰示,其中该操作識別符使用於鎖定請求與對 /、動s理器之§青求’及其中該操作識別符係— 複合鍵碼,其由用於指示該操作識別符係由該異 動S理斋產生之-第-部分、為-鎖定管理群組 名稱和—該異動管判之名稱之-的-第二部合 、以及為該鎖定管理群組和該異動管理器之—的 上下文中的一獨特數字的一第三部分複合而成; ()隨著德作識別符從該鎖定認知之客戶處接受改 又貝料的一改變請求和相對於該改變請求的—反 向動作其中該反向動作係用於轉返該異動;以 UV)記錄用於該接, 采作識別付所識別之該異動的動作, /、中該等動作包括該改變請求、對應的反向請; 92988-980617.doc 1317073 及授與之鎖定。 如申請專利範圍第4項之系統,其中該代碼能使該處理器 進_步執行以下步驟: 執行用於該異動之委託處理。 6. 、申叫專利fc圍第5項之系統’其中該代碼能使該處理器 進—步執行以下步驟: __使用該等對應的反向請求以執行該異動之轉返。 :種包括用於異動管理之程式邏輯之程式產品,其中該 程式邏輯使操作得以執行,料操作包含: 於-異動管理器控制下,該異動管理器管理且控制異 之執行並與一鎖定認知之客 動管理器; 客戶輕合,该客戶知悉該異 從該鎖定認知之客戶虛 • 各戶處接收—#動正在開始之一指示 9 產生用於該異動之一操作 _ ^ 呆作識別付以回應接受到之該指 :之^該操作識別符使用於鎖定請求與對該異動管理 “,及其中該操作識別符係-複合鍵碼,1由用 於指示該操作識別符 /、由用 仃保由5亥異動營理器產生之一第一邱 为、為一鎖定管理群組名稱和一哕昱 ° -的-第二部分' 〜、s理益之名稱之 1為該鎖定管理群組和該異動管理 益之一的上下文中的_ ; 獨特數字的-第三部分複合而成 隨著該操作識別符從 '吻鎖疋§忍知之客戶虚接总欠 料的一改變請求和相針 又没;負 相對於該改變請求的—反向動作,其 9298S-9S0617.doc 1317073 中該反向動作係用於轉返該異動;以及 記錄用於該操作識別符所識別之該異動的動作,其中 該等動作包括該改變請求、對應的反向請求及授與之鎖 定。 8. 9. 10. 如申請專利範圍第7項之程式產品,該等操作進一步包 含: 執行用於該異動之委託處理。 如申請專利範圍第8項之程式產品,該等操作進一步包 含: 使用該等對應的反向請求以執行該異動之轉返。 一種用於異動管理之系統,其包含: 於一異動官理器控制下,該異動管理器管理且控制異 動之執行並與一鎖定認知之客戶.人,兮分& ▲土 ^ 谷尸耦合,该客戶知悉該異 動管理器; ' 用於從該鎖定認知之客戶虛垃 令尸爽接收一異動正在開始之一 指示之構件; 用於產生用於該異動之—握 _ 备作識別符以回應接受到之 該指示的構件,其中該操作 乍識別付使用於鎖定請求與對 該異動官理器之請求’及其 知作識別符係一複合鍵 碼’其由用於指示該操作識 ^ 別付係由該異動管理器產生 之一弟一部分、為一鎖定管 群組名稱和—該異動管理 為之名稱之一的一第二部分、 該異動管理n之-的上下文/及為該敎管理群組和 分複合而成; 獨特數字的-第三部 92988-980617.doc 1317073 用於隨著該操作識別符從該鎖定認知之客戶處接受改 變資料的一改變請求和相對於該改變請求的一反向動作 的構件’其中邊反向動作係用於轉返該異動;以及 用於記錄用於該操作識別符所識別之該異動的動作的 構件,其巾該等料包括該改變請求、對應的反向請求 及授與之鎖定。 11. 一種用於鎖定管理之方法,其包含: 於一鎖定官理器控制下,該鎖定管理器提供用於鎖定 認知客戶及鎖定認知代理; 曰接收指i操作識別符之—命令,其中該操作識別符 =-複合鍵碼’其由用於指示該操作識別符係由一異動 吕理盗產生之-第-部分、為—鎖定管理群組名稱和一 =異動管判之名稱之m分、以及為該鎖定 第三部分複合而成; “里群組和該異動管理器之—的上下文中的一獨 的一 Λ/r — 一、.. 藉由判定該操作識別符是否為該異動管 作識別符的該第-部分而產生的,以決定該命令是^ 使用该#作識別符之一異動相關聯;以及 哭若決^該命令係與該異動相關聯,則使用該異動管安 益之鎖定異動位準操作。 12.如申請專利範圍第山貝 ^ 井T右决定該命令俜途 该異動相關聯,則該方法進一步包含·· 系〃 支援該異動之單元性、隔離性、 13·如申請專利範㈣u項之方法,若f續性。 八中右决定該命令不與 929S8-9806i7.doc 1317073 該異動相關聯,則該方法進一步包含: 以鎖定之一隔離位準操作,直到決定一鎖定已解除為 止。 14. 15. 16. 17. 18. 如申請專利範圍第13項之方法,其進一步包含: 使用一鎖定以阻擋動作修改該命令所使用的資訊。 如申睛專利範圍第14項之方法,其中該鎖定係一讀取鎖 定。 如申請專利範圍第13項之方法,其進一步包含: 回應該鎖定已解除之決定,以鎖定之一用戶端控制位 準操作。 如申請專利範圍第16項之方法,其中不支援異動之單元 性、隔離性、一致性及持續性。 一種用於鎖定管理之系統,其包含: 於一鎖定管理器控制下,該鎖定管理器提供用於鎖定 認知客戶及鎖定認知代理; 一處理器; 一電腦可讀取媒體,該處理器可存取該媒體;以及 程式邏輯,其包括能使該處理器執行下列步驟之代碼: 接收才曰疋一操作識別符之一命令,装中# p从μ 曰 … ρ 7 再中s亥刼作識別符 疋一複合鍵碼’其由用於;而兮i品从 μ 用於^不°亥知作識別符係由一異動 官理器產生之一第一部分、為一鎖定 明疋官理群組名稱和一 該異動管理器之名稱之—的—第二部分、以及為該鎖定 管理群組和該異動管理器之—的上下文中的—獨特數字 的一第三部分複合而成; 92988-980617.doc -6 - 1317073 19. 20. 21. 22. 23. 24. ..^ ]疋°亥操作識別符是否為該異動管理器使用該操 作識別符的#楚 A 弟一 °卩分而產生的,以決定該命令是否與 使作識別符之一異動相關聯;以及 决疋該命令係與該異動相關聯’則使用該異動管理 裔之鎖定異動位準操作。 申月專利範圍第1 8項之系統,其中若決定該命令係與 乂’、動相關聯,則該代碼能使該處理器進一步執行以下 步驟: 支援4異動之單元性、隔離性、一致性及持續性。 如申請專利範圍第18項之系統,其中若決定該命令不與 6亥異動相關聯,則該代碼能使該處理器進一步執行以下 步驟: 以鎖疋之一隔離位準操作’直到決定一鎖定已解除為 止。 如申請專利範圍第20項之系統’其中該代碼能使該處理 器進一步執行以下步驟: 使用一鎖定以阻擋動作修改該命令所使用的資訊。 如申請專利範圍第2 1項之系統,其中該鎖定係一讀取鎖 定。 如申請專利範圍第20項之系統,其中該代碼能使該處理 器進一步執行以下步驟: 回應該鎖定已解除之決定,以鎖定之一用戶端控制位 準操作。 如申請專利範圍第23項之系統,其中不支援異動之單元 92988-980617.doc 1317073 性、隔離性、一致性及持續性。 25. -種包括用於鎖定管理之程式邏輯之程式產品, 程式邏輯使操作得以執行,該等操作包含: 於鎖疋官理器控制下,該鎖定管理器提供用於 認知客戶及鎖定認知代理; 、疋 曰:收指定一操作識別符之一命令,其中該操作識別符 疋-複合鍵碼’其由用於指示該操作識別符係、由— 官理器產生之-第—部分、為_敎管理群組名稱和一 :異動管理器之名稱之-的-第二部分、以及為該鎖定 官理群組和該異動管理器之—的上下文中的-獨特數字 的一第二部分複合而成; 定該㈣識別符是否為該異動f理器使用該操 作識別付的該第—部分而產生的,以衫該命令是否與 使用該操作識別符之一異動相關聯;以及 右決疋該命令係與該異動相關聯,則使用該異動管理 器之鎖定異動位準操作。 &如申請專利範圍第25項之程式產品,其中若決定該命令 係與該異動相關聯,則該等操作進一步包含: 支援該異動之單元性、隔離性、一致性及持續性。 27. 如申請專利範圍㈣項之程式產品,其中^決定該命令 不與該異動相關聯,則該等操作進一步包含: 以鎖定之一隔離位準操作’直到決定一鎖定已解除為 止。 28. 如申請專利範圍第27項之程式產品,該等操作進-步包 92988-980617.doc 1317073 含: 使用一鎖定以阻擋動作修改該命令所使用的資訊。 29.如申請專利範圍第28項之程式產品,其中該鎖定係一讀 取鎖定。 30’如申请專利範圍第27項之程式產品’該等操作進一步包 含: 回應該鎖定已解除之決定,以鎖定之一用戶端 準操作。 3=申請專利範圍第3〇項之程式產品,其中不支援異動之 早兀性、隔離性、一致性及持續性。 32 -種用於鎖定管理之系、统,其包含: 於鎖疋官理器控制下,該鎖定管理器提供用於 認知客戶及鎖定認知代理; 。用於接收指定一操作識別符之一命令的構件,其中該 操作識別符是一複合鍵 人 係由-異動管理器產生之一第:t操作識別符 第 D卩分、為一鎖定管理雜 組^稱和—該異動管理器之名稱之—的-第二部分 '以 鎖定管理群組和該異動管理器之-的上下文中的 一獨特數字的-第三部分複合而成; 用於藉由判定該操作識別符是否為 該操作識別符的該第—部八而^ 〜理益使用 否與使用該操作識別符之— 、疋忒〒令疋 異動相關聯的構件;以及 Λ 定該命令係與該異動相關聯,則使用衫動 s理益之鎖定異動位準操作的構件。 " 929S8-9806I7.doc 1317073 33. —種用於鎖定管理之方法,其包含. 於一鎖定管理器控制下,該鎖定管理器管 多個多重供應商客戶端接受之鎖定請求,個或 或多個之多重供應商代理,並管理從該-個或:個 重供應商代理到該-個❹個之多重供應商多 應; 广%»的回 巩仃稷該- 的鎖定請求; 執行功能以確保該等一個或多個之多重供應商客戶端 以及該等一個或多個之多重供應商代理為功能良好,該 功能藉由傳送一訊號至該等一個或多個之多重供應商客 戶端以及該等一個或多個之多重供應商代理中之一者, 並接受對該訊號之一回應,其回應用以指示功能良好; 以及 維持狀態資訊,其中該狀態資訊包含被該一個或多個 之多重供應商客戶端持有之鎖定以及識別該一個 或多個之多重供應商代理持有之鎖定。 34_如申請專利範圍第33項之方法,其中該狀態資訊反應該 一個或多個多重供應商用戶端及該一個或多個多重供應 商代理的狀態。 3 5.如申請專利範圍第34項之方法,其中該等一個或多個多 重供應商用戶端之一係鎖定察覺用戶端。 3 6.如申請專利範圍第34項之方法’其中該等一個或多個多 重供應商用戶端之一係鎖定未察覺用戶端。 92988-980617.doc • 10- 1317073 37. 38. 39. 40. 其進一步包含: :定管理器、該等一個或 個或多個多重供應商代 如申請專利範圍第33項之方法 實行一鎖定協定,其定義該 多個多重供應商用戶端及該等 理之間的互動。 如申請專利範圍第33項之方法, , ~進一步包含: 接收對一資源之一讀取保護動作· 持有對該資源之一讀取鎖定;以及 阻擋寫入動作寫入該資源。 如申請專利範圍第33項之方法,甘 、乃次,其進一步包含: 接收對一資源之一寫入保護動作; 持有對該資源之一變更鎖定; 阻擋寫入動作寫入該資源;以及 阻播對該資源之讀取及變更鎖定。 一種用於鎖定管理之系統,其包含: 於-鎖定管理器控制下’該鎖定管理器管理從一個或 夕個之多重供應商客戶端接受之鎖定請求並導引至一個 或多個之多重供應商代理,並管理從該—個或多個之多 重供應商代理到該一個或多個之多重供應商客戶端的回 應; —處理器; 一電腦可讀取媒體,該處理器可存取該媒體;以及 程式邏輯’其包括能使該處理器執行下列步驟之代碼: 執行被該一個或多個之多重供應商代理拒絕之排列中 的鎖定請求; · 92988-980617.doc • 11 - 1317073 執行心跳功此以確保該等一個或多個之多重供應商客 戶端以及該等一個或多個之多重供應商代理為功能良好 ’該功能藉由傳送一訊號至該等一個或多個之多重供應 商客戶端以及該等一個或多個之多重供應商代理中之一 者’並接受對該訊號之一回應,其回應用以指示功能良 好;以及 維持狀態資訊,其中該狀態資訊包含被該一個或多個 之多重供應商客戶端持有之鎖定以及識別該一個或多個 之多重供應商代理持有之鎖定。 41. 如申請專利範圍第4〇項之系統,其中該狀態資訊反應該 —個或多個多重供應商用戶端及該一個或多個多重供應 商代理的狀態。 42. 如申請專利範圍第41項之系統,其中該等一個或多個多 重供應商用戶端之一係鎖定察覺用戶端。 43·如申請專利範圍第41項之系統,其中該等一個或多個多 重供應商用戶端之一係鎖定未察覺用戶端。 44. 如申請專利範圍第4〇項之系統,其中該代碼能使該處理 器進一步執行以下步驟: 實行一鎖定協定,其定義該鎖定管理器、該等一個或 多個多重供應商用戶端及該等一個或多個多重供應商代 理之間的互動。 45. 如申請專利範圍第4〇項之系統,其中該代碼能使該處理 器進一步執行以下步驟: 92988-980617.doc 1317073 接收對一資源之一讀取保護動作; 持有對該資源之一讀取鎖定;以及 阻擒寫入動作寫入該資源。 46·如申請專利範圍第4〇項之系統, 器進—步執行以下步驟: /、中3亥代石馬能使該處理 接收對一資源之一寫入保護動作; 持有對該資源之一變更鎖定; 阻擋寫入動作寫入該資源;以及 阻擋對該資源之讀取及變更鎖定。 H 一種&㈣射紋f理之程 链虎Μ 、干丹心往式產品,其中該 釦式邏軏使操作得以執行,該等操作包含: 夕於-鎖定管理器控制下,該鎖定管理器管理從一個或 5個之夕重供應商客戶4接受之鎖定請求並導引至一個 或夕個之夕重供應商代理,並管理從該一個或多個之多 重供應商代理到該一個或多個之多重供應商客戶端的回 應; 執行被該一個或多個之多重供應商代理拒絕之排列中 的鎖定請求; 執行心跳功能以確保該等一個或多個之多重供應商客 戶端以及該等一個或多個之多重供應商代理為功能良好 ’該功能藉由傳送一訊號至該等一個或多個之多重供應 商客戶端以及該等一個或多個之多重供應商代理中之— 者’並接受對該訊號之一回應,其回應用以指示功能良 好;以及 92988-980617.doc -13· 1317073 維持狀態資訊,其中該狀態資訊包含被該一個或多個 之多重供應商客戶端持有之鎖定以及識別該一個 或多個之多重供應商代理持有之鎖定。 48. 如申請專利範圍第47項之程式產品,其中該狀態資訊反 應該一個或多個多重供應商用戶端及該一個或多個多重 供應商代理的狀態。 49. 如申請專利範圍第料項之程式產品,其中該等一個或多 個多重供應商用戶端之一係鎖定察覺用戶端。 50. 如申請專利範圍第48項之程式產品,其中該等一個或多 個多重供應商用戶端之一係鎖定未察覺用戶端。 5!.如申請專利範圍第47項之程式產品,該等操作進一步包 含: 貫行一鎖定協定,其定義該鎖定管理器、該等一個或 ^夕重供應商用戶端及該等一個或多個多重供應商代 理之間的互動。 該等操作進一步包 該等操作進一步包 52.如申請專利範圍第ο項之程式產品 含: 接收對—資源之—讀取保護動作; 持有對该資源之_讀取鎖定;以及 阻擋寫入動作寫入該資源。 53.如申請專利範圍第47項之程式產品 含: 用於接收對一資源之—寫入保護動作 用於持有對該資源之一變更鎖定; 92988-980617.doc •14· 1317073 用於阻擋寫入動作寫入該資源;以及 用於阻擋對該資源之讀取及變更鎖定。 54. 種用於鎖定管理之系統,其包含: 於一鎖定管理器控制下,該鎖定管理器管理從—個或 夕们之^重供應商客戶端接受之鎖定請求並導引至一個 或多個之多重供應商代理,並管理從該一個或多個之多 重供應商代理到該一個或多個之多重供應商客戶端的回 應; 用於執行被該一個或多個之多重供應商代理 列中的鎖定請求的構件; 排 用於執行功能以確保該等一個或多個之多重供應商客 戶立而以及該等一個或多個之多重供應商代理為功能良好 的構件,該功能藉由傳送一訊號至該等一個或多個之多 重供應商客戶端以及該等一個或多個之多重供應商代理 中之—者,並接受對該訊號之一回應,其回應用以指示 功能良好;以及 用於維持狀恐資讯的構件,其中該狀態資訊包含被該 一個或多個之多重供應商客戶端持有之鎖定以及識別該 一個或多個之多重供應商代理持有之鎖定。 92988-980617.doc -15-
TW093112120A 2003-05-01 2004-04-30 Method, system, and program product for lock and transaction management TWI317073B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/428,780 US7289992B2 (en) 2003-05-01 2003-05-01 Method, system, and program for lock and transaction management

Publications (2)

Publication Number Publication Date
TW200508958A TW200508958A (en) 2005-03-01
TWI317073B true TWI317073B (en) 2009-11-11

Family

ID=33310491

Family Applications (1)

Application Number Title Priority Date Filing Date
TW093112120A TWI317073B (en) 2003-05-01 2004-04-30 Method, system, and program product for lock and transaction management

Country Status (3)

Country Link
US (3) US7289992B2 (zh)
TW (1) TWI317073B (zh)
WO (1) WO2004097637A2 (zh)

Families Citing this family (59)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
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
US7574438B2 (en) * 2003-12-03 2009-08-11 Sap Aktiengesellschaft Database access with multilevel lock
US20110179082A1 (en) * 2004-02-06 2011-07-21 Vmware, Inc. Managing concurrent file system accesses by multiple servers using locks
US10776206B1 (en) 2004-02-06 2020-09-15 Vmware, Inc. Distributed transaction system
US8700585B2 (en) 2004-02-06 2014-04-15 Vmware, Inc. Optimistic locking method and system for committing transactions on a file system
US8560747B1 (en) 2007-02-16 2013-10-15 Vmware, Inc. Associating heartbeat data with access to shared resources of a computer system
US7849098B1 (en) * 2004-02-06 2010-12-07 Vmware, Inc. Providing multiple concurrent access to a file system
US8543781B2 (en) 2004-02-06 2013-09-24 Vmware, Inc. Hybrid locking using network and on-disk based schemes
US7318064B2 (en) * 2004-10-28 2008-01-08 International Business Machines Corporation Using MD4 checksum as primary keys to link transactions across machines
US8024355B2 (en) * 2004-12-29 2011-09-20 Sap Ag Dynamic capacity demand profile construction with a persisted capacity demand profile and a collision buffer
US7318138B1 (en) 2005-08-30 2008-01-08 Symantec Operating Corporation Preventing undesired trespass in storage arrays
US20070192652A1 (en) * 2006-02-14 2007-08-16 International Business Machines Corporation Restricting devices utilizing a device-to-server heartbeat
JP4371321B2 (ja) * 2006-03-10 2009-11-25 富士通株式会社 Nfsサーバ、nfsサーバ制御プログラム、nfsサーバ制御方法
US7783805B2 (en) * 2006-11-29 2010-08-24 Cisco Technology, Inc. Interlocking input/outputs on a virtual logic unit number
US8887167B2 (en) 2010-07-30 2014-11-11 International Business Machines Corporation High performance locks
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
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
US7895172B2 (en) * 2008-02-19 2011-02-22 Yahoo! Inc. System and method for writing data dependent upon multiple reads in a distributed database
US8572627B2 (en) * 2008-10-22 2013-10-29 Microsoft Corporation Providing supplemental semantics to a transactional queue manager
US8510281B2 (en) * 2008-12-18 2013-08-13 Sap Ag Ultimate locking mechanism
US9134922B2 (en) 2009-03-12 2015-09-15 Vmware, Inc. System and method for allocating datastores for virtual machines
US20120110291A1 (en) * 2009-04-06 2012-05-03 Kaminario Technologies Ltd. System and method for i/o command management
US9411661B2 (en) * 2009-04-08 2016-08-09 International Business Machines Corporation Deadlock avoidance
US9424444B2 (en) 2009-10-14 2016-08-23 At&T Mobility Ii Llc Systems, apparatus, methods and computer-readable storage media for facilitating integrated messaging, contacts and social media for a selected entity
US8924893B2 (en) * 2009-10-14 2014-12-30 At&T Mobility Ii Llc Locking and unlocking of an electronic device using a sloped lock track
US8046633B2 (en) * 2009-12-10 2011-10-25 International Business Machines Corporation Improving data availability during failure detection and recovery processing in a shared resource system
US8103643B2 (en) * 2009-12-21 2012-01-24 Oracle America, Inc. System and method for performing distributed transactions using global epochs
US8380852B2 (en) * 2009-12-23 2013-02-19 International Business Machines Corporation Clearing SCSI reservations for non-detectable initiators for extended duration
US8266126B2 (en) * 2010-03-24 2012-09-11 Matrixx Software, Inc. System with multiple conditional commit databases
US8719515B2 (en) 2010-06-21 2014-05-06 Microsoft Corporation Composition of locks in software transactional memory
US9411634B2 (en) 2010-06-21 2016-08-09 Microsoft Technology Licensing, Llc Action framework in software transactional memory
US8689219B2 (en) * 2011-05-06 2014-04-01 International Business Machines Corporation Systems and method for dynamically throttling transactional workloads
US8595460B2 (en) 2011-08-26 2013-11-26 Vmware, Inc. Configuring object storage system for input/output operations
US9229949B2 (en) * 2011-10-07 2016-01-05 Microsoft Technology Licensing, Llc Extensible and generic framework for managing resources for data warehousing loads
US9396227B2 (en) * 2012-03-29 2016-07-19 Hewlett Packard Enterprise Development Lp Controlled lock violation for data transactions
US20140121024A1 (en) * 2012-11-01 2014-05-01 Zhaohui Xing Collaboration system and method therefor
US9104502B2 (en) 2012-12-15 2015-08-11 International Business Machines Corporation Managing resource pools for deadlock avoidance
US20140280347A1 (en) * 2013-03-14 2014-09-18 Konica Minolta Laboratory U.S.A., Inc. Managing Digital Files with Shared Locks
US9754260B2 (en) * 2013-10-28 2017-09-05 Quisk, Inc. Account locking using transaction codes
CN103744719B (zh) * 2013-12-30 2017-12-29 华为技术有限公司 锁管理方法及系统、锁管理系统的配置方法及装置
US10310923B1 (en) 2014-08-28 2019-06-04 Seagate Technology Llc Probabilistic aging command sorting
HUE042424T2 (hu) * 2014-11-12 2019-07-29 Huawei Tech Co Ltd Zárolás kiszolgáló meghibásodásának feldolgozási eljárása és rendszere egy elosztott rendszerben
CN106294440B (zh) * 2015-05-27 2019-06-07 阿里巴巴集团控股有限公司 数据实时迁移的方法和装置
WO2017100978A1 (zh) 2015-12-14 2017-06-22 华为技术有限公司 一种集群中锁管理的方法、锁服务器及客户端
CN107124324B (zh) 2016-02-25 2020-09-01 阿里巴巴集团控股有限公司 一种基于租约的心跳协议方法和设备
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
US10831403B2 (en) 2017-05-19 2020-11-10 Seagate Technology Llc Probabalistic command aging and selection
US11113251B2 (en) 2018-09-05 2021-09-07 Vast Data Ltd. Transaction manager
WO2020108783A1 (en) * 2018-11-27 2020-06-04 Telefonaktiebolaget Lm Ericsson (Publ) Technique for concurrency control
US10938897B2 (en) * 2019-01-31 2021-03-02 EMC IP Holding Company LLC Extended group service changes
CN112256656B (zh) * 2019-07-22 2023-04-18 金篆信科有限责任公司 事务回滚方法及装置、数据库、系统、计算机存储介质
CN113296895B (zh) * 2020-06-10 2024-01-23 阿里巴巴集团控股有限公司 事务处理系统、事务处理方法及装置
CN113961364B (zh) * 2021-10-12 2024-09-17 西安热工研究院有限公司 一种大规模锁系统实现方法、装置、存储介质和服务器

Family Cites Families (86)

* Cited by examiner, † Cited by third party
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> 異種のクライアントによる共用ファイルのファイル管理機構
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 International Computers Ltd., Putney, London Verteiltes Datenverarbeitungssystem
DE69422743T2 (de) * 1993-03-30 2000-06-08 Fujitsu Ltd., Kawasaki Endlosschleife-Erkennungsgerät
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 日本電気株式会社 排他制御装置
US5987621A (en) * 1997-04-25 1999-11-16 Emc Corporation Hardware and software failover services for a file server
US5872981A (en) * 1997-05-30 1999-02-16 Oracle Corporation Method for managing termination of a lock-holding process using a waiting lock
US6041384A (en) * 1997-05-30 2000-03-21 Oracle Corporation Method for managing shared resources in a multiprocessing computer system
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
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
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
AU767723B2 (en) * 1998-11-26 2003-11-20 Sumitomo Electric Industries, Ltd. Optical fiber and optical transmission system including the same
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
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
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
US6757769B1 (en) * 2000-11-28 2004-06-29 Emc Corporation Cooperative lock override procedure
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
TW513512B (en) 2002-03-08 2002-12-11 Li-Chiau Wu Security lock system and the administration way thereof
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
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
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
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

Also Published As

Publication number Publication date
US20040220913A1 (en) 2004-11-04
US7870111B2 (en) 2011-01-11
US20070282839A1 (en) 2007-12-06
US8200643B2 (en) 2012-06-12
WO2004097637A3 (en) 2005-04-07
US7289992B2 (en) 2007-10-30
WO2004097637A2 (en) 2004-11-11
US20110078126A1 (en) 2011-03-31
TW200508958A (en) 2005-03-01

Similar Documents

Publication Publication Date Title
TWI317073B (en) Method, system, and program product for lock and transaction management
TWI322381B (en) Method, system, and computer program product for locking and deadlock management
CN104793988B (zh) 跨数据库分布式事务的实现方法和装置
US9417977B2 (en) Distributed transactional recovery system and method
US20040205148A1 (en) Method for operating a computer cluster
US6317773B1 (en) System and method for creating an object oriented transaction service that interoperates with procedural transaction coordinators
US20040025169A1 (en) Systems and methods for maintaining transactional persistence
JP2004529431A (ja) 準備処理を取り入れたクラスタード・コンピュータ・システムにおけるリソース・アクション
CN102932164A (zh) 群集客户端故障转移
CN110019112A (zh) 数据事务处理方法、装置以及电子设备
US11449241B2 (en) Customizable lock management for distributed resources
US7885946B2 (en) Low-overhead storage cluster configuration locking
JP4356018B2 (ja) ストレージ・エリア・ネットワーク上の非同期メッセージング
AU2291701A (en) Preserving consistency of passively-replicated non-deterministic objects
Gupta HP Encina/9000: Middleware for Constructing Transaction Processing Applications
JP2002014831A (ja) デッドロック管理装置およびその制御方法,デッドロック管理システム,デッドロック管理装置を制御するプログラムを記録した媒体