CN103827831A - 活动模块诊断测试 - Google Patents
活动模块诊断测试 Download PDFInfo
- Publication number
- CN103827831A CN103827831A CN201280047271.1A CN201280047271A CN103827831A CN 103827831 A CN103827831 A CN 103827831A CN 201280047271 A CN201280047271 A CN 201280047271A CN 103827831 A CN103827831 A CN 103827831A
- Authority
- CN
- China
- Prior art keywords
- nextport
- hardware component
- agent equipment
- hardware
- diagnostic test
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/26—Functional testing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2205—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
- G06F11/2236—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test CPU or processors
- G06F11/2242—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test CPU or processors in multi-processor systems, e.g. one processor becoming the test master
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/008—Reliability or availability analysis
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Debugging And Monitoring (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
各示例性实施例涉及方法和有关网络节点,所述方法包含以下中的一个或多个:确定应当在多个硬件组件中的硬件组件上执行诊断测试,其中所述多个硬件组件支持多个代理设备,并且所述多个代理设备中的至少一个代理设备被分配给所述多个硬件组件中的至少一个硬件组件;确保所述多个代理设备中没有代理设备被分配给所述硬件组件;以及在确保所述多个代理设备中没有代理设备被分配给所述硬件组件之后,在所述硬件组件上执行所述诊断测试,其中在执行所述诊断测试期间所述多个硬件组件中的至少另一个硬件组件继续运行。
Description
相关申请交叉引用
本申请交叉引用以下共同待决申请:美国专利申请号为13/250188,代理人案号为ALC3747,Bauer等人的“HARDWARE CONSUMPTIONARCHITECTURE”,其整体通过引用包含于此。
技术领域
本文公开的各种示例性实施例一般涉及系统可靠性和可用性。
背景技术
诸如虚拟化和云计算技术的兴起已经促进了将先前与专用和独立的硬件相关联的各种应用移动到提供共享硬件资源的机器上。这种所谓的“服务器整合”允许更充分地使用可用的资源,并且因此降低了与未充分使用的资源相关联的成本。例如,通过使先前仅轻度使用的服务器退役,可以降低能量消耗、占地面积以及其它服务器成本。
然而,服务器整合可能导致各种不利的影响。提高硬件资源的使用能够提高硬件的失效率。然后,这些失效能够影响使用该硬件的任何应用。此外,在当前的架构下,当服务器的硬件组件失效时,常常必须替换或维修整个服务器,从可用于应用执行的资源池中移除该服务器,即使该服务器的一些硬件组件仍是可运行的。
发明内容
以下提供各种示例性实施例的简要概述。在以下概述中可能做出一些简化和省略,其旨在突出和介绍各种示例性实施例的一些方面,而不是旨在限制本发明的范围。优选示例性实施例的详细说明将跟随在后面部分,其充分地允许本领域的普通技术人员理解并使用本发明构思。
各示例性实施例涉及由硬件管理设备执行的用于执行诊断测试的方法,所述方法包含以下中的一个或多个:确定应当在多个硬件组件中的硬件组件上执行诊断测试,其中所述多个硬件组件支持多个代理设备,并且所述多个代理设备中的至少一个代理设备被分配给所述多个硬件组件中的至少一个硬件组件;确保所述多个代理设备中没有代理设备被分配给所述硬件组件;以及在确保所述多个代理设备中没有代理设备被分配给所述硬件组件之后,在所述硬件组件上执行所述诊断测试,其中在执行所述诊断测试期间所述多个硬件组件中的至少另一个硬件组件继续运行。
各种示例性实施例涉及硬件系统,所述硬件系统包含以下中的一个或多个:多个硬件组件;多个代理设备,其中至少一个代理设备使用所述多个硬件组件中的至少一个硬件组件;资源分配设备,其使用所述多个硬件组件中的至少一个硬件组件,所述资源分配设备被配置为:确定应当在多个硬件组件中的硬件组件上执行诊断测试,确保所述多个代理设备中没有代理设备使用所述硬件组件,以及在确保所述多个代理设备中没有代理设备使用所述硬件组件之后,在所述硬件组件上实现执行所述诊断测试,其中在执行所述诊断测试期间所述多个硬件组件中的至少另一个硬件组件继续运行。
各种示例性实施例涉及有形和非暂时性的机器可读存储介质,使用用于由硬件管理设备执行的用于执行诊断测试的指令对所述机器可读存储介质进行编码,所述有形和非暂时性的机器可读存储介质包含以下中的一个或多个:用于确定应当在多个硬件组件中的硬件组件上执行诊断测试的指令,其中所述多个硬件组件支持多个代理设备,并且所述多个代理设备中的至少一个代理设备被分配给所述多个硬件组件中的至少一个硬件组件;用于确保所述多个代理设备中没有代理设备被分配给所述硬件组件的指令;以及用于在确保所述多个代理设备中没有代理设备被分配给所述硬件组件之后在所述硬件组件上执行所述诊断测试的指令,其中在执行所述诊断测试期间所述多个硬件组件中的至少另一个硬件组件继续运行。
描述了各种示例性实施例,其中所述确保所述多个代理设备中没有代理设备被分配给所述硬件组件的步骤包含:将所述多个代理设备中的至少一个代理设备从所述硬件组件迁移到所述多个硬件组件中的不同硬件组件。
描述了各种示例性实施例,其中所述多个硬件组件是硬件模块的一部分,所述实施例还包含以下中的一个或多个:监测所述硬件模块的当前工作负载;确定所述当前工作负载是否超过所述硬件模块的当前能力限制;以及如果所述当前工作负载超过所述当前能力限制,则中止所述诊断测试。
描述了各种实施例,其中所述硬件管理设备包含管理程序(hypervisor)。
各种示例性实施例另外包含:在完成所述诊断测试后,将所述多个代理设备中的至少一个代理设备从所述多个硬件组件中的不同的硬件组件迁移到所述硬件组件。
描述了各种实施例,其中所述确定应当执行诊断测试的步骤包含:从云计算网关接收指令以执行所述诊断测试。
描述了各种示例性实施例,其中所述在所述硬件组件上执行所述诊断测试的步骤包含:启动新代理设备以及将所述新代理设备分配给所述硬件组件。
附图说明
为了更好地理解各种示例性实施例,可参照附图,其中:
图1a说明了用于提供共享硬件资源的示例性系统;
图1b说明了针对图1a的一些组件的可替代布置;
图1c说明了针对图1a的一些组件的另一可替代布置;
图2说明了用于提供硬件资源的示例性硬件系统;
图3说明了用于监测硬件组件的状态的示例性方法;以及
图4说明了在活动硬件模块的硬件组件上执行诊断测试的示例性方法。
为便于理解,已经使用相同的标记指出具有基本上相同或类似结构和/或基本上相同或类似功能的元素。
具体实施方式
鉴于上述,提供一种能够在各种硬件组件上执行广泛的诊断测试而不影响所述系统剩余的可使用硬件组件的共享硬件资源的系统将是可取的。特别地,隔离用于执行诊断测试的处于运行时间的硬件组件同时其它硬件组件仍然保持充分运行将是可取的。
图1a说明了用于提供共享硬件资源的示例性系统100a。示例性示例可包含:若干客户端设备110a-c、网络120、云计算网关130、资源分配设备140a-b、以及若干代理设备150a-d。资源分配设备140a-d和代理设备150a-d可位于一个或多个云计算基础设施中。
客户端设备110a-c每一个都可包含能够与诸如网络120的网络通信的任何设备。虽然这里示出了三个设备,但是示例性系统100a可包含更少或更多的设备。此外,在运行期间,加入示例性系统100a中的客户端设备的数量可以变化。例如,客户端设备110a可停止加入示例性系统100a和/或另两个客户端设备(未示出)可开始类似的加入。
每个客户端设备110a-c可以是能够经由网络120与另外设备通信的个人或便携计算机、终端、服务器、平板电脑、无线电子邮件设备、蜂窝电话、智能电话、电视机顶盒、或任何其它设备。每个客户端设备110a-c可出于不同原因加入示例性系统110a。例如,客户端设备110a可以是瘦客户端并且可依赖于示例性系统内的其它资源以执行与客户端设备110a有关的各种常规操作。作为另一示例,客户端设备110b可以是能够独立执行大多数任务的个人计算机,并可依赖于示例性系统100a内的其它资源来存储和检索数据,诸如例如大音乐或电子书集合。作为又一示例,客户端设备110c可以是服务器,其接收并响应来自其它设备(未示出)的请求。当此类请求到达的速率对客户端110c来说太快而不能在用于测定服务器负载的效率、响应时间或其它标准的一些量度内进行处理时,客户端设备110c可以依赖于示例性系统100a内的其它资源来处理此类请求的一部分。
网络120可以是适应于在示例性系统100a的其它设备之间提供通信的一个设备或一组设备。因此,网络120可包含:用于将分组转发到适当目的地的若干路由器和/或交换机。在各种实施例中,网络120可包含一个或多个2G、3G,和/或4G系统和/或其它无线系统。此外,在各种实施例中,网络120可包含有线网络,诸如互联网和/或一个或多个局域网(LAN)。
云计算网关130可以是适应于管理硬件资源的一个设备或一组设备。照此,云计算网关可实现诸如代理设备150a-d的代理设备的建立,在客户端设备110a-c和代理设备150a-d之间路由消息,改变用户对硬件的使用,监测硬件资源的状态,和/或控制硬件资源的消耗。以下将参照图2更详细地描述云计算网关的详细操作。
如以下将更详细地描述,由云计算网关130管理的硬件资源可包含若干硬件模块。每个硬件模块可以是包含若干硬件组件的电路板。硬件组件进而提供由云计算网关130管理的硬件资源。例如,一种硬件模块可以是安装三十二个处理器的电路板。云计算网关130可操作以至少部分地管理这些三十二个处理器的处理能力的使用和消耗。此外,将参照图2来描述硬件模块的进一步示例。如所示出的,示例性系统100a可包含两个硬件模块160a、170a。需要注意的是,虽然示出了两个硬件模块,但是示例性系统100a可包含更少或更多的硬件模块(未示出)。
资源分配模块140a-b每一个都可以是使用硬件模块(诸如硬件模块160a、170a)的硬件资源的设备。资源分配设备140a-b还可以管理代理设备150a-d。例如,资源分配设备140a可管理代理设备150a-b,而资源分配设备140b可管理代理设备150c-d。在管理代理设备150a-d中,资源分配设备140a-b可相对于每个代理设备140a-d来分配和/或实施硬件模块160a、170a的共享硬件资源。例如,资源分配设备140a可确保代理设备1150a可使用第一CPU上的20%的处理时间,而代理设备M150b可使用同一CPU上的10%的处理时间。因此,在各种实施例中,资源分配设备140a-b每一个都可包含管理程序。资源分配设备140a-b可执行许多另外的功能,诸如例如请求和响应消息路由、资源保留、负载均衡、使用计量、和/或计费。需要注意的是,虽然示例性系统100a包含两个资源分配设备140a-b,但是各种实施例可包含更少或更多的资源分配设备(未示出)。
代理设备150a-d每一个都有可以是被配置为结合客户端设备110a-c中的一个或多个客户端设备操作的设备。每个代理设备150a-d可包含硬件资源,诸如一个或多个处理器、存储器、存储设备、和/或网络接口。在各种实施例中,代理设备150a-d可以与其它代理设备150a-d和/或资源分配设备140a-b共享此类硬件资源。例如,代理设备1150a可以与资源分配设备140a和代理设备M150b共享CPU。可以将此类硬件资源安排在诸如硬件模块160a、170a的一个或多个物理硬件模块中。在各种实施例中,代理设备150a-d中的一个或多个代理设备可包含虚拟机。
根据一些实施例,资源分配设备140a-b可以与它们管理的代理设备150a-d一起位于相同的物理硬件模块。例如,资源分配设备140a和代理设备150a-b可以一起位于单个物理硬件模块160a。在此类实施例中,资源分配设备140a可包含管理程序,而代理设备150a-b每一个可包含虚拟机,所有的这些可使用相同的硬件模块的各种硬件组件来执行。同样地,资源分配设备140b和代理设备150c-d可以一起位于单个物理硬件模块170a。然而,应当明显的是,本文所描述的方法可应用于各种可替代配置。例如,如图1b中所示出的可替代配置100b示出了资源分配设备140a可位于第一硬件模块160b,而代理设备150a-b可全部位于第二硬件模块162b。作为另一替代,如图1c中所示出的可替代配置100c示出了资源分配设备140a和代理设备150a-b每一个可分别位于独立的硬件模块160c、162c、164c。此外,每个资源分配设备140a和代理设备150a-b可使用由多个硬件模块提供的资源。对于本领域的技术人员来说,各种另外的布置可以是明显的。
返回到图1a,云计算网关130和/或资源分配设备140a-b可被配置为处理硬件模块的硬件组件的失效。例如,如果硬件模块160a的CPU失效或以其它方式被视为不可用,则云计算网关130和/或资源分配设备140a可通过修改该CPU的软件或硬件配置或以其它方式从可使用的资源池中将该CPU移除,来停用该失效的CPU。随后,云计算网关130和/或资源分配设备140a还可通过重配置硬件模块160a以切断该失效CPU的电源来降低运营费用。云计算网关130和/或资源分配设备140a还可将先前使用该失效CPU的任何代理设备150a-b重配置为代替地使用模块160a上的不同CPU或诸如模块170a的另一模块上的CPU。以这种方式,当硬件模块160a、170a的构成组件失效时,它们仍可以保持操作。当模块递增地失效时,虽然能力降低,但是它们可以继续执行功能。当模块能力下降低于继续运行是成本高效的点时,可以废弃或替换硬件模块。以这种方式,本架构提供了针对硬件资源的消耗。
云计算网关130和/或资源分配设备140a-b还适应于管理硬件模块160a、170a的消耗。特别地,云计算网关130和/或资源分配设备140a-b可在硬件模块160a、170a的硬件组件上周期性地执行诊断测试,以测定当前状态并估计硬件剩余的使用寿命。为了提供更广泛的诊断测试,云计算网关130和/或资源分配设备140a-b还可适应于例如通过将使用该硬件组件的任何代理设备实时迁移到其它硬件组件来首先释放将被测试的该硬件组件。然后可以在该组件上运行广泛并且通常是“停止服务”的诊断测试,而硬件模块继续运行,尽管能力减少了。基于这个诊断测试的结果,当鉴于预定的硬件替换时间表是适当的时,云计算网关130和/或资源分配设备140a-b可以调节硬件模块160a、170a的各种运行参数以缩短或延长该硬件的寿命。
图2示出了用于提供硬件资源的示例性硬件系统200。示例性硬件系统200可以对应于示例性系统100a的一部分。示例性硬件系统200可包含:网络220、云计算网关230以及硬件模块260、270、280。
网络220可以是适应于在示例性系统100a的其它设备之间提供通信的一个设备或一组设备。因此,网络120可包含:用于将分组转发到适当目的地的若干路由器和/或交换机。在各种实施例中,网络120可包含一个或多个2G、3G,和/或4G系统和/或其它无线系统。此外,在各种实施例中,网络120可包含有线网络,诸如互联网和/或一个或多个局域网(LAN)。在各种实施例中,网络220可以对应于示例性系统100a的网络120。
云计算网关230可以是适应于管理硬件资源的一个设备或一组设备。因此,云计算网关230可对应于示例性系统100a的云计算网关130。云计算网关230可包含:请求处理器232、代理设备分配存储设备234、模块接口236、诊断引擎238、模块状态存储设备240以及诊断计划存储设备242。应当注意的是,云计算网关230的各种组件可以可替代地或另外地位于驻留在一个或多个硬件模块260、270、280上的一个或多个资源分配设备(未示出)处。
请求处理器232可包含:硬件和/或在机器可读存储介质上的可执行指令,其被配置为接收和处理对代理设备的请求。例如,请求处理器232可经由网络220接收来自客户端(未示出)的请求建立新代理设备的请求。随后,请求处理器可确定适当的模块260、270、280来托管该新代理设备,并且然后经由模块接口236与驻留在该模块260、270、280上的资源分配设备(未示出)通信来实现新代理设备的建立。适当的模块260、270、280的选择可以至少部分地基于如存储在模块状态存储设备240中的模块260、270、280的当前条件、如存储在服务计划存储设备254中的发送请求的用户的服务计划、和/或针对将在该新代理设备上运行的应用的可靠性要求。在建立新代理设备中,请求处理器232还可更新代理设备分配存储设备234的内容以反映发送请求的客户端设备、代理设备和分配给该代理设备的硬件模块(多个)之间的对应关系。
请求处理器232可执行另外的功能,诸如在客户端设备(未示出)和活动的代理设备(未示出)之间路由消息。为实现此类功能,请求处理器232可参考存储在代理设备分配存储设备234中的数据,以确定哪个资源分配设备和/或硬件模块与哪个客户端设备相关联。请求处理器232还可将关于代理设备的建立和使用的数据转发给计费处理器,使得可以对每个客户端代理设备(未示出)的用户进行适当地计费。
代理设备分配存储设备234可以是能够存储描述代理设备的信息的任何机器可读介质。因此,代理设备分配存储设备234可包含机器可读存储介质,诸如只读存储器(ROM)、随机访问存储器(RAM)、磁盘存储介质、光存储介质、闪存设备、和/或类似的存储介质。在各种实施例中,代理设备分配存储设备234可以存储每个代理设备与其相关联的资源分配设备和/或硬件模块(多个)之间的相互关系。
模块接口236可以包含硬件和/或编码在机器可读存储介质上的可执行指令的接口,其被配置为使能与一个或多个硬件模块260、270、280通信。在各实施例中,模块接口236可包含:以太网、PCI、SCSI、ATA、和/或其它硬件接口技术。在各种实施例中,模块接口236可包含刀片服务器背板。
诊断引擎238可包含:硬件和/或在机器可读存储介质上的可执行指令,其被配置为在硬件模块260、270、280和其硬件组件262、272、274、286上实现执行各种诊断,以测定这些硬件设备的当前健康状况和/或失效率。在各种示例性实施例中,诊断引擎238(或云计算网关230的另一组件,未示出)可使用此类诊断测试的结果来评估硬件组件上的磨损度和/或硬件模块或组件的剩余的使用服务寿命。在一些此类实施例中,诊断引擎238(或云计算网关230的另一组件,未示出)可估计该硬件模块或组件的当前寿命阶段。
在各种实施例中,诊断引擎238可基于由诊断计划存储设备242存储的计划表,周期性地启动每个硬件组件262、272、274、286的测试,以确定硬件组件262、272、274、286的当前和/或历史失效率。例如,诊断引擎可以与驻留在适当硬件模块260、270、280上的资源分配设备通信以释放该硬件组件,并且随后建立新的代理设备以用于在硬件组件上执行一个或多个诊断测试。在各种实施例中,在组件的寿命期间,针对该硬件组件所计划的测试的频率可以变化。基于该硬件的估计的剩余使用服务寿命,诊断引擎238可以每天、每周、每月等安排测试。例如,具有相对长的估计的剩余使用服务寿命的第一硬件组件可以每个月进行测试,而具有较短的估计的剩余使用服务寿命的第二硬件组件可以每周进行测试,以便力图更准确地预测对于连续使用该组件何时将不太可靠。当在组件上执行了诊断测试之后,诊断引擎238可以经由模块接口236接收测试结果,并且随后更新模块状态存储设备240以反映所测试的硬件组件的当前状态。
模块状态存储设备240可以是能够存储关于硬件模块和硬件组件的状态信息的任何机器可读介质。因此,模块状态存储设备240可以包含机器可读存储介质,诸如只读存储器(ROM)、随机访问存储器(RAM)、磁盘存储介质、光存储介质、闪存设备、和/或类似的存储介质。在各种实施例中,模块状态存储设备240可以是与代理设备分配存储设备234相同的设备。
诊断计划存储设备242可以是能够存储指定何时应当测试各种硬件组件262、272、274、286的计划信息的任何机器可读存储介质。因此诊断计划存储设备242可以包含机器可读存储介质,诸如只读存储器(ROM)、随机访问存储器(RAM)、磁盘存储介质、光存储介质、闪存设备、和/或类似的存储介质。在各种实施例中,诊断计划存储设备242可以是与代理设备分配存储设备234和/或模块接口存储设备240相同的设备。
硬件模块260、270、280每一个可以是提供硬件资源以供在示例性硬件系统200中使用的硬件模块。硬件模块260、270、280说明硬件模块的三种不同的可能配置。本领域的技术人员将理解的是,虽然示出了三种可能性,但是还可存在各种可替代的配置。此外,虽然示出了三种硬件模块260、270、280,但是硬件系统200可包含更少或更多的硬件模块。
硬件模块A260可以是同构类型的硬件模块。也就是说,模块A260可包含单个类型的硬件组件。在所示出的示例中,模块A260包含十八个处理器262并且没有其它硬件组件。需要注意的是,如本文所使用的,术语“硬件组件”指的是提供硬件资源的那些组件,所述硬件资源将被用作资源分配设备或代理设备的一部分,或以其它方式提供以供外部客户端设备来使用。因此,虽然模块A260可包含另外的硬件,诸如例如支持处理器262的电源和/或通信接口,但是此类硬件不构成硬件组件。
处理器262中的一个或多个处理器可以至少部分地属于资源分配设备(未示出)。如先前解释的,资源分配设备可以至少部分地负责管理也包含处理器262中的一个或多个处理器的若干代理设备(未示出)。如上所述,模块A260可以是同构模块。照此,使用处理器262的代理设备可以另外地使用位于其它硬件模块(未示出)上的其它硬件组件。例如,使用处理器262中的一个处理器的代理设备还可使用安装在不同模块(未示出)上的主存储器(未示出)的一部分。
模块B270说明了解耦合的异构硬件模块。如所示出的,模块B270包含十二个处理器272和三个存储器组274。类似模块A260,模块B270可支持资源分配设备和多个代理设备。然而,在模块B270的情况下,每个资源分配设备和代理设备可从相同的物理模块得到多个类型的硬件资源。任何处理器272可使用任何的存储器组274;也就是说,这两个资源是解耦合的。然而,为了确保高效和有效的使用,资源分配设备可以负责为每个代理设备分配一个或多个处理器272和一个或多个存储器组274的特定份额。
模块C280说明了耦合的异构硬件模块。如所示出的,模块C280包含十八个“计算核心”286。每个计算核心286可包含作为一个单元一起工作的多个硬件设备。例如,每个计算核心286可包含处理器和存储器组(未示出)。照此,每个计算核心可以被称为硬件单元。此外,资源分配设备和若干代理设备可共享计算核心286。然而,由于各种类型的硬件资源是紧耦合的,所以资源分配设备可能不一定管理将如此多的不同类型的资源分配给代理设备;反而,资源分配设备可以为每个代理设备简单地分配一个或多个计算核心286的份额。
可以设计每个模块260、270、280,使得可以停用或隔离任何单个硬件组件同时剩余的硬件组件继续工作。照此,每个模块260、270、280可包含供电电路,可以针对每个安装的硬件组件由控制信号来中断该供电电路。在确定特定硬件组件已经失效或以其它方式不再可用时,资源分配设备和/或云计算网关可以断言此类控制信号。
图3说明了用于监测硬件组件的状态的示例性方法300。出于解释的目的,将假定由云计算网关(诸如云计算网关230)的组件来执行方法300。然而,应当理解的是,另外地或可替代地,可以由诸如资源分配设备140a-b的资源分配设备来执行示例性方法300的各种步骤。
方法300可以从步骤305开始,并前进到步骤310,其中云计算网关可以识别将被测试的组件。例如,云计算网关可以参考诊断计划和当前的时间来确定当前是否应当测试任何组件。接着,在步骤315,云计算网关可以识别与将被测试的组件相关联的资源分配设备。在识别资源分配设备之后,在步骤320中,云计算网关可以指令资源分配设备在该组件上执行一个或多个诊断测试。在云计算网关更主动地承担释放用于测试的资源的作用的各种实施例中,云计算网关可以指导资源分配设备以停止将工作调度到目标组件上,和/或从目标组件迁移除当前的进程。然后,在步骤325和步骤330中,云计算网关可以分别接收和处理诊断测试的结果。步骤330可包含各种功能,诸如执行本领域中已知的各种“使用寿命”估计以及基于所估计的剩余的使用寿命采取管理动作。此类管理动作可包含基于剩余的使用寿命调节硬件模块或组件的运行参数,和/或基于剩余的使用寿命将新代理设备分配给硬件模块。在各种实施例中,在这个时刻云计算网关还可指令资源分配设备来恢复使用目标组件。然后,方法300可前进在步骤335结束。
图4说明了在活动的硬件模块上执行诊断测试的示例性方法400。出于解释的目的,将假定由诸如资源分配设备140a-b的资源分配设备来执行方法400。然而,应当理解的是,另外地或可替代地,可以由诸如云计算网关230的云计算网关来执行示例性方法400的各种步骤。
方法400可以从步骤405开始,并前进到步骤410,其中资源分配设备可以接收来自另一设备(诸如云计算网关)的指令以在硬件组件上执行诊断测试。可替代地,资源分配设备可包含诊断计划表,其指示当前应当测试硬件组件。接着,在步骤415,资源分配设备可以通过确保当前没有代理设备正使用该硬件组件来确保释放用于测试的该硬件组件。需要注意的是,如本文所使用的,术语“确保”可以并不意味着资源分配设备完全成功地释放了该硬件组件。在各种实施例中,资源分配设备可能不能保证当前没有代理设备正在使用该硬件组件,但是可以采取措施以力图实现此类结果。例如,资源分配设备可能不能重新配置一个或多个代理设备,或者试图将代理设备从该硬件组件移除可能失败。
在各种实施例中,资源分配设备可以通过主动地将当前分配给该硬件组件的任何代理设备迁移到将仍然保持运行的其它硬件组件,来确保当前没有代理设备正在使用该硬件组件。在其它实施例中,资源分配设备可以通过从可使用资源池中简单地移除该资源,从而避免另外的任务分配给该硬件资源,来采取更被动的方法来确保当前没有代理设备正在使用该硬件组件。然后,当与该代理设备相关联的进程根据它们的正常操作已完成,或以其它方式终止使用该硬件组件时,资源分配设备可以监测该硬件组件。一旦释放了该硬件组件,则方法400可前进到步骤420。
在步骤420,资源分配设备可启动在释放的组件上的诊断测试。对本领域的技术人员来说,在硬件组件上执行诊断测试的各种方法将是明显的。在各种实施例中,资源分配设备可启动被分配给硬件组件的新代理设备以用于执行诊断测试。在已经启动诊断测试之后,方法400可以前进到步骤425。
在这个时刻,资源分配设备可以开始监测诊断测试的进展。在步骤425,资源分配设备可以确定诊断测试是否已经结束。例如,资源分配设备可以轮询运行诊断测试的代理设备或可以确定它是否已经接收到测试结果。如果诊断测试没有结束,则方法400可前进到步骤430,其中资源分配设备确定在该硬件模块上的当前应用负载是否超过它的当前能力限制。资源分配设备例如可以通过评估针对每个活动的硬件组件的预定的能力限制,来确定当前能力限制。可通过将每个此类预定的能力限制进行求和来得到当前的能力限制。可替代地,资源分配设备可简单地包含模块范围的预定的能力限制。在此类实施例中,当前能力限制可以简单地是针对模块的预定的能力限制。如果当前的负载超过当前的能力限制,则在步骤435中,资源分配设备可以中止诊断测试以便增加硬件模块的能力以处理当前负载。然而,如果应用负载没有超过当前能力限制,则方法400可以从步骤430环回到步骤425。
一旦诊断测试结束,则方法400可以从步骤425前进到步骤440,其中资源分配设备可向另一设备(诸如云计算网关)返回诊断测试的结果。最后,在步骤445,资源分配设备可以通过使代理设备继续使用硬件组件来将该硬件组件返回到正常运行。例如,资源分配设备可以将该硬件组件返回到可使用资源池和/或可将一个或多个代理设备实时迁移到恢复的硬件组件上。然后,方法400可前进到步骤450结束。
根据上文,各种实施例使能在各种硬件组件上进行广泛的诊断测试,而不影响作为整体的系统的可靠性。特别地,通过确保没有其它代理设备正在使用硬件组件,可对该硬件组件进行深度测试而不使模块作为整体下线。
根据上述描述应当明显的是,本发明的各种示例性实施例可以实现在硬件和/或固件中。此外,各种示例性实施例可以实现成存储在机器可读存储介质上的指令,可由执行至少一个处理器读取并执行该指令以执行本文详细描述的操作。机器可读存储介质可以包含用于以机器(诸如个人或便携计算机、服务器或其它计算设备)可读形式存储信息的任何机构。因此,有形和非暂时性的机器可读存储介质可包含:只读存储器(ROM)、随机访问存储器(RAM)、磁盘存储介质、光存储介质、闪存设备、和类似的存储介质。
本领域的技术人员应当了解的是,本文中的任何框图表示具体化本发明的原理的说明性电路的概念视图。类似地,应当了解的是,任何流程图表、流程图、状态转移图、伪代码等表示各种过程,所述各种过程可以基本上表示在机器可读介质中并且因此可由计算机或处理器来执行,不管此类计算机或处理器是否明确地示出。
虽然,特别是参照各种示例性实施例的某些示例性方面已经详细地描述了各种示例性实施例,但是应当理解的是,本发明能够有其它实施例并且其细节能够在各种明显的方面进行修改。如对本领域的技术人员容易明显的是,可以实现各种变型和修改同时依然保持在本发明的精神和范围内。因此,上述公开、描述和附图仅是出于说明性的目的,并且不以任何方式限制本发明,本发明仅由所附权利要求限定。
Claims (15)
1.一种由硬件管理设备执行的用于执行诊断测试的方法,所述方法包括:
确定应当在多个硬件组件中的硬件组件上执行诊断测试(410),其中所述多个硬件组件支持多个代理设备,并且所述多个代理设备中的至少一个代理设备被分配给所述多个硬件组件中的至少一个硬件组件;
确保所述多个代理设备中没有代理设备被分配给所述硬件组件(415);以及
在确保所述多个代理设备中没有代理设备被分配给所述硬件组件之后,在所述硬件组件上执行所述诊断测试(420),其中在执行所述诊断测试期间,所述多个硬件组件中的至少另一个硬件组件继续运行。
2.根据权利要求1所述的方法,其中所述确保所述多个代理设备中没有代理设备被分配给所述硬件组件的步骤(415)包括:将所述多个代理设备中的至少一个代理设备从所述硬件组件迁移到所述多个硬件组件中的不同硬件组件。
3.根据权利要求1至2中的任何一项所述的方法,其中所述多个硬件组件是硬件模块的一部分,所述方法还包括:
监测所述硬件模块的当前工作负载(430);
确定所述当前工作负载是否超过所述硬件模块的当前能力限制(430);以及
如果所述当前工作负载超过所述当前能力限制,则中止所述诊断测试(435)。
4.根据权利要求1至3中的任何一项所述的方法,其中所述硬件管理设备包含管理程序。
5.根据权利要求1至4中的任何一项所述的方法,还包括:
在完成所述诊断测试后,将所述多个代理设备中的至少一个代理设备从所述多个硬件组件中的不同硬件组件迁移到所述硬件组件(445)。
6.根据权利要求1至5中的任何一项所述的方法,其中所述确定应当执行诊断测试的步骤(410)包括:从云计算网关接收指令以执行所述诊断测试。
7.根据权利要求1至6中的任何一项所述的方法,其中所述在所述硬件组件上执行所述诊断测试的步骤(420)包括:启动新代理设备以及将所述新代理设备分配给所述硬件组件。
8.一种硬件系统,包括:
多个硬件组件(262,272,274,286);
多个代理设备(150a-d),其中至少一个代理设备使用所述多个硬件组件(262,272,274,286)中的至少一个硬件组件;
资源分配设备(140a-b),其使用所述多个硬件组件(262,272,274,286)中的至少一个硬件组件,所述资源分配设备(140a-b)被配置为:
确定应当在所述多个硬件组件(262,272,274,286)中的硬件组件上执行诊断测试,
确保所述多个代理设备中没有代理设备使用所述硬件组件,以及
在确保所述多个代理设备中没有代理设备使用所述硬件组件之后,在所述硬件组件上实现执行所述诊断测试,其中在执行所述诊断测试期间,所述多个硬件组件(262,272,274,286)中的至少另一个硬件组件继续运行。
9.根据权利要求8所述的硬件系统,其中在确保所述多个代理设备(150a-d)中没有代理设备被分配给所述硬件组件中,所述资源分配设备(140a-b)还被配置为将所述多个代理设备中的至少一个代理设备从所述硬件组件迁移到所述多个硬件组件(262,272,274,286)中的不同硬件组件。
10.根据权利要求8至9中的任何一项所述的硬件系统,其中所述资源分配设备(140a-b)还被配置为:
监测所述硬件系统的当前工作负载;
确定所述当前工作负载是否超过所述硬件系统的当前能力限制;以及
如果所述当前工作负载超过所述当前能力限制,则中止所述诊断测试。
11.根据权利要求8至10中的任何一项所述的硬件系统,其中所述资源分配设备(140a-b)包含管理程序。
12.根据权利要求8至11中的任何一项所述的硬件系统,其中所述资源分配设备(140a-b)还被配置为:在完成所述诊断测试后,将所述多个代理设备(150a-d)中的至少一个代理设备从所述多个硬件组件(262,272,274,286)中的不同的硬件组件迁移到所述硬件组件。
13.根据权利要求8至12中的任何一项所述的硬件系统,其中在确定应当执行诊断测试中,所述资源分配设备(140a-b)还被配置为从云计算网关接收指令以执行所述诊断测试。
14.根据权利要求8至13中的任何一项所述的硬件系统,其中在实现执行所述诊断测试中,所述资源分配设备(140a-b)还被配置为启动新代理设备以及将所述新代理设备分配给所述硬件组件。
15.硬件组件,其包括用于启动新代理设备以及将所述新代理设备分配给所述硬件组件的指令。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/250,333 | 2011-09-30 | ||
US13/250,333 US8826074B2 (en) | 2011-09-30 | 2011-09-30 | Live module diagnostic testing |
PCT/US2012/055029 WO2013048750A1 (en) | 2011-09-30 | 2012-09-13 | Live module diagnostic testing |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103827831A true CN103827831A (zh) | 2014-05-28 |
Family
ID=46981105
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201280047271.1A Pending CN103827831A (zh) | 2011-09-30 | 2012-09-13 | 活动模块诊断测试 |
Country Status (6)
Country | Link |
---|---|
US (1) | US8826074B2 (zh) |
EP (1) | EP2761456A1 (zh) |
JP (1) | JP2014531691A (zh) |
KR (1) | KR20140057368A (zh) |
CN (1) | CN103827831A (zh) |
WO (1) | WO2013048750A1 (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9471344B1 (en) * | 2012-03-27 | 2016-10-18 | Marvell International Ltd. | Hardware support for processing virtual machine instructions |
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 |
US10324779B1 (en) * | 2013-06-21 | 2019-06-18 | Amazon Technologies, Inc. | Using unsupervised learning to monitor changes in fleet behavior |
US11243951B2 (en) * | 2013-08-01 | 2022-02-08 | Alpha Beta Analytics, LLC | Systems and methods for automated analysis, screening, and reporting of group performance |
US9329923B2 (en) * | 2014-05-15 | 2016-05-03 | Baker Botts L.L.P. | Diagnostic testing based on information handling system variables |
JP2016162428A (ja) * | 2015-03-05 | 2016-09-05 | 富士通株式会社 | 情報処理システム、管理装置、および情報処理システムの管理方法 |
US9495269B1 (en) * | 2015-12-16 | 2016-11-15 | International Business Machines Corporation | Mobility validation by trial boot using snap shot |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050210152A1 (en) * | 2004-03-17 | 2005-09-22 | Microsoft Corporation | Providing availability information using a distributed cache arrangement and updating the caches using peer-to-peer synchronization strategies |
US20060230139A1 (en) * | 2005-04-08 | 2006-10-12 | David Locke | Method and apparatus for running a test program in a computer system |
US20080178177A1 (en) * | 2007-01-19 | 2008-07-24 | Charles Jens Archer | Method and Apparatus for Operating a Massively Parallel Computer System to Utilize Idle Processor Capability at Process Synchronization Points |
US20090157851A1 (en) * | 2007-12-14 | 2009-06-18 | International Business Machines Corporation | Migrating Port-Specific Operating Parameters During Blade Server Failover |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7418367B2 (en) * | 2003-10-31 | 2008-08-26 | Hewlett-Packard Development Company, L.P. | System and method for testing a cell |
US9270781B2 (en) * | 2007-02-15 | 2016-02-23 | Citrix Systems, Inc. | Associating virtual machines on a server computer with particular users on an exclusive basis |
JP5316128B2 (ja) * | 2009-03-17 | 2013-10-16 | トヨタ自動車株式会社 | 故障診断システム、電子制御ユニット、故障診断方法 |
US8224957B2 (en) * | 2010-05-20 | 2012-07-17 | International Business Machines Corporation | Migrating virtual machines among networked servers upon detection of degrading network link operation |
US8341462B2 (en) * | 2010-07-19 | 2012-12-25 | Soasta, Inc. | System and method for provisioning and running a cross-cloud test grid |
-
2011
- 2011-09-30 US US13/250,333 patent/US8826074B2/en active Active
-
2012
- 2012-09-13 JP JP2014533573A patent/JP2014531691A/ja active Pending
- 2012-09-13 KR KR1020147008403A patent/KR20140057368A/ko not_active Application Discontinuation
- 2012-09-13 CN CN201280047271.1A patent/CN103827831A/zh active Pending
- 2012-09-13 EP EP12769233.3A patent/EP2761456A1/en not_active Withdrawn
- 2012-09-13 WO PCT/US2012/055029 patent/WO2013048750A1/en active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050210152A1 (en) * | 2004-03-17 | 2005-09-22 | Microsoft Corporation | Providing availability information using a distributed cache arrangement and updating the caches using peer-to-peer synchronization strategies |
US20060230139A1 (en) * | 2005-04-08 | 2006-10-12 | David Locke | Method and apparatus for running a test program in a computer system |
US20080178177A1 (en) * | 2007-01-19 | 2008-07-24 | Charles Jens Archer | Method and Apparatus for Operating a Massively Parallel Computer System to Utilize Idle Processor Capability at Process Synchronization Points |
US20090157851A1 (en) * | 2007-12-14 | 2009-06-18 | International Business Machines Corporation | Migrating Port-Specific Operating Parameters During Blade Server Failover |
Also Published As
Publication number | Publication date |
---|---|
WO2013048750A1 (en) | 2013-04-04 |
JP2014531691A (ja) | 2014-11-27 |
KR20140057368A (ko) | 2014-05-12 |
EP2761456A1 (en) | 2014-08-06 |
US20130086430A1 (en) | 2013-04-04 |
US8826074B2 (en) | 2014-09-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3847549B1 (en) | Minimizing impact of migrating virtual services | |
CN103827831A (zh) | 活动模块诊断测试 | |
CN103858108A (zh) | 硬件消耗架构 | |
KR101804605B1 (ko) | 데이터-센터 서비스의 제어된 자동 힐링 기법 | |
CN104252337B (zh) | 网格计算系统中的任务执行方法、边界装置和网格服务器 | |
CN111625331B (zh) | 任务调度方法、装置、平台、服务器及存储介质 | |
US9037880B2 (en) | Method and system for automated application layer power management solution for serverside applications | |
US20100115095A1 (en) | Automatically managing resources among nodes | |
US9128777B2 (en) | Operating and maintaining a cluster of machines | |
WO2015066024A1 (en) | Multi-level data center consolidated power control | |
KR20120023703A (ko) | 서버 관리 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체, 관리 서버, 가상 서버 배치 방법 | |
EP3201717B1 (en) | Monitoring of shared server set power supply units | |
US11650654B2 (en) | Managing power resources for pools of virtual machines | |
Emeakaroha et al. | Managing and optimizing bioinformatics workflows for data analysis in clouds | |
CN111611048A (zh) | 云计算环境中虚拟机的迁移方法、装置和计算机设备 | |
CN111784185A (zh) | 一种分布式配电通信网定时任务调度系统 | |
Guitart et al. | Risk-driven proactive fault-tolerant operation of iaas providers | |
CN105471986A (zh) | 一种数据中心建设规模评估方法及装置 | |
CN112612579A (zh) | 虚拟机部署方法、存储介质及计算机设备 | |
CN117112180B (zh) | 一种基于任务的集群自动化控制方法 | |
Wanis et al. | Modeling and pricing cloud service elasticity for geographically distributed applications | |
Paing et al. | High availability solution: Resource usage management in virtualized software aging | |
Yazır et al. | Dynamic resource allocation in computing clouds through distributed multiple criteria decision analysis | |
Koutras et al. | Rejuvenation effects on the grid environment performance with response time delays using Monte Carlo simulation | |
WO2017019035A1 (en) | Monitoring network utilization |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20140528 |