CN101794270B - 用于基于资源角度选择冗余控制器的方法和系统 - Google Patents

用于基于资源角度选择冗余控制器的方法和系统 Download PDF

Info

Publication number
CN101794270B
CN101794270B CN2009102220664A CN200910222066A CN101794270B CN 101794270 B CN101794270 B CN 101794270B CN 2009102220664 A CN2009102220664 A CN 2009102220664A CN 200910222066 A CN200910222066 A CN 200910222066A CN 101794270 B CN101794270 B CN 101794270B
Authority
CN
China
Prior art keywords
controller
subregion
service
redundant
control device
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
Application number
CN2009102220664A
Other languages
English (en)
Other versions
CN101794270A (zh
Inventor
安妮斯·M·阿布杜尔
布伦特·W·雅各布斯
阿杰伊·K·马哈简
阿提特·D·帕特尔
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN101794270A publication Critical patent/CN101794270A/zh
Application granted granted Critical
Publication of CN101794270B publication Critical patent/CN101794270B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Hardware Redundancy (AREA)
  • Stored Programmes (AREA)

Abstract

本发明公开了用于基于由每个控制器提供的服务来选择用于服务器系统的主要控制器的方法、系统和计算机程序产品。主要控制器指定器(PCD)工具基于由控制器提供的服务和被指定给这些服务的加权重要性,来确定控制器的相对重要性。PCD工具根据下列来将由系统控制器提供的服务进行分类:(1)系统控制器能够与其通信的OS分区的数量;和(2)控制器具有对其的访问的硬件设备的数量。服务的重要性通过主机OS分区信息和使用/需要(一个或多个)特定服务的分区的重要度来确定。根据控制器服务的分类,PCD工具指定一个控制器作为“主要的”控制器,如果被指定的“主要的”控制器能够提供最重要的OS分区所需要的服务。

Description

用于基于资源角度选择冗余控制器的方法和系统
技术领域
本发明一般地涉及多处理器系统,并且具体地涉及多处理器系统中的控制器。
背景技术
传统的服务器系统的系统控制结构由两级冗余系统控制器构成。这些冗余系统控制器的目的是引导系统。一旦已经引导了系统,这些系统控制器提供可靠、可用和可服务性(RAS)服务。在每个冗余对中的系统控制器中的一个被指定为“主要的(primary)”角色。“主要的”系统控制器具有执行系统的初始程序装入(IPL)和提供RAS服务的责任。
传统的系统不区分完全功能和部分功能系统控制器。这些传统的系统不使用由部分功能系统控制器提供的服务。因此,传统的系统不能受益于可从冗余对中两个系统控制器的集体服务能力中实现的增加的系统能力。
发明内容
本发明公开了用于基于由每个控制器提供的服务来选择用于服务器系统的主要控制器的方法、系统和计算机程序产品。主要控制器指定器(PCD)工具(或应用工具)(utility)基于由控制器提供的服务和被指定给这些服务的加权重要性,来确定控制器的相对重要性。PCD工具根据下列来将由系统控制器提供的服务进行分类:(1)系统控制器能够与其通信的OS分区的数量;和(2)控制器具有对其的访问的硬件设备的数量。服务的重要性通过主机OS分区信息和使用/需要(一个或多个)特定服务的分区的重要度来确定。根据控制器服务的分类,PCD工具指定一个控制器作为“主要的”控制器,如果被指定的“主要的”控制器能够提供最重要的OS分区所需要的服务。
上述的以及本发明的其它目标、特征和优点将在下面的详细书面描述中变得显而易见。
附图说明
当结合附图阅读时,本发明以及其优点通过参考下面的示例性实施例的详细描述而最好地被理解,其中:
图1提供了根据本发明的一个实施例的实施了本发明的数据处理系统的框图表示;
图2示出了根据本发明的一个实施例的数据处理系统的系统控制结构(SCS);
图3示出了根据本发明的一个实施例的具有多级冗余系统管理控制器的数据处理系统的框图;
图4是示出根据本发明的一个实施例的一组分区的相对重要性和对应的硬件依赖性的第一示例表;
图5是示出根据本发明的一个实施例的控制器连接性的另一示例表;
图6是示出根据本发明的一个实施例的一组分区的相对重要性和对应的硬件依赖性的第二示例表;和
图7是示出根据本发明的一个实施例的选择主要控制器的过程的流程图。
具体实施方式
说明性的实施例提供了用于基于由每个控制器提供的服务来选择用于服务器系统的主要控制器的方法、系统和计算机程序产品。主要控制器指定器(PCD)工具基于由控制器提供的服务和被指定给这些服务的加权重要性,确定控制器的相对重要性。PCD工具根据下列将由系统控制器提供的服务进行分类:(1)系统控制器能够与其通信的OS分区的数量;和(2)控制器具有对其的访问的硬件设备的数量。服务的重要性通过主机OS分区信息和使用/需要(一个或多个)特定服务的分区的重要度来确定。根据控制器服务的分类,PCD工具指定一个控制器作为“主要的”控制器,如果指定的“主要的”控制器能够提供最重要的OS分区所需要的服务。
在下面的本发明的示例性实施例的详细描述中,足够详细地描述了其中可实施本发明的具体示例性实施例,以使得本领域技术人员能够实施本发明,并且可理解,可以采用其它实施例并且可以得到逻辑的、结构的、程序的、机械的、电的和其它改变,而不脱离本发明的精神或范围。因此,下面的详细描述不作为限制,并且本发明的范围由所附权利要求及其等效物确定。
在附图的描述中,相似的元件被提供了相似的名称和与之前的附图相似的附图标记。在后面的附图采用不同上下文中的元件或具有不同功能的元件的情况下,该元件被提供了表示图号的不同的前导数字。被指定给元件的具体标记仅被提供以帮助描述,而不暗含对描述的实施例的任何(结构的或功能的或其它)限制。
应理解,具体部件、设备和/或参数名称(例如执行在此描述的工具/逻辑的具体部件、设备和/或参数名称)的使用仅是示例,并不意图暗含对本发明的任何限制。本发明因而可被实现为不同的命名法/术语,用来没有限制地描述在此的部件/设备/参数。在此使用的每个术语在其中采用该术语的上下文中被指定为其最广义的解释。
现在从图1开始参考附图,图1描述了在一个实施例中采用的示例性数据处理系统(DPS)的框图表示。DPS可以是计算机和/或通常可被认为是处理设备的其它类型的电子设备。如图所示,DPS 100包括经由系统互连/总线102而被连接到系统存储器106的至少一个处理器或中央处理单元(CPU)。具体地,示出了CPU1 101和CPU2 103(即,第一和第二处理器/处理器核)。另外,一对系统控制器、控制器1 122和控制器2 123被连接到系统总线102。也被连接到系统总线102的是输入/输出(I/O)控制器115,该输入/输出(I/O)控制器115提供用于输入设备的连接性和控制,其中示出了该输入设备的定点设备(或鼠标)116和键盘117。I/O控制器115还提供用于输出设备的连接性和控制,其中示出了该输出设备的显示器118。另外,示出了被连接到I/O控制器115的多媒体驱动器119(例如:光盘读/写(CDRW)或数字化视频光盘(DVD)驱动器)和USB(通用串行总线)端口121。多媒体驱动器119和USB端口121使得可拆卸存储设备(例如:光盘或“拇指”驱动器)能够插入,数据/指令/代码可被存储在可拆卸存储设备中和/或从可拆卸存储设备中检索到。DPS 100还包括存储器107,数据/指令/代码也可被存储在该存储器107中或从该存储器107中检索到。
示出的DPS 100还具有网络接口设备(NID)125,通过该网络接口设备125,DPS 100可连接到一个或多个接入/外部网络130,其中提供因特网作为一个例子。在该实施方式中,因特网代表/是采用传输控制协议/因特网协议(TCP/IP)协议组的网络和网关的全球集合,以彼此通信。NID125可被配置成经由与网络的接入点的有线/或无线连接而操作。网络130可以是诸如因特网或广域网(WAN)的外部网络,或诸如以太网(局域网-LAN)的内部网或虚拟个人网络(VPN)。在一个实施例中,与外部网络130的连接可用一个或多个服务器133建立,该一个或多个服务器133也可提供用于在DPS 100上执行的数据/指令/代码。
除了DPS 100的上述硬件部件之外,本发明的各种特征经由存储在存储器106或其它存储器(例如:存储器107)内并由CPU1 101和/或CPU2 103执行的软件(或固件)代码或逻辑而得以完成/支持。因而,例如存储器106中示出的是大量软件/固件/逻辑部件,包括一个或多个操作系统(OS)108(例如:微软公司的商标Microsoft
Figure G2009102220664D00041
或免费软件基金会和Linux标志协会的注册商标
Figure G2009102220664D00042
)、应用程序114、分区信息104、控制器服务和服务值(文件)105和主要控制器指定器(PCD)工具110。在一个实施例中,PCD工具110在系统控制器(例如:控制器1122或控制器2123)上执行,在确定一个或多个主要控制器的过程期间指定该系统控制器作为临时的(默认的)主要控制器。因为主要系统和节点控制器在初始化主机CPU(例如:101、103)之前被指定,因而在独立的系统中应用临时的主要控制器,这些独立的系统不能够采用可从服务器网络得到的系统控制器服务。然而,在另一实施例中,当PCD工具处于确定对应的主要控制器的过程中时,主要控制器指定器(PCD)工具110可在连接到(服务器)DPS 100的分离服务器的一个或多个处理器上执行。OS 108中示出的是大量OS类型,包括OS1 109、OS2 111和OS3 112。在一个实施例中,PCD工具110采用分区技术,通过该分区技术,DPS 100能够在装配有多个处理器核的处理器设备、例如DPS 100中执行不同的操作系统(例如:OS1 109和OS2 111)。通过采用分区简档(profile)(例如:分区1简档104和分区2简档113),DPS 100确定对于具体分区的资源的分配。为简单起见,PCD工具110被示出且描述为提供具体功能的独立的或分离的软件/固件部件,如下文所述。
在一个实施例中,服务器133包括软件调度(deploying)服务器,且DPS 100使用网络接口设备125经由网络(例如:因特网130)而与软件调度服务器(133)通信。于是,PCD工具110可经由软件调度服务器133从/在网络上被调度。通过该配置,软件调度服务器执行与PCD工具110的执行相关的所有功能。因而,不需要DPS 100来利用DPS 100的内部计算资源来执行PCD工具110。
CPU 101执行PCD工具110以及OS 108,该OS 108支持PCD工具110的用户接口特征。由PCD工具支持和/或实现的某些功能提供由处理器和/或设备硬件执行的处理逻辑,以完成由PCD工具110支持的具体功能的实现。为了描述的简化,能够使能这些各种功能的代码的集合体在此被称为PCD工具110。在PCD工具110提供的软件代码/指令/逻辑中,对于本发明具体的是:(a)用于对由控制器提供的服务进行分类的代码/逻辑;(b)用于确定冗余控制器的相对重要性的代码/逻辑;和(c)用于基于一个或多个冗余控制器的相对重要性选择主要控制器的代码/逻辑。根据示出的实施例,当CPU 101执行PCD工具110时,DPS 100启动能够实现上述功能特征以及另外的特征/功能的一系列的功能处理。下文将在图2-7的说明中更加详细地描述这些特征/功能。
本领域普通技术人员将意识到,图1中描述的硬件部件和基本配置可改变。在DPS 100中示出的部件不打算是详尽的,而是代表性的,以突出用来实现本发明的基本部件。例如,除了描述的硬件之外或代替描述的硬件,可使用其它设备/部件。描述的例子不打算暗示关于当前描述的实施例和/或总发明的结构或其它限制。图1中描述的数据处理系统例如可以是运行高级交互执行体(AIX)操作系统或LINUX操作系统的IBM i/p系列p6高端系统,即在Armonk,N.Y.的国际商用机器公司的产品。
现在参考图2,示出了根据本发明的一个实施例的数据处理系统(DPS)的系统控制结构(SCS)。系统控制结构是管理树的代表,该管理树提供控制器和相关的可访问的(accessible)资源的层次观察。DPS 100包括多级冗余控制器。第一级冗余控制器包括聚集越过整个系统100的控制的系统控制器(SC)122和123。包括第二级冗余控制器的是在系统/节点201中控制访问的节点控制器(NC)222和223。在节点201中,节点控制器222耦合到I/O设备226和CPU1 101。节点控制器2 223耦合到I/O设备228和CPU2 103。DPS 100中的SC和NC使用冗余以太网网络(分别示出为以太网1链接202和以太网2链接208)通信。
从最接近于终端设备的节点控制器(NC)级(在节点201内示出)开始,PCD工具110确定/标识终端设备的集合/视图,每个NC能够与终端设备的集合/视图通信。具体地,节点控制器1 222能够与I/O设备226和CPU1101通信。节点控制器2 223能够与I/O设备228和CPU2 103通信。PCD工具110比较(包括处理器、存储器、I/O集线器等的可访问终端设备的)这些集合。相应于节点控制器的可访问终端设备的集合(也称为“视图(view)”)与相应于其它节点控制器的可访问终端设备的其它集合“视图”进行比较。如果这些集合相等,或一个集合是另一集合的子集,那么PCD工具110可基于与因素/特征相关的控制器的预设组来确定主要NC。然而,如果这些集合不相等,或一个集合不是另一集合的子集,那么PCD工具110确定NC不提供相类似的硬件服务。从而,PCD工具110执行比较以确定哪个NC能够满足最高优先分区的需求。如果两个NC(例如:节点控制器1 222和节点控制器2 223)都能够满足最高优先分区,那么比较NC硬件集合/视图,用于次高优先分区。分区的优先级是基于在分区中执行的工作负荷的重要性的,并且可被记录在相关的策略文件中。在一个实施例中,在各个分区优先级处(连续地)执行比较,直到仅一个NC(在特定分区优先级处)能够满足各自分区的需求。最后,能够与终端设备通信用于最高优先分区的NC被选择为主要NC。
在NC级处选择出主要控制器之后,在系统控制器(SC)级处执行类似的比较。由于网络中不对称缺陷,对于两个SC(SC1 122和SC2 123)而言可能具有不同的NC视图。“主要的”SC通常能够与最高优先OS分区通信。例如,PCD工具110可选择/指定SC1 122作为主要系统控制器。当确定主要SC时也考虑每个SC能够与其通信的可访问终端设备和NC。
在一个实施例中,如果系统控制器能够提供最重要OS分区所需要的服务,那么提供更少服务的该系统控制器能够被选择为“主要的”系统控制器。PCD工具110可扩充方法为选择主要控制器为被附接到处理器、存储器和I/O集线器的控制器、甚至被附接到DASD或通信网络的I/O控制器。
图3示出了根据本发明的一个实施例的具有多级冗余控制器的数据处理系统的框图。冗余系统控制器(SC)122和123聚集越过整个系统100的控制。冗余节点控制器(NC)222和223控制在第一系统节点201中的访问。类似地,冗余NC 332和333控制在第二系统节点303中的访问。具体地,NC 222和223仅能够与处理器101和103以及在节点201内的I/O集线器226和228通信。NC 332和333仅能够与在节点303内的处理器311和313以及I/O集线器336和338通信。SC 122和123经由以太网202和/或208能够直接与NC 222、223以及NC 332和333通信。因而,SC 122和123能够与在节点201或303中的任何NC通信。
从一对冗余系统控制器122和123中选择主要系统控制器。在节点201中,从冗余NC 222和223中选择主要节点控制器。类似地,在节点303中,从冗余NC 332和333中选择主要节点控制器。主要节点控制器执行硬件访问以初始化在相关的节点中的处理器、I/O集线器和其它部件。主要系统控制器在初始化相关联节点中的部件时支持/“指示”在每个节点中的主要节点控制器。另外,主要系统控制器支持关于其它系统管理功能的主要节点控制器。
因为每对冗余NC(第一对的NC 222和223以及第二对的NC 332和333)具有与终端设备(例如分别地处理器101、103以及处理器311和313)的该对自己的相关联连接,这些连接中的一个或多个连接中的故障可导致在冗余对中的NC具有可得到的处理器的不同视图。另外,因为SC 122和123协调该动作作为系统初始的程序装入(IPL),因而需要它们与在每个(各自的)节点201和节点303中的至少一个NC(来自第一对NC 222和223中的至少一个以及来自第二对NC 332和333中的至少一个)通信。如果SC中的一个不能够与节点中的两个NC通信,那么SC还可具有系统的不同视图。如果冗余对中仅一个SC或NC具有退化视图,那么(通过在选择过程中排除具有退化视图的控制器)选择具有相对好的视图的控制器作为主要控制器。当在冗余对中的控制器具有不同的退化视图,那么选择过程变得更加困难,并且也可取决于管理树中所有级处的控制器的视图。在管理树中,NC处于比SC更低的级。
为了确定其中控制器具有不同的硬件退化视图的冗余控制器对中的主要控制器,PCD工具110确定哪个控制器具有更重要的系统视图。具体地,PCD工具110确定每个操作系统分区所依赖的系统硬件。于是,PCD工具110确定每个操作系统分区的重要性次序。
为了便于解释选择主要控制器的过程,参考由图4-6表示的图表,采用和讨论了两个例子(对于图3的DPS 100)。在这些例子中,在各自图表中定义分区、硬件依赖性和对应的重要性。
图4是示出了根据本发明的一个实施例的一组分区的相对重要性和对应的硬件依赖性的第一例子图表。类似地,图6是示出了根据本发明的一个实施例的一组分区的相对重要性和对应的硬件依赖性的第二例子图表。图5是示出了根据本发明的一个实施例的控制器连接性的例子图表。图5可应用于图4和6中示出的两个例子中。
图表400标识了图表400的相应行中的分区的分区依赖性。例如,第一行401提供分区A 402的(一栏)依赖性,包括(第二列中的)第一处理器依赖性(PD)406、(第三列中的)第一I/O集线器依赖性(HD)408和被示出为(第四列中的)A-重要性414的各个分区重要性。第二行403提供分区B 405的依赖性,包括(第二列中的)第二处理器依赖性(PD)407、(第三列中的)第二I/O集线器依赖性(HD)411和示出为(第四列中的)B-重要性419的各个分区重要性。第三行404提供分区C 409的依赖性,包括(第二列中的)第三处理器依赖性410、(第三列中的)第三I/O集线器依赖性(HD)412和示出为(第四列中的)C-重要性416的各个分区重要性。
根据图表400的(第一)例子,分区B 405(是最重要的分区且)具有用B-重要性419示出的分区重要性“1”。在图表400中,第二PD 407指出分区B 405的操作需要CPU2 103。第二I/O HD 411指示分区B 405需要I/O228。用于CPU2 103和I/O集线器228的连接的浏览(经由图表500和经由图2、3的DPS 100)指示NC 222和NC 223两者都满足分区B 405的依赖性(也就是,第二处理器依赖性(PD)407和第二I/O集线器依赖性(HD)411)
图表500概述了专用控制器和具体控制器的终端设备连接。例如,行504、行506和行508分别提供用于SC2 123、NC1 222和NC2 223的连接。行506和行508指示用于NC1 222和NC2 223的相同连接。因而,PCD工具110可选择NC 222或NC 223作为“主要的”。PCD工具110任意地(或基于指定给“break a tie”的预设默认值指定)选择NC 222作为主要的NC。通过类似的浏览且基于条目512,对于第二重要的分区C 409,仅NC 333满足依赖性(即,由第三PD 410指示的CPU4 313和由第三I/O HD 412指示的I/O集线器4338),并且对于冗余对选择NC 333作为主要的控制器。为了满足(fulfill)分区A 402的依赖性,需要NC 332和NC 222或NC 223作为主要的控制器。NC 332可不被选择作为主要的控制器,由于由NC 332的可访问性提供的对更高重要性分区C的依赖性的更高优先支持。因而,分区A 402不能够被开始。为了满足两个最重要分区B和C的需要,PCD工具110要求所选择的主要SC能够与(主要的)NC 222和(主要的)NC 333通信。图表500中的行504的浏览指示仅SC 123具有该能力(即,与(主要的)NC 222和(主要的)NC 333通信)。因而,PCD工具110选择SC 123作为主要系统控制器。
图表600标识图表600的相应行中的分区的分区依赖性。例如,第一行602提供分区B 607的依赖性,包括(在第二列中的)第一处理器依赖性(PD)612、(在第三列中的)第一I/O集线器依赖性(HD)618和示出为(第四列中的)B-重要性617的各个分区重要性。第二行603提供分区C 611的依赖性,包括(第二列中的)第二处理器依赖性(PD)615、(第三列中的)第二I/O集线器依赖性(HD)616和示出为(第四列中的)C-重要性619的各个分区重要性。
根据图表600,分区C 611(是最重要的分区且)具有用C-重要性619示出的分区重要性“1”。分区C具有对处理器313和I/O集线器338的依赖性(分别由第二处理器依赖性(PD)615和第二I/O集线器依赖性(HD)616示出)。根据图表500中的行512,仅NC 333连接到CPU4 313和I/O集线器4 338这两者。因而,NC 333被选择作为主要节点控制器。第二重要的分区D具有对处理器211和I/O集线器336的依赖性。这些依赖性仅由NC 332满足,该NC 332已经被指定为NC 333(主要)的备份。因而,分区D不能够被开始。分区B 607具有由NC 222或NC 223(根据图5的行506和508)满足的依赖性(即,由PD 612指示的CPU2 103和由I/O HD 618指示的I/O集线器2 228),并且PCD工具110选择NC 222作为主要的。分区A需要NC 332以及NC 222或NC 223。因为NC 332已经被指定为备份,因此分区A不能够被开始。分区E需要NC 333(其已经被选择为主要节点控制器)。在图表600的例子中,仅分区C、B和E被开始。因为最重要分区的需求与A和D不兼容,因而分区A和D不被开始(即,即使一些不太重要的分区被开始)。
在一个实施例中,存在这样的情况,其中在决定主要SC之后切换用于节点的主要NC。该切换可发生在仅一个SC能够与最重要分区所需要的主要NC通信的情况下。如果选择的主要SC不能够与次重要分区所需要的主要NC通信,那么在该节点中的主要角色可(从先前选择的主要NC)被切换到同属NC。
图7是示出了完成示例性实施例的上述处理的方法的流程图。尽管可参考图1-6中示出的部件来描述图7中示出的方法,但是应理解这仅仅是为了方便,并且当实现各种方法时能够采用其替换部件和/或配置。方法的关键部分可通过在DPS 100(图1-3)内的处理器101上执行PCD工具110并且控制DPS 100上/的具体操作来完成,并且由此从PCD工具110和DPS 100这两者或其中一个的角度来描述方法。
图7的过程在起始框702处开始且继续到框704,在框704处,主要控制器指定器(PCD)工具110启动处理,以在控制器操作的每级处将冗余控制器的服务进行分类。在框706处,PCD工具110基于下列将系统控制器提供的服务进行分类:(a)对应的控制器能够与其通信的OS分区的数量;(b)对应的控制器具有对其的访问的硬件设备的数量;(c)其它OS分区信息;和(d)需要控制器服务的分区的各自优先级。在框708处,PCD工具110确定冗余系统控制器的相对重要性。在框710处,PCD工具110基于下列因素/参数在操作级处比较冗余控制器:(a)对应的控制器服务的相关的权重值;和(b)冗余控制器满足最高优先分区的能力。在操作的每级处,由PCD工具110标识主要控制器,如框712所示。具体地,当控制器与下列因素中的一个或多个相关联时,PCD工具110指定该控制器作用主要控制器:(a)对应的控制器服务的最高关联权重值;(b)相对于其它冗余控制器,控制器满足更高优先分区的排他能力;和(c)控制器与在操作的其它级处的控制器通信的能力。该过程终止于框714。
在上述流程图中,一个或多个方法被具体化在包括计算机可读代码的计算机可读介质中,使得当在计算设备上(通过处理单元)执行计算机可读代码时执行一系列步骤。在一些实施方式中,方法的一些过程可被结合、同时或以不同次序执行、或可能省略,而不脱离本发明的精神和范围。因而,虽然以具体的次序描述和示出方法处理,但是处理的具体次序的使用并不意味着对本发明的任何限制。关于过程的次序可做出改变,而不脱离本发明的精神或范围。因而,具体次序的使用不作为限制,并且本发明的范围延伸到所附权利要求及其等效物。
如本领域技术人员可意识到的,本发明可被具体化为方法、系统和/或计算机程序产品。因而,本发明可采取完全硬件实施例、完全软件实施例(包括固件、驻留软件、微代码等)或结合软件和硬件方面的实施例的形式,所有这些在此通常可称为“电路”、“模块”、“逻辑”或“系统”。另外,本发明可采取计算机可用存储介质上的计算机程序产品的形式,该计算机可用存储介质具有被包括在介质中的计算机可用程序代码。
如还可意识到的,本发明的实施例中的过程可使用软件、固件、微代码或硬件的任意组合来执行。作为软件中实施本发明的预备步骤,程序代码(软件或固件)将典型地被存储在一个或多个机器可读的存储介质、例如固定的(硬)驱动器、软磁盘、磁盘、光盘、磁带,诸如RAM、ROM、PROM等的半导体存储器中,从而根据本发明得到制造物品。通过直接从存储设备执行代码而使用包含程序代码的制造物品,通过将来自存储设备的代码复制到诸如硬盘、RAM等的另一存储设备而使用包含程序代码的制造物品,或通过使用诸如数字和模拟通信链接的传输类型介质传输用于远程执行的代码而使用包含程序代码的制造物品。该介质可以是电的、磁的、光的、电磁的、红外的、或半导体系统(或装置或设备)或传播介质。另外,介质可以是容纳、存储、通信、传播或传输由执行系统、装置或设备使用或与其关联的程序的任何装置。本发明的方法可通过结合一个或多个机器可读存储设备,用合适的处理硬件来执行包含在其中的代码而得以实施,机器可读的存储设备包括根据描述的实施例的代码。用于实施本发明的设备可以是包含或具有(经由服务器)对根据本发明而编码的程序的网络访问的一个或多个处理装置和存储系统。通常,术语计算机、计算机系统或数据处理系统能够广泛地被定义为包括具有执行来自存储介质的指令/代码的处理器(或处理单元)的任何装置。
因而,重要的是,虽然在具有安装的(或执行的)软件的完全功能计算机(服务器)系统的上下文中描述了本发明的示例性实施例,但是本领域技术人员将意识到本发明的示例性实施例的软件方面能够被分发成各种形式的程序产品,并且平等地应用本发明的示例性实施例,而不管用于实际实施该分发的介质的具体类型。通过例子的方式,介质类型的非排他的列表包括:诸如软盘、拇指驱动器、硬盘驱动器、CD ROM、DVD的可记录类型(实体的)介质,和诸如数字和模拟通信链路的传输类型介质。
虽然参考示例性实施例描述了本发明,但是本领域技术人员将理解的是,可做出各种改变,并且等效物可代替其元件,而不脱离本发明的范围。另外,对于本发明的教导,可不脱离其主要范围而做出许多修改以适合具体的系统、设备或其部件。因而,所期望的是本发明并不限于用于实施本发明而公开的具体实施例,而是本发明将包括所有落入所附权利要求的范围内的实施例。另外,术语第一、第二等的使用不表示重要性的任何次序,而是术语第一、第二等用于区分不同元件。

Claims (10)

1.一种数据处理系统中选择主要控制器的方法,包括:
基于一组相关的可访问的设备,对由控制器提供的服务进行分类,其中所述分类还包括:基于下列中的一个或多个,将加权值指定给控制器的集体服务:(a)对应的控制器能够与其通信的OS分区的数量;(b)对应的控制器具有对其访问的硬件设备的数量;(c)OS分区信息;和(d)需要控制器服务的OS分区的各自优先级;
对于使用/需要一个或多个特定服务的每个分区标识分区优先级;
通过使用服务的分类和一个或多个冗余控制器各自能够满足的分区的分区优先级,确定所述一个或多个冗余控制器的相对重要性;
基于所述一个或多个冗余控制器的相对重要性的比较,选择主要控制器;和
给所述主要控制器指定下列中的一个或多个的管理:(a)初始程序装入(IPL)系统功能;和(b)可靠、可用和可服务性(RAS)服务。
2.根据权利要求1所述的方法,其中所述确定还包括:
基于下列中的一个或多个,在相同操作级处比较冗余控制器:(a)对应的控制器的集体服务的加权值;和(b)每个冗余控制器满足一个或多个最高优先分区的能力。
3.根据权利要求1所述的方法,其中所述选择还包括:
当所选择的控制器与下列中的一个或多个相关联时,指定该控制器作为主要控制器:(a)对应的控制器服务的最高关联加权值;(b)相对于其它冗余控制器,所选择的控制器满足更高优先分区的排他能力;和(c)所选择的控制器与在其它操作级处的控制器通信的能力。
4.根据权利要求1所述的方法,其中所述选择还包括:
对于下列中的一个或多个条件选择主要控制器:(a)各种操作级;和(b)在各种操作级处的不同节点;以及
当所选择的主要系统控制器(SC)不能够与次重要分区所需要的主要节点控制器通信时,将主要角色从所述主要节点控制器切换到相应节点中的同属节点控制器。
5.根据权利要求1所述的方法,还包括:
使用临时系统控制器帮助数据处理系统中的引导过程。
6.一种数据处理系统中选择主要控制器的设备,包括:
用于基于一组相关的可访问的设备,对由控制器提供的服务进行分类的装置,其中该装置还包括:用于基于下列中的一个或多个,将加权值指定给控制器的集体服务的装置:(a)对应的控制器能够与其通信的OS分区的数量;(b)对应的控制器具有对其访问的硬件设备的数量;(c)OS分区信息;和(d)需要控制器服务的OS分区的各自优先级;
用于对于使用/需要一个或多个特定服务的每个分区标识分区优先级的装置;
用于通过使用服务的分类和一个或多个冗余控制器各自能够满足的分区的分区优先级,确定所述一个或多个冗余控制器的相对重要性的装置;
用于基于所述一个或多个冗余控制器的相对重要性的比较,选择主要控制器的装置;和
用于给所述主要控制器指定下列中的一个或多个的管理的装置:(a)初始程序装入(IPL)系统功能;和(b)可靠、可用和可服务性(RAS)服务。
7.根据权利要求6所述的设备,其中所述用于通过使用服务的分类和一个或多个冗余控制器各自能够满足的分区的分区优先级,确定所述一个或多个冗余控制器的相对重要性的装置还包括:
用于基于下列中的一个或多个,在相同操作级处比较冗余控制器的装置:(a)对应的控制器的集体服务的加权值;和(b)每个冗余控制器满足一个或多个最高优先分区的能力。
8.根据权利要求6所述的设备,其中所述用于基于所述一个或多个冗余控制器的相对重要性的比较,选择主要控制器的装置还包括:
用于当所选择的控制器与下列中的一个或多个相关联时,指定该控制器作为主要控制器的装置:(a)对应的控制器服务的最高关联加权值;(b)相对于其它冗余控制器,所选择的控制器满足更高优先分区的排他能力;和(c)所选择的控制器与在其它操作级处的控制器通信的能力。
9.根据权利要求6所述的设备,其中所述用于基于所述一个或多个冗余控制器的相对重要性的比较,选择主要控制器的装置还包括:
用于对于下列中的一个或多个条件选择主要控制器的装置:(a)各种操作级;和(b)在各种操作级处的不同节点;以及
用于当所选择的主要系统控制器(SC)不能够与次重要分区所需要的主要节点控制器通信时,将主要角色从所述主要节点控制器切换到相应节点中的同属节点控制器的装置。
10.根据权利要求6所述的设备,还包括:
用于使用临时系统控制器帮助数据处理系统中的引导过程的装置。
CN2009102220664A 2008-12-16 2009-11-13 用于基于资源角度选择冗余控制器的方法和系统 Expired - Fee Related CN101794270B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/335,690 US8245233B2 (en) 2008-12-16 2008-12-16 Selection of a redundant controller based on resource view
US12/335,690 2008-12-16

Publications (2)

Publication Number Publication Date
CN101794270A CN101794270A (zh) 2010-08-04
CN101794270B true CN101794270B (zh) 2012-04-18

Family

ID=42241971

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2009102220664A Expired - Fee Related CN101794270B (zh) 2008-12-16 2009-11-13 用于基于资源角度选择冗余控制器的方法和系统

Country Status (3)

Country Link
US (1) US8245233B2 (zh)
KR (1) KR101120848B1 (zh)
CN (1) CN101794270B (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9582266B2 (en) * 2011-02-28 2017-02-28 Microsemi SoC Corporation Apparatus and methods for in-application programming of flash-based programable logic devices
US9021138B2 (en) * 2011-08-26 2015-04-28 Microsoft Technology Licensing, Llc Performance of multi-processor computer systems
KR101867960B1 (ko) 2012-01-05 2018-06-18 삼성전자주식회사 매니 코어 시스템을 위한 운영체제 동적 재구성 장치 및 방법
US9722859B2 (en) * 2014-01-23 2017-08-01 International Business Machines Corporation Evaluation of field replaceable unit dependencies and connections
US20160092287A1 (en) * 2014-09-26 2016-03-31 Intel Corporation Evidence-based replacement of storage nodes
CN104536529A (zh) * 2014-12-26 2015-04-22 中经汇通电子商务有限公司 一种低功耗热数据服务器
CN104570721B (zh) * 2014-12-31 2017-06-30 重庆川仪自动化股份有限公司 冗余控制器主从状态确定方法
US9952948B2 (en) * 2016-03-23 2018-04-24 GM Global Technology Operations LLC Fault-tolerance pattern and switching protocol for multiple hot and cold standby redundancies
CN208156846U (zh) * 2018-04-10 2018-11-27 深圳市大疆创新科技有限公司 云台控制装置及云台系统
US11176009B2 (en) 2018-10-16 2021-11-16 International Business Machines Corporation Implementing power up detection in power down cycle to dynamically identify failed system component resulting in loss of resources preventing IPL
CN117319236A (zh) * 2022-06-22 2023-12-29 华为云计算技术有限公司 一种资源分配方法以及装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1170464A (zh) * 1994-10-24 1998-01-14 费舍-柔斯芒特系统股份有限公司 访问分布式控制系统中现场设备的装置
CN1996254A (zh) * 2006-01-03 2007-07-11 国际商业机器公司 用于冗余控制器固件更新的装置、系统和方法

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US1818647A (en) * 1929-03-14 1931-08-11 Pronnecke Karl Merry-go-round
US6671776B1 (en) * 1999-10-28 2003-12-30 Lsi Logic Corporation Method and system for determining and displaying the topology of a storage array network having multiple hosts and computer readable medium for generating the topology
JP2002202959A (ja) * 2000-12-28 2002-07-19 Hitachi Ltd 動的な資源分配をする仮想計算機システム
US7010715B2 (en) * 2001-01-25 2006-03-07 Marconi Intellectual Property (Ringfence), Inc. Redundant control architecture for a network device
US20030115443A1 (en) * 2001-12-18 2003-06-19 Cepulis Darren J. Multi-O/S system and pre-O/S boot technique for partitioning resources and loading multiple operating systems thereon
US7000088B1 (en) * 2002-12-27 2006-02-14 Storage Technology Corporation System and method for quality of service management in a partitioned storage device or subsystem
US8578130B2 (en) 2003-03-10 2013-11-05 International Business Machines Corporation Partitioning of node into more than one partition
US7035952B2 (en) 2003-09-24 2006-04-25 Hewlett-Packard Development Company, L.P. System having storage subsystems and a link coupling the storage subsystems
EP1697842A2 (en) * 2003-12-11 2006-09-06 Bladefusion Technologies 2003 LTD. Method and an apparatus for controlling executables running on blade servers
US7290170B2 (en) * 2004-04-07 2007-10-30 International Business Machines Corporation Arbitration method and system for redundant controllers, with output interlock and automatic switching capabilities
US20050289388A1 (en) 2004-06-23 2005-12-29 International Business Machines Corporation Dynamic cluster configuration in an on-demand environment
US20060174051A1 (en) * 2005-02-02 2006-08-03 Honeywell International Inc. Method and apparatus for a redundancy approach in a processor based controller design
US7424642B2 (en) * 2006-04-24 2008-09-09 Gm Global Technology Operations, Inc. Method for synchronization of a controller
US8108853B2 (en) * 2006-05-05 2012-01-31 Honeywell International Inc. Apparatus and method for allowing a fail-back to a prior software release in a process control system
US7958273B2 (en) * 2006-10-10 2011-06-07 Lsi Corporation System and method for connecting SAS RAID controller device channels across redundant storage subsystems

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1170464A (zh) * 1994-10-24 1998-01-14 费舍-柔斯芒特系统股份有限公司 访问分布式控制系统中现场设备的装置
CN1996254A (zh) * 2006-01-03 2007-07-11 国际商业机器公司 用于冗余控制器固件更新的装置、系统和方法

Also Published As

Publication number Publication date
US20100153679A1 (en) 2010-06-17
KR101120848B1 (ko) 2012-03-16
US8245233B2 (en) 2012-08-14
KR20100069572A (ko) 2010-06-24
CN101794270A (zh) 2010-08-04

Similar Documents

Publication Publication Date Title
CN101794270B (zh) 用于基于资源角度选择冗余控制器的方法和系统
Bensmaine et al. A new heuristic for integrated process planning and scheduling in reconfigurable manufacturing systems
CN103329106B (zh) Alua首选项和状态转换的主机发现和处理
CN103297492B (zh) 用于在联网计算环境之间迁移数据的方法和系统
EP2791813B1 (en) Load balancing in cluster storage systems
EP2592812B1 (en) Integrated and scalable architecture for accessing and delivering data
CN101398686B (zh) 通过嵌入式历史机数据实现的自适应工业系统
US10387179B1 (en) Environment aware scheduling
Zhang et al. Agent technology for collaborative process planning: a review
RU2400817C2 (ru) Способ связывания технических данных и система для обслуживания и контроля промышленной установки
Moon et al. A genetic algorithm-based approach for design of independent manufacturing cells
CN103365781A (zh) 用于动态地重新配置存储系统的方法和设备
JP2009199395A (ja) 仮想サーバ管理装置および仮想サーバ管理方法
CN102763083B (zh) 计算机系统及其更改方法
CN114153580A (zh) 一种跨多集群的工作调度方法及装置
EP2710469A1 (en) A method and a system for online and dynamic distribution and configuration of applications in a distributed control system
Nami et al. Autonomic computing: a new approach
CN102792281B (zh) 存储设备
CN110955197A (zh) 产线自动配置装置及其方法
CN113253635A (zh) 初级自动化设备与多个次级设备的多重同步
CN109788006A (zh) 数据均衡方法、装置及计算机设备
CN116016028B (zh) 基于IPVlan为Pod创建多个网络接口的方法、系统、介质及设备
CN108282347A (zh) 一种服务器数据在线管理方法和系统
CN104572275A (zh) 一种进程加载方法、装置及系统
CN104641349A (zh) 可视化信息技术环境的条件

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
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20120418