CN100432942C - 用于重新分配客户端的设备、系统和方法 - Google Patents

用于重新分配客户端的设备、系统和方法 Download PDF

Info

Publication number
CN100432942C
CN100432942C CNB2006101539147A CN200610153914A CN100432942C CN 100432942 C CN100432942 C CN 100432942C CN B2006101539147 A CNB2006101539147 A CN B2006101539147A CN 200610153914 A CN200610153914 A CN 200610153914A CN 100432942 C CN100432942 C CN 100432942C
Authority
CN
China
Prior art keywords
computing module
module
software processes
client
storage system
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
CNB2006101539147A
Other languages
English (en)
Other versions
CN1959643A (zh
Inventor
达里尔·C.·克罗默
霍华德·J.·洛克
兰戴尔·S·斯普林菲尔德
罗德·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.)
Lenovo International Ltd
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 CN1959643A publication Critical patent/CN1959643A/zh
Application granted granted Critical
Publication of CN100432942C publication Critical patent/CN100432942C/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/5083Techniques for rebalancing the load in a distributed system
    • G06F9/5088Techniques for rebalancing the load in a distributed system involving task migration
    • 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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • G06F9/4856Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration

Abstract

公开了一种用于重新分配客户端的设备、系统和方法。选择模块选择作为与第一计算模块兼容的硬件的第二计算模块。暂停模块暂停在第一计算模块上为客户端执行的软件处理。执行状态模块把第一计算模块的计算模块执行状态复制到第二计算模块。存储器映象模块把与软件处理相关联的并且存储在第一存储系统中的软件处理图像的存储器映象从第一计算模块复制到第二计算模块。在一个实施例中,恢复模块恢复在第二计算模块上执行的软件处理。

Description

