CN103718535B - 硬件故障的缓解 - Google Patents
硬件故障的缓解 Download PDFInfo
- Publication number
- CN103718535B CN103718535B CN201280037746.9A CN201280037746A CN103718535B CN 103718535 B CN103718535 B CN 103718535B CN 201280037746 A CN201280037746 A CN 201280037746A CN 103718535 B CN103718535 B CN 103718535B
- Authority
- CN
- China
- Prior art keywords
- equipment
- agent
- resource allocation
- allocation apparatus
- hardware
- 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
- 238000013468 resource allocation Methods 0.000 claims abstract description 85
- 238000000034 method Methods 0.000 claims abstract description 45
- 230000009471 action Effects 0.000 claims abstract description 26
- 230000004044 response Effects 0.000 claims abstract description 21
- 238000001514 detection method Methods 0.000 claims abstract description 15
- 239000011800 void material Substances 0.000 claims 1
- 239000003795 chemical substances by application Substances 0.000 description 184
- 230000008569 process Effects 0.000 description 11
- 239000003223 protective agent Substances 0.000 description 4
- 230000001419 dependent effect Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000007596 consolidation process Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000002045 lasting effect Effects 0.000 description 2
- 230000005012 migration Effects 0.000 description 2
- 238000013508 migration Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 239000000700 radioactive tracer Substances 0.000 description 2
- 239000011232 storage material Substances 0.000 description 2
- 241000208340 Araliaceae Species 0.000 description 1
- 241000196324 Embryophyta Species 0.000 description 1
- 235000005035 Panax pseudoginseng ssp. pseudoginseng Nutrition 0.000 description 1
- 235000003140 Panax quinquefolius Nutrition 0.000 description 1
- 230000004888 barrier function Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000005265 energy consumption Methods 0.000 description 1
- 235000008434 ginseng Nutrition 0.000 description 1
- 230000010247 heart contraction Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000000116 mitigating effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000011814 protection agent Substances 0.000 description 1
- 230000000246 remedial effect Effects 0.000 description 1
- 101150111792 sda1 gene Proteins 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 239000000725 suspension Substances 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/202—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
- G06F11/2023—Failover techniques
- G06F11/203—Failover techniques using migration
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/0654—Management of faults, events, alarms or notifications using network fault recovery
- H04L41/0659—Management of faults, events, alarms or notifications using network fault recovery by isolating or reconfiguring faulty entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/0654—Management of faults, events, alarms or notifications using network fault recovery
- H04L41/0668—Management of faults, events, alarms or notifications using network fault recovery by dynamic selection of recovery network elements, e.g. replacement by the most appropriate element after failure
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1034—Reaction to server failures by a load balancer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/40—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass for recovering from a failure of a protocol instance or entity, e.g. service redundancy protocols, protocol state redundancy or protocol service redirection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/202—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
- G06F11/2035—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant without idle spare hardware
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/202—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
- G06F11/2048—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant where the redundant components share neither address space nor persistent storage
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1029—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers using data related to the state of servers by a load balancer
Abstract
各种示例性实施例涉及一种包含以下内容中的一个或多个的方法和相关的网络节点:资源分配设备检测服务器硬件的故障;识别被配置为利用服务器硬件的第一代理设备;以及响应于服务器硬件故障,采取至少一个动作以实现第一代理设备的重新配置。各种实施例附加地包含下列内容中的一个或多个:识别被配置为利用服务器硬件的第二代理设备;以及响应于服务器硬件故障,采取至少一个动作以实现第二代理设备的重新配置。各种实施例附加地包括下列中的一个或多个:由资源分配设备从第二代理设备接收服务器硬件故障的指示,其中第二代理设备不同于第一代理设备。
Description
技术领域
概括地,本申请公开的各种示例性实施例涉及系统的可靠性和可用性。
背景技术
诸如虚拟化和云计算的技术的兴起已经促使将先前与专用和独立的硬件相关联的各种应用移动到提供共享硬件资源的机器上。这种所谓的“服务器整合”允许更充分地利用可获得的资源,并且由此降低与未使用资源相关联的成本。例如,通过使先前仅轻度使用的服务器退出,可减小能耗、占地面积、和其它服务器成本。
然而,独立服务器确实提供其它优势。例如,独立服务器对硬件故障提供严格的控制;如果与应用相关联的硬件出现故障,则该故障可能仅影响该应用。然而,服务器整合引入了单一硬件故障可能影响多个应用的可能性。例如,如果四个应用共享CPU,并且如果该CPU出现硬件故障,则全部四个应用可能是缺乏抵抗力并且受到不可挽救的损害。
发明内容
各种示例性实施例涉及一种由资源分配设备执行的方法,所述资源分配设备分配服务器资源以减轻硬件故障的影响,该方法包含下列内容中的一个或多个:资源分配设备检测服务器硬件的故障;识别被配置为利用服务器硬件的第一代理设备;以及响应于服务器硬件故障,采取至少一个动作以实现所述第一代理设备的重新配置。
各种示例性实施例涉及资源分配设备,所述资源分配设备包含下列内容中的一个或多个:代理设备定义存储装置,其存储第一代理设备定义,其中所述第一代理设备定义识别第一代理设备和相关联的服务器硬件资源;硬件故障检测器,其被配置为检测所述服务器硬件资源的故障;以及代理设备保护模块,其被配置为:基于所述代理设备定义将第一代理设备识别为被配置为使用服务器硬件资源的代理设备,以及响应于服务器硬件故障,采取至少一个动作以实现所述第一代理设备的重新配置。
各种示例性实施例涉及使用用于减轻硬件故障影响的指令进行编码的有形和持久的机器可读存储介质,所述有形和持久的机器可读存储介质包含下列内容中的一个或多个:用于通过资源分配设备检测服务器硬件故障的指令;用于识别被配置为利用所述服务器硬件的第一代理设备的指令;以及用于响应于所述服务器硬件故障,采取至少一个动作以实现所述第一代理设备的重新配置的指令。
各种示例性实施例涉及由管理程序执行的用于减轻硬件故障影响的方法,所述方法包含下列内容中的一个或多个:管理程序检测服务器硬件故障;识别被配置为利用所述服务器硬件的第一虚拟机;以及响应于所述服务器硬件故障,采取至少一个动作以实现第一虚拟机的重新配置。
各种实施例附加地包含下列内容中的一个或多个:识别与所述服务器硬件相关联的第二代理设备;以及响应于所述服务器硬件故障,采取至少一个动作以实现所述第二代理设备的重新配置。
描述了各种实施例,其中检测服务器硬件故障的步骤包含:由所述资源分配设备从第二代理设备接收所述服务器硬件故障的指示,其中所述第二代理设备与所述第一代理设备不同。
描述了各种实施例,其中所述至少一个动作包含:指示第二资源分配设备为所述第一代理设备分配服务器硬件资源。描述了各种实施例,其中所述至少一个动作还包含向所述第二资源分配设备发送与所述第一代理设备相关联的设备的镜像。描述了各种实施例,其中所述指示所述第二资源分配设备的步骤包含经由互联网向所述第二资源分配设备发送指示消息。
描述了各种实施例,其中所述至少一个动作包含暂停所述第一代理设备的运行。
描述了各种实施例,其中所述至少一个动作包含针对所述第一代理设备来仿真错误。描述了各种实施例,其中所述针对第一代理设备来仿真错误的步骤包含经由互联网向与所述代理设备相关联的设备发送错误消息。
附图说明
通过参照附图,以便于更好地理解各示例性实施例,其中:
图1a说明了用于提供共享硬件资源的示例性系统;
图1b说明了针对图1a的一些组件的替代结构;
图1c说明了针对图1a的一些组件的另一种替代结构;
图2说明了用于保护代理设备免受硬件故障的示例性资源分配设备;
图3说明了用于存储多个代理设备定义的示例性数据结构;以及
图4说明了用于保护代理设备免受硬件故障的示例性方法。
为了便于理解,已经使用相同的附图标记来标出基本上具有相同或相似的结构和/或基本上具有相同或相似功能的元素。
具体实施方式
鉴于上述内容,希望提供一种保护共享硬件资源的代理设备免受此类资源故障的方法。特别地,希望使这些代理设备能够连续运行,且使代理设备将受到故障影响的可能性最小化。现在参照附图,公开了各种示例性实施例的宽广方面。
图1a说明了用于提供共享硬件资源的示例性系统100a。示例性系统可包含多个客户端设备110a-c、网络120、资源分配设备130a-b、以及代理设备140a-d。资源分配设备130a-b和代理设备140a-d可位于在一个或多个云计算基础设施中。
客户端设备110a-c每一个都可包含能够与诸如网络120的网络进行通信的任何设备。尽管这里说明了三个设备,但是示例性系统100a可包含更少或更多的设备。此外,在运行期间,参与示例性系统100a的客户端设备的数量可改变。例如,客户端设备110a可停止参与示例性系统100a,和/或其它两个客户端设备(未示出)可开始类似的参与。
每个客户端设备110a-c可以是能够经由网络120与其它设备进行通信的个人计算机或膝上型计算机、终端、服务器、平板电脑、无线电子邮件设备、蜂窝电话、智能电话、电视机顶盒、或任何其它设备。每个客户端设备110a-c可以由于不同原因参与示例性系统100a。例如,客户端设备110a可以是瘦客户端,并可依赖于示例性系统内的其它资源来执行与客户端设备110a的正常运行相关的大部分或全部处理。作为另一个实施例,客户端设备110b可以是能够独立执行大部分任务的个人计算机,并可依赖于示例性系统100a内的其它资源来存储和获取数据(诸如较大的音乐或电子书集合)。作为又一实施例,客户端设备110c可以是服务器,所述服务器接收并响应于来自其它设备(未示出)的请求。当这种请求的到达速率对客户端设备110c来说太高,而不能在用于评估服务器负载的效率、响应时间或其它标准的一些测量内进行处理时,客户端设备110c可依赖于示例性系统100a中的其它资源来处理这种请求中的一部分请求。
网络120可以是适用于在示例性系统100a的其它设备之间提供通信的设备或一组设备。因此,网络120可包含用于向适当的目的地转发分组的多个路由器和/或交换机。在各种实施例中,网络120可包含2G、3G和/或4G系统和/或其它无线系统中的一个或多个。此外,在各种实施例中,网络120可包含有线网络,诸如互联网和/或一个或多个局域网(LAN)。
资源分配设备130a-b的每一个都可以是管理代理设备140a-d的设备。例如,资源分配设备130a可管理代理设备140a-b,且资源分配设备130b可管理代理设备140c-d。在管理这种代理设备140a-d时,资源分配设备130a-b可针对每个代理设备140a-d来分配和/或实施共享的硬件资源。例如,资源分配设备130a可确保代理设备1140a可使用第一CPU上的20%处理时间,且代理设备M140b可使用同一CPU上的10%处理时间。因此,在各种实施例中,资源分配设备130a-b的每一个都可包含管理程序。资源分配设备130a-b可执行大量附加功能,诸如,请求和响应消息路由、资源预留、负载均衡、使用计量、和/或计费。需要说明的是,尽管示例性系统100a包含两个资源分配设备130a-b,但是各种实施例可包含更少或更多的资源分配设备(未示出)。
代理设备140a-d的每一个都可以是被配置为与客户端设备110a-c中的一个或多个客户端设备结合地运行的设备。每个代理设备140a-d可包含诸如一个或多个处理器、存储器、存储装置、和/或网络接口的硬件资源。在各种实施例中,代理设备140a-d可与其它代理设备140a-d和/或资源分配设备130a-b共享这种硬件资源。例如,代理设备1140a可与资源分配设备130a和代理设备M140b共享CPU。这种硬件资源可被放置在一个或多个物理服务器(未示出)中。在各种实施例中,代理设备140a-d中的一个或多个代理设备可包含虚拟机。
根据一些实施例,资源分配设备130a-b可以与它们管理的代理设备140a-d一起位于在同一物理服务器上。例如,资源分配设备130a和代理设备140a-b可一起位于在单一物理服务器150a上。在这种实施例中,资源分配设备130a可包含管理程序,且代理设备140a-b的每一个都可包含虚拟设备,这些设备的全体可在单一物理服务器上执行。同样,资源分配设备130b和代理设备140c-d可一起位于在另一物理服务器160a上。然而,应当了解的是,所描述的方法可以应用于各种可替换的配置。例如,如在图1b中所说明的可替换配置100b,示出了资源分配设备130a可位于在第一物理服务器150b上,且代理设备140a-b可全部位于在第二物理服务器152b上。作为另一选择,在图1c中所说明的可替换配置100c示出了资源分配设备130c和代理设备140a-b中的每一个设备可分别位于在独立的物理服务器150c、152c、154c上。对本领域技术人员来说,各种另外的结构是明显的。
返回到图1a,资源分配设备130a-b可被配置为当检测到硬件故障时,主动地保护代理设备140a-d。资源分配设备130a-b可通过多种方法来检测此类硬件故障,诸如,接收到中断、未能从硬件设备接收到一个或多个心跳响应信号、读取一个或多个状态寄存器、识别无响应的硬件设备、和/或在尝试访问硬件设备时接收到错误指示。对本领域技术人员来说,用于硬件故障检测的许多另外的方法是明显的。
当检测到硬件故障时,资源分配设备130a-b可首先识别可潜在地受该故障影响的任何代理设备。例如,资源分配设备130a-b可确定当前哪些代理设备被分配使用故障的硬件设备中的至少一份份额(share)。在各种可替换的实施例中,可假设由资源分配设备所管理的全部代理设备140a-d潜在地受到影响。对于潜在地受到影响的每个代理设备140a-d,资源分配设备130a-b可采取步骤,诸如,将代理设备140a-d实时迁移到另一资源分配设备130a-b、暂停代理设备140a-d的运行、和/或针对代理设备140a-d来仿真硬件错误,以保护代理设备140a-d免受硬件故障。
在实时迁移的情况下,检测硬件故障的资源分配设备130a-b可与另一个资源分配设备130a-b进行通信,以将一个或多个代理设备移动到其他资源分配设备130a-b。例如,当检测到硬件故障并确定其会影响代理设备1140a时,资源分配设备130a可指示资源分配设备130b实例化新的代理设备(未示出)以代替代理设备140a。资源分配设备130a还可向资源分配设备130b发送设备镜像,使得可创建具有与代理设备1140a最近所保存的处理器状态、存储器内容、和/或其它状态相同的新代理设备,从而使迁移代理设备140a以利用新硬件的影响最小化。
在暂停运行或仿真错误的情况下,资源分配设备130a-b可促使一些其它实体采取进一步的动作以将代理设备140a-d与错误进行隔离。例如,资源分配设备130a可检测到硬件故障,并且作为响应,通过向客户端设备110a发送指示此类错误的消息来仿真代理设备1140a的错误(假设客户端设备110a与代理设备1140a相关联)。此后,客户端设备110a可依赖于其它技术来处理错误,诸如,将请求引导到诸如代理设备M+1140c的冗余代理设备。
在另一示例中,资源分配设备130a可检测到硬件故障,并确定代理设备M140b可能潜在地受到影响。作为响应,资源分配设备130a可暂停代理设备M140b的运行。此后,另一设备(诸如客户端设备110c或代理设备M+N140d)可尝试与代理设备M140b进行通信,并且没有接收到响应。此后,该另一设备可采取步骤以处理无响应的代理设备140b。因此,通过利用这些方法,在代理设备实际受到硬件错误影响前,资源分配设备130a可激活其它设备的错误处理特性。
图2说明了用于保护代理设备免受硬件故障的示例性资源分配设备200。资源分配设备200可对应于系统100a的资源分配设备130a-b中的一个或两个。资源分配设备200可包含网络接口210、代理设备管理器220、代理设备定义存储装置230、代理设备接口240、硬件故障检测器250、以及代理设备保护模块260。
网络接口210可以是包含硬件和/或编码在机器可读存储介质上的可执行指令的接口,该接口被配置为与至少一个其它设备进行通信。例如,网络接口210可与客户端设备、代理设备、和/或其它资源分配设备进行通信。因此,网络接口210可包含用于经由诸如互联网的网络进行通信的一个或多个以太网接口。此外,网络接口210可包含:具有不同地址、具有不同协议、和/或属于不同物理服务器的多个接口。此外,资源分配设备200可与其它实体(诸如例如代理设备)共享网络接口210或其部分。
代理设备管理器220可包含:被配置为建立和管理代理设备的硬件和/或机器可读存储介质上的可执行指令。在各种实施例中,代理设备管理器220可接收用于建立各种代理设备的请求,并随后至少部分通过创建代理设备定义来建立所请求的代理设备。在这种情况下,代理设备管理器220可根据请求、客户端设备、用户权限、可获得的硬件资源、和/或各种其它注意事项,将硬件资源的份额分配给每个新代理设备。然后,代理设备管理器220可在代理设备定义存储装置230中存储该定义。代理设备管理器220可执行各种另外功能,诸如,在代理设备和经由网络接口210可访问的其它设备之间的消息路由,和/或实施所分配的硬件资源。
代理设备定义存储装置230可以是能够存储各种代理设备定义的任何机器可读介质。因此,代理设备定义存储装置230可包含机器可读存储介质,诸如只读存储器(ROM)、随机存取存储器(RAM)、磁盘存储介质、光存储介质、闪存设备、和/或类似的存储介质。下面将参照图3更详细地解释代理设备定义存储装置230的内容。
代理设备接口240可以是包含硬件和/或编码在机器可读存储介质上的可执行指令的接口,该接口被配置为与至少一个代理设备进行通信。在各种实施例中,代理设备接口240可包含由操作系统或其它环境所提供的一个或多个通信方法。例如,代理设备接口240可包含套接字、管道、消息队列、和/或共享存储器。可替换地或另外地,代理设备接口240可包含:诸如系统总线、SCSI、SATA、PATA、USB、IEEE1394的接口,和/或诸如以太网接口的网络接口。因此,在各种实施例中,代理设备接口240可包含网络接口210。
硬件故障检测器250可包含被配置为检测与资源分配设备200和/或一个或多个代理设备相关联的硬件故障的硬件和/或在机器可读介质上的可执行指令。例如,与资源分配设备200相关联的一个或多个代理设备可被配置为当遇到硬件错误时发送中断。硬件故障检测器250可接收所述中断,并且从而确定已经发生了硬件故障。另外地或可替换地,硬件故障检测器250可周期性地轮询硬件设备和/或从硬件设备接收心跳信号。未能接收到一个或多个轮询响应和/或心跳信号可向硬件故障检测器250指示已经发生了硬件故障。对本领域技术人员来说,检测硬件故障的多种另外的或可替换的方法是明显的,诸如,读取硬件状态寄存器、遇到无响应的硬件、和/或当尝试访问硬件设备时接收到错误。当检测到硬件故障时,硬件故障检测器250可向代理设备保护模块260报告故障设备。
代理设备保护模块260可包含:硬件和/或机器可读介质上的可执行指令,其被配置为识别可能受硬件故障影响的代理设备并随后采取步骤避免此类影响。当从硬件故障检测器250接收到特定硬件设备已经出现故障或正在发生故障的指示时,代理设备保护模块260可识别分配了该故障硬件设备的份额或可能按其它方式受到影响的任何代理设备。例如,代理设备保护模块260可反复通过代理设备定义存储装置,并识别与故障硬件相关联的任何代理设备。可替换地,代理设备保护模块可简单地假设与资源分配模块200相关联的任何代理设备可能潜在地受到影响。
在识别到潜在地受到影响的代理设备后,代理设备保护模块260可针对每个识别到的代理设备采取一些保护动作。代理设备保护模块260可针对每个识别到的设备采取相同的动作,或者可确定不同的代理设备适用于不同的保护动作。在各种实施例中,代理设备保护模块260可为代理设备重新分配资源,使得代理设备不再使用出现故障的硬件。可替换地或另外地,代理设备保护模块可暂停代理设备的运行和/或针对代理设备仿真错误。在这种情况下,代理设备保护模块260可促使其它实体(未示出)在硬件故障实质影响代理设备前采取补救动作。
作为另一可替换或另外的保护动作,代理设备保护模块260可实时地将一个或多个代理设备迁移到另一资源分配设备。例如,代理设备保护模块260可向另一资源分配设备发送应当为替换代理设备分配硬件的指令。在这种情况下,代理设备保护模块260可发送定义代理设备的信息,诸如硬件要求。代理设备保护模块260还可向替换代理设备发送用于复制正被迁移的代理设备的上下文的设备镜像。在各种实施例中,在接收到硬件故障的指示时或周期性地在代理设备的正常运行中,代理设备保护模块260可创建上述设备镜像。在各种实施例中,代理设备保护模块可发送存储在代理设备定义存储装置中的代理设备定义或其一部分。无论使用什么信息来发送,另一资源分配设备(未示出)可建立代理设备的拷贝,从而将代理设备迁移到新硬件。
图3说明了用于存储多个代理设备定义的示例性数据结构300。数据结构300可以是数据库或诸如代理设备定义存储装置230的缓存器中的表。可替换地,数据布置300可以是一系列的链表、数组或类似的数据结构。因此,应当了解的是,数据结构300是底层数据的抽象;可使用适用于存储此类数据的任何数据结构。
数据结构300可包含用于定义代理设备的多个字段。例如,数据结构300可包含代理设备ID字段305、处理器资源字段310、存储器资源字段315、和设备镜像字段320。数据结构300可包含用于存储额外信息的多个附加字段,所述额外信息诸如额外资源、相关联的客户端设备和/或用户、和/或原始所请求的资源。对本领域技术人员来说,在定义代理设备中有用的可替换或另外的数据是明显的。
代理设备ID字段305可存储针对由资源分配设备所管理的每个代理设备的唯一标识符。处理器资源字段310可存储代理设备可获得的可获得处理器的多少份额的指示。同样,存储器资源字段315可存储代理设备可获得的可获得存储器的多少份额的指示。设备镜像320可指定与代理设备相关联的所创建的最近的设备镜像。
作为实施例,定义330指示在CPU1和CPU2上都给代理设备0x23分配了10%的处理时间。此外,已经在存储器组2上给代理设备0x23分配了存储器地址0xA000000-0xAFFFFFF。存储在SDA1上的/var/images/035-0004处的镜像存储了代理设备0x23的最近的设备镜像。定义340和350分别类似地定义了针对代理设备0xA1和代理设备0xCB的所分配的资源和设备镜像位置。数据结构300可包含多个额外的定义360。
图4说明了用于保护代理设备免受硬件故障的示例性方法400。方法400可由资源分配设备200的来执行,所述组件诸如例如硬件故障检测器250和/或代理设备保护模块260。
方法400可开始于步骤405,并前进到步骤410,其中资源分配设备200可根据上述方法中的任何方法来检测硬件故障。接下来,在步骤415中,资源分配设备200可检索第一代理设备以进行分析。例如,资源分配设备200可检索代理设备定义。然后,在步骤420中,资源分配设备200可确定所检索的代理设备是否与故障硬件相关联。如果不相关联,则方法400可跳到步骤430。如果所检索的代理设备与故障硬件相关联,则方法400可进前进到步骤425。在各种可替换的实施例中,步骤420可以不出现,并且步骤415可直接前进到步骤425。因此,在此类可替换的实施例中,资源分配设备200可针对每个相关联的代理设备执行步骤425。
在步骤425,资源分配设备200可执行一个或多个动作,以使当前的代理设备免受硬件故障。如上所述,资源分配设备200可将不同的资源分配给代理设备、暂停代理设备、针对代理设备仿真错误、或将代理设备迁移到另一资源分配设备。对本领域技术人员来说,保护代理设备的各种可替换的方法是明显的。
在步骤430,资源分配设备200可根据硬件错误确定剩余的任何代理设备是否将进行处理。如果需要处理,则资源分配设备200可检索下一代理设备,并且方法400可环回到步骤420。一旦处理了全部的代理设备,则方法400可从步骤430前进到步骤440结束。
已经描述了各种实施例,现在将参照图1-4描述系统100a的操作示例。对于这个示例,资源分配设备200可对应于资源分配设备130a,数据结构300可描述代理设备定义存储装置230的内容,并且方法400可描述资源分配设备200的操作。定义330可对应于可与客户端设备110a相关联的代理设备1140a。代理设备M+1140c还可与客户端设备相关联,并且可以是当前在被动模式中运行的代理设备1140a的冗余拷贝。
在步骤410中,硬件故障检测器250可从代理设备0xCB接收到CPU2已经出现故障的指示。在步骤420中,代理设备保护模块260可根据定义330,确定代理设备0x23与CPU2相关联,并且因此可能受到硬件故障的影响。作为响应,代理设备保护模块260可通过向客户端设备110a发送消息以仿真代理设备1140a上的主要错误,来采取保护动作。然后,客户端设备110a通过将冗余的代理设备M+1140c设置成主动模式,并将任何处理请求重新定向到所述代理设备140c,来进行响应。
接下来,方法400可环回到步骤420,其中代理设备保护模块可根据定义340确定代理设备0xA1不与CPU2相关联。因此,资源分配设备200不会针对代理设备0xA1采取任何进一步动作。处理可以这种方式继续,直到资源分配设备200分析了存储在数据结构300中的全部定义为止。
根据上述内容,各种实施例使能资源分配设备主动地保护代理设备免受硬件故障影响。特别地,通过识别与已经报告出现故障的硬件相关联的代理设备,资源分配设备可在硬件故障实质影响代理设备前采取步骤保护代理设备。
从上面描述应当明显的是,本发明的各示例性实施例可在硬件和/或固件中实现。此外,各种示例性实施例可实现为存储在机器可读存储介质上的指令,可由至少一个处理器读取并执行指令,以执行本文所详细描述的操作。机器可读存储介质可包含:用于以机器(诸如个人或便携计算机、服务器、或其它计算设备)可读的形式存储信息的任何机构。因此,有形的或持久的机器可读存储介质可包含:只读存储器(ROM)、随机访问存储器(RAM)、磁盘存储介质、光存储介质、闪存设备、和类似的存储介质。
本领域的技术人员应当了解的是,本文中的任何框图表示具体化本发明原理的说明性电路的概念视图。类似地,将了解的是,任何流程图表、流程图、状态转换图、伪代码等表示各种过程,其可基本上在机器可读介质中表示并因此由计算机或处理器执行,无论此类计算机或处理器是否明确示出。
尽管各种示例性实施例已经尤其参照其某些示例性方面详细地进行了描述,但是应当理解的是,本发明能够有其它实施例,并且其细节能够在各种明显的方面进行修改。如对本领域技术人员很明显的是,能够实现变型和修改同时保持在本发明的精神和范围内。因此,上述公开、描述和附图仅是出于说明目的,并且不以任何方式限制本发明,本发明仅由权利要求限定。
Claims (15)
1.一种由资源分配设备执行的方法,所述资源分配设备分配服务器资源以用于减轻服务器硬件故障的影响,所述方法包括:
所述资源分配设备检测(410)服务器硬件的故障;
识别(415,420,435)被配置为利用所述服务器硬件的第一代理设备,其中第一代理设备包括虚拟设备,所述虚拟设备能够进行配置以使用不同的服务器硬件;以及
响应于所述服务器硬件故障以及在所述第一代理设备受到所述服务器硬件故障的影响之前,采取至少一个动作(425)以实现所述第一代理设备的重新配置。
2.根据权利要求1所述的方法,还包括:
识别(415,420,435)被配置为利用所述服务器硬件的第二代理设备;以及
响应于所述服务器硬件故障,采取至少一个动作(425)以实现所述第二代理设备的重新配置。
3.根据权利要求1所述的方法,其中检测服务器硬件的故障的步骤包括:
所述资源分配设备从第二代理设备接收所述服务器硬件的故障的指示,其中所述第二代理设备不同于所述第一代理设备。
4.根据权利要求1-3中的任一项所述的方法,其中所述至少一个动作包括:指示第二资源分配设备为所述第一代理设备分配不同的服务器硬件资源。
5.根据权利要求4所述的方法,其中指示所述第二资源分配设备的步骤包括经由互联网向所述第二资源分配设备发送指令消息。
6.根据权利要求1-3中的任一项所述的方法,其中所述至少一个动作包括:暂停所述第一代理设备的运行。
7.根据权利要求1-3中的任一项所述的方法,其中所述至少一个动作包括:针对所述第一代理设备来仿真错误。
8.根据权利要求7所述的方法,其中针对所述第一代理设备来仿真错误的步骤包括:经由互联网向与所述代理设备相关联的设备发送错误消息。
9.一种资源分配设备(200),包括:
代理设备定义存储装置(230),其存储第一代理设备定义,其中所述第一代理设备定义识别第一代理设备和相关联的服务器硬件资源,其中第一代理设备包括虚拟设备,所述虚拟设备能够进行配置以使用不同的服务器硬件资源;
硬件故障检测器(250),其被配置为检测服务器硬件资源的故障;以及
代理设备保护模块(260),其被配置为:
基于所述代理设备定义,将第一代理设备识别为被配置为利用所述服务器硬件资源的代理设备,以及
响应于所述服务器硬件故障以及在所述第一代理设备受到所述服务器硬件故障的影响之前,采取至少一个动作以实现所述第一代理设备的重新配置。
10.根据权利要求9所述的资源分配设备(200),其中:
代理设备定义存储装置(230)存储第二代理设备定义,其中所述第二代理设备定义识别第二代理设备和相关联的服务器硬件资源;以及
所述代理设备保护模块(260)还被配置为:
将第二代理设备识别为被配置为利用所述服务器硬件资源的代理设备;以及
响应于所述服务器硬件故障,采取至少一个动作以实现所述第二代理设备的重新配置。
11.根据权利要求9-10中的任一项所述的资源分配设备,其中所述至少一个动作包括:指示第二资源分配设备为所述第一代理设备分配不同的服务器硬件资源。
12.根据权利要求11所述的资源分配设备,其中所述至少一个动作还包括:向所述第二资源分配设备发送与所述第一代理设备相关联的设备镜像。
13.根据权利要求11所述的资源分配设备,其中,在指示所述第二资源分配设备时,所述代理设备保护模块经由互联网向所述第二资源分配设备发送指令消息。
14.根据权利要求9-10中的任一项所述的资源分配设备,其中所述至少一个动作包括:暂停所述第一代理设备的运行。
15.根据权利要求9-10中的任一项所述的资源分配设备,其中所述至少一个动作包括:针对所述第一代理设备来仿真错误。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/195,482 | 2011-08-01 | ||
US13/195,482 US8856585B2 (en) | 2011-08-01 | 2011-08-01 | Hardware failure mitigation |
PCT/US2012/044283 WO2013019339A1 (en) | 2011-08-01 | 2012-06-27 | Hardware failure mitigation |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103718535A CN103718535A (zh) | 2014-04-09 |
CN103718535B true CN103718535B (zh) | 2017-04-05 |
Family
ID=46548816
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201280037746.9A Expired - Fee Related CN103718535B (zh) | 2011-08-01 | 2012-06-27 | 硬件故障的缓解 |
Country Status (6)
Country | Link |
---|---|
US (1) | US8856585B2 (zh) |
EP (1) | EP2740255A1 (zh) |
JP (1) | JP2014522052A (zh) |
KR (1) | KR101504882B1 (zh) |
CN (1) | CN103718535B (zh) |
WO (1) | WO2013019339A1 (zh) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130326053A1 (en) * | 2012-06-04 | 2013-12-05 | Alcatel-Lucent Usa Inc. | Method And Apparatus For Single Point Of Failure Elimination For Cloud-Based Applications |
US9198060B2 (en) * | 2013-01-30 | 2015-11-24 | Dell Products L.P. | Information handling system physical component maintenance through near field communication device interaction |
US9569294B2 (en) | 2013-01-30 | 2017-02-14 | Dell Products L.P. | Information handling system physical component inventory to aid operational management through near field communication device interaction |
US9208015B2 (en) * | 2013-06-18 | 2015-12-08 | Vmware, Inc. | Hypervisor remedial action for a virtual machine in response to an error message from the virtual machine |
US9213572B2 (en) | 2013-12-02 | 2015-12-15 | Vmware, Inc. | Interdependent virtual machine management |
US9442792B2 (en) | 2014-06-23 | 2016-09-13 | Vmware, Inc. | Using stretched storage to optimize disaster recovery |
US9489273B2 (en) * | 2014-06-23 | 2016-11-08 | Vmware, Inc. | Using stretched storage to optimize disaster recovery |
US9703651B2 (en) * | 2015-06-15 | 2017-07-11 | Vmware, Inc. | Providing availability of an agent virtual computing instance during a storage failure |
US9760427B2 (en) | 2015-09-10 | 2017-09-12 | Cisco Technology, Inc. | Method and apparatus for identifying location related hardware failures |
US10360104B2 (en) * | 2017-05-08 | 2019-07-23 | Silicon Laboratories Inc. | ECC memory controller to detect dangling pointers |
US10218387B2 (en) | 2017-05-08 | 2019-02-26 | Silicon Laboratories Inc. | ECC memory controller supporting secure and non-secure regions |
US10567233B2 (en) * | 2017-06-07 | 2020-02-18 | International Business Machines Corporation | Shadow agent projection in multiple places to reduce agent movement over nodes in distributed agent-based simulation |
US10949548B2 (en) * | 2018-10-18 | 2021-03-16 | Verizon Patent And Licensing Inc. | Systems and methods for providing multi-node resiliency for blockchain peers |
KR102567541B1 (ko) * | 2021-10-12 | 2023-08-21 | 스트라토 주식회사 | 엣지 서비스 인스턴스 배포 장치 및 그 제어방법 |
WO2024005875A1 (en) * | 2022-06-29 | 2024-01-04 | Hewlett Packard Enterprise Development Lp | High availability systems having thinly-provisioned secondary servers |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0981089A2 (en) * | 1998-07-20 | 2000-02-23 | Lucent Technologies Inc. | Method and apparatus for providing failure detection and recovery with predetermined degree of replication for distributed applications in a network |
CN101350952A (zh) * | 2007-07-22 | 2009-01-21 | 华为技术有限公司 | 一种电路域核心网重用方法及通讯系统以及相关设备 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6421787B1 (en) * | 1998-05-12 | 2002-07-16 | Sun Microsystems, Inc. | Highly available cluster message passing facility |
JP2001022709A (ja) * | 1999-07-13 | 2001-01-26 | Toshiba Corp | クラスタシステム及びプログラムを記憶したコンピュータ読み取り可能な記憶媒体 |
WO2002001347A2 (en) | 2000-06-30 | 2002-01-03 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and system for automatic re-assignment of software components of a failed host |
GB2379046B (en) * | 2001-08-24 | 2003-07-30 | 3Com Corp | Storage disk failover and replacement system |
JP4119162B2 (ja) * | 2002-05-15 | 2008-07-16 | 株式会社日立製作所 | 多重化計算機システム、論理計算機の割当方法および論理計算機の割当プログラム |
US20060271813A1 (en) * | 2005-05-26 | 2006-11-30 | David Horton | Systems and methods for message handling among redunant application servers |
US7586946B2 (en) * | 2005-10-31 | 2009-09-08 | Hewlett-Packard Development Company, L.P. | Method and apparatus for automatically evaluating and allocating resources in a cell based system |
JP4609380B2 (ja) * | 2006-05-31 | 2011-01-12 | 日本電気株式会社 | 仮想サーバ管理システムおよびその方法ならびに管理サーバ装置 |
US7434096B2 (en) * | 2006-08-11 | 2008-10-07 | Chicago Mercantile Exchange | Match server for a financial exchange having fault tolerant operation |
US8201016B2 (en) * | 2007-06-28 | 2012-06-12 | Alcatel Lucent | Heartbeat distribution that facilitates recovery in the event of a server failure during a user dialog |
US8065560B1 (en) * | 2009-03-03 | 2011-11-22 | Symantec Corporation | Method and apparatus for achieving high availability for applications and optimizing power consumption within a datacenter |
US9130967B2 (en) * | 2010-11-17 | 2015-09-08 | Alcatel Lucent | Method and system for network element service recovery |
US8707083B2 (en) * | 2010-12-03 | 2014-04-22 | Lsi Corporation | Virtualized cluster communication system |
-
2011
- 2011-08-01 US US13/195,482 patent/US8856585B2/en not_active Expired - Fee Related
-
2012
- 2012-06-27 EP EP12737938.6A patent/EP2740255A1/en not_active Withdrawn
- 2012-06-27 WO PCT/US2012/044283 patent/WO2013019339A1/en unknown
- 2012-06-27 JP JP2014523933A patent/JP2014522052A/ja active Pending
- 2012-06-27 CN CN201280037746.9A patent/CN103718535B/zh not_active Expired - Fee Related
- 2012-06-27 KR KR1020147002386A patent/KR101504882B1/ko not_active IP Right Cessation
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0981089A2 (en) * | 1998-07-20 | 2000-02-23 | Lucent Technologies Inc. | Method and apparatus for providing failure detection and recovery with predetermined degree of replication for distributed applications in a network |
CN101350952A (zh) * | 2007-07-22 | 2009-01-21 | 华为技术有限公司 | 一种电路域核心网重用方法及通讯系统以及相关设备 |
Also Published As
Publication number | Publication date |
---|---|
JP2014522052A (ja) | 2014-08-28 |
KR101504882B1 (ko) | 2015-03-20 |
KR20140036010A (ko) | 2014-03-24 |
CN103718535A (zh) | 2014-04-09 |
US8856585B2 (en) | 2014-10-07 |
US20130036322A1 (en) | 2013-02-07 |
EP2740255A1 (en) | 2014-06-11 |
WO2013019339A1 (en) | 2013-02-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103718535B (zh) | 硬件故障的缓解 | |
US9886300B2 (en) | Information processing system, managing device, and computer readable medium | |
Rostanski et al. | Evaluation of highly available and fault-tolerant middleware clustered architectures using RabbitMQ | |
Yamato et al. | Fast and reliable restoration method of virtual resources on OpenStack | |
JP5458308B2 (ja) | 仮想計算機システム、仮想計算機システムの監視方法及びネットワーク装置 | |
CN101601014B (zh) | 利用存储负载信息来平衡集群虚拟机的方法和系统 | |
CN106462498B (zh) | 用于数据存储系统的模块化交换架构 | |
Koslovski et al. | Reliability support in virtual infrastructures | |
US20140280499A1 (en) | Distributed network services | |
US20120151265A1 (en) | Supporting cluster level system dumps in a cluster environment | |
CN109313564A (zh) | 用于支持多个不同租户的高度可用虚拟桌面的服务器计算机管理系统 | |
CN107967180B (zh) | 基于numa虚拟化环境下资源全局亲和度网络优化方法和系统 | |
KR20200080458A (ko) | 클라우드 멀티-클러스터 장치 | |
US20210286647A1 (en) | Embedded persistent queue | |
US10692168B1 (en) | Availability modes for virtualized graphics processing | |
US11546224B2 (en) | Virtual network layer for distributed systems | |
Datt et al. | Analysis of infrastructure monitoring requirements for OpenStack Nova | |
Liu et al. | Towards a community cloud storage | |
WO2017046635A1 (en) | High-availability multi-component cloud application placement using stochastic availability models | |
JP2020038506A (ja) | 情報処理システム、情報処理方法、及び、プログラム | |
Lu et al. | A fault tolerant strategy in hybrid cloud based on QPN performance model | |
US10789139B2 (en) | Method of rebuilding real world storage environment | |
Rishabh et al. | Hetstore: A platform for io workload assignment in a heterogeneous storage environment | |
Yao et al. | Research on Performance Optimization of Virtualized Server Cluster Based on Cloud Computing | |
JP2014191365A (ja) | 多階層システムに含まれる処理システムの分類装置及び多階層システムに含まれる処理システムの分類プログラム並びに多階層システムに含まれる処理システムの分類方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
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: 20170405 Termination date: 20180627 |