分布式数据处理系统的制作方法

文档序号:6594702阅读:136来源:国知局
专利名称:分布式数据处理系统的制作方法
技术领域
本发明涉及分布式数据处理系统,并涉及操作分布式数据处理系统的方法。
背景技术
数据处理业务的提供商通常运营数据中心,这些数据中心经由万维网来从客户端 计算机接收作业请求,并响应于那些作业请求来执行一些数据处理,这些数据中心通常将 处理结果返回到进行请求的客户端计算机。这种数据中心代表很多企业(例如,使用数据中心以依次向他们的客户提供在线 购物业务的零售商)来提供数据处理服务。数据中心运营商与这种企业之间的协议通常包 括预期的业务水平,并规定数据中心运营商在数据中心未能提供经协定的业务水平的情况 下向企业支付罚金。由于请求从企业的客户到达的速度以不可预测的方式显著变化,所以这是一个特 殊的问题。该问题的常规解决方案是使数据中心过工程化(over-engineer),这导致数据中 心在大部分时间未被充分利用。欧洲专利申请1612674公开了根据使用信息处理系统正被请求提供的多个 可用的应用程序中的哪个应用程序,可以拒绝或接受对信息处理系统的访问请求—— 具体地说,是否准许访问请求的决定可以取决于所关注的被请求的应用程序是否过载 (overloaded)。拒绝还是接受请求的决定可以进一步取决于是哪个客户端在做出请求。

发明内容
根据本发明,提供了一种计算机网络,该计算机网络包括客户端计算机;业务提 供系统,该业务提供系统包括作业准许控制器和一个或更多个服务器计算机;以及通信链 路,这些通信链路连接所述客户端计算机与业务提供系统;所述客户端计算机被设置为进行以下操作i)产生代表请求所述一个或更多个服务器计算机执行一数据处理作业的多个例 程的作业包(job bundle)请求消息;ii)向所述一个或更多个服务器计算机发送所述作业包请求消息;所述作业准许控制器被设置为进行以下操作i)接收所述作业包请求消息;ii)确定所述业务提供系统是否提供所述作业包;iii)向所述客户端计算机指示所述确定;所述客户端计算机还被设置为进行以下操作iv)当得到指示所述作业包被接受的所述指示时,向所述业务提供系统发送属于 所述作业包的作业请求;所述一个或更多个服务器计算机被设置为进行以下操作接收所述作业包中的作 业请求,并且执行所述作业请求中所请求的作业。
通过将执行数据处理作业的多个请求聚合成执行一批数据处理作业的单个请求, 以及通过执行包准许测试来对所述单个请求进行响应,减少了与准许控制相关联的计算 量。保持了准许控制的显著益处——即,对于一个或更多个服务器计算机所承担的工作量 的经增加的可预测性,进而,以更高的利用水平来运行一个或更多个服务器计算机而不导 致对已经在运行的作业产生不利影响的不可接受的风险的能力。与应用于单独的作业的准许控制相比的优点在于用户知道一旦接受了作业包,就 执行该作业包中的各个作业。在准许控制被应用于单独的作业的情况下,用户无法知道哪 些作业将被执行以及哪些作业将不被执行。应当注意,多个作业彼此独立(它们是独立的任务),换言之,一个数据处理作业 的输出不用作向另一个数据处理作业的输入。


