用于在多个数据中心之间选择性卸载工作负荷的方法和装置的制作方法

文档序号:6553803阅读:124来源:国知局
专利名称:用于在多个数据中心之间选择性卸载工作负荷的方法和装置的制作方法
技术领域
本发明总体涉及计算资源和数据中心并且,更具体地,涉及用于选4奪性 在多个数据中心之间卸载工作负荷的技术。
背景技术
大企业将其计算资源组建成多个数据中心,每个数据中心为计算资源和 存储的池子(pool),其可以与其他数据中心物理地分离。企业应用运4亍在一个 或更多的数据中心中,并且终端用户对应用的请求流入一个或更多的姿U居中 心中。当数据中心负荷过多请求时,有必要将一些工作负荷卸载到其4也数据 中心中的可利用共享资源,以使用户接收到预期级别的应用响应,还4吏企业的所有资源被有效使用。在多数据中心模型的变型中,企业可以从第三方服务供应商购买二斧源, 并将这些资源用作其自己的数据中心。在该it型中,也存在将工作负4,卸载 到服务供应商资源的需要,因为其与多数据中心工作负荷卸载问题类4以。对于工作负荷卸载的现有解决方案包括使用域名服务(DNS)或传输控 制协议/网络协议(TCP/IP )路由产品的用户请求的加权循环(round-robin ) 分配。该解决方案的问题是路由产品仅能以某一比例(也就是,基于4又)静 态路由用户请求,而不能基于服务级别协定动态调整对用户请求的资源配置。发明内容本发明的原理通过用于在多个数据中'"、间选择性卸栽工作负荷的4支术。 例如,在本发明的一个方面中,用于依据多个数据中心环境处J里用户请 求的技术包括如下步骤/操作。在第一数据中心获得用户请求。基于一个或更 多的分类标准分类用户请求。把与已分类的用户请求关联的工作负4节的至少 一部分卸载到至少一个第二数据中心来处理,其中,卸载步骤/操作至少基于 与第 一数据中心和第二数据中心的至少 一个关联的一个或更多的管5里策略。 处理工作负荷以与用于请求用户的服务级别协定一致地使用户请^L至少基本 满足。
从以下将与附图联合阅读的图示实施例的详细描述中,本发明的这些和 其他的目标、特征和优势将变得清楚。


