计算机实现的多资源共享锁的制作方法

文档序号:6349225阅读:162来源:国知局
专利名称:计算机实现的多资源共享锁的制作方法
技术领域
本发明涉及例如在服务器系统中采用的计算机实体,更具体地涉及锁定这种系统内的资源。
背景技术
诸如数据存储服务器的服务器已经变得复杂并涉及诸如数据存储介质、存储控制器、存储器和随附的电力系统以及冷却系统等的各种硬件。存储控制器控制响应于读和写请求对数据存储介质和存储器的访问。存储控制器可以根据诸如RAID (独立盘的冗余阵列)、JBOD (简单磁盘捆绑)和其他冗余和安全级的数据存储设备来管理数据。作为例子,诸如DS8000 的 IBM Enterprise Storage Server(企业存储服务器) 具有称为“中央电子综合体(central electronics complexes) ”或“CEC”的计算机实体、高速缓存、非易失性存储器等的冗余簇。CEC可以被划分为在系统内运行的逻辑分区或域映像(field image),其中每个分区也是冗余的,包括在每个CEC内的分区。系统内的资源由域映像共享,并且采用可以配置该系统的机架(rack)电力控制模块(RPC)来控制(控制电源和冷却先后顺序以及操作等)。多个机架电力控制模块也提供冗余性,并且每个机架电力控制模块能够控制相同的硬件。它们可以与域映像通信,并且也可以相互通信。为了避免多个域映像(或计算机实体)控制相同的资源,使用主锁(master lock) 来选择域映像之一以通过机架电力控制模块管理共享的硬件资源,因为域映像彼此独立地工作并且它们之间不存在通信。例如,存在竞争(race)情形,其中每个域映像需要与其可以并单独地为了主锁而竞争的每个共享的硬件资源通信。当各个域映像试图获得在两个 RPC之间共享的主锁时,可能出现各种问题,比如域映像和RPC之间的通信故障,以及当各个域映像同时试图获得主锁时的争用(contention)问题。可能获得多个锁使得系统不能分辨哪个域映像是主要的,并且可能在存储实体故障的情况下混淆期望的恢复动作。

发明内容
在现在应该参考的所附权利要求中定义了本发明。提供了用于多资源锁定的方法、服务器系统、资源配置系统和计算机程序产品。在包括多个计算机实体和多个资源的计算机实现的系统的一个实施例中,进行以下步骤计算机实体中的一个计算机实体向多个资源中的一个资源请求多资源锁;所述一个资源确定在所述一个资源处是否可获得资源锁,如果是,则与所有对等资源通信以确定是否可获得资源锁;如果所述对等资源指示可获得资源锁,则将所有资源锁定到所述请求计算机实体,并且所述一个资源向所述请求计算机实体传送所述资源的锁;以及如果任何资源指示对该多资源锁的争用,则所述一个资源将所述争用传送到所述请求计算机实体, 并且所述请求计算机实体撤回所述多资源锁请求,并且在随机时间间隔后,重复所述请求。
在进一步的实施例中,另外,如果所述请求计算机实体不能与所述一个资源通信来确定是否可获得多资源锁,则所述请求计算机实体向所述多个资源的对等资源请求多资源锁。在另一实施例中,另外,所述对等资源确定在所述对等资源处是否可获得资源锁, 如果是,则与包括所述一个资源的所有其他资源通信以确定是否可获得资源锁;如果所述其他资源指示可获得资源锁,则将所有所述资源锁定到所述请求计算机实体,并且所述对等资源将所述资源的所述锁传送到所述请求计算机实体;以及如果任一资源指示对所述多资源锁的争用,则所述对等资源将所述争用传送到所述请求计算机实体,并且所述请求计算机实体撤回所述请求,并在随机时间间隔之后,重复所述请求。在进一步的实施例中,如果所述对等资源确定在所述对等资源处可获得资源锁, 并且其不能与所有所述其他资源通信来确定是否可获得资源锁,则所述对等资源将所述故障传送到所述请求计算机实体;以及所述请求计算机实体撤回所述多资源请求,并且在随机时间间隔之后,向多个资源的默认资源请求单个资源锁。在另一实施例中,如果所述默认资源指示对所述锁的争用,则所述默认资源将所述争用传送到所述请求计算机实体,并且所述请求计算机实体撤回所述单个资源锁请求, 并且在随机时间间隔之后,重复所述请求。在进一步的实施例中,如果所述一个资源确定在所述一个资源处可获得资源锁, 并且所述一个资源不能与所有所述对等资源通信以确定是否可获得资源锁,则所述一个资源将所述故障传送到所述请求计算机实体;以及所述请求计算机实体撤回所述多资源请求,并且在随机时间间隔之后,向所述多个资源的默认资源请求单个资源锁。在另一实施例中,另外,如果所述请求计算机实体不能与所述默认资源通信来确定所述是否可获得单个资源锁,则所述请求计算机实体向所述多个资源中的任意一个可用资源请求所述单个资源锁。在进一步的实施例中,所述多个资源每个包括至少一个数据存储设备。为了更完全理解本发明,应该参考结合附图给出的以下详细描述。