现在将参照附图仅以示例的方式来描述本发明的具体实施方式
,附图中图1示出第一实施方式中使用的计算机网络;图2示出由控制器计算机针对各种作业类型而存储的作业类型表;图3示出从企业网络向数据中心发送的作业包请求消息中包含的信息;图4示出从企业网络向数据中心发送的后续作业提交消息;图5示出由控制器计算机针对各个经准许的作业包而维护的作业包汇总表;图6示出由控制器计算机针对各个经准许的作业包而维护的作业包性能表;图7是示出数据中心的操作的功能框图的图示;图8是例示在第一实施方式中,响应于来自企业网络的作业包请求消息的到达, 由数据中心的控制器计算机执行的处理的流程图;图9是例示响应于来自企业网络的作业提交消息的接收,由控制器计算机执行的 处理的流程图;图10是例示响应于来自作业处理器的作业完成消息的接收,由控制器计算机执 行的处理的流程图;以及图11是例示在第二实施方式中,响应于来自企业网络的作业包请求消息的到达, 由数据中心的控制器计算机执行的处理的流程图。
具体实施例方式图1示出包括经由互联网20连接到数据中心30的企业网络10的计算机网络。企业网络10包括经由局域网14连接到代理计算机16的大量个人计算机12 (仅 示出四个)。各个人计算机包括常规硬件,具体地说,各个人计算机包括硬盘,其用于存储 程序;处理器,该处理器的动作被这些程序控制;随机存取存储器,处理器从该随机存取存 储器获取控制该处理器的动作的程序;显示器和用于控制该显示器的显卡;网络接口卡, 其使得计算机能够向网络发送消息(并且从网络接收消息);以及一个或更多个通信总线, 其提供所提到的各个硬件之间的电子数字通信。硬盘上还存在操作系统程序和其它实用程 序。为了该例示性的示例实施方式的目的,假设拥有企业网络10的企业是以信贷
5(credit)的方式为其零售客户提供电信业务的零售电信业务公司。因此,该公司在为那些 客户提供电信业务之前对预期的客户执行信用检查。因而,各个人计算机都配置有从⑶-ROM或DVD-ROM 50安装到计算机硬盘上的信 用检查客户端程序。可以执行该信用检查客户端程序,以经由利用计算机的显示器提供的 图形用户界面来从客户业务代理商提取潜在客户的详细资料,以及以消息的形式将那些详 细资料转发到代理计算机16。代理计算机也具有常规硬件和软件。此外,信用检查代理程序从CD-ROM或 DVD-ROM M安装到计算机的硬盘上。该信用检查代理程序控制代理计算机16从个人计算 机12接收信用检查请求,并且通过互联网20将这些信用检查请求转发到数据中心30。当 接收到对于信用检查的响应时,代理计算机16将该响应传送到发出相应的信用检查请求 的任何一个个人计算机12。在该程序的控制下,代理计算机还保存企业在一天中的每个小 时内做出的信用检查请求的数量的记录。由此,代理计算机计算并且存储一天中的每个小 时内可能的信用检查的数量的估计值。在信用检查代理程序的控制下,代理计算机16每小 时都做出向数据中心30提交的信用检查的估计数量的请求。如果该请求被接受,则代理计 算机16向数据中心30转发代理计算机16在随后的小时中接收到的信用检查。数据中心30包括经由局域网34连接到控制器计算机32的大量服务器计算机36。 诸如RAID阵列38的大型持久性存储器也连接到该局域网。本领域技术人员将知道服务器 计算机36通常采用被插入到为服务器计算机提供共享存储器和电力设备的机架中的刀片 (blade)或板的形式。各个服务器计算机包括一个或更多个处理器,其动作由程序(经常 从资源库38加载)控制;随机存取存储器,处理器从该随机存取存储器获取控制该处理器 的动作的程序;网络接口卡,其使得计算机能够向网络发送消息以及从网络接收消息;以 及一个或更多个通信总线,其提供所提到的各个硬件之间的电子数字通信。服务器计算机能够执行多种不同的作业类型。合适的应用程序从CD-ROM或 DVD-ROM 56加载到控制器计算机32上,接着,控制器计算机32在资源库38中存储那些程 序。数据中心管理软件也(从CD-ROM或DVD-ROM 58)加载到控制器计算机32上,该数据中 心管理软件使得数据中心管理员能够管理哪些应用程序可以在哪些服务器上使用。在本示 例中,服务器计算机36的数据中心管理软件自动将服务器计算机36设置成池(pool)—— 任意给定池中的各个服务器运行应用程序以提供给定的作业类型。数据中心管理软件提供 使其它程序能够将服务器计算机36重新分配到不同池的接口。作业包管理程序也(从⑶-ROM或DVD-ROM 60)加载到控制器计算机32,该作业包 管理程序响应于运行作业包的请求,并且随后监测并记录数据中心在运行任何所接受的作 业包时的性能。数据中心向企业网络提供多个不同的应用程序。各应用程序提供一种作业类型。 图2示出具有与数据中心提供的N个作业类型相对应的N行的作业类型表。该作业类型表 的最左列是作业类型标识符。该示例专注的作业类型(信用检查)是作业类型1。当然存 在大量可能的作业类型,其它可能性包括例如目录查询业务、邮编/地址业务或货币兑换 业务。对于作业类型表中列出的各个所提供的作业类型,数据中心提供业务水平协议。 在当前实际使用的业务水平协议主要涉及业务(即,作业类型)的可用性时,在本示例中,数据中心执行各种类型的作业时的性能被监测并且该性能形成业务水平协议的一部分。由 控制器计算机32针对各个所提交的作业所监测的性能参数是控制器计算机32接收作业提 交消息和多个服务器计算机36中的一个开始执行该作业之间的等待时间。如将在下面更 详细地描述的,在本示例中,企业网络10将多个作业请求打包成一个作业包请求。本示例 中使用的性能参数相应地是作业包中所包括的所有作业的等待时间的平均值。通过数据中 心30提供性能参数的不会被违反的阈值水平,并且该阈值水平形成数据中心30与其客户 之间的业务水平协议的一部分。因而,在本示例中,在作业类型表的第四列中记录不应当被 超过的平均等待时间。作为业务水平协议的一部分,数据中心30同意将一笔钱(罚金)提 供给提交了针对给定作业类型的请求包、使该请求包被数据中心接受、并随后发现平均等 待时间超过了作业类型表的第四列中记录的水平的客户。该罚金的量存储在作业类型表的 第三列中。客户针对所执行的各种作业类型的各作业可支付的费用被记录在作业类型表的 第二列中。在任意给定时间有效的各种作业类型(即,被准许但却尚未完成的)包的数量的 计数也被记录在作业类型表中(第五列)。将在下面更详细地说明该计数的目的。图3示出由企业网络10中的代理计算机16向数据中心30中的控制器计算机32 发送的作业包请求消息。该作业包请求指定了将构成该作业包的作业的类型(第一行)、要 包括在该作业包中的那种类型的作业的例程的数量(第三行)、以及企业网络估计作业包 内的作业提交将到达数据中心30的平均速度。图4示出由代理计算机16针对经准许的作业包中的各个作业所发送的作业提交 消息的格式。该作业提交消息包括由控制器计算机32分配给作业包的作业包标识符(第 一行);由代理计算机16分配给作业的作业标识符(第二行);作业类型的标识(第三行); 以及为了执行作业,在数据中心30上运行的相关应用程序所需要的参数(第四行)。作为 示例,在信用检查应用程序中,作业参数可以是个人全名和地址。图5示出由控制器计算机32针对被控制器计算机32准许的各作业包所维护的作 业包表。各作业包表包括唯一的作业包标识符(第一行)、作业包中的作业的类型(第二 行)、针对该作业包的作业提交速度(第三行-其将与作业包请求(图幻的第二行中的数字 相匹配)、作业包中作业的数量(第四行-其将与作业包请求的第三行中的数字相匹配)、 针对该作业包测得的平均等待时间(第五行)、针对该作业包测得的平均业务时间(第六 行)、针对该作业包测得的等待时间的变化(第七行)、针对该作业包测得的业务时间的变 化(第八行)、作业包状态(即,当前是否正在处理作业包或者作业包内的所有作业现在是 否已经得到处理)(第九行)以及实际收入(第十行),实际收入是企业为执行该作业包对 数据中心30的欠款。图6示出控制器计算机针对各个经准许的作业包所维护的作业包性能日志。该作 业包性能日志表中的各记录的条目包括作业ID (从作业提交消息的第二行复制的)、作业 到达时间(到达控制器计算机32)、作业开始时间和作业完成时间(由服务器36向控制器 计算机32报告各作业开始时间和作业完成时间)、作业等待时间(从作业到达时间到作业 开始时间的延迟)以及作业业务时间(作业完成时间与作业开始时间之间的差异)。图7示出图1的计算机网络,但是示出了在该计算机网络上运行的软件的功能组 件。由控制器计算机32接收作业包请求(图幻和作业提交(图4),该控制器计算机32将请求设置在输入队列70中,通过消息处理组件71使请求从该输入队列70出列,并且对该 请求进行处理。将进入的消息传送到分配器72,该分配器72将作业包请求(图2、转发到 对准许控制模块76进行馈送的第二队列74。服务器36被组织为多个池100,各个池专用 于运行特定类型的作业(在图7所示的示例中,池100专用于运行类型1的作业,而池102 专用于运行类型m的作业)。分配器72将进入的作业提交(图4)转发到专用于处理在作 业包请求(图3)中发现的类型的作业提交的作业处理器80、90。各作业处理器包括按照 预定顺序向第三队列86、96呈现进入的作业提交的调度器84、94。在本示例中,调度器简 单地按照与作业提交从分配器72到达的相同的顺序转发这些作业提交(图4)。分配器72 还负责向代理计算机16转发回运行作业的结果。现在将参照图8描述由准许控制模块76和资源分配模块78在使作业包请求(图 3)从队列74出列时所执行的处理。在从队列74取得(步骤110)作业包请求消息(图3)时,资源分配器78计算(步 骤11 在作业包请求被数据中心30接受的情况下怎样将服务器36分配至专用于不同的 作业类型的池100、102。与各作业类型的所提供的工作量(利用代表作业类型的经济重要性的因子进行 了加权)成比例地计算假定的服务器分配。可以通过将作业包中的作业的到达速度(图5, 第三行)乘以针对该作业包测得的平均业务时间(图5,第六行)来计算各个正在进行中的 作业包的所提供的工作量。接着,通过将一作业类型的各个正在进行中的作业包的所提供 的作业量相加可以得到针对该作业类型的所提供的工作量。例如,可以通过将违反该作业 类型的业务水平的罚金(图2,第三列)除以该作业类型的每作业的费用(图2,第二列) 来计算权重因子。接着,假定的服务器分配用于计算各种类型的作业的可能的平均等待时间(β D。 本领域技术人员将能够提供用于根据从作业包汇总表(图5)和作业包性能日志表(图6) 中得到的信息来计算可能的平均等待时间的估计值的方法。计算完各种作业类型的可能的 平均等待时间的估计值之后,可以利用下式来计算平均等待时间超过针对各种作业类型所 提供的业务水平的概率。P (Wi > χ) = 1-Φ (χ- β i/sqrt ( β ^ki))其中,Iii是各作业包中的作业的数量,并且Φ (.)是标准正态分布的累积分布函数 (均值为0,方差为1)。利用给定作业类型的等待时间超过针对该作业类型所提供的等待时间的所计算 概率,通过从针对作业包中的作业进行收费所得的收入中抵消数据中心30必须支付针对 违反与系统中的各种作业类型相关的业务水平的罚金的概率的增大来计算(步骤114)数 据中心的收入的预期变化。接着执行测试(步骤116),以判断收入的变化是否为正。如果收入的变化不为正, 则拒绝该作业包请求,接着准许控制经由分配器72和队列73向代理计算机16发送作业包 未准许消息。接着,代理计算机16可以向代理计算机16的稍后可能重试该相同请求或者 将该请求传送到其它数据中心的管理员报告该情况。如果测试(步骤116)发现收入变化为正,则从⑶-ROM或DVD-ROM 58 (图1)安装 的数据中心管理软件被用于如之前利用上述经济加权的所提供的工作量分配所计算(步骤11 的那样来在各种作业类型之间重新分配(步骤120)服务器。在本示例中,使服务 器36上已经在运行的作业在进行重新分配之前完成。接着由控制器计算机32产生(步骤122)唯一的作业包ID。接着,将作业包ID 添加(步骤124)到所接受的作业包ID列表。最后,在代理计算机16上设置(步骤S126) HTTP cookie,该 cookie 包括作业包 ID。图9中示出计算机网络在产生和处理作业提交消息(图4)时的操作。代理计算 机产生(步骤130)作业提交消息,并且在SOAP消息的报头中包含代理计算机在作业所属 的作业包被接受时从控制器计算机32接收到的HTTP cookie.,与该实施方式中的计算机之 间的其它通信类似,根据SOAP协议对该消息进行格式化,并将该消息包含在HTTP消息中。 在本示例中,作业参数可以设置在SOAP消息的主体中,因而可以被加密,使得仅服务器36 能够读取SOAP主体的内容。本领域技术人员将认识到cookie提供了 HTTP会话的状态,并 且还作为作业包标识符。接着,代理计算机16向控制器计算机32发送(步骤131)作业提 交消息。当接收到该作业提交消息时,分配器检查(步骤132)包含在该作业提交消息中的 作业包ID是否被包含在所接受的作业包列表中。如果该作业包ID不被包含在该作业包列 表中,则处理结束(步骤134)。另一方面,如果在所接受的作业包列表中发现该作业包ID,则在作业包性能日志 表(图6)中记录(步骤136)作业提交时间。接着,将作业提交消息传送到相关的作业处 理器80、90,在该作业处理器80、90处,将该作业提交消息设置在作业队列86、96中,并且当 该作业提交消息到达作业队列86、96的前面时,将该作业提交消息转发(步骤138)给相关 的服务器池100、102。本领域技术人员将认识到由控制器计算机32根据作业包汇总表(图 5)和作业包性能日志表(图6)中记录的测量值来针对各种作业类型估计该队列延迟。在 向合适的池100、102中的服务器提交作业之后,处理结束(步骤140)。图10示出在控制器计算机32从服务器36接收(步骤150)作业完成消息时所进 行的处理。首先,控制器计算机32在作业包性能日志表(图6)中记录作业完成时间。此后, 将作业结果传送到分配器72,该分配器72经由队列73将该作业结果转发(步骤154)到代 理计算机16。接着,通过判断该作业包的作业计数现在是否等于原始的作业包请求消息(图3) 中指定的作业的数量来执行作业包完成测试(步骤156)。如果来自作业包的更多作业剩余 (remain),则处理结束(步骤158)。另一方面,如果现在完成了作业包,则计算作业包中的作业的平均等待时间,并且 在作业包汇总表(图5)中记录(步骤160)该作业包中的作业的平均等待时间。此后,通 过将该作业包中的作业的数量乘以每作业的费用(图2,第二列)并且减去当该作业包的平 均等待时间(步骤160中得到的)超过所提供的业务水平(图2,第四列)时的罚金来计算 (步骤16 数据中心所得的收入。接着,将该作业包标记为已完成,并且服务器分配模块被呼叫以在各种作业类型 之间重新分配(步骤164)服务器。上述实施方式需要对控制器计算机32所维护的等待时间、业务时间以及这些值 的变化进行详细测量。在第二实施方式中,不需要这样的测量。尽管这样对系统性能具有负面影响,但是影响并不大,所以,通过第二实施方式提供的相对较低的计算需求在一些情 况下是令人满意的。在第二实施方式中,准许控制是不太动态的,因为并非每次作业包请求到达时就 重新计算准许控制判定中使用的阈值。相反,仅当给定作业类型的作业包到达的速度(δ》 或者给定作业类型的业务时间(h)有明显变化时,才需要重新计算准许控制判定中使用的 阈值。第二实施方式涉及服务器分配,该服务器分配按照与各种作业类型的预期提供工 作量(Φυ成比例的方式在各种作业种类之间分配服务器。控制器计算机32通过将作业 类型i的作业包到达速度(δ i)乘以作业类型i的平均作业到达速度(Y i)和作业类型i 的作业包中的作业数量GO来计算(步骤170)各种作业类型的预期提供工作量(在第二 实施方式中,假设给定类型的所有作业包具有相同的平均作业到达速度,并且给定类型的 所有作业包中的作业数量相同)。接着,控制器计算机32呼叫数据中心管理软件中的模块, 以根据前一步骤(170)中计算的服务器分配来为各种作业类型重新分配(步骤171)服务
ο本领域技术人员熟悉爱尔兰B(Erlang-B)公式,该爱尔兰B公式提供了呼叫被配 置有给定数量的干线并处理给定业务量强度的电话网络拒绝的概率。本发明人已经认识到 该爱尔兰B公式可以用于得到当多个服务器被分配给给定作业种类的作业时该给定作业 类型的作业包请求被拒绝的概率。对于各种作业类型,使步骤170中计算得到的服务器分 配Mi等同于干线数量,并且使值= Yi等同于业务量强度。接着,计算在给出服 务器分配礼的情况下,各种可能的作业包数量有效的可能性。接着,计算在向作业类型i分 配Mi个服务器时对于作业类型i所能获得的预期收入。接着,得到(步骤17 使数据中 心的收入最大化的阈值Mi的设置。当接收到(步骤174)作业包请求时,控制器计算机32则利用各种作业类型的有 效作业包计数(图2,第五列)来判断(步骤176)准许新请求的作业包是否将导致超过该 作业类型的作业包的阈值数量(Mi)(步骤170中计算的)。如果该阈值将被超过,则控制器 计算机32向代理计算机16发送(步骤178)作业包拒绝消息。然而,如果准许该作业包不 会导致阈值被超过,则如与第一实施方式相关地描述的那样(图8),控制器计算机产生(步 骤182)作业包ID,在所接受的作业包列表中存储(步骤184)作业包ID,并且发送(步骤 186)作业包接受消息。将看到与先前通过接受被判断为不可能导致违反与当前所执行的工作请求相关 的业务水平协议的新工作请求所实现的情况相比,上述实施方式如何使数据中心能够具有 更高的利用率。更广泛地说,如果作业包准许控制器(在本示例中为控制器计算机32)估 计执行所请求的作业包将不会导致服务器在执行所述作业时的性能下降至可接受的水平 以下,则该作业包准许控制器准许该新的作业包请求。更广泛地说,如果作业包准许控制器 估计执行所请求的作业包将不会使服务器过载,则该作业包准许控制器准许新的作业包请 求。而且,与关于所接收到的每个工作请求执行准许控制相比,通过将工作请求捆绑在一 起,降低了与在数据处理系统中使用准许控制相关联的计算量。在另选的实施方式中,可以对上述实施方式做出以下变型i)不是使服务器计算机产生唯一的作业包标识符,而是客户端计算机能够产生唯一的作业包标识符并且将该作业包标识符包含在业务包请求中。例如,作业包标识符可以 是与客户端从一个作业包请求至下一个作业包请求递增的作业包请求号码(该号码可以 在预定数量的作业包请求之后循环回到1)相连结的客户端计算机的MAC地址。另选地,可 以迫使客户端计算机(通过代码和/或通过商业协议)遵循作业包中包含所有独立业务请 求的连续流的作业包请求。接着,网络地址(例如,作业包请求消息中包含的IP地址)将 用于识别属于该特定作业包的随后的业务请求。ii)尽管上述实施方式中各个业务请求被检查,以查明其是否属于经准许的作业 包,但是在其它实施方式中,可以迫使(通过代码和/或通过商业协议)客户端计算机不发 送业务请求,除非它们之前已经接收到该业务请求所属的业务包之前已被准许的指示。iii)在上述实施方式中,该业务涉及服务器计算机从多个源检索数据,对该数据 执行一些处理,以及向客户端发送该处理的结果。但是,该业务可能例如涉及执行一些处理 并且发送响应(例如,地址到邮编转换业务),或者该业务可以简单地涉及数据的存储(例 如,数字文件存储设备)。iv)在上述实施方式中,由控制器计算机32针对各种类型的作业来存储一个业务 水平协议。在其它实施方式中,业务水平协议可以根据相同类型作业的不同作业包而变化。ν)尽管上述实施方式中各作业包作为作业包请求的一部分宣告了各作业包的作 业到达速度和作业数量,但是也可以针对给定类型的作业固定那些数字。vi)尽管上述实施方式中,数据中心的企业客户具有大量个人计算机,所有的个人 计算机经由代理计算机16与数据中心进行通信,但是应当理解,这些个人计算机可能仅仅 是属于企业的客户、经由互联网与数据中心30进行通信以获得企业的服务的计算机。这将 例如是由数据中心提供的业务是在线零售网站的情况。vii)尽管上述示例描述了数据中心提供数据处理服务,但是也可以使用其它形式 的业务提供系统。例如,一组不同用户的个人计算机可以向其它个人计算机提供它们的数 据处理能力。viii)上述实施方式不支持提供给定作业类型的不同等级的业务。可以通过修改 作业包请求消息(图3)以包括业务等级指示(例如,“金”、“银”或“铜”)来在其它实施方 式中实现提供给定作业类型的不同等级的业务。于是,作业类型表可以包括针对不同业务 等级的不同的平均等待时间值以及可能的不同的费用和罚金。但是,这并不必须针对不同 等级的业务使用不同的作业处理器。相反,各作业处理器中的调度器84、94可以将进入的 作业请求分成基于等级的队列,并且用加权轮询法(weighted round robin method)来处 理队列(例如,重复地从金队列取得三个作业请求,接着从银队列取得两个作业请求,然后 从铜队列取得一个作业请求)。ix)在上述实施方式中,服务器计算机通过发送作业包请求消息来向客户端计算 机指示作业包被接受。但是,也可以通过不发送指示执行作业包的请求未被接受的消息来 指示作业包被接受。χ)尽管上述实施方式考虑作业包中的作业的平均到达速度,但是也可以使用指 示作业的平均到达速度的其它度量。例如,可以使用作业包中的作业之间的平均到达间隔 (inter-arrival)时|、S]0xi)尽管上述实施方式中,在不同的计算机上对执行所请求的作业的(多个)计算机执行作业包准许控制的功能,但是,在其它实施方式中,也可以通过在被设置为执行所请 求的作业的(多个)计算机中的一个计算机上运行的处理来执行所述作业包准许控制。
综上所述,公开了一种分布式数据处理系统。该分布式数据处理系统(尤其是数 据中心)存在的问题是对于那些数据中心的低利用水平。这部分地由于数据中心提供商关 心不能因为数据中心提供给客户的业务的质量下降到业务水平协议中协定的业务水平以 下而被那些客户索取罚金。公开了多个实施方式,通过对执行所请求的作业包对已经在数 据中心中运行的作业的可能影响进行评估来使数据中心控制该数据中心所承担的工作量, 这些实施方式解决了上述问题。接着,通过在可支付给客户的罚金的预期增加与作为运行 所请求的作业包的回报的预期收入之间进行权衡来做出是否提供所请求的作业包的决定。
权利要求
1.一种计算机网络,该计算机网络包括客户端计算机;业务提供系统,该业务提供系 统包括作业准许控制器和一个或更多个服务器计算机;以及通信链路,这些通信链路连接 所述客户端计算机和业务提供系统;所述客户端计算机被设置为进行以下操作i)产生代表请求所述一个或更多个服务器计算机执行一数据处理作业的多个例程的 作业包请求消息; )向所述一个或更多个服务器计算机发送所述作业包请求消息;所述作业准许控制器被设置为进行以下操作i)接收所述作业包请求消息; )估计准许所述作业包是否将使所述业务提供系统过载;iii)根据所述估计,确定所述业务提供系统是否提供所述作业包;iv)向所述客户端计算机指示所述确定;所述客户端计算机还被设置为进行以下操作ν)当得到指示所述作业包被准许的所述指示时,向所述业务提供系统发送属于所述作 业包的作业请求;所述一个或更多个服务器计算机被设置为进行以下操作接收所述作业包中的作业请 求,并执行该作业请求中所请求的作业。
2.根据权利要求1所述的计算机网络,其中,所述作业包请求消息包括指示所述作业 包中的作业的预测平均到达速度的度量。
3.根据权利要求1所述的计算机网络,其中,所述作业准许控制器还被设置为进行以 下操作监测指示给定类型的作业的当前平均到达速度以及给定类型的作业的当前平均业 务时间的度量;以及根据所述度量来得到所述给定类型的作业施加在所述业务提供系统上 的当前工作量的估计。
4.根据权利要求3所述的计算机网络,其中,所述估计涉及以下步骤所述作业准许控 制器在确定是否执行所请求的作业包时计算将以比阈值性能水平差的质量执行所述类型 的作业的概率。
5.根据权利要求4所述的计算机网络,其中,所述一个或更多个服务器计算机还被设 置为进行以下操作监测给定类型的作业的到达间隔时间的变化和给定类型的作业的业务 时间的变化,这些变化在计算将以比阈值性能水平差的质量执行所请求的作业包的概率时 也被考虑。
6.根据权利要求1所述的计算机网络,其中,所述一个或更多个服务器计算机执行多 种不同的作业类型,并且所述确定涉及以下步骤假设所请求的作业包被准许,针对作业类 型计算服务器计算机的分配,并且其后,计算以比阈值性能水平差的质量执行所请求的作 业包的概率。
7.根据权利要求4或权利要求5所述的计算机网络,其中,所述作业准许控制器与存储 器进行通信,该存储器存储与以比阈值性能水平差的质量执行所请求的作业包相关联的罚 金,以及与以比所述阈值性能水平好的质量执行所请求的作业包相关联的奖金,所述作业 准许控制器根据在给定所述存储的惩罚和奖励以及所述质量超过所述阈值的概率和/或 所述质量下降到所述阈值以下的概率时由所述作业包得到的预期收入来确定是否执行所述作业包。
8.根据权利要求6所述的计算机网络,其中,所述作业准许控制器与存储器进行通信, 该存储器针对各种作业类型存储阈值性能水平、与以比所述阈值性能水平差的质量执行所 请求的作业包相关联的罚金、以及与以比所述阈值性能水平好的质量执行所请求的作业包 相关联的奖金,所述作业准许控制器根据在给定所述存储的惩罚和奖励以及所述质量超过 所述阈值的概率和/或所述质量下降到所述阈值以下的概率时由所述作业包得到的预期 收入并根据所述一个或更多个服务器计算机已经开始执行的作业包的预期收入来确定是 否执行所述作业包。
9.根据权利要求1所述的计算机网络,其中,所述业务提供系统被设置为进行以下操 作通过查明所述作业请求是否属于经准许的作业包来对所述作业请求进行响应;以及在 发现所述业务请求属于经准许的作业包时,满足所述作业请求。
10.根据权利要求1所述的计算机网络,其中,所述作业准许控制器通过以下步骤来指 示所述确定的结果a)产生指示所述业务提供系统是否提供所述作业包的作业包准许指示消息;以及 iv)向所述作业包请求消息的发送者发送所述作业包准许消息; 所述客户端计算机通过读取所述作业包准许消息来得知所述确定。
11.根据权利要求10所述的计算机网络,其中,所述作业包准许指示消息包括作业包 标识符。
12.—种数据处理系统,该数据处理系统被设置为进行以下操作i)接收表示请求所述数据处理系统执行一数据处理业务的多个例程的作业包请求消息; )确定所述数据处理系统是否提供所述作业包;以及 iii)向所述作业包请求消息的发送者指示所述确定的结果。
13.一种操作数据处理系统的方法,该方法包括以下步骤i)接收表示请求所述数据处理系统执行一数据处理业务的多个例程的作业包请求消息; )确定所述数据处理系统是否提供所述作业包;以及 iii)向所述作业包请求消息的发送者指示所述确定的结果。
14.一种可执行的计算机程序,该计算机程序执行权利要求13所述的方法。
15.一种计算机可读介质,该计算机可读介质上存储有权利要求14所述的计算机程序。
全文摘要
本发明公开了一种分布式数据处理系统。分布式数据处理系统,尤其是数据中心存在的问题是对于那些数据中心的低水平利用。这部分地由于数据中心提供商关心不能因为数据中心提供给客户的业务的质量下降到业务水平协议中协定的业务水平以下而被那些客户索取罚金。公开了多个实施方式,通过对执行所请求的作业包对已经在数据中心中运行的作业的可能影响进行评估来使数据中心控制该数据中心所承担的工作量,这些实施方式解决了上述问题。接着,通过在可支付给客户的罚金的预期增加与作为运行所请求的作业包的回报的预期收入之间进行权衡来做出是否提供所请求的作业包的决定。
文档编号G06F9/50GK102144220SQ200980134799
公开日2011年8月3日 申请日期2009年8月24日 优先权日2008年9月8日
发明者保罗·佛朗西斯·麦基, 米歇尔·马祖克, 迈克尔·安德烈亚·费希尔 申请人:英国电讯有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1