用于重新分配客户端的设备、系统和方法
技术领域
本发明涉及重新分配客户端,并且尤其涉及在诸如数据中心的服务器刀片(server blade)之类的计算模块当中无缝地重新分配客户端的技术。
背景技术
诸如计算机工作站、终端等的数据处理装置(此处被称为客户端)经常会使用远程计算模块来执行一个或多个软件处理。所述远程计算模块可以是服务器。在某一个实施例中,所述计算模块是服务器刀片、驻留在外壳中的具有一个或多个处理器、存储器、互连逻辑以及通信能力的模块化服务器,其中所述外壳诸如是安装在机架上的机箱,其具有多个其它服务器刀片。所述外壳可以包括存储系统、存储接口和通信接口。数据中心可以包括多个外壳。
客户端可以向一个或多个数据中心传递请求或者信标,请求与计算模块关联。数据中心可以对所述信标作出响应,传递数据中心的能力以便把客户端与计算模块相关联。预定的列表可以引导客户端与指定的数据中心的计算模块的关联。例如,所述列表可以引导客户端与第一数据中心中的计算模块之一的关联,所述计算模块之一具有足够的闲置(spare)处理带宽。闲置处理带宽处于其中计算模块不执行其它软件处理的空闲时间。如果第一数据中心中没有计算模块具有足够的闲置处理带宽,那么所述计算模块可以引导客户端与第二数据中心中的具有足够闲置处理带宽的计算模块的关联。
所述数据中心通常把客户端与具有足够处理带宽、为在客户端和计算模块之间传递通信所需的响应等待时间(latency)或者时间、以及为在计算模块和存储系统之间传递通信所需的存储等待时间或者时间的计算模块相关联,以便使计算模块可以向客户端提供预期的服务级别。例如,所述数据中心可以把第一客户端与其百分之十(10%)的处理带宽由第二客户端使用的第一计算模块相关联,而不是把第一客户端与其百分之八十(80%)的处理带宽由第三客户端使用的第二计算模块相关联。
使人遗憾的是,可利用的计算模块处理带宽在第一客户端与第一计算模块相关联之后可能发生改变。例如,由第二客户端使用的第一计算模块的处理带宽可能增加到处理带宽的百分之九十(90%)。所述第二客户端可以通过执行处理密集型的软件处理来提高对处理带宽的利用率,所述处理密集型的软件处理诸如是病毒扫描处理等。可利用的处理带宽的这种变化严重地恶化了对第一客户端的服务级别。
当极度恶化了对客户端的服务级别时,数据中心可以将客户端重新分配一个计算模块,所述计算模块能够更好地提供可接受的服务级别。例如,所述数据中心可以将客户端从第一计算模块重新分配到第二计算模块。使人遗憾的是,重新分配客户端可能会进一步恶化对客户端的服务,并且可能会要求暂停和/或终止一个或多个软件处理。例如,当把客户端重新分配给第二计算模块时,最初在第一计算模块上执行的软件处理可能会出现完全不对客户端作出响应的情况。因此,重新分配客户端可能使服务恶化的程度比使客户端与没有足够处理带宽的计算模块相关联的情况下更大。
另外,第二计算模块和客户端之间的响应等待时间可能不足以提供预期的服务级别。第二计算模块和第二存储系统之间的存储等待时间可能也是不充足的。
根据先前的讨论,应该清楚的是,存在对用于在计算模块之间无缝地重新分配客户端的设备、系统和方法的需要。有益的是,这种设备、系统和方法将会改进对客户端的服务的级别和一致性。
发明内容
为适应所属技术领域的目前状态,特别是为适应所属领域中通过目前可利用的重新分配客户端的方法仍未彻底解决的问题和需要,而开发了本发明。因此,开发了本发明,以便提供一种用于重新分配客户端的设备、系统和方法,它们能够克服所属领域中的许多或全部上述缺陷。
用于重新分配客户端的设备具有包含多个模块的逻辑部件,所述多个模块被配置为在功能上执行如下必要步骤:选择第二计算模块,暂停软件处理的执行,把计算模块执行状态从第一计算模块复制到第二计算模块,并且把软件处理图像的存储器映象从第一计算模块复制到第二计算模块。所描述的实施例中的这些模块包括选择模块、暂停模块、执行状态模块和存储器映象模块。
选择模块选择第二计算模块。所述第二计算模块是与为客户端执行软件处理的第一计算模块相兼容的硬件。选择模块还可以选择第二计算模块,因为所述第二计算模块具有闲置处理带宽以执行软件处理。
所述暂停模块暂停在第一计算模块上执行的软件处理。已暂停的第一计算模块不接受客户端输入,诸如用户经由键盘和/或指示装置的输入。另外,第一计算模块未必与客户端通信。
所述执行状态模块把计算模块执行状态从第一计算模块复制到第二计算模块。所述计算模块执行状态可以包括存储在处理器的一个或多个寄存器、芯片组等中的值。所述执行状态模块把第二计算模块置于与第一计算模块执行状态相同的计算模块执行状态中。
存储器映象模块把存储在第一存储系统中的软件处理图像的存储器映象从第一计算模块复制到第二计算模块。所述存储器映象描述了软件指令和软件处理图像的数据在第一存储系统中的逻辑位置。采用存储器映象,所述第二计算模块可以因此执行来自第一存储系统的软件处理。另外,所述第二计算模块可以开始执行软件处理,其中第一计算模块停止,软件处理的执行从第一计算模块无缝地移动到第二计算模块.
在一个实施例中,选择模块选择第二计算模块,以便使所述第二计算模块具有从第二计算模块到客户端的响应等待时间,所述响应等待时间实际上等于从第一计算模块到客户端的响应等待时间,并且使所述第二计算模块具有从第二计算模块到第二存储系统的存储等待时间,所述存储等待时间实际上等于从第一计算模块到第一存储系统的存储等待时间。所述设备把客户端从第一计算模块无缝地重新分配到第二计算模块。
还提供了本发明的系统用以重新分配客户端。所述系统可以依照客户端/服务器数据处理系统的形式来实现。特别的是,在一个实施例中,所述系统包括客户端、多个刀片式服务器、选择模块、暂停模块、执行状态模块、存储器映象模块、恢复模块和处理复制模块。在某一实施例中,所述系统还包括检测模块。
客户端可以是计算机工作站、终端、服务器、大型计算机等。用户可以采用客户端来执行数据处理任务。第一刀片式服务器为客户端执行软件处理.在一个实施例中,第一刀片式服务器被包括在刀片中心中。
在一个实施例中,所述检测模块检测在第一刀片式服务器上执行的软件处理的性能降低,并且响应于性能的降低而自动启动软件处理的重新分配。选择模块选择第二刀片式服务器,它是与第一刀片式服务器相兼容的硬件。所述暂停模块暂停所述软件处理。
所述执行状态模块把第一刀片式服务器的刀片式服务器执行状态复制到第二服务器.另外,存储器映象模块把存储在第一存储系统中的软件处理图像的存储器映象从第一刀片式服务器复制到第二刀片式服务器。所述恢复模块在软件处理在第二刀片式服务器上执行的情况下恢复软件处理的执行。
在恢复软件处理的执行的同时,处理复制模块把软件处理图像从第一存储系统复制到第二存储系统。所述系统由此把客户端从第一刀片式服务器重新分配到第二刀片式服务器。在一个实施例中,所述系统重新分配客户端,以便在一个或多个刀片式服务器当中平衡处理负载。
还提供了本发明的方法用以重新分配客户端。所公开的实施例中的方法基本上包括用于实现上文中就所述设备和系统的操作所给出的功能的步骤。在一个实施例中,所述方法包括:选择第二计算模块,暂停软件处理的执行,把计算模块执行状态从第一计算模块复制到第二计算模块,把软件处理图像的存储器映象从第一计算模块复制到第二计算模块,并且恢复所述软件处理。所述方法还可以包括:把软件处理图像从第一存储系统复制到第二存储系统,记录当把软件处理图像复制到第二存储系统时对软件处理图像的变化,并且把所记录的软件处理图像的变化应用到第二存储系统上的软件处理图像副本上。
选择模块选择作为与第一计算模块相兼容的硬件的第二计算模块,其中所述第一计算模块正为客户端执行软件处理。暂停模块暂停所述软件处理.执行状态模块把第一计算模块的计算模块执行状态复制到第二计算模块。存储器映象模块把存储在第一存储系统中的软件处理图像的存储器映象从第一计算模块复制到第二计算模块。
恢复模块恢复在第二计算模块上执行的软件处理。处理图像复制模块可以在恢复软件处理的执行的同时把软件处理图像从第一存储系统复制到第二存储系统。在一个实施例中,变化记录模块记录当把软件处理图像复制到第二存储系统时对软件处理图像的变化。另外,变化应用模块可以把所记录的软件处理图像的变化应用到第二存储系统上的软件处理图像副本上。所述方法把客户端从第一计算模块无缝地重新分配到第二计算模块。另外,所述方法可以把软件处理图像从第一存储系统移动到第二存储系统。
在整个说明书中,对特征、优点的描述或类似的语言并不意味着可以采用本发明实现的所有特征和优点应该是或者的确是在本发明的任何单个实施例中。相反,应该把描述了特征和优点的语言理解为这样的意思,即:结合实施例所描述的具体特征、优点或者特性被包括在本发明的至少一个实施例中。因此,在整个说明书中,对特征和优点的描述或类似的语言可以但未必涉及相同的实施例。
此外,在一个或多个实施例中,所描述的本发明的特征、优点和特性可以依照任何适当的方式进行组合。所属领域技术人员将会意识到的是,本发明可以在没有特定实施例的一个或多个具体特征或优点的情况下实施。在其它情况下,在某些实施例中可能出现未必存在于本发明的所有实施例中的额外的特征和优点。
本发明通过利用最小的中断把客户端软件处理的执行移至第二计算模块,来把客户端从第一计算模块重新分配到第二计算模块。另外,本发明可以重新分配客户端,以便在一个或多个计算模块当中平衡负载,并且向客户端提供可接受的服务级别。通过下列描述和所附的权利要求书,本发明的这些特征和优点将变得更加明显,或者它们可以通过如此后所述的那样实践本发明来获知。
附图说明
为了使本发明的优点易于理解,将参考在附图中所图示的具体实施例来呈现对上文简述的本发明的更加具体的描述。应理解的是,这些附图只描述了本发明的典型实施例,因此不应将其视为对本发明范围的限制,将通过使用附图更加具体和详细地描述和解释本发明,其中:
图1是举例说明依照本发明的客户端/服务器系统的一个实施例的示意性框图;
图2是举例说明本发明的重新分配设备的一个实施例的示意性框图;
图3是举例说明依照本发明的数据中心的一个实施例的示意性框图;
图4是举例说明依照本发明的服务器刀片的一个实施例的示意性框图;
图5是举例说明本发明的重新分配方法的一个实施例的示意性流程图;
图6是举例说明依照本发明的客户端重新分配的一个实施例的示意性框图;
图7是举例说明依照本发明的用于复制计算模块执行状态和存储器映象的系统的一个实施例的示意性框图;
图8是举例说明依照本发明的用于复制软件处理图像的系统的一个实施例的示意性框图;并且
图9是举例说明依照本发明的应用软件处理图像变化的一个实施例的示意性框图。
具体实施方式
此说明书中所描述的许多功能部件都被称为模块,以便更加特别地强调其实现方式的独立性。例如,模块可以作为硬件电路来实现,所述硬件电路包括常规的超大规模集成(“VLSI”)电路或者门阵列、诸如逻辑芯片、晶体管之类的现有半导体或者是其它分立的元件。模块还可以用可编程硬件设备、诸如现场可编程门阵列、可编程阵列逻辑、可编程逻辑设备等实现。
模块还可以用软件实现,以便由各种类型的处理器执行。举例来说,一个标识的可执行代码模块可以包括计算机指令的一个或多个物理或者逻辑块,举例来说,其可以被构建为对象、过程或函数。尽管如此,所标识模块的可执行代码无需物理地位于一起,而是可以包括存储在不同位置上的不同的指令,当这些指令逻辑上结合在一起时,其构成模块并且实现该模块的规定目的。
实际上,可执行代码模块可以是单条指令或者是许多条指令,并且甚至可以分布在多个不同的代码段上,分布在不同程序当中,以及跨越多个存储器设备分布。同样地,操作数据可以在模块内被识别并且图示,并且可以依照任何适当的形式实现并且被组织在任何适当类型的数据结构内。所述操作数据可以作为单个数据集被收集,或者可以分布在不同位置上(包括在不同存储设备上),并且至少部分地可以仅作为电子信号存在于系统或网络上。
在整个说明书中所提及的“一个实施例”、“实施例”或者类似语言是指把结合实施例描述的特定特征、结构或者特性包含在本发明的至少一个实施例中.因此,在整个说明书中,短语“在一个实施例中”、“在一实施例中”以及类似语言的出现可以但也未必全部涉及相同的实施例。
此外,在一个或多个实施例中,所描述的本发明的特征、结构和特性可以依照任何适当的方式进行组合。在随后的描述中,提供了很多具体细节,诸如编程示例、软件模块、用户选择、网络事务、数据库查询、数据库结构、硬件模块、硬件电路、硬件芯片等,以便提供对本发明实施例的彻底的了解。然而,所属领域技术人员将会意识到的是,本发明可以在没有一个或多个该具体细节的情况下实施,或者可以利用其它的方法、组件、材料等来实施。在其它情况下,没有示出或详细说明众所周知的结构、材料或操作以免模糊本发明的各个方面。
图1是举例说明依照本发明的客户端/服务器系统的一个实施例的示意性框图。系统100包括一个或多个数据中心105、网络1 20和一个或多个客户端125。每一数据中心105均包括一个或多个计算模块110和一个或多个存储系统115。虽然为了简单起见把系统100描绘为具有两个数据中心105、一个网络120和两个客户端125,并且把每一数据中心105描绘为具有两个计算模块110和两个存储系统115,但是可以采用任意数目的数据中心105、网络120、客户端125、计算模块110和存储系统115。
客户端125可以是计算机工作站、终端等。例如,用户可以采用客户端125来执行一个或多个数据处理任务,诸如向数据库中输入订单。客户端125可以采用一个或多个计算模块110来进行数据处理业务。在一个实施例中,客户端125被配置为一个具有显示器、输入/输出设备和通信设备的终端,所述输入/输出设备诸如是键盘和鼠标。所述计算模块110可以为客户端125执行所有软件处理。例如,计算模块110可以为客户端125执行字处理软件处理,计算模块110在客户端显示器上显示一个或多个文档视图,并且接收来自客户端键盘的输入.
在替代性的实施例中,客户端125被配置为执行计算功能,并且可以执行一个或多个软件处理。所述计算模块110可以为客户端125执行一个或多个附赠的(complimentary)软件处理。例如,客户端125可以是计算机工作站,并且计算模块110可以为客户端125执行半导体布局软件处理。
在一个实施例中,每一数据中心105均位于分离的物理位置中。例如,第一和第二数据中心105a、105b可以位于分离的机构内。所述机构可以是大大分离的。每一计算模块110均可以是服务器。在一个实施例中,每一计算模块110均为服务器刀片。计算模块11 0可以采用一个或多个存储系统115来存储数据。存储系统115可以是硬盘驱动器、出售的(sold-state)存储设备等。例如,第一计算模块110a可以在第一存储系统115a中存储软件处理。
客户端125可以向一个或多个数据中心105传递信标,以请求与计算模块110的关联.数据中心105可以对所述信标作出响应,传递数据中心105的能力以便把客户端125与计算模块110相关联。数据中心105可以把客户端125与具有足够闲置处理带宽来向客户端125提供预期服务级别的计算模块110相关联。例如,因为第一计算模块110a具有足够的闲置处理带宽,所以第一数据中心105a可以把配置为终端的第一客户端125a与第一计算模块110a相关联,以致于用户无法区分第一客户端125a的性能和独立计算机工作站的性能。
计算模块110可以与一个或多个客户端125相关联。例如,第一数据中心105a可以把第一计算模块110a与第一客户端125a和第二客户端125b相关联。第一客户端125a可以采用第一计算模块110a的处理带宽的百分之二十(20%),而第二客户端可以采用第一计算模块110a的处理带宽的百分之十五(15%)。
使人遗憾的是,客户端125的处理带宽需求可能发生改变。例如,第二客户端125b可能执行这样的软件处理,其采用第一计算模块110a的处理带宽的百分之九十(90%)。因此,第一计算模块110a可能会向第一客户端125a提供不充足的处理带宽。因此,第一客户端125a的用户在输入数据或者指令和接收来自第一计算模块110a的显示器上的响应之间可能会经历很长的延迟。
当第二数据中心105b中的第二计算模块110b可能具有足够的闲置处理带宽用于第一客户端125a时,第一数据中心105a可以把第一客户端125a重新分配到第二计算模块110b。使人遗憾的是,重新分配第一客户端125a可能会进一步恶化对第一客户端125a的服务,以致于用户注意到延迟的增长。例如,当把第一客户端125a重新分配给第二计算模块110b时,最初在第一计算模块110a上为第一客户端125a执行的软件处理可能会出现完全不对第一客户端125a作出响应的情况。
另外,第二计算模块110b和第一客户端125a之间的响应等待时间可能不足以向第一客户端125a提供预期的服务级别。响应等待时间是在计算模块110和客户端125之间传递通信所需的时间。第一客户端125a和第二计算模块110b之间的响应等待时间可以明显长于第一客户端和第一计算模块110a之间的响应等待时间,由此导致对第一客户端125a的服务恶化了。
第二计算模块110b和第二存储系统115b之间的存储等待时间可能也不足以满足第一客户端125a的要求。存储等待时间是在计算模块110和存储系统115之间传递通信所需的时间。例如,如果数据库驻留在第一存储系统115a上,那么第一计算模块110a在为第一客户端125a执行数据库软件处理时、可以具有较短的存储等待时间。当为第一客户端125a执行相同的数据库处理时,所述第二计算模块110b可能具有较长的存储等待时间,这是因为在第二计算模块110b和第一存储系统115a之间传递通信需要更多的时间。
系统100最好是在对客户端125的用户的中断最小的情况下、把客户端125从第一计算模块110a重新分配到第二计算模块110b。另外,系统100可以在花费一定的响应等待时间和存储等待时间的情况下把客户端125重新分配到第二计算模块110b,其中所述响应等待时间和存储等待时间实际上等于第一计算模块110a的响应等待时间和存储等待时间。
图2是举例说明本发明的重新分配设备200的一个实施例的示意性框图。设备200可以由图1的一个或多个计算模块110组成。如图所示,设备200包括选择模块205、暂停模块210、执行状态模块215、存储器映象模块220、处理图像复制模块225、变化记录模块230、变化应用模块235、恢复模块240和检测模块245。
在一个实施例中,检测模块245检测在第一计算模块110a(诸如图1中的第一计算模块110a)上执行的客户端软件处理的性能降低。在某一实施例中,所述检测模块245监控第一计算模块110a的处理器使用率,并且如果处理器使用率超出规定阈值,那么检测到性能的降低。例如,如果第一计算模块110a的处理器使用率在规定的时间间隔内超出百分之八(80%),那么所述检测模块245可以检测到性能的降低。在一个实施例中,所述检测模块245响应于性能的降低而自动启动软件处理的重新分配。
选择模块205选择第二计算模块110b,诸如图1中的第二计算模块110b.所选择的第二计算模块110b最好是与第一计算模块110a兼容的硬件。例如,第二计算模块110b可以具有与第一计算模块110a相同的处理器、芯片组和存储器子系统。因此,第一计算模块110a和第二计算模块110b可以被置于相同的执行状态下,其中所有寄存器中具有相同的值并且具有相同的存储器映象。
因为第二计算模块110b具有闲置处理带宽以执行目前正由第一计算模块110a执行的客户端软件处理,所以选择模块205也可以选择第二计算模块110b。因此,第二计算模块110b可以向客户端125提供预期的服务级别。
另外,选择模块205可以选择第二计算模块110b,以便使第二计算模块110b具有从第二计算模块110b到客户端125的响应等待时间,其实际上等于或者优于从第一计算模块110a到客户端125的响应等待时间.选择模块205还可以选择第二计算模块110b,其中从第二计算模块110b到存储系统115(诸如图1中的第二存储系统115b)的存储等待时间实际上等于或者优于从第一计算模块110a到存储系统115(诸如图1中的第一或者第二存储系统115a、115b)的存储等待时间。
暂停模块210暂停在第一计算模块110a上执行的客户端软件处理。被暂停的第一计算模块110a不接受客户端输入,诸如来自客户端125的用户的I/O。另外,第一计算模块110a未必向客户端125传递输出。虽然软件处理被暂停,但是设备200快速地并且无缝地重新分配客户端125和客户端软件处理,以便最小化对客户端125的影响。优选的是,重新分配应时间较短,以致于用户不会注意到重新分配已经发生。
所述执行状态模块215把执行状态从第一计算模块110a复制到第二计算模块110b。计算模块110的执行状态可以包括存储在一个或多个寄存器(诸如数据寄存器)、一个或多个指令指针、芯片组状态寄存器、暂存器(scratchpad memory)等中的值。计算模块110的执行状态还可以包括为一个或多个标志、数据值、地址以及高速缓存模块的状态标志等而存储的值,所述高速缓存模块包括处理器内部的一个或多个高速缓存模块以及处理器外部的一个或多个高速缓存模块。
例如,所述执行状态模块215可以把处理器指令指针的十六进制地址值‘00FFEC36x’、第一处理器数据寄存器的十六进制值‘00000100x’和第二处理器数据寄存器的十六进制值‘00000200x’从第一计算模块110a分别复制到第二计算模块110b的处理器指令指针、第一数据寄存器和第二数据寄存器。当执行被暂停时,所述执行状态模块215因此把第二计算模块110b置于与第一计算模块110a的执行状态相同的执行状态下。优选的是,所述执行状态包括正被重新分配的客户端125的软件处理的状态信息,并且不包括其它处理、诸如为其它客户端125执行的处理的执行状态信息。
存储器映象模块220把存储在第一存储系统115a(诸如图1的第一存储系统)中的软件处理图像的存储器映象从第一计算模块110a复制到第二计算模块110b。所述存储器映象描述了软件指令和软件处理图像的数据在与软件处理相关联的第一存储系统中的逻辑位置。
例如,所述软件处理图像可以包括一千零二十四(1024)个三十二位(32b)字的软件指令和数据。计算模块110可以在一个或多个存储器地址块中存储软件处理图像。计算模块110可以从十六进制地址‘00FFEC00x’、‘00FFE800x’等开始存储所述软件处理图像。
软件指令可以使用相对编址来引用一个或多个存储器地址块内的一个或多个附加软件指令或者数据值。所述存储器映象使软件处理图像的相对地址与其中存储软件处理图像的实际存储器地址相关。另外,所述存储器映象可以使软件处理的地址与诸如动态链接库等的附加软件处理相关。通过把第一计算模块110a的执行状态和存储器映象复制到第二计算模块110b,在某些实施例中,第二计算模块110b可以由此执行来自第一存储系统115a的软件处理。
在一个实施例中,恢复模块240通过使用第二计算模块110b来恢复软件处理的执行。第二计算模块110b可以开始执行其中第一计算模块110a停止的软件处理。例如,如果第一计算模块110a用处理器指令指针地址‘00FFEC36x’来暂停执行软件处理,那么第二计算模块110b用‘00FFEC36x’的处理器指令指针地址来恢复执行来自第一存储系统115a的软件处理。
在一个实施例中,所述处理图像复制模块把软件处理图像从第一存储系统115a复制到第二存储系统115b。处理图像复制模块225可以在恢复软件处理的执行的同时复制所述软件处理图像。在某一实施例中,变化记录模块230记录当把软件处理图像从第一存储系统115a复制到第二存储系统115b时对软件处理图像的变化。例如,变化记录模块230可以侦听第一存储系统115a上涉及软件处理图像的所有写入,并且在第二计算模块110b的存储器中的日志文件中记录每次写入。所述写入可以包括请求、用户I/O、诸如状态变化之类的软件处理数据变化等。
在一个实施例中,变化应用模块235可以把在第一存储系统115a上记录的软件处理图像的变化应用到第二存储系统115b上的软件处理图像。例如,变化应用模块235可以把记录在日志文件中的每次写入应用到第二存储系统115b上的软件处理图像。所述设备200无缝地把软件处理的执行从第一计算模块移至第二计算模块,从而把客户端125从第一计算模块110a重新分配到第二计算模块110b。
图3是举例说明依照本发明的数据中心105的一个实施例的示意性框图。所述数据中心105可以是图1的数据中心105。在所述实施例中,数据中心105包括外壳305、一个或多个服务器刀片310、一个或多个存储设备刀片315、存储系统115和通信模块330。每一服务器刀片310可以是图1的计算模块110。另外,存储系统115可以是图1的存储系统115。
所述外壳305可以被配置为安装在机架上的设备,具有多个经由公共底板互联的连接器。每一服务器刀片310经由连接器与底板连接,经由底板连接至访问电源、通信信道等。在一个实施例中,存储设备刀片315也与底板连接。存储设备刀片315可以包括一个或多个硬盘驱动器、动态随机存取存储器(“DRAM”)等,以供服务器刀片310使用。
在一个实施例中,外壳305经由存储通信信道325与存储系统115通信。所述存储通信信道325可以是光纤信道连接、小型计算机系统接口(“SCSI”)连接等。所述存储系统115可以包括诸如硬盘驱动器之类的一个或多个存储设备320.
所述外壳305还可以经由网络通信信道335与通信模块330通信。所述网络通信信道335可以是以太网连接、令牌环连接等。通信模块330可以是与网络120(诸如图1的网络120)通信的路由器等。
服务器刀片310可以为客户端125(诸如图1的客户端125)执行一个或多个软件处理.服务器刀片310还可以实现图2的设备200。虽然数据中心105被描述为具有一个外壳305、一个通信模块330和一个存储系统115,但是数据中心105可以采用任意数目的外壳305、通信模块330和存储系统115.另外,每一外壳305均可以采用任意数目的服务器刀片310。
图4是举例说明依照本发明的服务器刀片310的一个实施例的示意性框图。所述服务器刀片310包括一个或多个处理器模块405、存储器模块410、北桥模块415、接口模块420和南桥模块425。虽然为简单起见把服务器刀片310描述为具有四个处理器模块405,但是服务器刀片可以采用任意数目的处理器模块405。
此处被称为组件的处理器模块405、存储器模块410、北桥模块415、接口模块420和南桥模块425可以在一个或多个半导体衬底上由半导体门电路来制造。每一半导体衬底可以被封装在一个或多个半导体器件中,所述半导体器件被安装在电路卡上。这些组件之间的连接可以通过半导体金属层、衬底到衬底的布线、或者连接半导体器件的电路卡迹线(trace)或者电线来实现。
所述存储器模块410存储软件指令和数据。所述处理器模块405执行软件指令并且对数据进行操作,正如本领域技术人员公知的那样。在一个实施例中,存储器模块410存储软件指令和数据,并且处理器模块405执行该软件指令和数据,其中该软件指令和数据包括图2的选择模块205、暂停模块210、执行状态模块215、存储器映象模块220、处理图像复制模块225、变化记录模块230、变化应用模块235、恢复模块240和检测模块245.
在一个实施例中,所述处理器模块405经由北桥模块415、南桥模块425和接口模块420与通信模块330(诸如图3的通信模块330)进行通信。处理器模块405可以经由通信模块330与客户端125(诸如图1的客户端125)进行通信。
随后的示意性流程图总体上是作为逻辑流程图提出的。因而,所述的顺序和标记的步骤表示所给出的方法的一个实施例。本领域技术人员可以对所述步骤进行重新排序,或者设想出在功能、逻辑或效果上等效于所图示的方法的一个或多个步骤或者其一部分的其它步骤和方法.另外,所采用的格式和符号是为解释所述方法的逻辑步骤而提供的,并且应当理解为不对所述方法的范围作出限制。虽然在流程图中采用了各种箭头类型和线类型,但是应理解这些不是对相应方法的范围的限制.实际上,某些箭头或者其它连接符仅用来表明方法的逻辑流程。举例来说,箭头可以表明所述方法的所列举步骤之间的未规定持续时间的等待或者监控时段。另外,执行特定方法的顺序可以或者未必严格地遵循所示出的相应步骤的顺序。
图5是举例说明本发明的重新分配方法500的一个实施例的示意性流程图。所述方法500基本上包括用于实现上文就图2的所述设备200和图1的系统100所述的操作而给出的功能所必需的步骤。
在一个实施例中,所述方法500开始,并且检测模块245检测在第一计算模块110a(诸如是图1的第一计算模块110a)上执行的软件处理的性能降低(步骤505)。为客户端125(诸如图1的客户端125)执行软件处理。所述检测模块245可以通过监控软件处理在第一计算模块110a上等待处理器带宽的时间,来检测性能的降低(步骤505)。例如,如果软件处理等待处理器带宽的时间大于两秒(2s),则检测模块245可以检测出性能降低(步骤505)。另外,所述检测模块245可以响应于性能的降低而自动地启动软件处理的重新分配。
选择模块205选择第二计算模块110b、诸如图1的第二计算模块110b(步骤510)。所述第二计算模块110b最好是与第一计算模块110a兼容的硬件。在某一实施例中,第一计算模块110a是诸如图3的第一服务器刀片310a之类的服务器刀片310,并且选择模块205选择和第一服务器刀片310a相同的第二服务器刀片310b(步骤510)。
暂停模块210暂停所述软件处理(步骤515)。在一个实施例中,所述暂停模块210通过中断软件处理并且把第一计算模块110a的执行状态保存到堆栈,来暂停所述软件处理(步骤515)。在一个实施例中,所述暂停模块210采用软件中断来暂停软件处理(步骤515)。在替代性的实施例中,所述暂停模块210采用硬件中断来暂停软件处理(步骤515)。所述堆栈可以是图4的存储器模块410中的一个或多个存储单元,可以被配置为先进/先出存储器,这是本领域技术人员公知的。
执行状态模块215把第一计算模块的执行状态复制到第二计算模块110b(步骤520)。在一个实施例中,所述执行状态模块215中断第二计算模块110b,保存在第二计算模块110b上执行的任何其它软件处理,并且在第二计算模块110b上产生临时的软件处理。所述临时的软件处理可以对在第二计算模块110b上接收软件处理进行管理。执行状态模块215可以进一步把第一计算模块的执行状态从堆栈复制到第二计算模块110b(步骤520)。
存储器映象模块220把存储在第一存储系统115a(诸如图1的第一存储系统115a)中的软件处理图像的存储器映象从第一计算模块110a复制到第二计算模块110b(步骤525)。在一个实施例中,存储器映象模块220把驻留在第一刀片式服务器310a的存储器模块410(见图4)中的存储器映象复制到第二刀片式服务器310b的存储器模块410(步骤525)。在一个实施例中,第二计算模块110b能够通过使用所复制的存储器映象执行来自第一存储系统115a的软件处理图像。第二计算模块110b可以执行来自第一存储系统115a的整个软件处理图像或者部分软件处理图像。在一个实施例中,存储器映象中的指向存储系统115的指针可以包括用于区分第一存储系统115a和第二存储系统115b的标识符。
在一个实施例中,恢复模块240恢复在第二计算模块110b上执行的软件处理(步骤530)。恢复模块240可以引导所述临时的软件处理取出并且执行软件处理在第一计算模块110a上被暂停时的处理器指令指针的地址值,以便恢复软件处理(步骤530)。例如,如果当指令指针地址值包含第一地址时暂停模块210暂停了软件处理(步骤515),那么临时的软件处理可以从来自第一存储系统115a的第一地址取出指令,并且在第二计算模块110b上执行该指令。
在一个实施例中,处理图像复制模块225把软件处理图像从第一存储系统115a复制到第二存储系统115b(诸如图1的第二存储系统115b)(步骤525)。处理图像复制模块225可以在恢复软件处理的同时复制所述软件处理图像(步骤535)。在某一个实施例中,当把软件处理图像块复制到第二存储系统115b(步骤535)时,处理图像复制模块225修改第二计算模块110b的存储器映象。
在一个实施例中,变化记录模块230记录当把软件处理图像复制到第二存储系统115b时、软件处理图像的变化(步骤540)。另外,变化应用模块235可以把所记录的软件处理图像变化应用到第二存储系统115b上的软件处理图像的副本上(步骤545)。由此,在软件处理图像被复制到第二存储系统115b的同时,第二计算模块110b可以继续执行并且修改第一存储系统115a上的软件处理图像。
在一个实施例中,恢复模块240清理来自第一计算模块110a的软件处理(步骤550),并且所述方法500结束。例如,恢复模块240可以停止在第一计算模块110a上执行的软件处理的任何部分。另外,恢复模块240可以释放第一计算模块110a上由软件处理所使用的存储空间。
方法500通过把客户端125的软件处理从在第一计算模块110a上执行移至在第二计算模块110b上执行,而把客户端125从第一计算模块110a重新分配到第二计算模块110b。虽然方法500被描述为通过移动一个软件处理来重新分配客户端125,但是方法500可以通过移动任意数目的客户端125的软件处理来重新分配客户端125。方法500可用来通过重新分配一个或多个客户端125来平衡多个计算模块110之间的负载.
图6是举例说明依照本发明的客户端重新分配600的一个实施例的示意性框图。第一和第二数据中心105a、105b被描述为经由多个路由器615与客户端125进行通信。数据中心105和客户端125可以包括图1的数据中心105和客户端125,而路由器615可以实现图1的网络120。
第一计算模块110a为客户端125执行软件处理。第一存储系统115a存储软件处理图像610。第一计算模块110a包括软件处理图像610的存储器映象605,并且被配置为具有用于执行软件处理的计算模块执行状态625。
诸如图2的检测模块245之类的检测模块245可以检测软件处理性能的降低(步骤505)。诸如图2的选择模块205之类的选择模块205可以选择第二计算模块110b,以便把客户端125从第一计算模块110a进行重新分配(步骤510)。在所述实施例中,因为第二计算模块110b和第一计算模块110a相同,并且因为第二计算模块110b和客户端125之间的响应等待时间实际上等于第一计算模块110a和客户端125之间的响应等待时间,所以选择模块205选择第二计算模块110a(步骤510)。例如,在所述实施例中,第一计算模块110a和客户端125之间的通信所经过的路由器615的数目与第二计算模块110b和客户端125之间的通信所经过的路由器数目相同,这表明响应等待时间是类似的。
图7是举例说明依照本发明的用于复制计算模块执行状态和存储器映象的系统700的一个实施例的示意性框图。图6中的模块被描述为其中暂停模块205暂停软件处理(步骤515)。执行状态模块215把第一计算模块110a的计算模块执行状态625复制到第二计算模块110b(步骤520)。
另外,存储器映象模块220把存储器映象605从第一计算模块110a复制到第二计算模块110b(步骤525)。恢复模块240在所述第二计算模块110b使用存储在第一存储系统115a中的软件处理图像610的情况下,恢复第二计算模块110b对软件处理的执行。
图8是举例说明依照本发明的用于复制软件处理图像的系统800的一个实施例的示意性框图。图7的模块被描述为其中处理图像复制模块225把软件处理图像610从第一存储系统115a复制到第二存储系统115b(步骤535).在一个实施例中,变化记录模块230记录当把软件处理图像610复制到图像变化文件620时、软件处理图像610的变化(步骤540)。图像变化文件620可以是驻留在第二计算模块110b上的日志文件。
图9是举例说明依照本发明、应用软件处理图像变化900的一个实施例的示意性框图.图8的模块被描述为其中软件处理图像610的实例驻留在第二计算模块110b上。第二计算模块110b在执行软件处理的过程中可以采用软件处理图像610。在一个实施例中,变化应用模块235把所记录的图像变化文件620的软件处理图像变化应用到驻留在第二存储系统110b中的软件处理图像610的实例上(步骤545)。
本发明通过把客户端125的软件处理的执行移至第二计算模块110b上,而把客户端125从第一计算模块110a重新分配到第二计算模块110b.另外,本发明通过复制计算模块执行状态625和存储器映象605来依照透明方式重新分配客户端125,从而使第二计算模块110b可以无缝地恢复执行软件处理(步骤530)。另外,本发明可以重新分配客户端125,以便平衡一个或多个计算模块110之间的负载,和/或向客户端125提供可接受的服务级别。
在不脱离本发明的实质或基本特性的情况下,可以依照其它具体形式来实现本发明.所描述的实施例在各方面都应仅仅被视为是例证性的而非限制性的。因此,本发明的范围由所附权利要求书表明而不是由以上的描述来表明。落入权利要求的含义和等效范围内的所有变化都将被包含在本发明的范围之内。