图1是可以实现本发明的各方面的示例的基于计算机的存储服务器系统的框图;图2是图1的存储服务器系统的分区的框图;图3A和;3B是绘出操作图1和图2的系统的示例方法的流程图;图4是图1和图2的系统的各个状态的图示;以及图5是可以在图1和图2的系统中采用的示例元件的框图。
具体实施例方式参考附图在以下描述中在优选实施例中描述本发明,附图中相同的数字表示相同或类似的元件。尽管在用于实现本发明的目标的最佳模式方面描述了本发明,但是本领域技术人员将认识到,考虑这些教导而不偏离本发明的范围可以进行变更。参考图1和图2,例示了布置用于冗余性的基于计算机的服务器系统10的例子。 该系统是可以实现本发明的许多基于计算机的系统之一。
7
服务器系统10包括冗余硬件综合体14A和14B以及检测硬件配置并控制存储服务器的电力先后顺序的冗余机架电力控制(RPC)模块27A和27B。综合体14A和14B在此可以称为“CEC” (中央电子综合体),因为每个综合体包含负责执行和管理数据存储的电子子组件(subcomponent)。服务器系统10可以被布置在逻辑域映像71和72中,其每个都跨过冗余综合体 14A和14B两者。每个综合体内的域映像是逻辑分区(LPAR) 71A、71B、72A、72B。在图2的示例实施例中,CEC 14A和14B控制在存储阵列80处的数据存储,该存储阵列80也以冗余方式布置,例如作为通常被称为包括数据和奇偶校验位存储两者的一个或多个独立盘的冗余阵列(RAID)的一个或多个存储设备,或者作为简单磁盘捆绑(JBOD)。 数据存储器80可以包括一个或多个盘集合80A、80B,并且每个盘集合可以包括具有一个或多个备用区(spare) “S”的系统。服务器系统10的例子包括IBM DS8000 服务器。冗余CEC 14A和14B每个包括例如CPU 40A、40B、高速缓存66A、66B、非易失性存储器(NVS) 70A、70B和存储控制器73A、74A、75A、76A和73B、74B、75B、76B。客户端可以例如经由采用例如光纤通信的主机总线适配器(HBA)49Α1-4、49Β5-8与综合体通信。系统内的资源由CEC共享并采用可以配置该系统(控制电源和冷却先后顺序和操作等)的机架电力控制模块(RPC) 27来控制。冗余电源单元^5A、26B可以包括交流和直流电源单元两者和备用电池能力。冗余电力管理模块78A、78B监视电源单元,包括电力和备用电池的剩余电池寿命。另外参考图1,机架电力控制模块27可以包括机架电力控制模块27A和27B的任一个,并且能够控制相同的硬件,包括例如CEC 14A和14B两者。为了避免多个域映像71、72 (或计算机实体)控制相同的资源,使用主锁选择域映像之一来通过机架电力控制模块27A、28B管理共享的硬件资源,因为域映像71、72彼此独立地工作并且它们之间不存在通信。例如,存在竞争情况,其中每个域映像需要与其可以并单独地为了主锁而竞争的每个共享的硬件资源通信。域映像试图获得在两个RPC 27A、27B 之间共享的主锁。参考图1、3A、;3B和图4,域映像71、72每个可以分别选择逻辑分区(LPAR) 71A或 71B以及72A或72B,以与RPC 27A或27B通信来从这两个RPC获得主锁。在图3A、!3B和图 4中,请求LPAR被称为“实体”,并且RPC被称为“资源”。如上所述,可能出现各种问题,比如实体(LPAR)和资源(RPC)之间的通信故障、以及资源之间的通信故障,以及比如当各个实体同时试图获得主锁时的争用问题。在步骤105,计算机实体71A或71B以及72A或72B之一进入对多个资源27A或 27B之一请求多资源锁的状态106。该请求被称为多资源锁请求,因为其是从域映像的所有 RPC获得锁的请求。可能两个域映像同时请求该锁。如果在步骤105中例如实体LPAR 71A的请求计算机实体与例如资源RPC 27A的一个资源通信而没有问题(步骤107中的“否”),则状态106保持不变并且该一个资源确定在该一个资源处是否可获得资源锁,如果是,则在步骤109中该一个资源与例如RPC 27B的所有对等资源通信以确定在该对等资源处是否可获得资源锁。如果在步骤109中例如RPC 27A的一个资源与例如RPC 27B的对等资源通信而没有问题(步骤110中的“否”),则状态106保持不变并且该一个资源确定在对等资源处是否可获得资源锁,意味着不存在对该锁的争用。如果步骤111指示在该一个资源(RPC 27A)或者对等资源(RPC 27B)处不存在对该锁的争用,则在步骤115,所有资源被锁定到该请求计算机实体,由此从资源处获得该锁, 并且该一个资源(RPC 27A)将该资源的锁传送到该请求计算机实体(LPAR 71A),并且状态 106已成功获得主锁。类似的结果是,在步骤111,RPC之一提供锁争用返回代码(“是”)。此时,请求实体(LPAR 71A)在步骤117中激活撤回(back off)计时器,其提供随机时间间隔,并且当计时器到期时,该请求实体重复步骤105处的请求。此处理被示出为关于状态106的循环 118。如果例如LPAR 71A的请求计算机实体不能与该一个资源通信以确定是否可获得多资源锁(步骤107中的“是”),则该请求计算机实体在步骤120中向多个资源中的例如 RPC 27B的对等资源请求该多资源锁。步骤120可以在步骤121中激活提供随机时间间隔的撤回计时器之后可选地发生,并且当计时器到期时,该请求实体在步骤120发送请求。该处理被示出为关于状态124的路径122。如果在步骤120中例如实体LPAR 71A的请求计算机实体与例如RPC27B的对等资源通信而没有问题(步骤125中的“否”),则状态IM保持不变,并且该对等资源确定在该对等资源处是否可获得资源锁,如果是,则在步骤126中,与例如RPC 27A的其他资源通信以确定在其他资源处是否可获得资源锁。如果在步骤126中例如资源RPC 27B的对等资源与例如RPC 27A的其他资源通信而没有问题(步骤129中的“否”),则状态IM保持不变并且对等资源确定在其他资源处是否可获得资源锁,意味着不存在对该锁的争用。如果步骤131指示在对等资源(RPC 27B)或其他资源(RPC 27A)处不存在对该锁的争用,则在步骤135中,所有资源被锁定到请求计算机实体,由此从资源获得该锁,并且对等资源(RPC 27B)将该资源的锁传送到该请求计算机实体(LPAR 71A),并且状态124已成功获得主锁。在步骤131中,RPC之一可以提供锁争用返回代码(“是”)。此时,请求实体(LPAR 71A)在步骤121中激活撤回计时器,其提供随机时间间隔,并且当计时器到期时,请求实体重复步骤120处的请求。该处理被示出为关于状态124的循环133。但是,如果步骤120的原始请求导致与来自请求实体的关于一个资源(RPC 27A) 的通信问题一起发生的、来自请求实体(LPAR 71)的关于对等资源(RPC 27B)的通信问题 (步骤125中的“是”),意味着不存在请求实体向资源的通信,示出为从状态124的路径 139,并且实体不能获得锁,示出为状态140和步骤141。主锁可以因此由另一请求实体获得。另一潜在问题是,示出为从状态106的路径143的步骤109或示出为从状态124的路径144的步骤1 指示从请求实体到至少一个资源的通信良好,但是关于资源(RPC 27A 和RPC 27B)之间的通信存在故障。在此情况下,连接符(connector) 150指示处理流到连接符151。该请求计算机实体在步骤160中向例如被标识为与请求实体相关联的资源的默认资源请求单个资源锁。在一个例子中,LPAR 71A可以将RPC 27A标识为其默认资源。步骤160可以在步骤161中激活撤回计时器之后可选地发生,所述撤回计时器提供随机时间间隔,并且当计时器到期时,请求实体在步骤160发送请求。该处理示出为状态164。
9
如果在步骤160中,例如实体LPAR 71A的请求计算机实体与例如RPC27A的默认资源通信而没有问题(步骤165中的“否”),则状态164保持不变并且在步骤166,默认资源确定在该默认资源处是否可获得资源锁,意味着不存在对该锁的争用。如果步骤166指示在默认资源(RPC 27A)处不存在对该锁的争用,则在步骤168,在RPC 27A的控制下资源被锁定到该请求计算机实体,并且默认资源(RPC 27A)将资源的锁传送到请求计算机实体 (LPAR 71A),并且状态164已成功获得单个锁。在步骤166,默认RPC可以提供锁争用返回代码(“是”)。此时,请求实体(LPAR 71A)在步骤161中激活撤回计时器,其提供随机时间间隔,并且当计时器到期时,请求实体重复步骤160的请求。该处理被示出为关于状态164的循环169。但是,如果步骤160的单个锁请求导致来自请求实体(LPAR 71A)的关于默认资源 (RPC 27A)的通信问题(步骤165中的“是”),则这指示从状态164的路径170,其中在步骤174,请求实体(LPAR 71A)将单个锁请求发送到最后可用的资源,也表示为状态175。在步骤174,假如两个资源(RPC 27A和27B)包括可用的资源,并且在请求实体和默认资源之间存在通信问题,则最后可用的资源是两个资源中的另一个。例如,如果RPC 27A是请求实体(LPAR 71A)的默认资源,则另一个资源(RPC 27B)变为最后可用的资源。 步骤174可以在步骤176中激活撤回计时器之后可选地发生,所述撤回计时器提供随机时间间隔,并且当计时器到期时,在状态175,请求实体在步骤174发送请求。如果在步骤174中,例如实体LPAR 7IA的请求计算机实体与例如RPC 27B的最后可用的资源通信而没有问题(步骤180中的“否”),则状态175保持不变并且在步骤182 默认资源确定在该最后可用的资源处是否可获得资源锁,意味着不存在对该锁的争用。如果步骤182指示在该最后可用的资源(RPC 27B)处不存在对该锁的争用,则在步骤188,在 RPC 27B的控制下的资源被锁定到请求计算机实体,并且最后可用的资源(RPC 27B)将资源的单个锁传送到请求计算机实体(LPAR 71A),并且状态175已成功获得该单个锁。在步骤182,最后可用的RPC可以提供锁争用返回代码(“是”)。此时,请求实体 (LPAR 71A)在步骤176中激活撤回计时器,其提供随机时间间隔,并且当计时器到期时,请求实体重复在步骤174的请求。该处理被示出为关于状态175的循环189。但是,如果步骤180的单个锁请求导致与来自请求实体的关于默认资源(RPC 27A)的通信问题(步骤165中的“是”)一起发生的来自请求实体(LPAR71A)的关于最后可用的资源(RPC 27B)的通信问题(步骤180中的“是”),则意味着不存在请求实体向资源的通信,示出为从状态1 的路径192,并且实体不能获得单个锁,示出为状态140和步骤 195。不能在步骤141中获得多锁或者不能在步骤195中获得单个锁可以被报告为错误情况。该错误情况是来自综合体的通信可能被中断或故障的指示。如果通信缺失被限制到请求实体或分区,则域映像71的另一请求实体(LPAR 71B)或者比如域映像72的另一域映像的分区的请求实体可能能够获得多锁或单个锁。或者,可以包括多于两个资源,可以通过对其他资源重复步骤160来针对单个锁测试其他资源,并且只有在步骤165的每个例程检测到通信问题时,处理才将移动到步骤 176和174以向最后可用的资源发送单个锁请求。另外的实施例细节
所述的技术可以被实现为方法、装置或系统、或者例如以存储在诸如计算机可读介质的硬件中的制造产品形式的计算机程序产品。该实现可能涉及软件、固件、微代码、硬件和/或其任意组合。图5例示示出可以被包括在图1和图2的综合体14A或14B以及RPC 27、27A或 27V中的示出为系统600的某些元件的框图。被包括在综合体14A或14B中的系统600的实现可以包括图2的CPU 40A、40B、电力管理模块70A、70B和/或存储控制器72A-75B中的任意或全部或者其他系统或组件。系统600可以包括电路602和处理器604。系统600还可以包括存储器606和存储区608。存储器606可以是例如易失性的,并且存储区608可以是非易失性的。存储区 608可以包括一个或多个内部存储设备、附连的存储设备和/或网络可存取设备。系统600 可以包括程序逻辑610,其包括可以被加载到存储器606和/或存储区608中并由处理器 604和/或电路602执行的代码612。在某些实施例中,程序逻辑610可以存储在存储区 608中,或者在电路602中实现。因此,尽管图6与其它元件分开地示出了程序逻辑610和代码612,但是程序逻辑610和/或代码612可以在存储器606、存储区608和/或电路602 中实现。该实现可能涉及软件、固件、微代码、硬件和/或其任意组合。该实现可以采取在诸如存储器606、存储区608和/或电路602的介质中实现的代码或逻辑的形式,其中介质可以包括硬件逻辑(例如集成电路芯片、可编程门阵列[PGA]、专用集成电路[ASIC]、 或者其他电路、逻辑或器件)或者诸如磁存储介质的计算机可读存储介质(例如电子的、 磁的、光学的、电磁的、红外的或者半导体系统、半导体或固态存储器、磁带、可移除计算机磁盘和随机存取存储器[RAM]、只读存储器[ROM]、刚性磁盘和光盘、致密盘-只读存储器 [CD-ROM]、致密盘-读 / 写[CD-R/W]和 DVD)。本领域技术人员将理解,可以关于以上所述的方法进行改变,包括对步骤的排序的改变。此外,本领域技术人员将理解,可以采用与在此所示不同的具体组件布置。尽管已经详细例示了本发明的优选实施例,但是应该显然的是,对于本领域技术人员而言,不脱离如在以下权利要求中所述的本发明的范围,可以进行对这些实施例的修改和适应。
权利要求
1.在包括多个计算机实体和多个资源的计算机实现的系统中,方法包括所述计算机实体的一个实体向所述多个资源的一个资源请求多资源锁;所述一个资源确定在所述一个资源处是否可获得资源锁,如果是,则与所有对等资源通信以确定是否可获得资源锁;如果一个或多个所述对等资源指示可获得资源锁,则将所有所述资源锁定到所述请求计算机实体,并且所述一个资源向所述请求计算机实体传送所述资源的锁;以及如果任何资源指示对该多资源锁的争用,则所述一个资源将所述争用传送到所述请求计算机实体,并且所述请求计算机实体撤回所述多资源锁请求,并在随机时间间隔后,重复所述请求。
2.如权利要求1的方法,另外如果所述请求计算机实体不能与所述一个资源通信来确定是否可获得多资源锁,则所述请求计算机实体向所述多个资源的对等资源请求多资源锁。
3.如权利要求2的方法,另外所述对等资源确定在所述对等资源处是否可获得资源锁,如果是,则与包括所述一个资源的所有其他资源通信以确定是否可获得资源锁;如果一个或多个所述其他资源指示可获得资源锁,则将所有所述资源锁定到所述请求计算机实体,并且所述对等资源将所述资源的所述锁传送到所述请求计算机实体;以及如果任一资源指示对所述多资源锁的争用,则所述对等资源将所述争用传送到所述请求计算机实体,并且所述请求计算机实体撤回所述请求,并在随机时间间隔之后,重复所述请求。
4.如权利要求3的方法,另外如果所述对等资源确定在所述对等资源处可获得资源锁,并且其不能与所有所述其他资源通信来确定是否可获得资源锁,则所述对等资源将所述故障传送到所述请求计算机实体;以及所述请求计算机实体撤回所述多资源请求,并且在随机时间间隔之后,向所述请求实体的默认资源请求单个资源锁。
5.如权利要求4的方法,另外如果所述默认资源指示对所述锁的争用,则所述默认资源将所述争用传送到所述请求计算机实体,并且所述请求计算机实体撤回所述单个资源锁请求,并且在随机时间间隔之后,重复所述请求。
6.如以上任一权利要求的方法,另外如果所述一个资源确定在所述一个资源处可获得资源锁,并且所述一个资源不能与所有所述对等资源通信以确定是否可获得资源锁,则所述一个资源将所述故障传送到所述请求计算机实体;以及所述请求计算机实体撤回所述多资源请求,并且在随机时间间隔之后,向所述请求实体的默认资源请求单个资源锁。
7.如权利要求6的方法,另外如果所述请求计算机实体不能与所述默认资源通信来确定是否可获得所述单个资源锁,则所述请求计算机实体向所述多个资源中的任意一个可用资源请求所述单个资源锁。
8.如以上任一权利要求的方法,其中所述多个资源每个包括至少一个数据存储设备。
9.一种服务器系统,包括多个计算机实体,每个被配置为请求锁;多个资源;以及在所述计算机实体的每个和所述多个资源的每个之间以及在所述多个资源的每个之间的通信连接,其中所述计算机实体的至少一个计算机实体被配置为经由所述通信连接向所述多个资源的一个资源请求多资源锁;所述一个资源被配置为确定在所述一个资源处是否可获得资源锁,如果是,则经由所述通信连接与所有对等资源通信以确定是否可获得资源锁;如果一个或多个所述对等资源指示可获得资源锁,则将所有所述资源锁定到所述请求计算机实体,并且所述一个资源将所述资源的所述锁经由所述通信连接传送到所述请求计算机实体;以及如果任一所述资源指示对所述多资源锁的争用,则所述一个资源将所述争用经由所述通信连接传送到所述请求计算机实体,并且所述请求计算机实体撤回所述多资源锁请求, 并在随机时间间隔之后,重复所述请求。
10.如权利要求9的服务器系统,另外如果所述请求计算机实体不能与所述一个资源通信来确定是否可获得多资源锁,则所述请求计算机实体向所述多个资源的所述对等资源请求多资源锁。
11.如权利要求10的服务器系统,另外所述对等资源确定在所述对等资源处是否可获得资源锁,如果是,则与包括所述一个资源的所有其他资源通信以确定是否可获得资源锁;如果所述其他资源指示可获得资源锁,则将所有所述资源锁定到所述请求计算机实体,并且所述对等资源将所述资源的所述锁传送到所述请求计算机实体;以及如果任一所述资源指示对所述多资源锁的争用,则所述对等资源将所述争用传送到所述请求计算机实体,并且所述请求计算机实体撤回所述请求,并在随机时间间隔之后,重复所述请求。
12.如权利要求11的服务器系统,另外如果所述对等资源确定在所述对等资源处可获得资源锁,并且其不能与所有所述其他资源通信来确定是否可获得资源锁,则所述对等资源将所述故障传送到所述请求计算机实体;以及所述请求计算机实体撤回所述多资源请求,并且在随机时间间隔之后,向所述请求实体的默认资源请求单个资源锁。
13.如权利要求12的服务器系统,另外如果所述默认资源指示对所述锁的争用,则所述默认资源将所述争用传送到所述请求计算机实体,并且所述请求计算机实体撤回所述单个资源锁请求,并且在随机时间间隔之后,重复所述请求。
14.如权利要求9到13的任意一项的服务器系统,另外如果所述一个资源确定在所述一个资源处可获得资源锁,并且所述一个资源不能与所有所述对等资源通信以确定是否可获得资源锁,则所述一个资源将所述故障传送到所述请求计算机实体;以及所述请求计算机实体撤回所述多资源请求,并且在随机时间间隔之后,向所述请求实体的默认资源请求单个资源锁。
15.如权利要求14的服务器系统,另外如果所述请求计算机实体不能与所述默认资源通信来确定是否可获得所述单个资源锁,则所述请求计算机实体向所述多个资源中的任意一个可用资源请求所述单个资源锁。
16.如权利要求9到15的任意一项的服务器系统,其中所述多个资源每个包括至少一个数据存储设备。
17.一种用于多个计算机实体的资源配置系统,多个计算机实体的每个被配置为请求对于资源的锁,所述系统包括多个资源;以及通信接口,被配置为提供所述多个资源的每个与所述计算机实体的每个的通信连接, 以及提供在所述多个资源的每个之间的通信连接,其中所述资源中的一个资源被配置为响应于所述计算机实体中的一个实体向所述多个资源之一对于多资源锁的请求,所述响应包括确定在所述一个资源处是否可获得资源锁,以及如果是,则经由所述通信连接与所有对等资源通信以确定是否可获得资源锁;如果所述对等资源指示可获得资源锁,则将所有所述资源锁定到所述请求计算机实体,并且所述一个资源将所述资源的所述锁经由所述通信接口传送到所述请求计算机实体;如果所述资源指示对所述多资源锁的争用,则所述一个资源将所述争用经由所述通信接口传送到所述请求计算机实体,使得所述请求计算机实体撤回所述多资源锁请求,并在随机时间间隔之后,重复所述请求;以及如果所述一个资源确定在所述对等资源处可获得资源锁,并且所述一个资源不能与所有所述其他资源通信以确定是否可获得资源锁,则所述一个资源将所述故障经由所述通信接口传送到所述请求计算机实体,使得所述请求计算机实体撤回所述多资源请求,并且在随机时间间隔之后,向所述请求实体的默认资源请求单个资源锁。
18.如权利要求17的资源配置系统,另外如果所述默认资源指示对所述锁的争用,则所述默认资源将所述争用通信到所述请求计算机实体,并且所述请求计算机实体撤回所述单个资源锁请求,并且在随机时间间隔之后,重复所述请求。
19.如权利要求17或18的资源配置系统,其中所述多个资源每个包括至少一个数据存储设备。
20.一种计算机程序产品,包括存储计算机可读程序的计算机可用介质,该计算机可读程序在包括多个计算机实体和多个资源的服务器系统的至少一个计算机上执行时,致使所述计算机实体的一个计算机实体向所述多个资源的一个资源请求多资源锁;所述一个资源确定在所述一个资源处是否可获得资源锁,以及如果是,则与所有对等资源通信以确定是否可获得资源锁;如果所述对等资源指示可获得资源锁,则将所有所述资源锁定到所述请求计算机实体,并且所述一个资源将所述资源的所述锁传送到所述请求计算机实体;以及如果任意资源指示对所述多资源锁的争用,则所述一个资源将所述争用传送到所述请求计算机实体,并且所述请求计算机实体撤回所述多资源锁请求,并在随机时间间隔之后, 重复所述请求。
21.如权利要求20的计算机程序产品,另外致使如果所述请求计算机实体不能与所述一个资源通信来确定是否可获得所述多资源锁, 则所述请求计算机实体向所述多个资源的所述对等资源请求所述多资源锁。
22.如权利要求21的计算机程序产品,另外致使所述对等资源确定在所述对等资源处是否可获得资源锁,如果是,则与包括所述一个资源的所有其他资源通信以确定是否可获得资源锁;如果所述其他资源指示可获得资源锁,则将所有所述资源锁定到所述请求计算机实体,并且所述对等资源将所述资源的所述锁传送到所述请求计算机实体;以及如果任一所述资源指示对所述多资源锁的争用,则所述对等资源将所述争用传送到所述请求计算机实体,并且所述请求计算机实体撤回所述请求,并在随机时间间隔之后,重复所述请求。
23.如权利要求22的计算机程序产品,另外致使如果所述对等资源确定在所述对等资源处可获得资源锁,并且其不能与所有所述其他资源通信来确定是否可获得资源锁,则所述对等资源将所述故障传送到所述请求计算机实体;以及所述请求计算机实体撤回所述多资源请求,并且在随机时间间隔之后,向所述请求实体的默认资源请求单个资源锁。
24.如权利要求23的计算机程序产品,另外致使如果所述默认资源指示对所述锁的争用,则所述默认资源将所述争用传送到所述请求计算机实体,并且所述请求计算机实体撤回所述单个资源锁请求,并且在随机时间间隔之后,重复所述请求。
25.如权利要求20到M的任一项的计算机程序产品,另外致使如果所述一个资源确定在所述一个资源处可获得资源锁,并且所述一个资源不能与所有所述对等资源通信以确定是否可获得资源锁,则所述一个资源将所述故障传送到所述请求计算机实体;以及所述请求计算机实体撤回所述多资源请求,并且在随机时间间隔之后,向所述请求实体的默认资源请求单个资源锁。
全文摘要
在包括多个计算机实体和多个资源的计算机实现的系统中,计算机实体之一可以向资源之一请求多资源锁;所述一个资源确定在所述一个资源处是否可获得资源锁,如果是,则所述一个资源与所有对等资源通信以确定是否可获得资源锁;如果所述对等资源指示可获得资源锁,则将所有资源锁定到所述请求计算机实体,并且所述一个资源向所述请求计算机实体传送所述资源的锁;以及如果任何资源指示对该多资源锁的争用,则所述一个资源将所述争用传送到所述请求计算机实体,并且所述请求计算机实体撤回所述多资源锁请求,并且在随机时间间隔后,重复所述请求。
文档编号G06F9/46GK102428443SQ201080021183
公开日2012年4月25日 申请日期2010年5月27日 优先权日2009年5月27日
发明者D.V.瓦尔沃德, K.N.邱, L.朱雅雷兹 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1