专利名称:负载分配系统和方法
技术领域:
本发明涉及一种负载分配系统,其用于通过将从多台客户计算机接收的请求的负载在多台计算机之间进行分配来分配所述负载。更具体地,本发明涉及一种适于处理突发峰值状态(sudden spike state)的负载分配系统和方法。
背景技术:
已知的负载分配系统将从大量客户计算机发出的执行请求在多台计算机间进行分配,以有效地对它们进行处理。例如,在R.Buyya,“HighPerformance Cluster ComputingArchitecture and Systems(Volume 1 &2)”,1999,Prentice Hall,or Tony Bourke,“Server Load DistributingTechnique”,O’Reilly Japan Co.,Ltd.,December 13,2001中对此类型的负载分配系统的进行了描述。负载分配系统,例如Web服务器负载分配系统,包括多台Web服务器计算机以及负载分配装置。
在Web服务器负载分配系统中,来自客户计算机的请求(执行请求)被经由外部网络发送给负载分配装置。例如,可由运行于客户计算机上的Web浏览器发出该请求。一旦接收到来自客户计算机的请求,负载分配装置从Web服务器计算机中选择一台服务器计算机来处理该请求。进行服务器选择从而可以防止过多的负载仅被施加于特定的服务器计算机。于是,可以采用多种方法进行服务器选择,例如(1)循环法,(2)加权循环法,或(3)用于选择目前具有最小数目的会话的服务器计算机的方法。循环法是逐一依次平等地在所有服务器计算机中进行选择的方法。加权循环法是一种基于循环法的方法,但在该方法中,根据每台计算机的容量不同改变对每台服务器计算机的选择频率。
负载分配装置将接收到的请求经由内部网络发送给被选择的服务器计算机。Web服务器运行在所述被选择的服务器计算机上。基于接收到的请求,服务器计算机利用Web服务器进行处理。此后,服务器计算机经由内部网络将对所述请求的回答提供给负载分配装置。负载分配装置又经由所述外部网络将回答发送给作为请求发送者的客户计算机。
进一步,在Tetsuo Kaneko and Yoshiya Mori,“Cluster Software”,Toshiba Review,vol.54,No.12(1999),pp.18-21(以下称为“现有技术文献”)中描述了一种称为集群系统的计算机系统。在集群系统中,当某台工作中的计算机发生故障时,在故障发生前执行的服务(业务)被系统中的另一台计算机接管(执行故障切换)。例如,处于待机状态(热待机状态)的计算机被用作故障切换计算机。
在上述包括Web服务器的Web服务器负载分配系统中,通常基于,例如,请求的数目来确定用于处理来自客户服务器的请求的Web服务器的数目。然而,最近,因特网用户的数目已变得极为庞大。因此,远多于网站管理员的预期的大量请求容易集中于负载分配系统。在这种情况下,由于所谓的“峰值现象”而导致的如下问题将经常发生(A)对每个请求可能需要极长的响应时间;(B)可能变得不能访问Web服务器;以及(C)Web服务器可能停机。
当网站管理员能够在一定程度上估计请求的数目(点击数)的增加时,他们就可以处理峰值现象了,例如,利用附加的Web服务器。然而,在大多数情况下,不可能对点击数的增量进行估计,这使得难以处理所述峰值现象。
发明内容
本发明的目的是提供一种能够容易地处理突发峰值现象的负载分配系统,以及用于其中的负载分配方法。
依据本发明的一方面,提供了一种负载分配系统,其包括多台服务器计算机、负载分配装置、多台备用计算机、备用计算机管理单元、备用计算机启动/停止单元、设置改变单元和引导镜像选择单元。服务器计算机处理来自多台客户计算机的请求。服务器计算机被管理和分类到对应于不同类型的引导镜像的多个服务器计算机组,所述不同类型的引导镜像包括由服务器计算机执行的操作系统。负载分配装置被设置为在包括所述服务器计算机的多台负载分配目标计算机之间分配来自所述客户计算机的所述请求。备用计算机可被用作为所述负载分配目标计算机。在备用计算机被用作为所述负载分配目标计算机时,所述备用计算机被启动。所述服务器配置管理单元被设置为,对于每一个服务器计算机组,基于包括了所述每个服务器计算机组的服务器计算机的所有负载分配目标计算机的负载,确定将被作为新的负载分配目标计算机开始使用或者将被作为负载分配目标计算机结束使用的备用计算机的数目。所述备用计算机管理单元被设置为管理所述备用计算机的使用状态。所述备用计算机管理单元确定这样的备用计算机,其对应于由所述服务器配置管理单元为所述每个服务器计算机组确定的,作为新的负载分配目标计算机将被开始使用或者作为负载分配目标计算机将被结束使用的备用计算机的数目。备用计算机启动/停止单元被配置为启动或停止由所述备用计算机管理单元确定的备用计算机。所述设置改变单元被设置为将由所述备用计算机管理单元确定的备用计算机追加为负载分配目标计算机,或者将由所述备用计算机管理单元确定的备用计算机从负载分配目标计算机中排除出去,其中所述负载分配目标计算机是所述负载分配装置进行负载分配的目标。引导镜像选择单元被配置为从不同类型的引导镜像中选择与所述每个服务器计算机组相对应的引导镜像,所述服务器计算机组包括由所述备用计算机管理单元确定且作为所述负载分配目标计算机将被开始使用的备用计算机。所述引导镜像被用来引导由所述备用计算机管理单元确定的备用计算机。
图1是框图,其示出了根据本发明第一实施例的负载分配系统的构造;图2是流程图,其示出了所述第一实施例的操作程序;图3是框图,其示出了根据本发明第二实施例的负载分配系统的构造;图4是流程图,其示出了所述第二实施例的操作程序;图5是示图,其示出了出现在图1中的表151a的数据结构例子;图6是示图,其示出了出现在图3中的表251a的数据结构例子;图7是框图,其示出了根据本发明第三实施例的负载分配系统的构造;图8是流程图,其示出了所述第三实施例的操作程序;图9是框图,其示出了根据本发明第四实施例的负载分配系统的构造;图10是流程图,其示出了所述第四实施例的操作程序;图11是示图,其示出了出现在图7中的表351a的数据结构例子;图12是示图,其示出了出现在图9中的表451a的数据结构例子;图13是示图,其示出了出现在图9中的表470的数据结构例子;图14是示图,其示出了这样的状态,在其中备用节点计算机15-1和15-2的标识符(P1和P2)相关于磁盘D1的标识符(D1)被额外存储于如图13所示状态下的表470中;图15是框图,其示出了本发明第四实施例的变型例;图16是框图,其示出了根据本发明第五实施例的负载分配系统的构造;图17是流程图,其示出了在所述第五实施例中的Web服务器站点的操作程序;图18是流程图,其示出了在所述第五实施例中的公共备用节点计算机站点的操作程序;以及图19是示图,其示出了出现在图16中的记录文件652a的数据结构例子。
具体实施例方式
下面将参照附图描述本发明的实施例。
图1是框图,其示出了根据本发明第一实施例的负载分配系统的构造。图1的系统包括多台(例如6台)Web服务器计算机11-1到11-6以及负载分配装置12。Web服务器计算机11-1至11-6和负载分配装置12经由并入所述系统中的网络(内部网络)13互相连接。进一步,负载分配装置12经由未并入所述系统中的网络(外部网络)14与多台客户计算机(未示出)相连接。
Web服务器计算机11-1至11-6处理来自客户计算机的请求。当经由外部网络14接收到来自客户计算机的请求时,负载分配装置12从Web服务器计算机11-1至11-6中选出一台服务器计算机并使其处理所述请求。就选择而言,在背景技术中描述的选择方法(1)至(3)中的任意一个均可采用。进一步,负载分配装置12将来自客户计算机的请求传送给被选择的服务器计算机。即,负载分配装置12将从大量客户计算机提供的请求分配给Web服务器计算机11-1至11-6,以在其之间分配负载。
负载分配装置12包括负载信息获取单元120。负载信息获取单元120获取指示每台计算机的负载状态的信息(计算机负载信息),所述计算机作为负载分配装置12进行负载分配的目标。由负载分配装置12设置的在装置12与负载分配目标计算机之间的会话的数目被用作为由装置12获取的关于作为负载分配目标的计算机的负载信息。被引导为负载分配目标的负载分配目标计算机可以是Web服务器计算机11-1至11-6和下述的备用节点计算机15-1至15-4中的任意一台。
备用节点计算机(此后称为“PN计算机”)15-1至15-4为辅助计算机,通常处于OFF状态,并不被引导。PN计算机15-1至15-4被置于用于消除突发的“峰值状态”的负载分配目标候选。然而,任何已用作为负载分配目标的PN计算机被从所述候选中去除。在本实施例中,“峰值状态”被视为这样的状态,在其中所有作为负载分配目标的计算机的负载超出了预设阈值。PN计算机15-1至15-4被连接到内部网络13。
内部网络13也被连接到管理服务器计算机15。管理服务器150运行于管理服务器计算机15。当管理服务器计算机15中的CPU(未示出)读取并执行预设的计算机管理程序时实现管理服务器150。计算机管理程序由诸如CD-ROM、软盘或存储卡等记录介质提供。由所述记录介质提供的计算机管理程序被存储和使用于,例如,管理服务器计算机15中的磁盘驱动器。所述计算机管理程序可经由外部网络14被发送给管理服务器计算机15,并存储在其磁盘驱动器中。
管理服务器150包括多种功能性元件,诸如服务器配置管理单元151、备用节点管理单元(此后称为“PN管理单元”)152、备用节点启动/停止单元(此后称为“PN启动/停止单元”)153和设置改变单元154。
服务器配置管理单元151具有用于管理充当Web服务器的计算机(服务器计算机)的功能。服务器配置管理单元151还具有用于确定应该将被开始使用的PN计算机(即,新近将被用作为负载分配目标的PN计算机)或者应该被结束使用的PN计算机(即,应从所述负载分配目标中排除的PN计算机)的数目的功能。基于由负载分配装置12设置为负载分配目标的计算机的负载状态来进行所述确定。为实现这一点,服务器配置管理单元151保存表151a。表151a存储阈值(负载阈值),每个阈值是为所用的所有负载分配目标的负载而设置,与将被用作为负载分配目标的PN计算机的数目(将被使用的PN计算机的数目)有关,所述PN计算机的数目与各自的阈值相对应。
图5示出了表151a例子。在图5所示的例子中,表151a存储了3个与各自的将被使用的PN计算机的数目相关的负载阈值NS1、NS2和NS3。3个负载阈值NS1、NS2和NS3分别对应于第一、第二和第三峰值状态。表151a在计算机管理程序中预先设置,并在管理服务器计算机15被引导时加载到计算机15的主存储器(未示出)。
PN管理单元152具有用于管理PN计算机15-1至15-4的使用状态的功能。进一步,当服务器配置管理单元151确定应该被开始使用或结束使用的PN计算机的数目时,PN管理单元152从PN计算机15-1至15-4中确定(选择)应该被开始使用或结束使用的PN计算机。
PN启动/停止单元153具有用于启动或停止由PN管理单元152确定的PN计算机的功能。PN启动/停止单元153以如下方式启动/停止PN计算机。PN启动/停止单元153运用“Wake On LAN(网络唤醒)”(商标)技术启动PN计算机。为了启动PN计算机,PN启动/停止单元153向内部网络13发送指定PN计算机启动的特殊数据包。为了指定PN计算机,所述特殊数据包包括分配给安装于PN计算机上的LAN卡(网卡)的MAC地址。安装在各PN计算机上的LAN卡作为用于将计算机连接到网络(在本情况下为内部网络13)的控制电路进行工作。每块LAN卡都被保持在待机状态,以检查通过内部网络13传送的特殊数据包。为此,当PN计算机处于OFF状态时,总是向每块LAN卡提供待机电流。每块LAN卡在接收到指定相应MAC地址的特殊数据包,即送至其处的特殊数据包时,都具有引导相应PN计算机的功能。进一步,PN启动/停止单元153以如下方式停止每台PN计算机。PN启动/停止单元153经由内部网络13为将要停止的计算机提供作为选项的指定电源中断的关机命令。作为提供该命令的结果,PN启动/停止单元153停止PN计算机。更具体地,例如在操作系统为UNIX(商标)的情况下,命令“init”可被用作关机命令。命令“init”包括指定电源中断的选项。当指定电源中断的关机命令被执行时,电源驱动器被调用以中断向计算机的供电。为了执行来自远程计算机的关机命令,使用远程shell(rss)命令已足够了。
设置改变单元154具有控制负载分配装置12的功能,从而使得所述装置12将由PN启动/停止单元153启动或停止的PN计算机变为该装置12的负载分配目标或者将所述PN计算机从负载分配目标中排除出去。换言之,设置改变单元154具有允许负载分配装置12向由PN启动/停止单元153启动或停止的PN计算机提供请求或者禁止该装置12向所述PN计算机提供请求的功能。
然后参照图2的流程图,将给出对图1的负载分配系统的操作的描述。首先,管理服务器计算机15中的服务器配置管理单元151从被并入负载分配装置12中的负载信息获取单元120获取指示每台所述计算机(负载分配目标计算机)负载的负载信息,所述计算机包括Web服务器计算机11-1至11-5并且充当负载分配装置12的负载分配目标(步骤S1)。因此,如果PN计算机15-1至15-4中的一台或多台被用作负载分配目标计算机,那么也获取关于所述一台或多台PN计算机的负载信息。在此实施例中,作为关于每台负载分配目标计算机的负载信息,由负载分配装置12设置的在每台客户计算机和每台负载分配目标计算机之间的会话数被获取。在步骤S1中,服务器配置管理单元151从每台负载分配目标计算机的计算机负载信息计算所有负载分配目标计算机的负载NS。在此实施例中,可通过将由所有负载分配目标计算机的计算机负载信息所指示的负载(会话数)相加来获取整体负载NS。可选地,可利用对应于(例如,反比于)负载分配目标计算机的处理能力的权重对负载进行加权,将这些加权的负载进行相加的结果可作为全体负载NS。
其后,参照表151a,服务器配置管理单元151确定与目前负载NS相对应的将被使用的PN计算机的数目(步骤S2)。在本实施例中,对表151a内容的设置如图5所示。在本情况下,服务器配置管理单元151按如下方式确定将被使用的PN计算机的数目如果NS<NS1,则将被使用的PN计算机的数目为0;如果NS1≤NS<NS2,则将被使用的PN计算机的数目为2;如果NS2≤NS<NS3,则将被使用的PN计算机的数目为4;以及如果NS≥NS3,则将被使用的PN计算机的数目为6。
其后,服务器配置管理单元151比较所确定的将被使用的PN计算机的数目与当前使用的PN计算机的数目(步骤S3)。如果它们彼此相等,则服务器配置管理单元151确定没有必要指定新的PN计算机作为负载分配目标计算机(即,应开始使用的计算机)。在这种情况下,服务器配置管理单元151在预定时段内采取待机状态(步骤S4),然后重复步骤S1及其之后的步骤。
相反,如果将被使用的PN计算机数目较大(步骤S3),则服务器配置管理单元151确定有必要分配新的PN计算机作为负载分配目标计算机。在这种情况下,服务器配置管理单元151请求PN管理单元152开始对新的PN计算机的使用。响应于此请求,PN管理单元152确定在PN计算机15-1至15-4中是否有未被占用的PN计算机(步骤S5)。如果不包含任何未被占用的PN计算机,即如果PN计算机15-1至15-4均已被用作负载分配目标计算机,则该情况被从PN管理单元152报告给服务器配置管理单元151。此时,服务器配置管理单元151在预定时段内采取待机状态(步骤S4),并且然后重复步骤S1及其之后的步骤。
相反,如果包含未被占用的PN计算机,即,如果目前尚有PN计算机未被使用(被引导),则PN管理单元152进行用于分配PN计算机作为应该开始使用的计算机(负载分配目标计算机)的处理(步骤S6)。基于未被占用的PN计算机的数目N是大于还是小于上述数目之间的差Nd,如下进行所述处理。首先,如果N≥Nd,则PN管理单元152从未被占用的PN计算机中选择与所述差Nd相同数目的PN计算机,并将它们指定为应开始使用的计算机。进一步,如果N<Nd,则服务器配置管理单元151选择所有N台未被占用的PN计算机,并将它们指定为应开始使用的计算机,尽管它们在数量上并不足够。指示计算机分配的信息被从PN管理单元152提供给服务器配置管理单元151、PN启动/停止单元153和设置改变单元154。
接收到该消息后,PN启动/停止单元153启动作为应该开始使用的计算机的由服务器配置管理单元151指定(确定)的PN计算机(步骤S7)。此时,设置改变单元154控制负载分配装置12将由PN启动/停止单元153启动的PN计算机(由PN管理单元152确定开始使用的计算机)追加为充当负载分配装置12的负载分配目标的负载分配目标计算机(步骤S8)。步骤S7和S8的次序可以颠倒。当负载分配装置12的负载分配目标已被设置改变单元154的控制改变后,服务器配置管理单元151在预定时段内采取待机状态(步骤S4),并且然后重复步骤S1及其之后的步骤。
如果将被使用的PN计算机的数目小于当前使用的PN计算机的数目(步骤S3),则服务器配置管理单元151确定有必要结束使用与所述差Nd相同数目的PN计算机。在这种情况下,服务器配置管理单元151请求PN管理单元152结束使用与Nd相同数目的PN计算机。响应于该请求,PN管理单元152从当前使用的PN计算机中确定需结束使用的与Nd相同数目的PN计算机(步骤S9)。指示由PN管理单元152确定结束使用的PN计算机的信息被从PN管理单元152发送给服务器配置管理单元151、PN启动/停止单元153和设置改变单元154。
此时,设置改变单元154控制负载分配装置12,从而使得确定将结束使用的PN计算机被从负载分配装置12的负载分配目标中排除出去(步骤S10)。PN启动/停止单元153停止由PN管理单元152确定结束使用的PN计算机(步骤S11)。步骤S10和S11的次序可以颠倒。当停止与Nd相同数目的PN计算机时,服务器配置管理单元151在预定时段内采取待机状态(步骤S4),然后重复步骤S1及其之后的步骤。
从以上描述中明显可见,在采用图5的表151a的图1的系统中,如果负载NS不小于负载阈值NS1(假定NS<NS2),两台PN计算机被用作负载分配目标计算机。在此状态下,如果负载NS被增大到负载阈值NS2或更大(假定NS<NS3),另外两台PN计算机被追加为负载分配目标计算机。在这种情况下,总共4台PN计算机,即系统中所有的PN计算机15-1至15-4都被使用。如果在此状态下,负载NS被增大到负载阈值NS2或更大,又有两台PN计算机必须被追加为负载分配目标计算机。然而在此时,系统中所有的PN计算机15-1至15-4都已经被使用,再也不存在未被占用的PN计算机了。因此,不会出现超过4台PN计算机被使用的情况。
进一步,当使用了PN计算机15-1至15-4时,如果负载NS小于负载阈值NS2(假定NS≥NS1),则两台PN计算机就被从负载分配目标中排除出去。在这种情况下,使用剩下的两台PN计算机。在此状态下,如果负载NS小于负载阈值NS1,则剩下的两台PN计算机也被从负载分配目标中排除出去。结果,没有PN计算机被使用。由此可知,表151a定义了开始/结束对PN计算机的使用的条件,其与负载相对应。
如上所述,在本发明第一实施例的负载分配系统中,当负载导致峰值状态发生后,一台或多台PN计算机(备用计算机)被引导,并且负载分配装置12利用被引导的PN计算机额外地进行负载分配。在此状态下,如果负载减少,则PN计算机就被从负载分配目标中排除出去并停止运行。结果,即使大量服务器并非总是被引导,也能够处理突发峰值状态。即,即使有远比系统(包括Web服务器计算机11-1至11-6)管理员所预期的多得多的请求集中于该系统中,还是能够避免如“背景技术”部分所述的由于“峰值现象”可能导致的难题(A)至(C)。
上面的实施例采用了这样的结构,在其中管理服务器150运行于独立的管理服务器计算机15。然而,管理服务器150可被运行于Web服务器计算机11-1至11-6中的任意一台中。在这种情况下,明智地采用这样的结构,在该结构中,即使在其中运行有管理服务器150的Web服务器计算机发生异常,由管理服务器150提供的功能也不会中断。具体地,如果至少Web服务器计算机11-1至11-6能提供诸如在现有技术文献中公开的集群系统,就足够了。当它们提供集群系统时,即使管理服务器150所运行于的Web服务器计算机发生异常,管理服务器150的功能(即,服务器配置管理单元151、PN管理单元152、PN启动/停止单元153以及设置改变单元154的功能)可由另一台Web服务器计算机接管。进一步,Web服务器计算机的数目和PN计算机的数目并不限于上面描述的数目。如果至少两台(即,多台)Web服务器计算机被采用,并且至少一台PN计算机被采用,就足够了。此外,负载分配装置12中负载信息获取单元120可以获取负载NS。
图3是框图,其示出了根据本发明第二实施例的负载分配系统的构造。在该图中,与图1中元件相同的元件由相应的参考数字标注。图3的系统与图1的系统的不同之处在于在前者中,与图1中负载分配装置12相对应的负载分配装置22没有负载信息获取单元。而是,与图1中Web服务器计算机11-1至11-6相对应的Web服务器计算机21-1至21-6分别包括了负载信息获取单元F1至F6。负载信息获取单元F1至F6分别仅获取关于Web服务器计算机21-1至21-6的负载信息,这与图1中的负载信息获取单元120不同。进一步,由负载信息获取单元F1至F6获取的计算机负载信息项不指示会话数目,而是分别指示包含于Web服务器计算机21-1至21-6中的CPU的使用率。如果单台Web服务器计算机具有多个CPU,则将通过相加这些CPU的使用率而获得的值用作Web服务器计算机的负载信息(计算机负载)。负载并不限于每个CPU的使用率。如果负载能够反映在Web服务器计算机中请求的处理,就足够了。每个存储器的使用率、每个输入/输出单元的使用率等等均可单独用作负载,或者与每个CPU的使用率相组合以用作负载。
进一步,在图3的系统中,管理服务器计算机25代替了图1中的管理服务器计算机15。管理服务器250运行在管理服务器计算机25上。管理服务器250包含多个功能元件,例如服务器配置管理单元251、PN管理单元252、PN启动/停止单元253和设置改变单元254。与服务器配置管理单元151不同,服务器配置管理单元251基于由每个负载分配目标计算机的负载信息获取单元所获取的计算机负载信息来获取所有负载分配目标计算机的整体负载。该整体负载称为“NC”。因此,在本实施例中假定作为辅助负载分配目标计算机的PN计算机15-1至15-4包括各自的负载信息获取单元(未示出),所述负载信息获取单元相似于Web服务器计算机21-1至21-6的负载信息获取单元F1至F6。
服务器配置管理单元251保存表251a。表251a存储用于所用的所有负载分配目标计算机的负载的负载阈值,其与将被用作负载分配目标的PN计算机的数目(将被使用的PN计算机的数目)有关,所述PN计算机的数目与各自的阈值相对应。图6示出了表251a的一个例子。在图6的例子中,表251a存储3个与各自的将被使用的PN计算机的数目相关的负载阈值NC1、NC2和NC3。负载阈值NC1、NC2和NC3分别与存储在图5的表151a中的负载阈值NS1、NS2和NS3相对应。
参照图4的流程图,下面将对图3的负载分配系统的操作进行描述,并且主要描述其与图1所示的负载分配系统的不同点。在图3的负载分配系统中,执行与图2的流程图中步骤S1至S11相对应的步骤S21至S31。在步骤S21(对应于图2中的步骤S1)获取负载的方式上,该系统与图1的系统不同。即,在步骤S21,服务器配置管理单元251从并入每个Web服务器计算机中的负载信息获取单元F1,...,或F6获取关于当前充当负载分配目标的每个Web服务器计算机21-1,...,或21-6的负载信息。服务器配置管理单元251从所述获得的关于每台负载分配目标计算机的负载信息(计算机负载信息)获取整体负载NC。在此实施例中,将由所述负载信息所指示的所有负载分配目标计算机的负载(CPU使用率)的相加结果作为整体负载NC。可选地,可利用对应于(例如,正比于)负载分配目标计算机的处理能力(例如,CPU的处理速度)的权重对所述负载进行加权,并且将这些加权的负载的相加结果可作为整体负载NC。在获取整体负载NC之后服务器配置管理单元251所进行的操作与第一实施例中的相似,除了负载从NS变成了NC以及负载阈值从NS1、NS2和NS3分别变成了NC1、NC2和NC3。
图7是框图,其示出了依据本发明第三实施例的负载分配系统的构造。在该图中,与图1或图3中的元件相同的元件由相应的参考数字来标注。图1所示的负载分配装置12被用作图7的系统的负载分配装置,且图3所示的Web服务器计算机21-1至21-6被用作图7的系统的Web服务器计算机。图7的系统的特征在于其既使用负载分配装置12的负载信息获取单元120,又使用所有负载分配目标计算机的负载信息获取单元,其中后者包括Web服务器计算机21-1,...,和21-6的负载信息获取单元F1,...,和F6。即,为了确定将被使用的PN计算机的数目,图7的系统既利用从负载信息获取单元120得到的关于每台负载分配目标计算机的负载信息(该信息指示会话的数目),又利用从每台负载分配目标计算机的负载信息获取单元得到的负载信息(该信息指示CPU的使用率)。
因此,在图7的系统中,使用了管理服务器计算机35,而不是图1的管理服务器计算机15或图3的管理服务器计算机25。管理服务器350运行在管理服务器计算机35上。管理服务器350包含多个功能元件,例如服务器配置管理单元351、PN管理单元152、PN启动/停止单元153和设置改变单元154。服务器配置管理单元351具有与图1的服务器配置管理单元151以及图3的服务器配置管理单元251的功能相对应的功能。即,服务器配置管理单元351基于由负载分配装置12的负载信息获取单元120获取的计算机负载信息获取负载NS。服务器配置管理单元351还基于由每台负载分配目标计算机的负载信息获取单元获取的计算机负载信息获取负载NC。
服务器配置管理单元351保存表351a。图11示出了表351a的例子。表351a的特征在于其存储了与对应于负载NS的负载阈值(在此实施例中为NS1、NS2和NS3)相关的,以及与对应于负载NC的负载阈值(在此实施例中为NC1、NC2和NC3)相关的将被使用的PN计算机的数目。
参照图8的流程图,下面将对图7的负载分配系统的操作进行描述,并且主要描述其与图1所示的系统的不同点。在图7所示的负载分配系统中,执行与图2流程图中的步骤S2相对应的步骤S43以及与图2流程图中的步骤S3至S11相对应的步骤S44至S52。
具体地,在图7的负载分配系统中,服务器配置管理单元351基于由负载分配装置12的负载信息获取单元120获取的关于每台负载分配目标计算机的负载信息(该信息指示会话的数目)获取所有负载分配目标计算机的整体负载NS(步骤S41)。服务器配置管理单元351还基于由每个负载分配目标计算机的负载信息获取单元获取的负载信息(该信息指示CPU的使用率)获取所有负载分配目标计算机的整体负载NC(步骤S42)。
在获取负载NS和NC后,服务器配置管理单元351进入步骤S43。在步骤S43,服务器配置管理单元351参考表351a以确定与当前负载NS相对应的将被使用的PN计算机的数目。相似地,服务器配置管理单元351基于表351a的内容确定与当前负载NC相对应的将被使用的PN计算机的数目。其后,服务器配置管理单元351比较对应于负载NS和NC的将被使用的PN计算机的数目,并且选择所述数目中较大的一个作为将被实际使用的PN计算机的数目。后面的步骤与第一实施例中相应的步骤相似。
如上所述,在本实施例中,基于不同类型的负载NS和NC,单独地计算抑制由NS和NC指示的峰值状态所必需的PN计算机的数目n1和n2。选择n1和n2中较大的一个作为将要实际使用的PN计算机的数目。结果,由于在第一和第二实施例中的将使用的PN计算机的数目仅由负载NS和NC中的一个所确定,本实施例能够比第一实施例和第二实施例更有效地克服峰值状态。
图9是框图,其示出了依据本发明第四实施例的负载分配系统的配置。在该图中,那些与图7中对应单元相同的单元由相应的参考数字来表示。首先,描述图9的系统与图7的系统的不同点。在图7的系统中,虽未提及,但假定了Web服务器计算机(21-1至21-6)执行相同类型的引导镜像。第一实施例和第二实施例同样如此。引导镜像至少包括操作系统(OS)。引导镜像可以包括在OS下可操作的应用程序。因而,如果包含所述OS的相同引导镜像被每一台Web服务器计算机执行,则可能使得当峰值状态发生时使用的PN计算机对应于用于引导(启动)该计算机的引导镜像。
相反,在图9的系统中,在不同的Web服务器计算机中执行不同的引导镜像。在这种情况下,分类到对应于在其中执行的引导镜像的组中的Web服务器计算机受到管理。进一步,用于确定将使用的PN计算机的数目的负载被以组为单位进行测量。取决于出现导致峰值状态的负载的组,确定用于引导用来抑制所述状态的PN计算机的引导镜像的类型。因此,事先不能使得引导镜像对应到PN计算机。然而,如果PN计算机是以组为单位准备的,那么事先能使得引导镜像对应到PN计算机。在这种情况下,须准备大量PN计算机,这是不现实的。例如,如果PN计算机被分到对应于所用3种类型的引导镜像的3个组中,并且每个组包含4台PN计算机,那么总共需要12(=3×4)台PN计算机。
按照以上讨论,图9的系统采用了如下结构,该结构使PN计算机可由任意引导镜像来引导。图9的系统采用了3种引导镜像#1、#2和#3。因此,分别分类到与引导镜像#1至#3相对应的3个Web服务器计算机组40-1(#1)至40-3(#3)中的Web服务器计算机受到管理。Web服务器计算机组40-1(#1)包含由引导镜像#1引导的p台Web服务器计算机41-11至41-1p。Web服务器计算机组40-2(#2)包含由引导镜像#2引导的q台Web服务器计算机41-21至41-2q。Web服务器计算机组40-3(#3)包含由引导镜像#3引导的r台Web服务器计算机41-31至41-3r。
进一步,图9的系统采用了与图7中的管理服务器计算机35相对应的管理服务器计算机45。管理服务器450运行在管理服务器计算机45上。管理服务器450包括多个功能元件,例如服务器配置管理单元451、PN管理单元152、PN启动/停止单元153、设置改变单元154和引导镜像选择单元455。服务器配置管理单元451具有以Web服务器计算机组#i(i=1,2,3)为单位获取负载NS和NC以及基于负载NS和NC以所述组#i为单位确定将被使用的PN计算机的数目的功能。
服务器配置管理单元451保存如图12所示的表451a。表451a的特征在于其存储了以Web服务器计算机组#1至#3为单位的将被使用的PN计算机的数目,该数目与对应于负载NS的负载阈值(在此实施例中,NS11、NS12和NS13至NS31、NS32和NS33),以及对应于负载NC的负载阈值(在此实施例中,NC11、NC12和NC13至NC31、NC32和NC33)有关。
当在Web服务器计算机组40-i(#i)中出现引起峰值状态的负载且PN管理单元152确定一台或多台PN计算机(以下假定确定多台PN计算机)时,引导镜像选择单元455具有为已确定的PN计算机设置组40-i(#i)唯一的引导镜像#i的功能。引导镜像#i被用于包含于组40-i(#i)中的Web服务器计算机中。由引导镜像选择单元455为PN计算机设置引导镜像#i意味着利用稍后将讨论的表470使得PN计算机对应到存储了所述引导镜像#i的磁盘(磁盘驱动器)。即,引导镜像选择单元455具有选择存储了用于引导PN计算机的引导镜像的磁盘的功能。
当高负载被应用于Web服务器计算机组40-1(#1)时,存储引导镜像#1的磁盘(后述的磁盘D1)被引导镜像选择单元455对应到新近并入该组的PN计算机,其中所述引导镜像#1被用于属于该组的Web服务器计算机41-11至41-1p。相似地,当高负载被应用于Web服务器计算机组40-2(#2)时,使得存储引导镜像#2的磁盘(后述的磁盘D2)对应到新近并入该组的PN计算机,其中所述引导镜像#2被用于属于该组的Web服务器计算机41-21至41-2q。进一步,当高负载被应用于Web服务器计算机组40-3(#3)时,使得存储引导镜像#3的磁盘(后述的磁盘D3)对应到新近并入该组的PN计算机,其中所述引导镜像#3被用于属于该组的Web服务器计算机41-31到41-3r。
在此实施例中,Web服务器计算机41-11至41-1p、Web服务器计算机41-21至41-2q、Web服务器计算机41-31至41-3r、管理服务器计算机45和PN计算机15-1至15-4被连接到存储区域网络(后文称为“SAN”)46。SAN 46还与存储装置47相连接。存储装置47包括磁盘(磁盘驱动器)D1至D3。也就是说,上述计算机的每一台和存储装置47中的磁盘D1至D3被连接到SAN 46。磁盘D1至D3分别预存了用于Web服务器计算机组40-1至40-3的Web服务器计算机的引导镜像#1至#3。
存储装置47还包括保存表470的数据库。表470存储着信息,在该信息中,存储装置47中的磁盘D1至D3被与将磁盘D1至D3用作引导盘的计算机联系在一起。将磁盘Di(i=1,2,3)用作引导盘的计算机意味着由存储在磁盘Di中的引导镜像#i引导(启动)的引导计算机。
图13示出了表470的例子。在图13的例子中,表470存储了信息(例如磁盘标识符),其与信息(例如计算机标识符)有关。前一种信息指示存储引导镜像#1至#3的磁盘(引导盘)D1至D3。后一种信息指示由存储在磁盘D1至D3中的引导镜像#1至#3引导的计算机,即利用磁盘D1至D3作为引导盘的计算。在此实施例中,假定Web服务器计算机41-11至41-1p的标识符为WS11至WS1p,Web服务器计算机41-21至41-2q的标识符为WS21至WS2q,Web服务器计算机41-31至41-3r的标识符为WS31至WS3r。进一步,假定PN计算机15-1至15-4的标识符为P1至P4。
图9的系统采用如下程序通过引导镜像#i引导PN计算机15-j(j为1至4中的一个)。首先,引导镜像选择单元455在保存于存储装置47的数据库中的表470中搜索存储了引导镜像#i的磁盘Di的标识符。其后,引导镜像选择单元455操作表470以另外地设置与磁盘Di的标识符(Di)有关的PN计算机15-j的标识符(Pj)。通过引导镜像选择单元455的表操作,磁盘Di被逻辑地连接为PN计算机15-j的引导盘。这意味着存储了用于引导PN计算机15-j的引导镜像#i的磁盘Di被选择。
在这种情况下,当PN计算机15-j由PN启动/停止单元153启动后,其经由SAN 46搜索保存在存储装置47中的表470,从而检测其计算机标识符(Pj)。从与在表470中检测到的计算机标识符(Pj)相联系的磁盘标识符(Di),PN计算机15-j指定存储了用于引导其自身的引导镜像(在这种情况下,为引导镜像#i)的磁盘Di。PN计算机15-j从指定的磁盘Dj(即,磁盘Dj与计算机自身有关)读取引导镜像#i,并由引导镜像#i引导。
如果在表470中,如图14所示,磁盘D1新近与两台PN计算机15-1和15-2发生联系,那么PN计算机15-1和15-2使用磁盘D1作为共同的引导盘。在这种情况下,PN计算机15-1和15-2由存储在磁盘D1中的引导镜像#1引导。
现在参照图10的流程图,对图9的负载分配系统的操作进行描述,并且主要描述其与图7所示的系统的操作的不同点。首先,服务器配置管理单元451将用于指定Web服务器计算机组的变量i设置为初始值1(步骤S61)。其后,服务器配置管理单元451从负载分配装置12的负载信息获取单元120获取关于计算机(负载分配目标计算机)的负载信息,该计算机当前充当负载分配的目标并且包括属于Web服务器组40-i(#i)的Web服务器计算机,并由此获取所述组40-i(#i)的整体负载NS(步骤S62)。进一步,服务器配置管理单元451从负载分配目标计算机的负载信息获取单元获取关于负载分配目标计算机的负载信息,其中所述负载信息获取单元包括属于Web服务器计算机组40-i(#1)的Web服务器计算机的负载信息获取单元,并由此获取组40-i(#i)的整体负载NC(步骤S63)。步骤S62和S63与图8的步骤S41和S42的不同之处在于在步骤S62和S63中获取的是由变量i指定的整个组#i的负载NS和NC,而在步骤S41和步骤S42中获取的是整个系统的负载NS和NC。
在获取组40-i(#i)的整体负载NS和NC后,服务器配置管理单元451进行到步骤S64。在步骤S64中,服务器配置管理单元451参考表451a中的组40-i(#i)的条目来确定与组40-i(#i)的目前负载NS相对应的将被使用的PN计算机的数目n1。相似地,服务器配置管理单元451基于表451a中的组40-i(#i)的条目来确定与组40-i(#i)的目前负载NC相对应的将被使用的PN计算机的数目n2。其后,服务器配置管理单元451比较与组40-i(#i)的负载NS和NC相对应的将被使用的PN计算机的数目n1和n2的大小,并且从中选择较大一个数目作为将实际使用的将被使用的PN计算机的数目。
在步骤S64之后进行的操作基本上与在图8中步骤S43之后进行的操作相似。然而,本实施例在如下操作中有所不同。在此假定引起峰值状态的负载出现在Web服务器计算机组40-i(#i)中。在这种情况下,为了减少负载,PN管理单元152向组40-i(#i)分配至少一台应被开始使用的PN计算机(步骤S69)。此时,在第四实施例中,PN管理单元152移交控制于引导镜像选择单元455。引导镜像选择单元455再使得已分配给组40-i(#i)的PN计算机对应到存储了组40-i(#i)唯一的引导镜像#i的磁盘Di。换言之,引导镜像选择单元455选择用于引导分配给组40-i(#i)的PN计算机的引导镜像#i(存储了引导镜像#i的磁盘Di)(步骤S70)。
在引导镜像选择单元455选择了用于引导应开始使用的PN计算机的引导镜像#i后,PN启动/停止单元153开始工作。PN启动/停止单元153启动由PN管理单元152分配的PN计算机15-1至15-4中的一台(步骤S71)。通过引导镜像选择单元455的表操作,所述启动的PN计算机被对应到存储了用于引导所述计算机的引导镜像#i的磁盘Di。即,由引导镜像选择单元455选择用于引导所述启动的PN计算机的引导镜像#i。所述启动的PN计算机从磁盘Di读取所述选择的引导镜像#i以执行引导处理。
当PN计算机由PN启动/停止单元153启动时,设置改变单元154控制负载分配装置12,从而使得所述启动的PN计算机将属于Web服务器计算机组40-i(#i)并将与该组40-i(#i)中的其它计算机一起成为负载分配目标计算机(步骤S72)。步骤S71和S72的次序可以颠倒。
当设置改变单元154的控制使得负载分配装置12的负载分配目标发生变化时,服务器配置管理单元451在预设的时段内被保持在待机状态(步骤S66)。然后,所述单元451将处理目标从一个Web服务器计算机组切换到另一个组(步骤S67)。在采用了3个Web服务器计算机组#1至#3的实施例中,如果组#1为目前组,则切换到组#2。如果组#2为目前组,则切换到组#3。如果组#3为目前组,则切换到组#1。步骤S62及其之后的步骤在切换得到的Web服务器计算机组上被再次执行。
如上所述,在第四实施例中,取决于由所述系统中的Web服务器计算机执行的引导镜像类型,所述系统中的所述Web服务器计算机被分类到Web服务器计算机组40-1(#1)至40-3(#3)。当引起峰值状态的负载出现在包含于组40-1(#1)至40-3(#3)中的任何一组40-i(#i)中时,PN计算机被从PN计算机15-1至15-4中选出来并被对应到组40-i(#i)唯一的引导镜像#i(存储了引导镜像#i的磁盘Di)。结果,所述选择的PN计算机就可被作为属于组40-i(#i)的负载分配目标计算机启动。因而,PN计算机15-1至15-4可以得到有效利用。
在图9的系统中,PN计算机15-j由存储在存储装置47中的磁盘Di中的引导镜像#i引导。然而,磁盘Di并非总是利用引导镜像#i引导PN计算机15-j所必须的。现在参考图15的框图,对第四实施例的变型例进行描述,在所述变型例中,PN计算机15-j可由引导镜像#i引导而不使用存储装置47中的磁盘Di。在图15中,那些与图9中的元件相同的元件由相应的参考数字标注。
在图15中,Web服务器计算机41-11和PN计算机15-1被连接到输入/输出总线(外部输入/输出总线)51。Web服务器计算机41-11属于Web服务器计算机组40-1(见图9)。尽管未在图15中示出,输入/输出总线51也被连接到除Web服务器计算机40-11之外的属于Web服务器计算机组40-1的其它服务器计算机、属于Web服务器计算机组40-2和40-3的服务器计算机以及除PN计算机15-1外的PN计算机。
计算机41-11和15-1分别包括CPU 52a和52b、本地磁盘(本地磁盘驱动器)53a和53b以及输入/输出总线(内部输入/输出总线)54a和54b。计算机41-11的本地磁盘53a存储Web服务器组40-1(#1)唯一的并用于引导计算机41-11的引导镜像#1。CPU 52a和本地磁盘53a通过输入/输出总线54a相互连接,且CPU 52b和本地磁盘53b通过输入/输出总线54b相互连接。进一步,本地磁盘53a和53b被连接到输入/输出总线51,且输入/输出总线54a和54b也被连接到输入/输出总线51。
在此假定图15中的PN计算机15-1被分配给图9中的Web服务器计算机组40-1。在这种情况下,图9所示的引导镜像选择单元455要求属于组40-1的Web服务器计算机41-11至41-1p之中的一台,例如Web服务器计算机41-11,以将所述引导镜像复制到PN计算机15-1。这意味着存储在属于组40-1的Web服务器计算机41-11的本地磁盘53a中的引导镜像#1被选择作为引导镜像以引导PN计算机15-1。此时,PN计算机15-1尚未启动。
响应于从引导镜像选择单元455发出的复制请求,Web服务器计算机41-11的CPU 52a从计算机41-11的本地磁盘53a读取引导镜像#1,并经由输入/输出总线51将其复制到PN计算机15-1的本地磁盘53b。通过Web服务器计算机41-11的CPU 52a的复制操作,即使PN计算机15-1尚未启动,引导镜像#1也能够被复制到PN计算机15-1的本地磁盘53b。许多集群计算机和刀片服务器计算机都具有这样的功能。
在引导镜像#1被复制后,图9所示的PN计算机启动/停止单元153启动PN计算机15-1。PN计算机15-1再利用复制到其本地磁盘53b的引导镜像#1引导其自身。更具体地,PN计算机15-1的CPU 52b经由输入/输出总线54b从本地磁盘53b读取引导镜像#1并引导其自身。需指出的是,在图15中,输入/输出总线54a和54b分别提供于计算机41-11和15-1的内部,而输入/输出总线51提供于计算机41-11和15-1的外部。然而,这种总线结构仅仅是一个例子。简而言之,如果具有存储有引导镜像的本地磁盘53a的计算机41-11能够直接或间接地将该引导镜像(数据)复制到尚未启动的计算机15-1的本地磁盘53b,就足够了。
图16是框图,其示出了根据本发明第五实施例的负载分配系统的构造。在图16中,与图9中的单元相同的单元由相应的参考数字来标注。图16的系统的特征在于其包括由多个(例如4个)不同管理实体(例如,不同的公司)管理的Web服务器站点50-1至50-4以及作为辅助站点的公共备用节点计算机站点(后文称为“公共PN计算机站点”)60,其中所述公共备用节点计算机站点60可被Web服务器站点50-1至50-4使用。
Web服务器站点50-1包括与图9系统的元件相类似的元件,但不包括PN计算机15-1至15-4、SAN 46或存储装置47-1至47-3。也就是说,Web服务器站点50-1包括所述负载分配装置12、多个(例如3个)Web服务器计算机组40-1至40-3以及与图9中的管理服务器计算机45相对应的管理服务器计算机55。管理服务器550运行于管理服务器计算机55中。管理服务器550包括服务器配置管理单元551和设置改变单元154。尽管未示出,其它的Web服务器站点50-2至50-4具有与Web服务器站点50-1相同的结构。需要指出的是,在Web服务器站点50-1至50-4之间在Web服务器计算机组数目、每组中的Web服务器计算机数的数目等等上不必相等。然而,在本实施例中,为便于解释,假定Web服务器站点50-1至50-4中的Web服务器计算机组的每一个对应于引导镜像#1至#3中的任意一个。
管理服务器550中的服务器配置管理单元551具有与图9的服务器配置管理单元451相似的获取组40-i(#i)的整体负载NS和NC的功能。服务器配置管理单元551还具有基于图12所示的数据结构的表451a以及负载NS和NC确定应被开始使用或结束使用的PN计算机的数目的功能,这类似于图9的服务器配置管理单元451。服务器配置管理单元551进一步具有请求后文描述的并入在公共PN计算机站点60中的管理服务器650开始使用或结束使用所述确定的PN计算机的功能。
另一方面,公共PN计算机站点60包括PN计算机15-1至15-4和存储装置47。与图9的系统一样,存储装置47包括存储了引导镜像#1至#3的磁盘D1至D3,以及保存了表470的数据库。PN计算机15-1至15-4通过SAN 46被连接到存储装置47。依靠该结构,PN计算机15-1至15-4中的每一台都能够由引导镜像#1至#3中相应的一个来引导。
PN计算机15-1至15-4经由网络70被连接到并入Web服务器站点50-1中的负载分配装置12、管理服务器计算机55及Web服务器计算机组40-1至40-3(Web服务器计算机属于组40-1至40-3)。PN计算机15-1至15-4还被经由网络70连接到其它Web服务器站点50-2至50-4的每一个的负载分配装置、管理服务器计算机及Web服务器计算机组(未示出)。结果,PN计算机中的任意一台均可被分配为属于任意一个Web服务器站点的任意一个Web服务器计算机组的负载分配目标计算机。
根据以上描述,公共PN计算机站点60包括管理服务器计算机65,其用于处理从作为管理实体的Web服务器站点50-1至50-4中的每一个发出的开始使用备用节点的请求和结束使用备用节点的请求。管理服务器计算机65也被连接到网络70和SAN 46。具有处理开始使用备用节点的请求和结束使用备用节点的请求的功能的管理服务器650运行在管理服务器计算机65上。管理服务器650包括多个功能元件,例如PN管理单元(备用节点管理单元)652、PN启动/停止单元153和引导镜像选择单元455。
PN管理单元652具有管理PN计算机15-1至15-4的使用状态的功能。PN管理单元652也具有接收从Web服务器站点50-1至50-4中的每一个发出的开始使用备用节点请求或结束使用备用节点的请求并控制PN启动/停止单元153和引导镜像选择单元455以处理所述请求的功能。
PN管理单元652保存图19所示的数据结构的记录文件652a。记录文件652a存储关于PN计算机的使用的记录。每条记录均包含了指示PN计算机响应于来自Web服务器站点50-1至50-4中的每一个的请求而开始使用的状态的信息。具体地,每条关于PN计算机的使用的记录均包含项目81至84。项目81被用于记录PN计算机启动时的时刻(即启动时刻)。项目82被用于记录PN计算机停止时的时刻(即停止时刻)。从记录在项目81和82中的启动时刻和停止时刻,可以检测出PN计算机工作的时段(工作时段)。项目83被用于记录例如备用节点标识符的信息,该标识符用于识别PN计算机。项目84被用于记录关于Web服务器站点的信息,所述Web服务器站点利用了由项目83中记录的标识符所指示的备用节点。除了图19所示的格式,在记录文件652a中记录的每条记录还可采用各种其它的格式,例如日志格式。进一步,指示启动时刻和停止时刻的信息项可被存储为其它记录。也可以记录用于指示在其中PN计算机被停止的时段(停止时段)的信息而不是用于指示在其中PN计算机工作的时段的信息。
参照图17和图18的流程图,下面将对图16的负载分配系统的工作进行描述,并且主要描述其与图9所示系统的工作的不同点。在Web服务器站点50-1的管理服务器计算机55中运行的服务器配置管理单元551首先执行与图10中步骤S61至S65相同的处理(步骤S81至S85)。具体地,服务器配置管理单元551将变量i设置为初始值1(步骤S81),然后获取由变量i所指示的Web服务器计算机组40-i(#i)的整体负载NS和NC(步骤S82和S83)。其后,服务器配置管理单元551参考表451a确定与组40-i(#i)的当前负载NS和NC相对应的将被使用的PN计算机的数目n1和n2(步骤S83)。在步骤S83,服务器配置管理单元551从与负载NS和NC相对应的n1和n2中选择较大的一个作为将实际使用的PN计算机的数目。在此之后,服务器配置管理单元551将所述选择的数目与当前使用的PN计算机的数目进行比较(步骤S85)。当前使用的PN计算机的数目由公共PN计算机站点60的PN管理单元652管理。
如果所述数目相等,则服务器配置管理单元551在预设的时段内保持在待机状态(步骤S86),然后操作变量i以从一个Web服务器计算机组切换到另一个组(步骤S87)。结果,步骤S82及其之后的步骤在通过切换得到Web服务器计算机组上被再次进行。
相反,如果将被使用的PN计算机的数目较大(步骤S85),则服务器配置管理单元551确定有必要分配新的PN计算机作为负载分配目标计算机。在这种情况下,服务器配置管理单元551经由网络70请求管理服务器计算机65的管理服务器650开始使用新的PN计算机,所述新的PN计算机与所述比较的数目之间的差Nd相对应(步骤S88)。
进一步,如果将被使用的PN计算机的数目小于当前使用的PN计算机的数目(步骤S85),则服务器配置管理单元551确定有必要停止使用与所述差Nd相对应的当前使用的PN计算机。在这种情况下,服务器配置管理单元551经由网络70请求用于PN计算机管理的管理服务器计算机65的管理服务器650停止使用与所述差Nd相对应的当前使用的PN计算机(步骤S91)。
管理服务器650的PN管理单元652等待来自Web服务器站点50-1至50-4的每一个的请求(开始使用或结束使用PN计算机的请求)(步骤S101)。例如,在此假定PN管理单元652已接收到了来自Web服务器站点50-1中的管理服务器计算机55的管理服务器550的请求。在这种情况下,PN管理单元652确定所述接收到的请求是开始使用PN计算机的请求还是结束使用PN计算机的请求(步骤S102)。
如果所述接收到的请求是开始使用PN计算机的请求,则PN管理单元652确定PN计算机15-1至15-4中是否含有未被占用的PN计算机(步骤S103)。如果有未被占用的PN计算机,则PN管理单元652将该PN计算机分配为应被开始使用的计算机(步骤S104)。
管理服务器650中的引导镜像选择单元455使得由PN管理单元652分配的PN计算机对应到存储了引导镜像#i的磁盘Di。换言之,引导镜像选择单元455选择用于引导由PN管理单元652分配的PN计算机的引导镜像#i(存储了引导镜像#i的磁盘Di)(步骤S105)。此时,管理服务器650中的PN启动/停止单元153工作。PN启动/停止单元153启动由PN管理单元652分配的PN计算机15-1至15-4中的一台PN计算机(步骤S106)。所述启动的PN计算机被引导镜像选择单元455对应到存储了用于引导所述PN计算机的引导镜像#i的磁盘Di。因此,所述启动的PN计算机从与之对应的磁盘Di读取引导镜像#i并执行引导处理。
当所述被分配为应被开始使用的计算机的PN计算机被启动时,PN管理单元652在记录文件652a中存储记录,该记录存储了启动时刻、所述启动的PN计算机的标识符(备用节点标识符)、以及指示使用了所述PN计算机的Web服务器站点(在此情况下,为Web服务器站点50-1)的信息(步骤S107)。Web服务器站点的域名被用作为指示该站点的信息。所述域名被未示出的DNS(域名系统)对应到IP(因特网协议)地址。
在执行步骤S107后,PN管理单元652将回答来自管理服务器550的请求(开始使用PN计算机的请求)的处理结果经由网络70传达给管理服务器550(步骤S108)。
相反,如果不存在任何未被占用的PN计算机(步骤S103),PN管理单元652将此情况报告给提出开始使用PN计算机的请求方(即Web服务器站点50-1的管理服务器550)(步骤S108)。
进一步,如果来自Web服务器站点50-1的管理服务器550的请求是结束使用PN计算机请求(步骤S102),则PN管理单元652从当前使用的PN计算机中选择应被结束使用的PN计算机(步骤S109)。PN启动/停止单元153停止由PN管理单元652确定将被结束使用的PN计算机(步骤S110)。此时,PN管理单元652在记录文件652a中搜索存储了被停止的PN计算机的标识符且使其停止时刻项目82保持空白的记录,并将目前时刻作为停止时刻写入所述项目82(步骤S111)。此后,PN管理单元652将回答来自Web服务器站点50-1的管理服务器550的请求(结束使用PN计算机的请求)的处理结果经由网络70传达给所述管理服务器550(步骤S108)。
当Web服务器站点50-1的管理服务器550中的服务器配置管理单元551已向公共PN计算机站点60的管理服务器650发出开始使用PN计算机的请求(步骤S88)时,其等待从管理服务器650中的PN管理单元652发出的处理结果。当接收到回答开始使用PN计算机的请求的处理结果,服务器配置管理单元551从该结果来确定所述请求是否已成功(步骤S89)。如果成功,则PN管理单元652将控制转交给设置改变单元154。设置改变单元154再控制负载分配装置12,以使得为回答开始使用PN计算机的请求而启动的PN计算机将被作为负载分配目标计算机加入到Web服务器计算机组40-i(#i)中(步骤S90)。
如上所述,在此实施例中,作为4个不同管理实体的Web服务器站点50-1至50-4能够利用公共PN计算机站点(辅助站点)60的PN计算机。进一步,记录文件652a可被用作指示,例如,管理实体已使用的PN计算机的费用的信息。
在此实施例中,假定属于Web服务器站点50-1至50-4中每一个的多台Web服务器计算机被管理并被分类到对应于各自引导镜像类型的组中。然而,在Web服务器站点50-1至50-4中的每一个中,所有Web服务器计算机可以执行相同类型的引导镜像。在这种情况下,没有必要对Web服务器站点50-1至50-4中的每一个中的Web服务器计算机进行分组。进一步,当Web服务器站点50-1至50-4中的每一个中的Web服务器计算机执行相同类型的引导镜像时,并入公共PN计算机站点60中的存储装置47和引导镜像选择单元455也不是必需的。并且,取代专用的负载分配装置12,DNS(域名系统)的循环功能可以被用作负载分配装置。对在第一至第四实施例中使用的负载分配装置也可以这样说。DNS的循环功能是一种利用DNS来对畅通的(well-traffiked)服务器的负载进行分配的功能,在所述DNS中,域名被与IP地址关联在一起。更具体地,这是一种将多个IP地址分配给单一域名,并且顺序地响应于顺序发出的请求,从而防止集中访问单台计算机的功能。
本发明并不限于上述实施例,可以采用不脱离本发明范围的各种方式进行修改。通过适当组合在实施例中公开的结构单元,可以实现各种不同的发明。例如,所公开的某些结构单元可被删除。不同实施例中的某些结构单元也可被适当地组合在一起。
工业实用性在本发明中,当突发峰值现象发生时,辅助计算机被启动并被用作新的负载分配目标计算机。当突发峰值现象消失后,所述被引导的辅助计算机被从负载分配目标中排除出去并被停止。因而,不必在所有时间内都引导很多服务器计算机,从而能够轻易克服很难预测的突发峰值现象。
权利要求
1.一种负载分配系统,包括多台服务器计算机,其处理来自多台客户计算机的请求,所述服务器计算机被管理并被分类到对应于不同类型的引导镜像的多个服务器计算机组,所述不同类型的引导镜像包括由所述服务器计算机执行的操作系统;负载分配装置,其被配置为在包括所述服务器计算机的多台负载分配目标计算机之间分配来自所述客户计算机的所述请求;多台备用计算机,其可被用作为所述负载分配目标计算机,所述备用计算机在被用作为所述负载分配目标计算机时被启动;服务器配置管理单元,其被配置为对于每一个所述服务器计算机组,基于包括了所述每个服务器计算机组的服务器计算机的所有所述负载分配目标计算机的负载,确定将被作为新的负载分配目标计算机开始使用或者将被作为负载分配目标计算机结束使用的备用计算机的数目;备用计算机管理单元,其被配置为管理所述备用计算机的使用状态;所述备用计算机管理单元确定这样的备用计算机,该备用计算机对应于由所述服务器配置管理单元为所述每个服务器计算机组确定的,将被作为所述新的负载分配目标计算机开始使用或者将被作为所述负载分配目标计算机结束使用的备用计算机的数目;备用计算机启动/停止单元,其被配置为启动或停止由所述备用计算机管理单元确定的所述备用计算机;设置改变单元,其被配置为将由所述备用计算机管理单元确定的所述备用计算机追加为负载分配目标计算机,或者被配置为将由所述备用计算机管理单元确定的所述备用计算机从负载分配目标计算机中排除出去,其中所述负载分配目标计算机是所述负载分配装置进行负载分配的目标;以及引导镜像选择单元,其被配置为从所述不同类型的引导镜像中选择与所述每个服务器计算机组相对应的引导镜像,所述服务器计算机组包括由所述备用计算机管理单元确定且将被作为所述负载分配目标计算机开始使用的备用计算机,所述引导镜像被用来引导由所述备用计算机管理单元确定的所述备用计算机,其中,当由所述备用计算机管理单元确定的所述备用计算机被所述备用计算机启动/停止单元启动时,所述备用计算机被由所述引导镜像选择单元选择的所述引导镜像引导。
2.根据权利要求1的负载分配系统,进一步包括多个引导镜像存储单元,其存储各自的不同类型的引导镜像;以及相应信息存储单元,其存储用于将所述引导镜像存储单元的每一个关联到由存储在所述每一个引导镜像存储单元中的引导镜像所引导的计算机的每一个的信息,并且其中所述引导镜像选择单元,通过利用所述相应信息存储单元将由所述备用计算机管理单元确定的所述备用计算机关联到存储了对应于所述每个服务器计算机组的引导镜像的引导镜像存储单元,来选择用于引导由所述备用计算机管理单元确定的所述备用计算机的所述引导镜像,所述服务器计算机组包括由所述备用计算机管理单元确定并将被作为所述负载分配目标计算机开始使用的备用计算机;并且当由所述备用计算机管理单元确定的所述备用计算机被所述备用计算机启动/停止单元启动时,所述备用计算机利用由所述引导镜像选择单元选择并从所述引导镜像存储单元读取的引导镜像引导其自身,所述引导镜像存储单元被所述相应信息存储单元关联到由所述备用计算机管理单元确定的所述备用计算机。
3.根据权利要求1的负载分配系统,其中所述服务器计算机和所述备用计算机包括引导镜像存储单元,所述引导镜像存储单元存储用于引导所述服务器计算机和所述备用计算机的引导镜像;所述引导镜像选择单元请求被包括在所述每个服务器计算机组中的任意服务器计算机将所述引导镜像从所述任意服务器计算机的所述引导镜像存储单元复制到由所述备用计算机管理单元确定的所述备用计算机,所述引导镜像存储单元被相应信息存储单元关联到由所述备用计算机管理单元确定的备用计算机;并且当所述引导镜像选择单元请求复制时,所述服务器计算机的每一台将由所述引导镜像选择单元选择并存储在所述每一台服务器计算机的所述引导镜像存储单元中的所述引导镜像复制到由所述备用计算机管理单元确定的所述备用计算机的所述引导镜像存储单元。
4.根据权利要求1的负载分配系统,进一步包括多个服务器站点,所述服务器站点中的每一个包括被管理并被分类到所述服务器计算机组的所述服务器计算机、所述负载分配装置、所述服务器配置管理单元以及所述设置改变单元,;备用站点,其包括所述备用计算机、所述备用计算机管理单元、所述备用计算机启动/停止单元、所述引导镜像选择单元和所述引导镜像存储单元;以及网络,其将所述服务器站点连接到所述备用站点,并且其中,当为所述每个服务器计算机组确定了将被作为所述新的负载分配目标计算机开始使用或者将被作为所述负载分配目标计算机结束使用的备用计算机的数目时,所述服务器站点的每一个的所述服务器配置管理单元经由所述网络请求所述备用站点开始使用或结束使用所述每个服务器计算机组的所述备用计算机;并且所述备用站点的所述备用计算机管理单元依据从所述每个服务器站点的所述服务器配置管理单元发出的开始或结束使用所述每个服务器计算机组的所述备用计算机的请求,确定与由所述每个服务器站点的所述服务器配置管理单元确定的将被作为所述新的负载分配目标计算机开始使用或者将被作为所述负载分配目标计算机结束使用的备用计算机的数目相对应的所述备用计算机。
5.根据权利要求4的负载分配系统,其中,当与由所述每个服务器站点的所述服务器配置管理单元确定的备用计算机的所述数目相对应的所述备用计算机被启动或停止时,所述备用站点的所述备用计算机管理单元存储指示与由所述每个服务器站点的所述服务器配置管理单元确定的备用计算机的所述数目相对应的所述备用计算机的启动时刻或停止时刻的信息、指示与由所述每个服务器站点的所述服务器配置管理单元确定的备用计算机的所述数目相对应的所述备用计算机的信息、以及指示所述每个服务器站点的信息。
6.一种负载分配系统,包括多台服务器计算机,其处理来自多台客户计算机的请求;负载分配装置,其被配置为在包括所述服务器计算机的多台负载分配目标计算机之间分配来自所述客户计算机的所述请求;多台备用计算机,其可被用作为所述负载分配目标计算机,所述备用计算机在被用作为所述负载分配目标计算机时被启动;服务器配置管理单元,其被配置为基于包括了所述服务器计算机的所有所述负载分配目标计算机的负载,确定将被作为新的负载分配目标计算机开始使用或者将被作为负载分配目标计算机结束使用的备用计算机的数目;备用计算机管理单元,其被配置为管理所述备用计算机的使用状态;所述备用计算机管理单元确定这样的备用计算机,该备用计算机对应于由所述服务器配置管理单元确定的、将被作为所述新的负载分配目标计算机开始使用或者将被作为所述负载分配目标计算机结束使用的备用计算机的数目;备用计算机启动/停止单元,其被配置为启动或停止由所述备用计算机管理单元确定的所述备用计算机;以及设置改变单元,其被配置为将由所述备用计算机管理单元确定的所述备用计算机追加为负载分配目标计算机,或者被配置为将由所述备用计算机管理单元确定的所述备用计算机从负载分配目标计算机中排除出去,其中所述负载分配目标计算机是所述负载分配装置进行负载分配的目标。
7.根据权利要求6的负载分配系统,其中,所述服务器管理配置单元、所述备用计算机管理单元、所述备用计算机启动/停止单元和所述设置改变单元在独立于所述服务器计算机和所述备用计算机之外的管理服务器计算机上运行。
8.根据权利要求6的负载分配系统,其中所述服务器计算机构成集群系统,在所述集群系统中,当任意一台所述服务器计算机发生故障时,由所述任意服务器计算机提供的服务将由任意其它的所述服务器计算机接管;并且所述服务器配置管理单元、所述备用计算机管理单元、所述备用计算机启动/停止单元和所述设置改变单元在包含于所述集群系统中的任意一台服务器计算机上运行,并且在所述任意服务器计算机发生故障时被作为任意其它的所述服务器计算机接管的目标。
9.根据权利要求6的负载分配系统,其中所述负载分配装置包括负载信息获取单元,所述负载信息获取单元被配置为获取负载信息,所述负载信息指示对应于由作为所述负载分配装置的负载分配目标的负载分配目标计算机所处理的请求的数目的负载,所述负载分配目标计算机包括所述服务器计算机;并且所述服务器配置管理单元基于由包含在所述负载分配装置中的所述负载信息获取单元获取的计算机负载信息来确定所有所述负载分配目标计算机的整体负载,并且基于所述所有负载分配目标计算机的整体负载来确定将被作为所述新的负载分配目标计算机开始使用或者将被作为所述负载分配目标计算机结束使用的备用计算机的数目。
10.根据权利要求6的负载分配系统,其中所述服务器计算机和所述备用计算机的每一台都包含负载信息获取单元,所述负载信息获取单元被配置为获取计算机负载信息,所述计算机负载信息指示与所述服务器计算机和所述备用计算机正在执行的请求相对应的负载;并且所述服务器配置管理单元基于由包含在所述所有负载分配目标计算机中的所述负载信息获取单元获取的所述计算机负载信息来确定作为所述负载分配装置的负载分配目标的所有负载分配目标计算机的整体负载,所述所有负载分配计算机包括所述服务器计算机和所述备用计算机中的几个,所述服务器配置管理单元基于所述所有负载分配目标计算机的所述整体负载来确定将被作为所述新的负载分配目标计算机开始使用或者将被作为所述负载分配目标结束使用的备用计算机的数目。
11.根据权利要求6的负载分配系统,其中所述负载分配装置包括第一负载信息获取单元,所述第一负载信息获取单元被配置为获取第一计算机负载信息,所述第一计算机负载信息指示与由作为所述负载分配装置的负载分配目标的负载分配目标计算机所处理的请求的数目相对应的负载,所述负载分配目标计算机包括所述服务器计算机;所述服务器计算机和所述备用计算机的每一台包括第二负载信息获取单元,所述第二负载信息获取单元被配置为获取第二计算机负载信息,所述第二计算机负载信息指示与所述服务器计算机和所述备用计算机正在执行的请求相对应的负载;并且所述服务器配置管理单元基于由包含在所述负载分配装置中的所述第一信息获取单元获取的所述第一计算机负载信息来确定所有负载分配目标计算机的整体负载,并且基于所述所有负载分配目标计算机的所述整体负载来确定将被作为所述新的负载分配目标计算机开始使用或者将被作为所述负载分配目标计算机结束使用的备用计算机的第一数目,所述服务器配置管理单元基于由包含在所述所有负载分配目标计算机中的所述第二负载信息获取单元获取的第二计算机负载信息来确定作为所述负载分配装置的负载分配目标的所有负载分配目标计算机的整体负载,所述所有负载分配目标计算机包括所述服务器计算机和所述备用计算机中的几个,所述服务器配置管理单元基于所述所有负载分配目标计算机的所述整体负载来确定将被作为新的负载分配目标计算机开始使用或者将被作为负载分配目标计算机结束使用的备用计算机的第二数目,所述服务器配置管理单元基于所述所有负载分配目标计算机的所述整体负载,从所述第一数目和所述第二数目中选择一个作为备用计算机的数目,所述选择的数目台备用计算机将被作为所述新的负载分配目标计算机开始使用或者所述选择的数目台备用计算机将被作为所述负载分配目标计算机结束使用。
12.根据权利要求6的负载分配系统,进一步包括多个服务器站点,所述服务器站点的每一个包括所述服务器计算机、所述负载分配装置、所述服务器配置管理单元以及所述设置改变单元;备用站点,其包括所述备用计算机、所述备用计算机管理单元、所述备用计算机启动/停止单元;以及网络,其将所述服务器站点连接到所述备用站点,并且其中,所述服务器站点的每一个的所述服务器配置管理单元基于所述每个服务器站点中的所有负载分配目标计算机的负载来确定在所述每个服务器站点中将被作为新的负载分配目标计算机开始使用或者在所述每个服务器站点中将被作为负载分配目标计算机结束使用的备用计算机的数目,所述每个服务器站点包括所述服务器计算机;并且所述备用计算机管理单元确定这样的备用计算机,该备用计算机对应于由所述服务器配置管理单元确定的、在所述每个服务器站点中将被作为所述新的负载分配目标计算机开始使用或者在所述每个服务器站点中将被作为所述负载分配目标计算机结束使用的备用计算机的数目。
13.根据权利要求12的负载分配系统,其中,当与由所述每个服务器站点的所述服务器配置管理单元确定的备用计算机的所述数目相对应的备用计算机被启动或停止时,所述备用站点的所述备用计算机管理单元存储指示与由所述每个服务器站点的所述服务器配置管理单元确定的备用计算机的所述数目相对应的备用计算机的启动时刻或停止时刻的信息、指示与由所述每个服务器站点的所述服务器配置管理单元确定的备用计算机的所述数目相对应的备用计算机的信息以及指示所述每个服务器站点的信息。
14.一种用于负载分配系统中的负载分配方法,所述负载分配系统包括多台服务器计算机,其处理来自多台客户计算机的请求,负载分配装置,其在包括所述服务器计算机的多台负载分配目标计算机之间分配来自所述客户计算机的所述请求,以及多台备用计算机,其可被用作为所述负载分配目标计算机,所述备用计算机在被用作为所述负载分配目标计算机时被启动,所述负载分配方法包括基于包括所述服务器计算机的所有负载分配目标计算机的负载,确定将被作为新的负载分配目标计算机开始使用或者将被作为负载分配目标计算机结束使用的备用计算机的数目;当将被开始使用的备用计算机的数目被确定时,确定与所述确定的数目相对应的备用计算机,所述相应的备用计算机将被作为所述新的负载分配目标计算机开始使用;当将被开始使用的所述相应的备用计算机被确定时,启动所述相应的备用计算机;当将被开始使用的所述相应的备用计算机被确定时,将所述相应的备用计算机追加为负载分配目标计算机,其中所述负载分配目标计算机是所述负载分配装置进行负载分配的目标;当将被结束使用的备用计算机的数目被确定时,确定与所述确定的数目相对应的备用计算机,所述相应的备用计算机将被作为所述负载分配目标计算机的结束使用;当将被结束使用的所述相应的备用计算机被确定时,停止所述相应的备用计算机;当将被结束使用的所述相应的备用计算机被确定时,将所述相应的备用计算机从负载分配目标计算机中排除出去,其中所述负载分配目标计算机是所述负载分配装置进行负载分配的目标。
15.根据权利要求14的负载分配方法,其中所述负载分配系统包括多个服务器站点、备用站点以及网络,其中所述服务器站点的每一个包括所述服务器计算机和所述负载分配装置,所述备用站点包括所述备用计算机,所述网络将所述服务器站点连接到所述备用站点;在所述服务器站点的每一个中执行对所述数目的确定;在所述备用站点中执行所述备用计算机的确定、所述备用计算机的启动和所述备用计算机的停止;并且所述方法进一步包括在所述每个服务器站点中,当为每个服务器计算机组确定了将被作为所述新的负载分配目标计算机开始使用或者将被作为所述负载分配目标计算机结束使用的备用计算机的所述数目时,经由所述网络请求所述备用站点开始使用或结束使用与所述确定的数目相对应的备用计算机,依据所述开始或结束使用的请求来执行对所述备用计算机的确定。
16.一种用于负载分配系统中的负载分配方法,所述负载分配系统包括多台服务器计算机,其处理来自多台客户计算机的请求,负载分配装置,其在包括所述服务器计算机的多台负载分配目标计算机之间分配来自所述客户计算机的所述请求,以及多台备用计算机,其可被用作为所述负载分配目标计算机,所述备用计算机在被用作为所述负载分配目标计算机时被启动,所述服务器计算机被管理并被分类到对应于不同类型的引导镜像的多个服务器计算机组,所述不同类型的引导镜像包括由所述服务器计算机执行的操作系统,所述方法包括基于所有负载分配目标计算机的负载,确定所述服务器计算机组的每一个的整体负载,其中所述所有负载分配目标计算机包括所述每个服务器计算机组的服务器计算机;当所述每个服务器计算机组的所述整体负载被确定时,基于所述每个服务器计算机组的所述整体负载,为所述每个服务器计算机组确定在该服务器计算机组中将被作为新的负载分配目标计算机开始使用或者在该服务器计算机组中将被作为负载分配目标计算机结束使用的备用计算机的数目;当为所述服务器计算机组中的一个确定了备用计算机的所述数目时,确定与所述确定的数目相对应的备用计算机,所述相应的备用计算机在该服务器计算机组中将被作为新的负载分配目标计算机开始使用;当确定了在所述一个服务器计算机组中将被开始使用的所述相应的备用计算机时,从所述不同类型的引导镜像中选择对应于包括了所述相应的备用计算机的所述一个服务器计算机组的引导镜像,该引导镜像被用于引导所述确定的备用计算机;当在所述一个服务器计算机组中将被开始使用的所述相应的备用计算机被确定时,并且当对应于所述一个服务器计算机组的引导镜像被选择时,启动所述相应的备用计算机以利用所述选择的引导镜像来引导所述相应的备用计算机;当在所述一个服务器计算机组中将被开始使用的所述相应的备用计算机被确定时,将所述相应的备用计算机追加为负载分配目标计算机,其中所述负载分配目标计算机是所述负载分配装置进行负载分配的目标;当在所述一个服务器计算机组中将被结束使用的备用计算机的所述数目被确定时,确定与所述确定的数目相对应的备用计算机,所述相应的备用计算机将被作为所述负载分配目标计算机在所述一个服务器计算机组中结束使用;当在所述一个服务器计算机组中将被结束使用的所述相应的备用计算机被确定时,停止所述相应的备用计算机;当在所述一个服务器计算机组中将被结束使用的所述相应的备用计算机被确定时,将所述相应的备用计算机从负载分配目标计算机中排除出去,其中所述负载分配目标计算机是所述负载分配装置进行负载分配的目标。
17.根据权利要求16的负载分配方法,其中所述负载分配系统包括多个服务器站点、备用站点以及网络,其中所述服务器站点的每一个包括所述服务器计算机和所述负载分配装置,所述备用站点包括所述备用计算机,所述网络将所述服务器站点连接到所述备用站点;在所述服务器站点的每一个中执行对所述负载的确定和对所述数目的确定;在所述备用站点中执行对所述将被开始使用的备用计算机的确定、所述选择、所述启动、对所述将被结束使用的备用计算机的确定以及所述停止;并且所述方法进一步包括在所述每个服务器站点的所述服务器计算机组中的一个中,当在所述一个计算机组中将被作为所述新的负载分配目标计算机开始使用或者在所述一个计算机组中将被作为所述负载分配目标计算机结束使用的备用计算机的所述数目被确定时,经由所述网络请求所述备用站点开始使用或结束使用与所述确定的数目相对应的备用计算机,依据所述开始使用的请求来执行对所述将被开始使用的备用计算机的确定,依据所述结束使用的请求来执行对所述将被结束使用的备用计算机的确定。
18.一种用于负载分配系统中的负载分配方法,所述负载分配系统包括多个服务器站点、备用站点和网络,其中所述服务器站点的每一个包括多个服务器计算机和负载分配装置,所述服务器计算机处理来自多个客户计算机的请求,所述负载分配装置在包括了所述服务器计算机的多个负载分配目标计算机之间分配来自所述客户计算机的所述请求,所述服务器计算机被管理并被分类到对应于不同类型的引导镜像的多个服务器计算机组,所述不同类型的引导镜像包括由所述服务器计算机执行的操作系统,所述备用站点包括可被用作为负载分配目标计算机的多台备用计算机,所述备用计算机在被用作为所述负载分配目标计算机时被启动,所述网络将所述服务器站点连接到所述备用站点,所述方法包括基于所有负载分配目标计算机的负载,确定在所述服务器站点的每一个中的所述服务器计算机组的整体负载,所述所有负载分配目标计算机包括了所述每个服务器计算机组的所述服务器计算机;基于所述整体负载,为所述每个服务器站点中的所述每个服务器计算机组确定在所述每个服务器站点的所述每个服务器计算机组中将被作为新的负载分配目标计算机开始使用或者在所述每个服务器站点的所述每个服务器计算机组中将被作为负载分配目标计算机结束使用的备用计算机的数目;在所述每个服务器站点的所述服务器计算机组中的一个中,当在所述每个服务器站点的所述一个服务器计算机组中将被开始使用的备用计算机的所述数目被确定时,所述每个服务器站点经由所述网络请求所述备用站点开始使用与所述确定的数目相对应的备用计算机;当信息被从所述备用站点提供给所述每个服务器站点时,将由所述信息指示的备用计算机追加为充当负载分配装置进行负载分配的目标的负载分配目标计算机,然后,所述备用计算机被与属于所述一个服务器计算机组的服务器计算机相对应的引导镜像中的一个所引导,其中所述信息指示在所述每个服务器站点的所述一个服务器计算机组中将被作为所述新的负载分配目标计算机开始使用的备用计算机,且所述信息是依据从所述每个服务器站点发给所述备用站点的开始使用的请求来确定的;并且当所述信息被从所述备用站点提供给所述每个服务器站点时,将由所述信息所指示的备用计算机从充当所述负载分配装置进行负载分配的目标的所述负载分配目标计算机中排除出去,其中所述信息指示在所述每个服务器站点的所述一个服务器计算机组中作为所述负载分配目标计算机将被结束使用的备用计算机,且所述信息是依据从所述每个服务器站点发给所述备用站点的结束使用的请求来确定的。
19.一种用于负载分配系统中的负载分配方法,所述负载分配系统包括多个服务器站点、备用站点和网络,所述服务器站点的每一个包括多个服务器计算机和负载分配装置,其中所述服务器计算机处理来自多个客户计算机的请求,所述负载分配装置在包括了所述服务器计算机的多个负载分配目标计算机之间分配来自所述客户计算机的所述请求,所述服务器计算机被管理并被分类到对应于不同类型的引导镜像的多个服务器计算机组,所述不同类型的引导镜像包括由所述服务器计算机执行的操作系统,所述备用站点包括可被用作为所述负载分配目标计算机的多台备用计算机,所述备用计算机在被用作为所述负载分配目标计算机时被启动,所述网络将所述服务器站点连接到所述备用站点,所述方法包括当基于以包含了所述每个计算机组的所述服务器计算机的所有负载分配目标计算机的负载为基础的在每个服务器站点中的所述每个服务器计算机组的整体负载,为所述每个服务器站点中的所述服务器计算机组的每一个确定了备用计算机的数目,并且当开始使用与所述确定的数目相对应的备用计算机的请求被经由所述网络从所述每个服务器站点发向所述备用站点,其中所述相应的备用计算机在所述每个服务器站点的所述每个服务器计算机组中将被作为新的负载分配目标计算机开始使用,或者所述相应的备用计算机在所述每个服务器站点的所述每个服务器计算机组中将被作为负载分配目标计算机的结束使用时,确定是否请求开始使用或结束使用;当请求开始使用时,确定在所述每个服务器站点的所述每个服务器计算机组中将被作为负载分配目标计算机开始使用的与所述确定的数目相对应的备用计算机;当确定了在所述每个服务器站点的所述每个服务器计算机组中将被作为所述负载分配目标计算机开始使用的所述相应的备用计算机时,从所述引导镜像中选择对应于所述每个服务器站点的所述每个服务器计算机组的引导镜像,该引导镜像被用于引导所述相应的备用计算机,其中所述服务器计算机组包括所述相应的备用计算机;当确定了在所述每个服务器站点的所述每个服务器计算机组中将被作为所述负载分配目标计算机开始使用的所述相应的备用计算机以及当选择了与所述每个服务器计算机组相对应的引导镜像时,启动所述相应的备用计算机以利用所述选择的引导镜像来引导所述相应的备用计算机;当请求结束使用时,确定在所述每个服务器站点的所述每个服务器计算机组中作为所述负载分配目标计算机将被结束使用的与所述确定的数目相对应的备用计算机;当确定了在所述每个服务器站点的所述每个服务器计算机组中将被结束使用的所述相应的备用计算机时,停止所述相应的备用计算机;从所述备用站点向所述每个服务器站点提供信息,所述信息指示了为回答所述开始使用的请求或结束使用的请求而进行的处理的结果。
全文摘要
基于包括了Web服务器计算机(11-1至11-6)的所有负载分配目标计算机的负载,服务器配置管理单元(151)确定将被作为负载分配目标计算机开始使用或者将被作为负载分配目标计算机结束使用的备用节点(PN)计算机的数目。PN管理单元(152)确定将被开始使用或结束使用的计算机。所述确定的计算机被包括在PN计算机(15-1至15-4)中。PN启动/停止单元(153)启动或停止所述确定的计算机。设置改变单元(154)控制负载分配装置(12),从而使得所述确定的计算机被包括在负载分配装置(12)进行负载分配的目标计算机之中或从该负载分配目标计算机中排除出去。
文档编号G06F13/00GK1829986SQ200480021529
公开日2006年9月6日 申请日期2004年5月26日 优先权日2003年5月26日
发明者平山秀昭, 沟口研一 申请人:株式会社东芝, 东芝解决方案株式会社