Claims (16)

1.一种用于重新分配客户端的设备,所述设备包括:
选择模块,被配置为选择具有与第一计算模块相兼容的硬件的第二计算模块,其中所述第一计算模块为客户端执行软件处理;
暂停模块,被配置为暂停所述软件处理,以便使第一计算模块不接受客户端输入;
执行状态模块,被配置为把计算模块执行状态从第一计算模块复制到第二计算模块;
存储器映象模块,被配置为把存储在第一存储系统中的软件处理图像的存储器映象从第一计算模块复制到第二计算模块;以及
恢复模块,被配置为在所述第二计算模块使用来自第一存储系统的软件处理图像执行所述软件处理的情况下,恢复软件处理的执行。
2.如权利要求1所述的设备,还包括:处理图像复制模块,被配置为在恢复软件处理的执行的同时把软件处理图像从第一存储系统复制到第二存储系统。
3.如权利要求2所述的设备,还包括:变化记录模块,被配置为记录当把软件处理图像从第一存储系统复制到第二存储系统时软件处理图像的变化。
4.如权利要求3所述的设备,还包括:变化应用模块,被配置为把所记录的软件处理图像变化应用到第二存储系统上的软件处理图像的副本上。
5.如权利要求1所述的设备,其中,每一计算模块均被配置为服务器刀片。
6.如权利要求1所述的设备,其中,所述第二计算模块具有从第二计算模块到客户端的响应等待时间,所述响应等待时间实际上等于从第一计算模块到客户端的响应等待时间,并且所述第二计算模块具有从第二计算模块到第二存储系统的存储等待时间,所述存储等待时间实际上等于从第一计算模块到第一存储系统的存储等待时间。
7.如权利要求1所述的设备,还包括:检测模块,被配置为检测在第一计算模块上执行的软件处理的性能降低,并且响应于性能的降低而自动启动软件处理的重新分配。
8.一种用于重新分配客户端的方法,包括:
选择具有与第一计算模块相兼容的硬件的第二计算模块,其中所述第一计算模块为客户端执行软件处理;
暂停所述软件处理,其中所述第一计算模块不接受客户端输入;
把计算模块执行状态从第一计算模块复制到第二计算模块;
把存储在第一存储系统中的软件处理图像的存储器映象从第一计算模块复制到第二计算模块;并且
在所述第二计算模块使用来自第一存储系统的软件处理图像执行所述软件处理的情况下,恢复所述软件处理。
9.如权利要求8所述的方法,其中,每一计算模块均被配置为服务器刀片。
10.如权利要求8所述的方法,其中,所述第二计算模块具有从第二计算模块到客户端的响应等待时间,所述响应等待时间实际上等于从第一计算模块到客户端的响应等待时间,并且所述第二计算模块具有从第二计算模块到第二存储系统的存储等待时间,所述存储等待时间实际上等于从第一计算模块到第一存储系统的存储等待时间。
11.如权利要求8所述的方法,其中还包括在恢复软件处理的执行的同时把软件处理图像从第一存储系统复制到第二存储系统的操作。
12.如权利要求11所述的方法,其中还包括记录当把软件处理图像从第一存储系统复制到第二存储系统时所述软件处理图像的变化的操作。
13.如权利要求12所述的方法,其中还包括把所记录的软件处理图像变化应用到第二存储系统上的软件处理图像的副本上的操作。
14.如权利要求13所述的方法,其中还包括检测在第一计算模块上执行的软件处理的性能降低,并且响应于性能的降低而自动启动软件处理的重新分配的操作。
15.一种用于重新分配客户端的系统,所述系统包括:
客户端;
多个服务器刀片;
选择模块,被配置为选择具有与第一服务器刀片相兼容的硬件的第二服务器刀片,其中所述第一服务器刀片为客户端执行软件处理;
暂停模块,被配置为暂停所述软件处理,以便使第一服务器刀片不接受客户端输入;
执行状态模块,被配置为把服务器刀片执行状态从第一服务器刀片复制到第二服务器刀片;
存储器映象模块,被配置为把存储在第一存储系统中的软件处理图像的存储器映象从第一服务器刀片复制到第二服务器刀片;以及
恢复模块,被配置为在所述第二服务器刀片使用来自第一存储系统的软件处理图像执行所述软件处理的情况下,恢复所述软件处理;以及
处理图像复制模块,被配置为在恢复软件处理的执行的同时把软件处理图像从第一存储系统复制到第二存储系统。
16.如权利要求15所述的系统,其中,所述第二服务器刀片具有从第二服务器刀片到客户端的响应等待时间,所述响应等待时间实际上等于从第一服务器刀片到客户端的响应等待时间,并且所述第二服务器刀片具有从第二服务器刀片到第二存储系统的存储等待时间,所述存储等待时间实际上等于从第一服务器刀片到第一存储系统的存储等待时间。
CNB2006101539147A 2005-11-03 2006-09-12 用于重新分配客户端的设备、系统和方法 Expired - Fee Related CN100432942C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/266,147 2005-11-03
US11/266,147 US7702789B2 (en) 2005-11-03 2005-11-03 Apparatus, system, and method for reassigning a client

