CN1224905C - 在群集计算机系统中的执行资源动作的方法 - Google Patents
在群集计算机系统中的执行资源动作的方法 Download PDFInfo
- Publication number
- CN1224905C CN1224905C CNB028086120A CN02808612A CN1224905C CN 1224905 C CN1224905 C CN 1224905C CN B028086120 A CNB028086120 A CN B028086120A CN 02808612 A CN02808612 A CN 02808612A CN 1224905 C CN1224905 C CN 1224905C
- Authority
- CN
- China
- Prior art keywords
- cluster
- computer system
- resource
- trooping
- node
- 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
- 230000009471 action Effects 0.000 title claims abstract description 86
- 238000000034 method Methods 0.000 claims abstract description 36
- 230000004048 modification Effects 0.000 claims abstract description 26
- 238000012986 modification Methods 0.000 claims abstract description 26
- 244000035744 Hura crepitans Species 0.000 description 24
- 230000008859 change Effects 0.000 description 16
- 238000010586 diagram Methods 0.000 description 14
- 238000007726 management method Methods 0.000 description 13
- 230000006870 function Effects 0.000 description 12
- 238000011084 recovery Methods 0.000 description 10
- 230000008569 process Effects 0.000 description 9
- 230000004044 response Effects 0.000 description 9
- 238000012546 transfer Methods 0.000 description 6
- 238000004590 computer program Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 230000005055 memory storage Effects 0.000 description 3
- 238000013475 authorization Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000005192 partition Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 239000003990 capacitor Substances 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000008030 elimination Effects 0.000 description 1
- 238000003379 elimination reaction Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000002028 premature Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
-
- 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/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
-
- 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3885—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
-
- 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3885—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
- G06F9/3889—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled by multiple instructions, e.g. MIMD, decoupled access or execute
- G06F9/3891—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled by multiple instructions, e.g. MIMD, decoupled access or execute organised in groups of units sharing resources, e.g. clusters
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/505—Clust
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)
- Stored Programmes (AREA)
- Hardware Redundancy (AREA)
Abstract
一种装置、群集计算机系统、程序产品及方法,利用一与资源动作有关的独特准备操作,将诸如节点和群集对象的遗失或不活跃的群集实体有效锁离,使这些实体在该资源动作之后,不会重新加入群集计算机系统。该准备操作包括修改一个或多个群集配置参数,该参数与一群集计算机系统内的诸实体相关,从而在准备操作期间活跃的任一群集实体会接受该修改,而该期间内不活跃的群集实体则不会接受该修改。通过修改活跃群集实体的群集配置参数,会使先前不活跃的群集实体试图在资源动作之后激活或重新加入群集化的举动不会成功,这是因为此不活跃实体本身的群集配置参数不正确或陈旧的关系,结果,此不活跃实体将有效被阻止,而不会被该群集计算机系统接受。
Description
技术领域
本发明涉及群集计算机系统,并且特别涉及其资源动作的处理。
背景技术
″群集化″一般指一计算机系统组织,其中有多个计算机或节点网络连结在一起,共同执行计算机任务。计算机群集一个重要的方面为,群集内的所有节点呈现单一系统映象—亦即,从用户角度来看,在一群集内的所有节点共同被视为一单个计算机或实体。
群集化通常用于相当大型的多用户计算机系统中,其中高性能及高可靠性为其首要考虑。例如,可使用群集化来提供冗余,或容错处理,以至于即便群集内有任一节点出现故障,该故障节点先前所执行的操作也将会由该群集内的其它节点来处理。还使用群集化来增加整体性能,这是因为多节点通常能并行处理较大量的任务,而此点是单一计算机无法做到的。通常也可以使用负载平衡来确保任务能公平地配置于节点间,以避免个别节点过载,因而使整个系统性能达到最高。群集化之一特定应用为,例如,提供多个用户存取诸如数据库或存储设备等的共享资源,这是因为多个节点可处理相当大量的用户存取请求,同时即便该群集内的任何特定节点出现故障,用户通常仍能取得该共享资源。
群集通常通过在个别节点中执行″作业″或″过程″来处理计算机任务。在某些实例中,不同节点所执行的数种作业互相配合,以处理一计算机任务。此种合作性的作业通常能彼此通信,并且通常使用称为″群组″的一逻辑实体在群集中进行管理。每一群组通常会分配某种形式的标识符,在该群组内的每一个作业均标示该标识符,以显示其为该群组内的成员。还经由使用一包括数个合作性作业的群组来处理许多群集管理操作,该包括数个合作性作业的群组通常被称为一群集控制群组。
一群组内的数个成员作业通常使用有顺序且基于消息的方案彼此通信,其中群组成员间所传送的消息维持特定的顺序,以便所有成员皆能依同样的顺序看到由其它成员所传送的消息,从而确保节点间的同步。请求一群组中的成员执行操作,这种请求通常称为″协议″,且通常使用一个或多个协议,来使任务能由一群组中的数名成员合作地执行。
群集计算机系统重视将系统可用性做到最大。如此一来,自动错误检测和恢复是这种系统特别希望具有的属性。一个可能的错误来源为资源的丢失,该资源为在一群集计算机系统的管理和操作中所使用的任何资源,例如存储器地址范围和输入/输出(I/O)设备。
特别是对于需要高度可用性的、对系统而言关键的应用来说,对资源的管理,特别是对遗失资源的恢复,能极大地改进使用那些资源的应用的可靠性。在某些情况下,资源在一群集内的节点和其它实体之间转移,并且通常在这些资源转移的过程中,资源遗失的风险最大。为避免两个实体拥有相同资源的风险,通常于转移资源前,一群集计算机系统需使一提供该资源的实体释出所有权。因而,若在提供实体释出该资源的所有权和另一实体接受该资源的所有权之间产生故障,该资源可能会遗失。
在许多群集计算机系统中,十分希望能将遗失的资源加以恢复,以便其它实体也能使用此资源。然而,传统系统尚未具有任何可靠的恢复遗失资源的方法。此外,其它类型的与资源相关的动作,例如,在数个实体或数个实体类型间转移资源,也同样呈现类似的风险。例如,对例如虚拟地址范围的资源来说,可能希望在不同实体或在不同类型的实体间移动资源。
因而,在本领域中明显需要一种能在一群集计算机系统内的诸资源上执行资源动作的方式,并且特别需要一种有效管理资源的方式,其中资源冲突和其它潜在错误的风险均已降低。
发明内容
因此,本发明在第一个方面中,提供了在一群集计算机系统中执行一资源动作的一种方法,该类型的群集计算机系统包括多个资源和被配置为拥有此多个资源的多个群集实体,该方法包括:在执行所述资源动作之前,准备该群集计算机系统,该准备是籍由修改与所述群集计算机系统中的多个群集实体相联系的至少一个群集配置参数,以至于在准备所述群集计算机系统期间处于活跃中的任何群集实体接受对所述群集配置参数的所述修改,且在准备所述群集计算机系统期间处于不活跃中的任何群集实体未接受对所述群集配置参数的所述修改;由此任何此类不活跃的群集实体此后被阻止被接受进入所述群集计算机系统。
优选地,所述多个群集实体包括多个群集节点。
优选地,所述群集配置参数包括存储在所述多个群集节点中的每个群集节点中的群集标识符。
优选地,所述多个群集实体包括多个群集对象。
优选地,所述群集配置参数包括与所述多个群集对象中的每个群集对象相联系的对象标识符和所有权转移计数。
所述第一个方面的方法优选地进一步包括在准备所述群集计算机系统之后,执行一资源动作。
优选地,执行所述资源动作包括执行一资源恢复操作。
优选地,所述资源动作包括恢复选自这样的一组中的一资源,该组包括虚拟地址范围、群集对象号码、直接存取存储装置(DASD)号码、及其组合。
优选地,多个群集实体包括多个节点和驻留于该多个节点之上的多个群集对象,且其中执行资源恢复动作包括:(a)查询群集计算机系统中的多个节点,以确定多个资源中的哪些被拥有;以及(b)将任何未被拥有的资源的所有权转移给所述多个节点中的一第一节点。
优选地,准备所述群集计算机系统包括在修改所述群集配置参数之前在所述群集计算机系统之上获得一锁。
所述第一个方面的方法优选地进一步包括在执行所述资源动作之后释放所述锁。
优选地,所述群集配置参数包括一对值,且其中修改所述群集配置参数包括顺序地修改所述一对值中的每个值。
优选地,准备所述群集计算机系统包括启动一群集协议。
优选地,准备所述群集计算机系统包括检测这样的一些群集实体的遗失,这些群集实体有能力拥有将由所述资源动作所作用的一资源。
本发明提供了一装置,其包括:(a)一存储器;(b)多个资源;(c)多个群集实体,其驻留所述存储器中,并被配置为拥有所述多个资源;以及(d)一程序,其被配置为在所述群集计算机系统中的多个资源的至少一个子集上执行一资源动作,并在执行所述资源动作之前,准备所述群集计算机系统,该准备是籍由修改与所述群集计算机系统中的多个群集实体相联系的至少一个群集配置参数,从而在准备所述群集计算机系统期间处于活跃中的任何群集实体接受对所述群集配置参数的所述修改,且在准备所述群集计算机系统期间处于不活跃中的任何群集实体未接受对所述群集配置参数的所述修改;由此任何此类不活跃的群集实体此后被阻止被接受进入所述群集计算机系统。
优选地,所述多个群集实体包括多个群集节点和多个群集对象。
优选地,所述群集配置参数包括存储在所述多个群集节点中的每个群集节点中的群集标识符,以及与所述多个群集对象中的每个群集对象相联系的对象标识符和所有权转移计数。
优选地,所述程序被配置为执行所述资源恢复动作,该恢复是籍由查询所述群集计算机系统中的多个节点,以确定多个资源中的哪些资源是被拥有的,并将任何未被拥有的资源的所有权转移至所述多个节点中的一第一节点。
优选地,所述程序被配置为通过在如下一资源上执行一资源恢复操作,来执行所述资源动作,该资源选自包括虚拟地址范围、群集对象号码、直接存取存储装置号码、及其组合的组。
优选地,所述程序被进一步地配置以准备所述群集计算机系统,该准备是籍由在修改所述群集配置参数之前在所述群集计算机系统上获得一锁,并在执行所述资源动作之后释放该锁。
优选地,所述群集配置参数包括一对值,且其中所述程序被配置为通过顺序地修改所述一对值中的每一值来修改所述群集配置参数。
优选地,所述程序被进一步配置,以通过启动一群集协议来准备所述群集计算机系统。
优选地,所述程序被进一步配置,以通过检测有能力拥有将被所述资源动作作用的一资源的诸遗失群集实体,而准备所述群集计算机系统。
在第二个方面中,本发明提供了一群集计算机系统,其包括:(a)通过一网络相互连接的多个节点;(b)多个资源;(c)被配置为拥有多个资源多个群集实体;以及(d)驻留于所述多个节点中的一第一节点上的一程序,该程序被配置为在所述多个资源的至少一个子集上执行一资源动作,并在执行所述资源动作之前,准备所述群集计算机系统,该准备是籍由修改与所述多个群集实体相联系的至少一个群集配置参数,从而在准备所述群集计算机系统期间处于活跃中的任何群集实体接受对所述群集配置参数的所述修改,且在准备所述群集计算机系统期间处于不活跃中的任何群集实体未接受对所述群集配置参数的所述修改;由此任何此类不活跃的群集实体此后被阻止被接受进入所述群集计算机系统。
在第三个方面中,本发明提供了由计算机程序代码组成的一计算机程序,当该程序装入一计算机系统中并运行时,将执行依据所述第一个方面的方法的所有步骤。
优选地,所述第三个方面的特征包括诸计算机代码要素,这些代码要素用以执行相应于所述第一个方面的所述优选步骤的步骤。
优选地,本发明可以提供一程序产品,其包括:(a)一程序,其被配置为在一群集计算机系统中执行一资源动作,该类型群集计算机系统包括多个资源和被配置为拥有所述多个资源的多个群集实体,且该程序被配置为在执行所述资源动作之前,准备所述群集计算机系统,该准备是籍由修改与所述群集计算机系统中的多个群集实体相联系的至少一个群集配置参数,从而在准备所述群集计算机系统期间处于活跃中的任何群集实体接受对所述群集配置参数的所述修改,且在准备所述群集计算机系统期间处于不活跃中的任何群集实体未接受对所述群集配置参数的所述修改;由此任何此类不活跃的群集实体此后被阻止被接受进入所述群集计算机系统;以及(b)承载所述程序的一信号承载介质。
优选地,所述信号承载介质包括一记录型介质和一传输型介质中的至少一个。
诸实施例优选地提供了在一群集计算机系统中的一资源上执行资源动作的一方法,该类型群集计算机系统包括多个节点和驻留在所述多个节点至少一部分之上的多个群集对象,其中所述多个节点和多个群集对象中的每一个都有能力拥有一资源,该方法包括:(a)在所述多个节点中的每个活跃节点上获得一锁;(b)为所述多个节点中的每个活跃节点修改一节点配置参数,以至于所述多个节点中的任何不活跃节点此后被阻止被接受进入所述群集计算机系统;(c)修改可以拥有所述资源的每个活跃群集对象的一对象配置参数,以至于可以拥有所述资源的任何不活跃群集对象此后被阻止被接受进入所述群集计算机系统,且任何不活跃节点此后被阻止接受一活跃群集对象;(d)在获得所述之锁以及所述节点配置参数和对象配置参数被修改之后,在所述资源之上执行所述资源动作;以及(e)在执行所述资源动作之后,释放每个活跃节点上的所述锁。
这种实施例的方法可以进一步包括确定能够拥有所述资源的所有群集对象是活跃的。
本发明通过提供一种装置、群集计算机系统、程序产品及方法,来解决与现有技术相关的诸问题,该种装置、群集计算机系统、程序产品及方法利用与一资源动作有关的独特准备操作,将遗失或不活跃的群集实体(例如节点和群集对象)有效锁离(lock out),使这些实体在该资源动作之后,不会重新加入一群集计算机系统。如此一来,使一群集计算机系统内不活跃群集实体重新激活并试图利用已被转移至其它群集实体的资源的风险最小,该不活跃群集实体前述的行为可能会产生资源冲突。
在所描述的具体实施例中,一准备操作包括修改一个或多个群集配置参数,该参数与一群集计算机系统内的多个实体相关,从而在准备操作期间为活跃的任一此群集实体会接受该修改,而该期间内不活跃的任一此群集实体则不会接受该修改。此外,通常在描述的具体实施例中,先前不活跃的群集实体在资源动作之后若试图激活或重新加入群集,将使系统检测到该不活跃实体的不正确或者陈旧的群集配置参数,此结果将有效阻止此不活跃群集实体,而不致被该群集计算机系统接受。
此外,各种根据本发明的具体实施例也并入一个锁,在修改节点配置参数(与该各种节点相关)和对象配置参数(与各种群集对象相关)之前,在该群集计算机系统内的每一个节点上取得该锁。一旦完成该修改即释放该锁,此后,任何不活跃的、能拥有感兴趣资源的节点和/或群集对象皆会被阻止,而不会随后被该群集计算机系统接受。
附图说明
现在仅作为示例,参照附图,描述本发明的一优选实施例,其中:
图1为根据本发明的优选实施例的群集计算机系统方块图。
图2为图1所示该群集计算机系统的节点方块图。
图3为图1所示该群集计算机系统的范例群集实体方块图。
图4为图1所示该群集计算机系统所执行的资源动作例程的程序流程图。
图5为一流程图,图示图4所引用的动作准备例程的程序流程。
图6为一流程图,图示改变标识符例程的程序流程,该例程适于图5所示准备例程中的改变一群集配置参数。
图7为一流程图,图示一恢复资源例程的程序流程,该例程实现图4所示资源动作例程所执行的范例资源管理操作。
图8为一流程图,图示图4和5所引用的结束动作例程的程序流程。
具体实施方式
以下所述的具体实施例利用一与执行资源动作有关的准备操作,将遗失或不活跃的群集实体有效锁离,使这些群集实体在修改该系统内的资源所有权后,不会被一群集计算机系统接受。在准备操作期间,修改与一受影响的群集实体类型相关的、一个或多个群集配置参数,以致于只有此群集实体的活跃的实例会接受修改。此群集实体的不活跃的实例则不会接受修改,从而因为参数无效的关系,那些不活跃的群集实体若接着试图激活和重新加入群集化,将会失败。
在此上下文中,一资源通常代表执行某种处理任务所需的一种实体或″事物″类型,其中此种事物的数量有限,并且其中需″拥有″任何一个此事物,才能使用此事物。一群集实体通常代表群集化中所采用的逻辑软件结构,该群集实体并能″拥有″一资源,亦即,于其运作中利用和/或管理该资源。
在描述的具体实施例中,例如,群集实体可包括群集节点(亦即,在一多节点群集中当做″节点″的个别计算机系统和/或常驻于那些系统内的逻辑分区)和/或群集对象(亦即,在一群集计算机系统内参与群集化和/或协助管理一群集的逻辑实体)。例如,在以下所讨论的具体实施例中,一群集对象可能代表一组或一群输入/输出(I/O)装置,例如被集体管理并被当做单一逻辑装置存取的诸直接存取存储装置(DASD)。
此外,在描述的具体实施例中,诸如虚拟地址或虚拟地址范围、输入/输出(I/O)装置等的资源,均以在此所述之方式管理。更特别的是,此资源通常经由标识符表示,从而一资源通常因为一特别标识符与一特别群集实体相关联而被拥有。因而,例如,虚拟存储器空间内的地址范围可用该范围的边界地址来表示,而诸如直接存取存储装置(DASD)的输入/输出(I/O)装置,则可以与此装置相关的独特标识符或号码来表示。此外,在描述具体实施例中,只要能拥有其它资源的群集对象通常本身也为一群集节点所拥有,则可将一群集对象视为既是群集实体,也是资源。在这样的实施例中,可以一独特标识符来表示该群集对象,例如与一拥有者群集节点相关的对象标识符。
一群集配置参数可代表任何所维护的数据,该数据与例如群集节点或群集对象等群集实体相关,可能使用该数据,以检测是否一群集实体的特定实例在一资源动作之前为活跃的。一群集配置参数的状态的检测结果,可以用来单纯地发出一错误信号和/或使一实体不会重新加入一群集。作为替代方法,可使用所检测到的参数执行恢复操作,该操作可以在允许一群集实体重新加入一群集前释出资源。
在描述的具体实施例中,例如,与一群集节点相关地使用的群集配置参数为一群集标识符(CID),在一群集的特别实例中,该群集标识符当做一共同的″令牌(token)″或唯一标识符,由所有活跃的节点共享。然后,需要用该群集内的群集管理软件,来验证试图加入该群集的一特定节点的群集标识符(CID),否则该群集节点会被拒绝并阻止加入该群集。一般而言,该群集标识符(CID)用作资源管理外的安全机制,以仅允许经授权的节点加入一群集。因而,通常不需修改一群集计算机系统内的节点管理例程,即可实现在此所述之功能。
对群集对象而言,所使用的该群集配置参数为一对象配置参数,例如在每一个群集对象内所维护的一所有权转移计数(OTC),其可任选地与一群集对象标识符相关地使用。
应了解,也可能使用其它参数阻止不活跃的群集实体,使其不致重新加入根据本发明的群集。此外,也应了解,不同类型的资源仅能为某些类型的实体所拥有,因而在此所讨论之准备操作可能仅会影响某些类型的实体,该类型之实体与正有动作作用于其上的一特定资源类型相关。因而,本发明的实施并不限于在此所述之该特定实现。
现在参考附图,在全部多个附图中,相同号码代表相同组件。图1图示一群集计算机系统2,其包括多个节点4,这些节点经由网络结构5彼此互连。根据本发明,可能使用任何数目的、在群集计算机系统内一般会采用的网络拓朴,例如一高速点对点总线或链路、一局域网络、一广域网络、一公共网络(例如因特网等),及其组合。此外,各个节点4物理上可位于邻近其它节点之处,或者在地理位置上与其它节点分离,如本领域所周知的。
通常一群集计算机系统也会并入一个或多个I/O装置(例如I/O装置7),该装置可经由网络结构5与各个节点互连。此外,在某些实施例中,该装置7并非直接连接至该网络,而是由一中间节点来管理经由网络结构5对装置7的存取。已考虑过各种I/O装置,例如,直接存取存储装置(DASD)、工作站、存储控制器、工作站控制器、网络适配器、打印机、显示器,等等。
根据本发明的优选实施例,有多个群集实体常驻于群集计算机系统2。例如,图示了多个节点4(也分别以节点A到E表示)。因而,每一个节点内皆维护一群集配置参数(在此也被称为一群集标识符(CID)7)。图1也图示多个群集对象8(分别以对象O1到O4来表示其作为范例的数个群集对象),其中每一个皆含有一群集配置参数(未显示于图1)。
上述该各种群集实体皆被配置成能管理并利用多个资源9。作为范例,数个此资源在图1中分别标示为资源R1到R5。以下联系图3到图8,就上述群集实体拥有和管理此种资源的方式进行详细叙述。
现在参考图2,其示出群集计算机系统2中诸节点4其中之一的范例硬件配置。节点4一般指数个多用户计算机其中之一,如网络服务器、中程计算机、大型计算机等,例如,可从国际商业机器公司所购得的AS/400或iSeries中程计算机系统。然而,应了解,本发明亦可实现于其它计算机和数据处理系统,例如,独立的或单用户计算机(例如工作站、桌上型计算机、可携式计算机等)或是其它可编程的电子装置(例如,并入了嵌入式控制器等)。
节点4通常包括一个或多个系统处理器12,该系统处理器经由一级或多级置于高速缓存系统16内的高速缓存连接至一主存储器14。此外,主存储器14经由系统输入/输出(I/O)总线18和多个接口装置连接至若干种类型的外部装置,该接口装置为例如,一输入/输出适配器20、一工作站控制器22和一存储控制器24,它们分别提供外部存取至一个或多个外部网络(例如网络26)、一个或多个工作站28和/或一个或多个存储装置(例如直接存取存储装置(DASD)30)。在其它实施例中,可使用任意数目的不同计算机结构。
为了在AS/400环境中实现在此所述的群集化功能,一群集内的每一个节点通常包括系统程序代码,该系统程序代码被分割成系统授权内部码(system licensed internal code,SLIC)32、一机器接口34和一操作系统36,其中每一个皆图示为常驻于主存储器14内,但在实际中,通常使用本领域众所周知的虚拟存储器管理系统,将它们以选择性的分页方式调入调出主存储器。通常由一个或多个作业或应用程序38为了用户来执行任务,该作业或应用程序在执行该任务时利用在底层的该系统程序代码。
通常会分配部分的系统授权内部码(SLIC)32以管理存储器和外部存储器,此部分以存储管理区块40表示。此外,用于群集化环境时,节点4通常执行称为群集化资源服务42的一群集化基础设施以管理在该节点上与该群集化相关的操作。此外,群集化可能需要执行一群集控制(CTL)作业,该群集控制作业作为诸作业38其中之一,代表该节点参与一群集控制群组,以协助管理群集化功能。许多在此所述之资源管理功能就是在这些程序中实现的。
然而,应了解,在此所述之该功能亦可在节点4的其它软件层内实现,并且该功能可以分配在群集计算机系统2内的其它程序、计算机或组件中。特别是在非AS/400的环境中,可能在程序代码的其它层内实现该系统程序代码以及群集化基础设施。此外,其它群集化环境通常依赖类似群集化基础设施及群集控制群组的功能。因而,本发明的实施不限于在此所述之特定软件实现。
以下讨论将关注于实现上述资源管理功能所使用之各特定例程。为实现本发明具体实施例而执行的各种例程,不论是实现为操作系统的一部份或特定应用、组件、程序、对象、模块或指令序列,在此均被视为″计算机程序″或简单地称为″程序″。该计算机程序通常包括一个或多个指令,该指令在各种时刻驻留于计算机各种存储器和存储装置内,并且,当其被一个或多个处理器读取和执行时,会使该计算机执行必要的步骤,以执行将本发明的各个方面具体实现的步骤或要素。此外,虽已于完全运作的计算机和计算机系统中叙述了本发明的实施例,本领域技术人员仍可了解到:本发明之各种具体实施例能作为具有各种形式之程序产品而分发,并且不管实际实现该分发所使用之特定类型的信号承载媒介为何,本发明均可适用。信号承载媒介的实例包括但不仅限于可记录类型的媒介,例如易失性和非易失性存储装置、软盘和其它可移动式盘、硬盘驱动器、光盘(例如,CD-ROM、DVD等)及其它,以及如数字及模拟通信链路等的传输类型媒介。
应了解,以下所述之各种程序可以根据在本发明特定具体实施例内实施这些程序所要达到的应用,而确定。然而,应了解,以下任何特别程序命名法仅为方便而使用,并且因而不应将本发明限制为仅能使用于由此命名法所确定和/或隐含的任何特定应用上。
现在回到前述资源管理功能之范例实现,业已发现,若采用上述系统,要确保资源动作(例如资源恢复或资源所有权转移等)正确完整,需满足4个条件:
●须所有群集节点在场,且执行资源动作时,任何不活跃或遗失的群集节点不能在随后被该群集接受。
●群集节点间的资源转移不能与该资源动作同时发生。
●能拥有该特定资源的所有群集必须在场,且执行该资源动作时,任何不活跃或遗失的群集对象不能在随后被任何群集节点接受。
●一群集节点和一群集对象之间的资源转移不能与该资源动作同时发生。
在以下所述之具体实施例中,为了满足这些条件,使用一与资源动作相关的独特准备操作,并在资源动作之前进行此准备操作,以便执行以下操作:
●序列化(serialize)所有群集节点,以确保所有群集节点为活跃的,并在每一个群集节点上取得一个锁,以避免资源转移、节点离开或加入该群集、和群集对象的生成和删除。若合理时间内无法取得一个锁,该准备将失败,并且不会执行该资源动作。
●改变将诸群集节点绑在一起的唯一标识符,以便任何不活跃的群集节点随后不会被该群集接受。
●确保能拥有该特定资源的所有群集对象在场,否则该准备将失败。
●改变所有此群集对象的配置数据(例如,一群集对象标识符),以致于任何不活跃的群集对象此后不会被接受进入该群集,并且任何不活跃的节点此后无法接受一活跃的群集对象。
图3接着图示群集实体的一范例集合,和在那些实体中每一个实体内所维护的诸数据结构,这些数据结构和根据本发明一优选实施例的资源管理相关。例如,图示了一对节点4,每一个节点包括配置数据50,该配置数据包括一群集标识符(CID)52以及诸已知对象标识符54的一表格或列表,这些对象标识符代表与已知驻留于该群集计算机系统内的该各种群集对象相关的句柄(handle)或令牌。此外,每一个节点4通常维护已拥有资源的列表56,这些资源包括例如虚拟地址范围、对象号码、直接存取存储装置(DASD)单元号码等。在图示具体实施例中,对象包括标识符和号码二者,每一者都能唯一地辨识该对象。然而,在其它具体实施例中,可能使用一单个唯一标识符来辨识每一个对象。
图3中还示出了是一范例群集对象8,其包括配置数据60和已拥有诸资源的一列表或表62。该配置数据包括,例如,与该群集对象相关的一对象标识符64以及该对象的所有权转移计数(OTC)66。此外,与该群集对象相关的已拥有资源可包括各种虚拟地址范围,以及该群集对象的对象号码。一群集对象可代表,例如,一个或多个直接存取存储装置(DASD)单元,该DASD单元实现于连接至以AS/400为基础的群集计算机系统的输入/输出塔(I/O tower)内。因而,例如,该群集对象可逻辑地代表一接口链内的各种层级装置,该接口链连接至一个或多个直接存取存储装置(DASD)单元,这些层级装置包括多输入/输出适配器(IOA)和一个或多个输入/输出处理器(IOP)。此外,该已拥有资源可包括该群集对象所拥有的一个或多个直接存取存储装置(DASD)单元的标识。
在图示具体实施例中,所跟踪的每一个节点4的群集配置参数为群集标识符(CID)52,而所跟踪的每一个群集对象的群集参数则为对象标识符64和所有权转移计数(OTC)66的组合,该所有权转移计数(OTC)66通常是在每一次资源动作时被修改。
图4接着图示一范例例程70,本例程用于实现根据本发明的优选实施例的资源动作。如上述,一资源动作通常包括一在先的动作准备操作,该准备系由例如动作准备例程72所执行。例程72返回一结果,表明该操作是否成功执行。若该操作未成功执行,将控制从块74传送至块76,提前终止该资源动作,并返回一错误做为结果。然而,若成功执行该动作准备,则块74将控制传送至块78,以执行所需要的资源动作。
在某些具体实施例中,可能希望在单一准备后执行多个资源动作。如此,可能希望执行一个或多个额外资源动作,如由任选例程82所代表的。此外,可能希望在执行后续资源动作之前,先查询前置资源动作的结果,如任选块80所代表的。不论如何,一旦成功执行一准备动作并已尝试执行一个或多个资源动作,通常会执行一结束动作例程84,以释放在该群集计算机系统上的锁,做为该准备动作的结果。一旦完成结束动作例程84,该适当的结果会返回至原始调用例程,如块86所示。该结果取决于例程的进行,而显示有无错误,正如将于后面详细讨论的。
图5更详细图示动作准备例程72。每当确定了需执行一资源动作,群集计算机系统内的一节点通常会调用例程72。例如,响应于检测出遗失资源或一特别节点上的资源很少,该群集计算机系统内的上述节点会启动资源动作。
例程72始于块100,该块决定是否该环境对一准备而言是有效的,这包括各种检查,例如该节点是否处于适当的群集化环境。若该环境对该准备而言是无效的,块100将控制转移至块102,以返回一错误情况并结束该资源动作。
否则,块100将控制转移至块104,产生一本地沙箱(sandbox)并因而在该节点上取得一本地锁。在此上下文中,一沙箱指一软件对象,该软件对象会创建该节点的工作空间(workspace),并且将该节点的操作加以序列化。通常在一节点上,在一给定时间只有一个沙箱会被执行,此外,在沙箱内对一群集所做的修改必须首先被提交或完成,然后在该沙箱结束之时,这些修改才能存留于该群集。产生沙箱的结果是使得节点被序列化至以下程度:无法产生或删除诸群集对象,无法修改资源所有权,以及无法将节点加入该群集计算机系统或从群集计算机系统移除节点(从本地节点的观点而言)。然而,应了解,可能利用其它形式的锁或信号灯(semaphores),来序列化根据本发明的该本地节点的操作。
一旦完成块104,块106会决定该本地沙箱的建立是否成功。若该本地沙箱的建立不成功,控制会传送至块102,以终止例程72。否则,控制会传送至块108,任选地决定该本地节点是否为单机模式,而不参与群集化。如果是单机模式,则控制传送至块110,以执行单机准备操作,并且然后至块112,返回该准备操作的结果。例如,可能通过验证该节点上所有已配置的群集对象均为已拥有的和活跃的,并且适当更新该群集对象配置数据,以将任何遗失的群集对象锁离,来执行单机准备操作。在单机配置中,通常会省略许多如下所述的、与节点相关的、与群集化环境准备有关的功能,虽然在某些情况下,可能希望利用类似的功能,例如当因群集化环境内其它节点的消除而使得一节点处于单机模式时。
回到块108,如果该节点不是处于单机模式,控制会传送至块114,以决定是否正在现有群集协议内执行该准备操作。特别是,可能在一群集协议内执行一资源动作,或是与一群集协议分开地执行,以及可能在一单一群集协议内执行多个资源动作。在图示具体实施例中,执行任何资源动作前必须激发一群集协议,以便数个节点能互相通信,确保该准备及资源动作完成。因而,若尚未建立群集协议,则块114将控制传送至块116,激活一群集协议并启动节点间的通信。接着块118决定启动该协议的尝试是否成功。若不成功,块118调用结束动作例程84(于后面讨论)或另一具有类似功能的例程,这导致产生错误,并且返回该错误做为该准备的结果。
然而,如果激活该群集协议的尝试是成功的,块118将控制传送至块120,以在其它节点上启动一沙箱,因而在该其它节点的每一个节点上取得一个锁。此外,回到块114,若该群集协议早已存在,则控制直接传送至块120。
通过在其它节点中的每一个节点内启动一沙箱,而在每一个本地节点上产生一本地沙箱。通常在第一节点内会采用一些迟延,以等待其它节点中的每一个节点创建沙箱,并返回一适当响应。若在设定时间内未返回适当响应,块122将判定该准备失败,并且因而将控制传送至结束动作例程84,终止该准备操作。此外,若任何节点是不活跃的,但却被发送一消息以启动一沙箱,则该节点将无法于适当时间内产生响应,并且因而将造成该准备操作失败。如此,在其它节点上启动沙箱的操作将有效决定是否该系统上每一个已知节点为活跃的。
若成功建立了诸沙箱,块122将控制传送至块124,查询其它节点有关遗失的群集对象。在所图示的实现中,通过将查询传送至其它节点中的每一个节点,判定是否每一个已知对象(存储在图3所示已知对象标识符的列表54内)皆有一所有者,来实现块124。然后块126决定是否存在任何遗失的对象(无所有者的对象)。若有遗失对象的话,将控制传送至例程84并终止该准备动作。否则,控制传送至块128,以实现一改变群集标识符(CID)例程,该例程更新每一个群集节点的配置参数。
在说明的实现中,经由与该资源动作有关所启动的群集协议,而使用有顺序的消息,来实现在其它节点上启动沙箱、查询遗失的群集对象等的操作。因而,例如,在其它节点上启动一沙箱的请求将导致会有一消息发送至每一个节点,且由每一个节点所发送来的响应消息显示是否该沙箱已成功地在该节点上启动。类似地,查询遗失的一群集对象,将导致一消息被发送至每一个节点,该消息确定感兴趣的该群集对象。然后,每一个节点产生一显示该对象是否为该节点所拥有的消息做为响应。因而通过只接收到了未指明一对象为响应节点所拥有的消息,即可检测出一遗失的对象。
使用改变群集标识符(CID)例程128来改变与每一个活跃节点相联系的群集标识符,从而任何不活跃的节点不会以类似方式更新,因而在该准备之后,任何不活跃的节点均被阻止参与群集化。
例程128返回一结果,该结果将在块130内被询问。若未成功执行该改变,则调用例程84,而该准备操作失败。否则,控制传送至块132,来改变感兴趣的各种群集对象的群集对象参数,以将任何不活跃的群集对象锁离,使其不会重新加入该群集。应了解,若准备操作是与特定类型资源上的特定类型资源动作相关地执行的,则只有拥有该类型资源(例如,一虚拟地址范围或一直接存取存储装置(DASD)单元号码)的群集对象会被改变。改变群集对象参数通常包含将消息传送至拥有该对象的节点和所有其它的节点,以便每一个节点皆能更新对该节点而言是本地性的对象配置参数数据。然而,对确实拥有该群集对象的节点来说,则还会改变该群集对象的本地信息。
类似地,例程132返回一结果,该结果在块134内被询问。如果未成功执行该改变操作,则控制传送至例程84,以结束该动作并终止该准备。否则,返回一″没有错误″的情况(如块136所示),显示其结果为成功。
通过仅改变与一参数相关的单一值,并且通常采用有顺序的消息传递,以确保该改变遍及每一个相关群集实体,即能执行改变群集配置参数。作为替代办法,对每一个群集配置参数可能希望采用多个值,来代表目前值和″将变成的″值。改变参数时,首先将该″将变成的″值变为一新的值,然后将该常规副本也变为新值。因而,若该过程在任何点发生失败,所有的节点仍能在至少一个值上相匹配。
以图6的改变标识符例程140图示一范例例程,该例程可能使用成对值来改变群集标识符亦或群集对象参数。应了解,视被修改的该特定群集配置参数而定,一″标识符″可以是指一群集标识符,或是指一群集对象参数。
例程140始于块142,在该块查询存储在每一个节点上的目前标识符成对值。通常,使用有顺序的消息实现块142,其中每一个节点响应于一请求,以其特定参数的当前值作为响应。
块144接着决定是否该第一值为同步,亦即,是否每一个节点上皆存储有相同的第一值。若该第一值不同步,控制传送至块146,将每一个节点上的该第一值设定为例程140正执行于其上的节点所选择的任意值。该设定操作也经由有顺序的消息来执行,并作为结果,等待适当的响应消息以确认最后每一个节点均已成功地更新其值。块148会因此决定是否已成功地更新该第一值,并若检测出有任何错误,控制传送至区块150,以终止例程140并返回一错误情况。否则,块148将控制传送至块152,决定该第二值是否为同步。此外,若块144决定该第一值为同步,则控制直接传送至块152。
若第二值为不同步,则控制传送至块154,以与块146设定第一值同样的方式设定第二值。然后块156决定该设定操作是否成功,如果检测到错误时,则将控制传送至块150。否则,块156将控制传送至块158,以产生新的标识符成对值,例如,通过将值从其原始状态增加。作为替代办法,可以为每一个值选择一任意值,只要该改变传遍所有节点即可。此外,回到块152,若第二值为同步,则控制直接传送至块158。
一旦产生新的参数值,控制传送至块160,以改变该第一值。如同块146一样,通过有顺序的消息执行改变该第一值,并且块162接着决定是否已成功改变该第一值。若不是,则控制传送至块150,返回一错误。否则,控制传送至块164,以如上述相同之方式改变该第二值。根据该结果,块166或是将控制传送至块150以返回一错误,或是将控制传送至块168以返回一无错误情况,这就意味着已成功完成该改变。
现在回到图4,一旦完成动作的准备,并且若返回一成功结果,即执行所希望的资源动作。如上述,意图执行许多不同的资源动作。例如,图7图示一可以被执行以恢复特定类型资源的范例恢复资源例程180,例如,响应于检测到已遗失一特定类型资源。
例程180始于块182,在该块查询所有节点,以判定其它节点拥有何种资源,以及为那些其它节点所拥有的群集对象又拥有哪些资源。块182本质上相当于对该系统内现有资源进行盘点。通常,此盘点包括对该各种节点产生多个查询,并对该查询产生适当的响应。块182会导致产生拥有资源的一列表或表。
一旦完成块182,块184决定该查询是否成功,并且是否已产生所拥有资源的一有效表。若不是,将控制传送至块186,终止例程180并返回一错误情况。否则,将控制传送至块188,将所拥有的资源与存在于系统内的已知资源做比较。经由此比较,产生一未被拥有资源的列表,并且如此一来,执行块190以恢复这些遗失的资源,从而取得该遗失资源的所有权。这些未被拥有的资源也被称为遗失的资源,因为这些资源由于不为任何群集实体所拥有而已经遗失。
一旦发起节点恢复该遗失的资源并且取得其所有权之后,控制传送至块192,终止该例程并返回一无错误情况。因而完成资源恢复。
应了解,根据本发明的优选实施例,可恢复各种类型的资源。例如,可能希望支持分别恢复虚拟地址范围、群集对象、和直接存取存储装置(DASD)单元的能力。
也可能希望支持其它形式的资源动作。例如,可能希望支持在虚拟地址空间内的″边界移动(boundary move)″。在描述的具体实施例中,例如,该虚拟地址可分区成两个范围,其分别分配给群集节点和群集对象。由于虚拟地址分配给不同的节点和对象,该存储空间可能从该虚拟地址空间的每一端且朝向该两分区间的界线的方向开始消耗。如果这些群集节点或群集对象二者其中之一利用了其各自分区内所有可用的空间,则可能希望移动边界,并且因而将额外的存储空间分配给该已满分区。此外,在描述的具体实施例中,配置给节点的分区允许在每一个节点内重新使用虚拟地址,因为该虚拟地址本地性地使用于每一个节点上。然而,由于群集对象可为各个节点所拥有,因此分配给每一个对象的虚拟地址必须是唯一的。因而,要执行移动边界操作,必须查询每一个节点,以确保边界的移动不会与正失去地址范围的分区内已使用的虚拟地址产生冲突。
再回到图4,一旦完成各种资源动作的执行,调用结束动作例程84以完成该资源动作过程。此外,如图5所示,于本地节点上取得本地沙箱之后,准备操作期间随时可以调用例程84。
图8更详细地说明结束动作例程84。例程84始于块200,在该块决定是否该本地节点处于单机模式。若该本地节点不是在单机模式,则控制传送至块202,以结束其它节点上的沙箱(通常通过将消息传送至其它节点中的每一个节点,来终止其本地沙箱)。其次,块204决定是否该资源动作嵌套于另一群集协议内。首先假设该资源动作不是嵌套的,则控制传送至块206,以结束该群集协议,并然后至块208,以结束在该节点上的本地沙箱。然后返回该操作的结果,并且在块210终止例程84。
返回块200和204,若该节点处于单机模式,或该动作嵌套于另一群集协议上,则省略处于中间的数个块,控制直接传送至块208,以结束该节点上的本地沙箱。
Claims (11)
1.一种在一群集计算机系统内执行资源动作的方法,该类型的群集计算机系统包括多个资源和多个群集实体,该群集实体被配置成拥有该多个资源,该方法包括:
执行该资源动作之前,通过修改与该群集计算机系统内的多个群集实体相关的至少一群集配置参数,来准备该群集计算机系统,从而在准备该群集计算机系统期间为活跃的任一群集实体,接受对该群集配置参数的修改,而该期间内不活跃的任一群集实体,不接受对该群集配置参数的修改;从而在修改后,任何这种不活跃的群集实体会被阻止,而不会被该群集计算机系统接受。
2.如权利要求1的方法,其中该多个群集实体包括多个群集节点或群集对象。
3.如权利要求2的方法,其中该群集配置参数包括一群集标识符,该群集标识符存储于该多个群集节点中的每一个群集节点上,或者,其中该群集配置参数包括与该多个群集对象中的每个群集对象相联系的对象标识符和所有权转移计数。
4.如权利要求1-3任一权利要求的方法,进一步包括在准备该群集计算机系统之后,执行一资源动作。
5.如权利要求4的方法,其中该多个群集实体包括多个节点和多个群集对象,该多个群集对象驻留于该多个节点上,并且其中执行该资源动作包括:
(a)查询该群集计算机系统内的多个节点,以决定多个资源中的哪些资源被拥有;以及
(b)将任何未被拥有的资源的所有权转移至该多个节点中的一第一节点。
6.如权利要求1-3任一权利要求的方法,其中准备该群集计算机系统包括:在修改该群集配置参数之前,在该群集计算机系统上取得一个锁。
7.如权利要求4的方法,其中准备该群集计算机系统包括:在修改该群集配置参数之前,在该群集计算机系统上取得一个锁。
8.如权利要求5的方法,其中准备该群集计算机系统包括:在修改该群集配置参数之前,在该群集计算机系统上取得一个锁。
9.如权利要求6的方法,进一步包括在执行该资源动作之后释放该锁。
10.如权利要求7的方法,进一步包括在执行该资源动作之后释放该锁。
11.如权利要求8的方法,进一步包括在执行该资源动作之后释放该锁。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/845,592 US6889253B2 (en) | 2001-04-30 | 2001-04-30 | Cluster resource action in clustered computer system incorporation prepare operation |
US09/845,592 | 2001-04-30 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1503942A CN1503942A (zh) | 2004-06-09 |
CN1224905C true CN1224905C (zh) | 2005-10-26 |
Family
ID=25295589
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB028086120A Expired - Fee Related CN1224905C (zh) | 2001-04-30 | 2002-04-18 | 在群集计算机系统中的执行资源动作的方法 |
Country Status (8)
Country | Link |
---|---|
US (1) | US6889253B2 (zh) |
EP (1) | EP1386234A2 (zh) |
JP (1) | JP3910539B2 (zh) |
KR (1) | KR100637775B1 (zh) |
CN (1) | CN1224905C (zh) |
AU (1) | AU2002253319A1 (zh) |
TW (1) | TWI251781B (zh) |
WO (1) | WO2002088946A2 (zh) |
Families Citing this family (45)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040139125A1 (en) * | 2001-06-05 | 2004-07-15 | Roger Strassburg | Snapshot copy of data volume during data access |
US7640582B2 (en) | 2003-04-16 | 2009-12-29 | Silicon Graphics International | Clustered filesystem for mix of trusted and untrusted nodes |
US7631066B1 (en) * | 2002-03-25 | 2009-12-08 | Symantec Operating Corporation | System and method for preventing data corruption in computer system clusters |
US7228351B2 (en) * | 2002-12-31 | 2007-06-05 | International Business Machines Corporation | Method and apparatus for managing resource contention in a multisystem cluster |
US7085862B2 (en) * | 2003-03-13 | 2006-08-01 | International Business Machines Corporation | Apparatus and method for controlling resource transfers in a logically partitioned computer system by placing a resource in a power on reset state when transferring the resource to a logical partition |
US7073002B2 (en) * | 2003-03-13 | 2006-07-04 | International Business Machines Corporation | Apparatus and method for controlling resource transfers using locks in a logically partitioned computer system |
US7039820B2 (en) | 2003-04-24 | 2006-05-02 | International Business Machines Corporation | Method for detecting and powering off unused I/O slots in a computer system |
US7587475B2 (en) * | 2003-06-25 | 2009-09-08 | Nokia Siemens Networks Oy | System for joining a cluster by cloning configuration |
US7577727B2 (en) * | 2003-06-27 | 2009-08-18 | Newisys, Inc. | Dynamic multiple cluster system reconfiguration |
US7302607B2 (en) * | 2003-08-29 | 2007-11-27 | International Business Machines Corporation | Two node virtual shared disk cluster recovery |
US7353536B1 (en) * | 2003-09-23 | 2008-04-01 | At&T Delaware Intellectual Property, Inc | Methods of resetting passwords in network service systems including user redirection and related systems and computer-program products |
JP2005165702A (ja) * | 2003-12-03 | 2005-06-23 | Hitachi Ltd | クラスタストレージのデバイス連結方法 |
US20050144402A1 (en) * | 2003-12-29 | 2005-06-30 | Beverly Harlan T. | Method, system, and program for managing virtual memory |
US8782654B2 (en) | 2004-03-13 | 2014-07-15 | Adaptive Computing Enterprises, Inc. | Co-allocating a reservation spanning different compute resources types |
US8413155B2 (en) | 2004-03-13 | 2013-04-02 | Adaptive Computing Enterprises, Inc. | System and method for a self-optimizing reservation in time of compute resources |
US7523204B2 (en) * | 2004-06-01 | 2009-04-21 | International Business Machines Corporation | Coordinated quiesce of a distributed file system |
US20070266388A1 (en) | 2004-06-18 | 2007-11-15 | Cluster Resources, Inc. | System and method for providing advanced reservations in a compute environment |
CN100465901C (zh) * | 2004-08-02 | 2009-03-04 | 索尼计算机娱乐公司 | 网络系统、管理计算机以及集群管理方法 |
US8176490B1 (en) | 2004-08-20 | 2012-05-08 | Adaptive Computing Enterprises, Inc. | System and method of interfacing a workload manager and scheduler with an identity manager |
US20060074940A1 (en) * | 2004-10-05 | 2006-04-06 | International Business Machines Corporation | Dynamic management of node clusters to enable data sharing |
WO2006053093A2 (en) | 2004-11-08 | 2006-05-18 | Cluster Resources, Inc. | System and method of providing system jobs within a compute environment |
US8863143B2 (en) | 2006-03-16 | 2014-10-14 | Adaptive Computing Enterprises, Inc. | System and method for managing a hybrid compute environment |
WO2006107531A2 (en) * | 2005-03-16 | 2006-10-12 | Cluster Resources, Inc. | Simple integration of an on-demand compute environment |
US9225663B2 (en) | 2005-03-16 | 2015-12-29 | Adaptive Computing Enterprises, Inc. | System and method providing a virtual private cluster |
US9231886B2 (en) | 2005-03-16 | 2016-01-05 | Adaptive Computing Enterprises, Inc. | Simple integration of an on-demand compute environment |
CA2603577A1 (en) | 2005-04-07 | 2006-10-12 | Cluster Resources, Inc. | On-demand access to compute resources |
DE102006001257A1 (de) * | 2005-12-30 | 2007-07-12 | Advanced Micro Devices, Inc., Sunnyvale | Automatisiertes Zustandabschätzungssystem für Cluster-Anlagen und Verfahren zum Betreiben des Systems |
US7783807B2 (en) * | 2006-03-14 | 2010-08-24 | International Business Machines Corporation | Controlling resource transfers in a logically partitioned computer system |
US8209417B2 (en) * | 2007-03-08 | 2012-06-26 | Oracle International Corporation | Dynamic resource profiles for clusterware-managed resources |
US8041773B2 (en) | 2007-09-24 | 2011-10-18 | The Research Foundation Of State University Of New York | Automatic clustering for self-organizing grids |
US8627451B2 (en) * | 2009-08-21 | 2014-01-07 | Red Hat, Inc. | Systems and methods for providing an isolated execution environment for accessing untrusted content |
US11720290B2 (en) | 2009-10-30 | 2023-08-08 | Iii Holdings 2, Llc | Memcached server functionality in a cluster of data processing nodes |
US10877695B2 (en) | 2009-10-30 | 2020-12-29 | Iii Holdings 2, Llc | Memcached server functionality in a cluster of data processing nodes |
US9684785B2 (en) | 2009-12-17 | 2017-06-20 | Red Hat, Inc. | Providing multiple isolated execution environments for securely accessing untrusted content |
US8473959B2 (en) * | 2010-02-22 | 2013-06-25 | Virtustream, Inc. | Methods and apparatus related to migration of customer resources to virtual resources within a data center environment |
US9122538B2 (en) | 2010-02-22 | 2015-09-01 | Virtustream, Inc. | Methods and apparatus related to management of unit-based virtual resources within a data center environment |
CN102339283A (zh) * | 2010-07-20 | 2012-02-01 | 中兴通讯股份有限公司 | 集群文件系统访问控制方法及集群节点 |
US9027151B2 (en) * | 2011-02-17 | 2015-05-05 | Red Hat, Inc. | Inhibiting denial-of-service attacks using group controls |
EP2748705A4 (en) | 2011-08-25 | 2015-05-20 | Virtustream Inc | SYSTEMS AND METHODS FOR HOST-RELATED RESOURCE MANAGEMENT WITH CLUSTER-BASED RESOURCE POOLS |
US9665411B2 (en) * | 2012-05-01 | 2017-05-30 | Red Hat, Inc. | Communication between a server orchestration system and a messaging system |
US10454999B2 (en) * | 2013-03-14 | 2019-10-22 | Red Hat, Inc. | Coordination of inter-operable infrastructure as a service (IAAS) and platform as a service (PAAS) |
US9954958B2 (en) | 2016-01-29 | 2018-04-24 | Red Hat, Inc. | Shared resource management |
US11212175B2 (en) * | 2016-06-22 | 2021-12-28 | EMC IP Holding Company, LLC | Configuration management for cloud storage system and method |
US11321359B2 (en) * | 2019-02-20 | 2022-05-03 | Tamr, Inc. | Review and curation of record clustering changes at large scale |
EP4420300A1 (en) * | 2021-10-18 | 2024-08-28 | Sophos Limited | Network appliances for secure enterprise resources |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5996075A (en) | 1995-11-02 | 1999-11-30 | Sun Microsystems, Inc. | Method and apparatus for reliable disk fencing in a multicomputer system |
US6014669A (en) * | 1997-10-01 | 2000-01-11 | Sun Microsystems, Inc. | Highly-available distributed cluster configuration database |
-
2001
- 2001-04-30 US US09/845,592 patent/US6889253B2/en not_active Expired - Fee Related
-
2002
- 2002-04-18 AU AU2002253319A patent/AU2002253319A1/en not_active Abandoned
- 2002-04-18 EP EP02722439A patent/EP1386234A2/en not_active Withdrawn
- 2002-04-18 JP JP2002586177A patent/JP3910539B2/ja not_active Expired - Fee Related
- 2002-04-18 KR KR1020037014214A patent/KR100637775B1/ko not_active IP Right Cessation
- 2002-04-18 WO PCT/GB2002/001809 patent/WO2002088946A2/en not_active Application Discontinuation
- 2002-04-18 CN CNB028086120A patent/CN1224905C/zh not_active Expired - Fee Related
- 2002-04-25 TW TW091108543A patent/TWI251781B/zh not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
EP1386234A2 (en) | 2004-02-04 |
KR100637775B1 (ko) | 2006-10-24 |
US6889253B2 (en) | 2005-05-03 |
CN1503942A (zh) | 2004-06-09 |
TWI251781B (en) | 2006-03-21 |
WO2002088946A2 (en) | 2002-11-07 |
AU2002253319A1 (en) | 2002-11-11 |
KR20040015223A (ko) | 2004-02-18 |
US20020161869A1 (en) | 2002-10-31 |
WO2002088946A3 (en) | 2003-09-18 |
JP3910539B2 (ja) | 2007-04-25 |
JP2004529431A (ja) | 2004-09-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1224905C (zh) | 在群集计算机系统中的执行资源动作的方法 | |
CN1191528C (zh) | 透明的基于时间的选择软件再生的方法和系统 | |
US7281247B2 (en) | Software image creation in a distributed build environment | |
CN1174323C (zh) | 管理共享内存的方法 | |
US7130897B2 (en) | Dynamic cluster versioning for a group | |
CN1975679A (zh) | 用于优化分段资源分配的方法和设备 | |
CN1274123A (zh) | 分区系统的带有动态配置的外围元件互联槽控制装置 | |
CN1539104A (zh) | 数据处理系统中逻辑分区之断电和/或再启动的方法和仪器 | |
CN1655123A (zh) | 逻辑分区计算机系统各分区中逻辑资源共享结构和方法 | |
CN1430747A (zh) | 存储单元的程控屏蔽 | |
US20040073908A1 (en) | Apparatus and method for offloading and sharing CPU and RAM utilization in a network of machines | |
US20060271926A1 (en) | Split download for electronic software downloads | |
CN101030154A (zh) | 将应用重新定位到拓扑上位于远程计算系统的系统和方法 | |
CN1702622A (zh) | 用于校正管理程序工作的分布的系统 | |
CN1831781A (zh) | 计算机系统及计算机系统中的数据的备份方法 | |
CN1338687A (zh) | 用于集群计算机系统的合并协议 | |
CN1787000A (zh) | 批量作业集中管理和调度的系统及方法 | |
CN1595903A (zh) | 用于自动建立资源网格的方法及装置 | |
CN1258728C (zh) | 全分布式的保护信息处理系统实时数据库的应用方法及其网络系统 | |
CN1508714A (zh) | 确定高可用性集群之活跃度的方法和系统 | |
CN1304950C (zh) | 多处理器数据处理系统中对分区指派处理器的方法和系统 | |
US20090182877A1 (en) | Ineligible group member status | |
CN1701527A (zh) | 存储区域网中的异步消息传送 | |
CN114443295A (zh) | 一种异构云资源管理调度方法、装置及系统 | |
Fan et al. | A scheduler for serverless framework base on kubernetes |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20051026 |