图1A是图示根据本发明的实施例在多个数据中心之间选择性卸载工作 负荷的方框/流程图。
图1B是图示根据本发明的实施例的资源借用和工作负荷卸载请求处理 的流程图。
图1C是图示根据本发明的实施例的资源借出处理的流程图。 图2是图示根据本发明的实施例的处理工作请求流的方框/流程图。 图3是图示根据本发明的实施例的可以实现选择工作负荷卸载技术的一 个或更多的组件/步骤所依据的计算系统。
具体实施例方式
如将在下文示例性说明的,本发明的原理提供用于分类用户请求、和以 达到用户请求种类的服务级别目的同时符合各数据中心的策略的方式动态路 由请求到数据中心并处理该请求的技术。
可以通过客户类型(例如,黄金级、白银级、青铜级)、生成客户请求的 工作负荷的类型、由业务进行的数据访问的类型、或在由工作负荷访问的数 据上进行的操作的类型来分类客户请求。基于该分类,能够基于数据中心(本 地和远程)的策略和当前状态选择性地将客户请求路由到远程凄t据中心处的 资源。
将理解,通常认为"本地"数据中心是首先接收目标(subject)用户请求的 数据中心。其可以是很接近该客户设备的数据中心和/或是通常基于一个或更 多的标准(例如,主题、客户类型等)来处理这种用户请求的数据中心。因 而,通常认为"远程"^:据中心是不同于本地数据中心的数据中心。基于上 下文,还将理解,术语"请求者"和"提供者"分别用于称呼本地和远程数 据中心。
作为示例,当本地数据中心具有高负荷时,可以把来自青铜客户的请求, 或相对低优先级的请求路由到远程资源。该路由也可以依赖于请求的通信或
数据访问要求。例如,带有导致从数据库的显著数据访问的业务或查询的请 求或导致具有高度通信的并行计算的请求将被路由到本地以处理。用于远程能在远程数据中心中被分割和/或复制。该路由还可以依赖于将被路由的工作负荷的资源要求。可以卸载要求常用(commodity)处理器的工作负荷操作,但 是可以把例如需要矢量(vector)处理能力的工作负荷操作发送到本地。依据 组织经济模型,让对等(peer)数据中心共享资源的动机可能是基于金钱或声望 或策略。从而,根据本发明的原理,把工作负荷(例如,用户请求)选"^性地卸 载到其他数据中心,以达到用户请求的服务级别协定,同时允许通过明确的 策略管理控制共享资源。最初参考图1A,方框/流程解根据本发明的实施例用于在多个数据 中心间选择性卸载工作负荷的技术。该图示出两个数据中心,数据中心A和 数据中心B。尽管就两个数据中心描述本实施例,但是本发明的原理不限于 两个数据中心。也就是说,本发明的原理能够用于任意数量的数据中心。如所示,数据中心A具有下列组件产生工作负荷的客户110、请求分 类器120、准入(admission)控制器和重定向器(redirector)122、请求调度器和^各 由器124、资源管理器140、策略组150、和诸如处理器、网络、和存储器的 计算资源130。类似地,数据中心B具有下列组件产生工作负荷的客户115、请求分 类器125、准入控制器和重定向器127、请求调度器和路由器129、资源管理 器145、策略组155、和诸如处理器、网络、和存储器的计算资源135。数据中心A能够使用网络通信信道把其工作负荷的一些传送到数据中心 B (步骤160 )。类似地,数据中心B能够使用网络通信信道把其工作负荷的 一些传送到数据中心A (步骤165 )。数据中心A还能够通过使用通信信道直接使用在数据中心B处的资源 (步骤172),这可能需要在数据中心B处所使用的资源使用通信信道访问在 数据中心A的数据(步骤174)。数据中心B也能够直接使用数据中心A的 资源,仅为了保持该图简单,没有明确显示这种交互。在数据中心A中,当工作负荷从客户110到达时,其是以工作请求的形 式,并且工作请求被置于工作负荷分类器120的请求队列中,其中请求分类
器把请求分到不同的类别中,并将其转送到准入控制器和重定向器122。准入控制器判断在当前时刻是否准许请求用于本地处理或拖延(hold off)直到适 当的时间。然后将已准许的请求转送到请求调度器和路由器124,请求调度 器和路由器124传送该请求以在所分配的用于处理该工作请求的资源130上 来处理。资源管理器140使用个体(individual)数据中心策略来确定分类标准、 准入控制标准、调度和路由决定、以及要用于该请求类的实际资源。^i后描 述由资源管理器使用的决定处理的实施例。把由资源管理器确定的分类标准 传送到工作负荷分类器120,把准入控制标准传送到准入控制器122,并且把 调度和发送标准传送到调度器和路由器124。资源管理器动态更新这些标准 和相关联的参数,并不断将其供给控制单元120、 122和124。在数据中心B中,以相似的方式分类和调度工作请求。当数据中心间没 有共享资源时,各个数据中心使用其自身的资源以满足工作请求。当数据A中的请求数量或请求的合计服务时间变得太高时,那么才艮据本 发明的原理,可以使用来自数据中心B的资源来处理数据中心A的工4乍请求。 数据中心间的资源共享可以基于在提出请求的数据中心和进行提供的数据中 心中定义的策略。在图1B中示出由资源管理器在确定资源借用和工作负荷卸载中4吏用的 决定做出处理的实施例。如所示,在借用资源过程中涉及的步骤如下 在步骤180中,在提出请求的数据中心处确定借用资源的收益。 在步骤182中,确定要问询关于潜在资源共享的数据中心。 在步骤184中,把请求资源共享的问询发送到该潜在数据中心。 在步骤186中,在接收到对于该请求的响应时,该4是出请求的凄t才居中心 确定接受哪个数据中心。在步骤188中,请求数据中心使用该资源用于工作负荷处理。 在步骤190中,在完成给定工作负荷的处理时,请求数据中心方欠弃借用 的资源。这些步-紫更加详细的描述如下。该提出请求的数据中心评估对比于与增加的通信相关的成本和远程资源 使用的成本借用资源的收益。收益可能是以诸如全局资源利用级别禾口/或相对 于服务级别协定的性能的衡量方式。用于触发远程资源获取的阚值,在此称 作"借用阈值",是请求者策略的一部分。借用阈值可以是适应性的(adaptive),使得在数据中心中的每个资源优化循环后将恒定衰减因子施加到其上。这将 最终允许甚至为了较小的收益值的远程资源获取。然而,当请求未能获取远 程资源时,可以将阔值复位到初始的较大的值,从而避免对于远程资源的过 多失败搜索。因为数据中心可能同时需要用于不同优先级工作负荷的资源, 所以可以首先处理对于高收益工作负荷的请求。一旦做出决定要借用资源,下一步是选择能够潜在地借出资源的对等数据中心(peer)。可荻得的数据中心组是由企业的组织界限或与企业外部的才是 供者之间的合同或由组织策略定义的。寻找远程资源的 一种可能方式是向到所有的对等数据中心多播请求。当 数据中心使用两个阶段处理来接受远程请求时,请求多播运作良好,其中在 第一阶段,把资源可用性和约束返回到提出请求的数据中心,并在确认后完 成最终的接受。在借出数据中心处确认过期(timeout)决定从阶段1时期收回 (reclaim back)资源。在请求者确认后,激活保留。在基于从容量计划器 (capacity planner)的预测预先做出这些保留的情况下,作为单独的阶段完成 保留激活(也就是,部署资源和安装并配置软件宿主堆栈(software hosting stack )或另外使之可用于使用)。多阶段的方法保证请求者能选择在数据中心 间协商用于获取资源。如果数据中心不支持多阶段接受方案,那么可以根据各种密切性(affinity) 度量,诸如网络等待时间、资源容量、已知的资源可用性和声望,依据优先 级排序潜在的数据中心,并且以优先级顺序从潜在的数据中心请求资源。类似地,提供者数据中心评估借出资源相比于保持资源闲置的收益。提 供者策略可以是动态的,从而反映提供者的工作负荷和当前系统状态。如果 数据中心正请求远程资源用于连续时间段,则可以将用于接受到来的对于那 些资源的请求的自身阈值设定为很高。这样,该数据中心迅速拒绝到来的请 求,而不是试图寻找可用的资源。这就是我们称作的"循环中断规则(cycle breaking rule)",其用于防止下述情形 一个数据中心请求远程资源并且同时 借出本地资源以处理来自远程数据中心的请求。同样,将进行的另一步骤是 标识用于借出的适宜资源和借出成本。图1C图解性描述提供者的资源管理器中的决定做出处理。在步骤191中,接收对于资源的请求。在步骤192中,确定是否考虑将资源借给请求者。
在步骤193中,确定潜在借出者的自身数据中心资源使用和应用。在步骤194中,确定潜在借出者的自身资源使用是否许可借出资源。 在步骤195中,基于步骤194,将响应发回到请求者。 在步骤196中,如果接受,借出资源。 在步骤197中,当完成远程使用时,取回借出的资源。 将意识到, 一旦从一个或更多的数据中心确定资源可用性信息,就根据 数据中心和工作负荷策略进行资源选择。对于应用发起的不同请求可能互相 之间具有依存性。例如,应用服务器层中的附加处理也可能使数据库层的附 加处理成为必要。依存性起于应用的逻辑部署结构,其描述需要的资源类型 和它们的相互关系。.资源选择将使用这些依存性来决定使用哪个数据中心。 同样,使用这些依存性来剪除发送出去的请求,例如,只有满足第一依存性, 才尝试下一个。当请求者接受到响应时,下一步是预备(provision)资源,例如,配置资源, 安装操作系统、中间件、和应用软件。有三种可能(l)请求者在远程资源 上实行预备;(2)进行提供的数据中心实行预备处理;或(3) (1)和(2) 的某种组合。基于上述选择,资源预备机理改变。在第一种情况中,在请求端实行适当的工作流以完成资源获取。在第二 种情况中,在提供者端工作流是可用的或使工作流成为可用的。第一种情况 提供了弹性,而第二种情况提供了更多的自主性和安全性。第三种情况是前 两种情况的合并。在合并方法中,请求者和提供者相互配合并共同预备资源。一旦获取并预备了远程资源,可以如图2中所示处理该工作请求流,其 中图2是图解根据本发明的实施例的工作请求流的处理的方框/流程图。如所示,数据中心A接收工作请求210,该请求在请求分类步骤220中 被分类。该分类是基于数据中心资源管理器280中的分类标准。处理得到的 已分类的请求230以进行准入控制和转送。在步骤240, —些已分类的请求 被重定向到^:据中心B来处理245,而本地处理其他已分类的请求250a和 250b。数据中心资源管理器280中的准入控制标准275确定应该重定向哪类 业务和重定向业务的多少比例。^:据中心B处理^L重定向的工作负荷以及到 达数据中心B的剩余工作负荷。在另一实施例重,不是在准入控制器层路由请求,而是由本地资源管理 器接管(take over)远程资源,并且可以使得如此获得的这些资源可用于本地资10
源调度器和路由器。这也图解于图2中,其中请求调度和路由步骤260仿佛远程资源是本地资源那样地对待远程资源,并且基于它们的性能特性,把一部分已分类的工作负荷定向给它们。数据中心资源管理器280所定义的调度 标准278确定在可用资源之间依据类型或者依据比例的工作负荷分配。其还 确定工作负荷请求的处理优先级。第三种情况是应用控制的组合的情况,也就是,应用工作负荷重定向和 远程资源控制两者。数据中心A的准入控制器把部分请求发送到数据中心B 的准入控制器。另外,用与上述相同的数据访问变型使数据中心B的资源对 于数据中心A的请求调度器和路由器可用。从而,根据本发明的原理,提供了用于通过分配和共享来自其他数据中 心的未使用的或利用不足的资源而减轻数据中心A上的拥塞(congestion)的机 制。两种这样的机制是带有重定向的准入控制、和在远程和本地资源之间调 度工作负荷。还提供了组合这两种机制的合并方法。图3中所示的是根据本发明的实施例,选择性工作负荷卸载技术(例如, 图1A、 1B和2中所描述的组件和方法)的一个或更多组件/步骤的实现可以 依据的计算系统。将理解,可以在一个这种计算系统或多于一个的这种计算系统上实现个体的组件/步骤。在分布式计算系统上实现的情况下,个体的计 算机系统和/或设备可以通过合适的网络例如,因特网或万维网连接。然而, 可以通过私有或局域网实现该系统。无论如何,本发明不限于任何特殊的网 络。从而,图3中所示的计算系统代表用于实现数据中心的一个或更多的功 能组件,例如请求分类器、准入控制器和重定向器、请求调度器和路由器、 资源管理器、和策略组,以及其它功能的示例性计算系统结构。此外,该计 算系统结构还可以代表由数据中心提供的一个或更多实际计算资源的实现。 此外,该计算系统结构还可以代表一个或更多的客户的实现。如所示,该计算系统结构可以包括通过计算机总线310或替代的连接布 置耦接的处理器302、存储器304、 I/O设备306、和通信接口 308。在一个实 施例中,图3的计算系统结构代表与数据中心关联的一个或更多的服务器。将意识到,在此使用的术语"处理器"旨在包括任意的处理设备,诸如 例如包括CPU和/或其他处理电路的处理系统。还将理解,术语"处理器"
设备共享。在此使用的术语"存储器"旨在包括诸如例如RAM、 ROM、固定存储器设备(例如,硬盘驱动)、可移动存储器设备(例如,磁盘)、闪存等的与处理器或CPU关联的存储器。另外,在此使用的措辞"输入/输出设备"或"I/0设备"旨在包括例如, 一个或更多的用于向处理单元录入数据的输入设备(例如,键盘、鼠标等)、 和/或一个或更多的用于呈现与处理单元关联的结果的输出设备(例如,显示 器等)。此外,在此使用的措辞"网绍 接口"旨在包括例如, 一个或更多的许可 计算机系统通过适当的通信协议与另 一计算机系统通信的收发器。因此,包括用于执行在此描述的方法的指令或代码的软件组件可以被存 储在一个或更多的关联存储器设备(例如,ROM、固定的或可移动的存储器) 中,并且当将^皮利用时,^皮部分或全部加载并通过CPU4丸行。无论如何,将意识到,可以在不同形式的硬件、软件、或其组合实现在 此描述的并在附图中示出的本发明的技术,例如, 一个或更多的带有关联存 储器的操作编程的通用数字计算机、实现特定功能的集成电路、功能电路等。 给定在此提供的本发明的技术,相关领域的普通技术人员将能够考虑到本发 明的技术的其他实现。因此,如在此说明的,本发明的原理提供了用于使用远程资源来处理工 作请求类的技术。该技术可以包括确定使用远程资源和基于策略获取远程资 源。该技术还可以包括基于策略确定向请求站提供资源,以及推导将用来处 理请求的一组标准。此外,该4支术可以包括用户请求的处理,该用户请求的 处理进一步包括基于请求分类标准分类用户请求、基于请求的类别动态并可 选地重定向部分用户请求到远程资源、和动态并可选地使用远程资源来处理 请求类。此外,该技术可以包括基于策略放弃使用远程资源。尽管在此已经参考附图描述了本发明的示例实施例,将理解,本发明不 限于那些精确的实施例,并且在不脱离本发明的范围和主旨内,可以由相关 领域的技术人员做出各种其他的改变和修改。
权利要求
1.一种依据多个数据中心环境处理用户请求的方法,包括步骤在第一数据中心获得用户请求;基于一个或更多的分类标准分类所述用户请求;把与所述已分类的用户请求关联的工作负荷的至少一部分卸载到至少第二数据中心来处理,其中,所述卸载步骤至少基于与所述第一数据中心和第二数据中心的至少一个关联的一个或更多的管理策略;以及处理所述工作负荷以根据用于所述请求用户的服务级别协定至少基本满足所述用户请求。
2. 权利要求l的所述方法,其中,所述卸载步骤还包括基于与戶斤述第一 数据中心关联的准入控制策略把与所述已分类的用户请求关联的工4乍负荷的 至少 一部分重定向到所述第二数据中心。
3. 权利要求l的所述方法,其中,所述卸载步骤还包括使与所迷第二数 据中心关联的至少一个资源对与所述第一数据中心关联的资源调度器可用, 以便可以把与所述已分类的用户请求关联的工作负荷的至少一部分直4妾路由 到所述与所述第二数据中心关联的至少 一 个资源。
4. 权利要求l的所述方法,还包括在所述第一数据中心确定与在P载部分 所述工作负荷的一个或更多的收益相关联的 一个或更多的度量值的步冬聚。
5. 权利要求4的所述方法,其中,所述度量值确定步骤还包括t匕较所 述度量值与阈值,以及使用该比较的结果作为启动工作负荷卸载的角虫发器。
6. 权利要求的所述方法,其中,所述度量值确定步骤还包括调整戶斤述阈值。
7. 权利要求6的所述方法,其中,所述阈值调整步骤还包括施力cr寸亘定衰 减因子到所述阈值。
8. 权利要求7的所述方法,其中,所述阈值调整步骤还包括4巴戶斤述阚值 复位到初始值。
9. 权利要求l的所述方法,还包括从多个数据中心之中确定。那——个或更 多的数据中心是用于卸载所述工作负荷的至少 一 部分的潜在数4居中'^的步骤。
10. 权利要求9的所述方法,其中,所述潜在数据中心确定步4聚还包括以优先级顺序为基础确定潜在数据中心。
11. 权利要求9的所述方法,还包括把至少一个请求问询发送到被确定为潜在翁:据中心的所述翁:据中心的至少 一个的步骤。
12. 权利要求9的所述方法,还包括把请求问询多播到多个数据中心的 步骤。
13. 权利要求12的所述方法,还包括接受所述潜在数据中心之一作为将 用于卸载的数据中心的步骤,其中,所述第二数据中心是所接受的数据中心。
14. 权利要求13的所述方法,还包括选择一个或更多的要预备的资源的 步骤。
15. 权利要求14的所述方法,还包括预备一个或更多的所选纟奪的资源以 供处理所述工作负荷之用的步骤。
16. 权利要求15的所述方法,其中,所述资源预备步骤还包括所述第一 数据中心和所述第二数据中心中的至少 一个进行所述资源预备步骤的至少一部分。
17. 权利要求1的所述方法,还包括在所述第一数据中心可调整地设定 资源请求阈值的步骤。
18. 权利要求1的所述方法,其中,所述卸载步骤还包括在同意借出 一个或更多的资源用于处理所述工作负荷之前,所述第二数据中心确定其自 身的资源可用性。
19. 一种装置,用于依据多个数据中心环境处理用户请求,包括 存储器,以及与第一数据中心关联的至少一个处理设备,其耦合到所述存储器,并操 作来(i )获得用户请求;(ii)基于一个或更多的分类标准分类所述用户 请求;以及(iii)使与所述已分类的用户请求关联的工作负荷的至少一部分 卸载到至少第二数据中心来处理,其中,所述卸载^^喿作至少基于与所述第一 数据中心和第二数据中心的至少一个关联的一个或更多的管理策略;其中, 处理所述工作负荷以根据用于所述请求用户的服务级别协定至少基本满足所 述用户请求。
20. 权利要求19的所述装置,其中,所述卸载搡作还包括基于与所述第 一数据中心关联的准入控制策略把与所述已分类的用户请求关联的工作负荷 的至少 一部分重定向到所述第二数据中心。
21. 权利要求19的所述装置,其中,所述卸载操作还包括使与所述第二 数据中心关联的至少 一 个资源对与所述第 一 数据中心关联的资源调度器可 用,以便可以把与所述已分类的用户请求关联的工作负荷的至少 一部分直接 路由到所述与所述第二数据中心关联的至少 一个资源。
22. 权利要求19的所述装置,其中,所述至少一个处理设备还操作来确 定与卸载部分所述工作负荷的一个或更多收益相关联的一个或更多的度量值。
23. 权利要求19的所述装置,其中,所述至少一个处理设备还操作来从 多个数据中心之中确定哪一个或更多的数据中心是用于卸载所述工作负荷的 至少 一部分的潜在数据中心。
24. 权利要求19的所述装置,其中,所述至少一个处理设备还操作来可 调整地设定资源请求阈值。
25. —件制品,在第一数据中心处用于依据多个数据中心环境处理用户 请求,包括机器可读介质,该机器可读介质包括被执行时实现以下步骤的一 个或更多的程序获得用户请求;基于一个或更多的分类标准分类所述用户请求;以及 使与所述已分类的用户请求关联的工作负荷的至少 一部分卸载到至少第 二数据中心来处理,其中,所述卸载操作至少基于与所述第一数据中心和第 二数据中心的至少一个关耳关的一个或更多的管理策略;其中,处理所述工作 负荷以根据所述请求用户的服务级别协定至少基本满足所述用户请求。
全文摘要
公开了用于在多个数据中心间选择性卸载工作负荷的技术。例如,用于依据多个数据中心环境处理用户请求的技术包括如下步骤/操作。在第一数据中心获得用户请求。基于一个或更多的分类标准分类用户请求。把与已分类的用户请求关联的工作负荷的至少一部分卸载到至少一个第二数据中心来处理,其中,卸载步骤/操作至少基于与第一数据中心和第二数据中心的至少一个关联的一个或更多的管理策略。处理工作负荷以根据用于请求用户的服务级别协定使用户请求至少基本满足。
文档编号G06F9/46GK101167054SQ200580049662
公开日2008年4月23日 申请日期2005年9月30日 优先权日2005年5月27日
发明者丹尼尔·M·迪亚斯, 丹尼拉·罗苏, 乔瓦尼·帕西费西, 尼思亚·拉贾马尼, 格雷姆·N·狄克逊, 维杰伊·K·奈克, 默西·V·德瓦拉康达 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1