Publications (2)

Publication Number Publication Date
CN1959643A CN1959643A (zh) 2007-05-09
CN100432942C true CN100432942C (zh) 2008-11-12

Family

ID=37997913

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2006101539147A Expired - Fee Related CN100432942C (zh) 2005-11-03 2006-09-12 用于重新分配客户端的设备、系统和方法

Country Status (2)

Country Link
US (1) US7702789B2 (zh)
CN (1) CN100432942C (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8229886B2 (en) * 2008-02-19 2012-07-24 International Business Machines Corporation Continuously available program replicas
US9910708B2 (en) * 2008-08-28 2018-03-06 Red Hat, Inc. Promotion of calculations to cloud-based computation resources
CN101572641B (zh) * 2009-05-26 2015-02-25 阴晓峰 基于can总线的控制器网络监控系统及监控方法
US8676979B2 (en) * 2010-05-18 2014-03-18 Salesforce.Com, Inc. Methods and systems for efficient API integrated login in a multi-tenant database environment
US8930685B2 (en) 2011-12-13 2015-01-06 International Business Machines Corporation Deployment of a software image on multiple targets with streaming technique
US9378456B2 (en) 2012-11-19 2016-06-28 Microsoft Technology Licensing, Llc Task completion
WO2017091235A1 (en) * 2015-11-29 2017-06-01 Hewlett Packard Enterprise Development Lp Embedded image management
CN110069511B (zh) * 2017-09-26 2021-10-15 北京国双科技有限公司 一种数据查询的分配方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002095605A1 (en) * 2001-05-23 2002-11-28 International Business Machines Corporation Dynamic deployment of services in a computing network
CN1512329A (zh) * 2002-12-31 2004-07-14 联想(北京)有限公司 机群自适应的控制方法
US20040153708A1 (en) * 2002-05-31 2004-08-05 Joshi Darshan B. Business continuation policy for server consolidation environment
CN1598802A (zh) * 2003-09-19 2005-03-23 英业达股份有限公司 备援管理控制仲裁系统

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4564903A (en) * 1983-10-05 1986-01-14 International Business Machines Corporation Partitioned multiprocessor programming system
JP3195190B2 (ja) * 1995-05-10 2001-08-06 シャープ株式会社 印字出力制御装置およびそれを備えたネットワーク
US5608876A (en) * 1995-05-22 1997-03-04 International Business Machines Corporation Add-in board with enable-disable expansion ROM for PCI bus computers
US6578066B1 (en) 1999-09-17 2003-06-10 Alteon Websystems Distributed load-balancing internet servers
WO2000023857A1 (en) * 1998-10-16 2000-04-27 Iconics, Inc. Process control
US6418540B1 (en) * 1999-08-27 2002-07-09 Lucent Technologies Inc. State transfer with throw-away thread
US6609148B1 (en) 1999-11-10 2003-08-19 Randy Salo Clients remote access to enterprise networks employing enterprise gateway servers in a centralized data center converting plurality of data requests for messaging and collaboration into a single request
US20020107990A1 (en) * 2000-03-03 2002-08-08 Surgient Networks, Inc. Network connected computing system including network switch
US7072820B1 (en) * 2000-06-02 2006-07-04 Brian Bailey Accessing state information in a hardware/software co-simulation
US6779134B1 (en) * 2000-06-27 2004-08-17 Ati International Srl Software test system and method
US20020194497A1 (en) 2001-04-30 2002-12-19 Mcguire Jacob Firewall configuration tool for automated deployment and management of network devices
US20020158900A1 (en) * 2001-04-30 2002-10-31 Hsieh Vivian G. Graphical user interfaces for network management automated provisioning environment
US8359377B2 (en) 2001-04-30 2013-01-22 Hewlett-Packard Development Company, L.P. Interface for automated deployment and management of network devices
US6816897B2 (en) 2001-04-30 2004-11-09 Opsware, Inc. Console mapping tool for automated deployment and management of network devices
US7113980B2 (en) * 2001-09-06 2006-09-26 Bea Systems, Inc. Exactly once JMS communication
US7768522B2 (en) * 2002-01-08 2010-08-03 Apple Inc. Virtualization of graphics resources and thread blocking
US7013344B2 (en) * 2002-01-09 2006-03-14 International Business Machines Corporation Massively computational parallizable optimization management system and method
US7103628B2 (en) * 2002-06-20 2006-09-05 Jp Morgan Chase & Co. System and method for dividing computations
US7933983B2 (en) 2002-12-17 2011-04-26 Hewlett-Packard Development Company, L.P. Method and system for performing load balancing across control planes in a data center
JP2005196745A (ja) * 2003-12-10 2005-07-21 Ricoh Co Ltd 情報処理装置、プログラム復旧方法、プログラム復旧プログラム及び記録媒体
US7886299B2 (en) * 2004-06-01 2011-02-08 Hitachi, Ltd. Method of dynamically balancing workload of a storage system
US7437517B2 (en) * 2005-01-11 2008-10-14 International Business Machines Corporation Methods and arrangements to manage on-chip memory to reduce memory latency
US7716249B2 (en) * 2005-09-16 2010-05-11 Microsoft Corporation Transaction and task scheduler

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002095605A1 (en) * 2001-05-23 2002-11-28 International Business Machines Corporation Dynamic deployment of services in a computing network
US20040153708A1 (en) * 2002-05-31 2004-08-05 Joshi Darshan B. Business continuation policy for server consolidation environment
CN1512329A (zh) * 2002-12-31 2004-07-14 联想(北京)有限公司 机群自适应的控制方法
CN1598802A (zh) * 2003-09-19 2005-03-23 英业达股份有限公司 备援管理控制仲裁系统

Also Published As

Publication number Publication date
CN1959643A (zh) 2007-05-09
US20070101001A1 (en) 2007-05-03
US7702789B2 (en) 2010-04-20

Similar Documents

Publication Publication Date Title
CN100432942C (zh) 用于重新分配客户端的设备、系统和方法
CN102349064B (zh) 用于虚拟机环境的可扩展监控的方法和设备
CN102326132B (zh) 最大化虚拟机平台的降低功率状态的电源管理
US8732285B2 (en) Upgradeable persistent virtual storage
US6446086B1 (en) System and method for logging transaction records in a computer system
US8171174B2 (en) Out-of-band characterization of server utilization via remote access card virtual media for auto-enterprise scaling
CN100357860C (zh) 用于监控可变速微处理器性能的方法和设备
US7434011B2 (en) Apparatus, system, and method for modifying data storage configuration
CN1770114A (zh) 存储网络中的复制操作
CN101662495A (zh) 备份方法、主服务器、备份服务器以及备份系统
CN110427284A (zh) 数据处理方法、分布式系统、计算机系统和介质
CN102495742A (zh) Bios的刷新方法和装置、以及计算机
CN115118738B (zh) 基于rdma的灾备方法、装置、设备及介质
CN114691050B (zh) 基于kubernetes的云原生存储方法、装置、设备及介质
US6954825B2 (en) Disk subsystem
CN101384994B (zh) 用于逐级披露信息的装置、系统和方法
US20030188038A1 (en) Use of multiple queues in coupling facility to provide zoning capability in a parallel sysplex environment
JPH0822424A (ja) クライアント・サーバ・システムおよびその制御方法
US7197012B2 (en) System and method for extending performance data collection for a network
Poess et al. Large scale data warehouses on grid: Oracle database 10 g and HP proliant servers
US20050125784A1 (en) Hardware environment for low-overhead profiling
US20220318073A1 (en) Provisioning a computing subsystem including disaggregated hardware resources that comply with a power domain requirement for a workload
CN114598731A (zh) 集群日志采集方法、装置、设备及存储介质
CN103685359A (zh) 数据处理方法及装置
US20200133681A1 (en) Enabling software sensor power operation requests via baseboard management controller (bmc)

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
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20170712

Address after: Hongkong, China

Patentee after: Lenovo International Ltd

Address before: American New York

Patentee before: International Business Machines Corp.

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: 20081112

Termination date: 20170912