CN1886731A - 服务器/客户端系统,负荷分散装置,负载分散方法以及负载分散程序 - Google Patents

服务器/客户端系统,负荷分散装置,负载分散方法以及负载分散程序 Download PDF

Info

Publication number
CN1886731A
CN1886731A CNA2003801108545A CN200380110854A CN1886731A CN 1886731 A CN1886731 A CN 1886731A CN A2003801108545 A CNA2003801108545 A CN A2003801108545A CN 200380110854 A CN200380110854 A CN 200380110854A CN 1886731 A CN1886731 A CN 1886731A
Authority
CN
China
Prior art keywords
server
mentioned
load
resource
client
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.)
Granted
Application number
CNA2003801108545A
Other languages
English (en)
Other versions
CN100555226C (zh
Inventor
桥本太郎
小野田哲也
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.)
One Hundred Hot Media Gc AG
Original Assignee
Club IT 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 Club IT Corp filed Critical Club IT Corp
Publication of CN1886731A publication Critical patent/CN1886731A/zh
Application granted granted Critical
Publication of CN100555226C publication Critical patent/CN100555226C/zh
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • 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]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions

Abstract

在通过网络连接多个服务器(101a、101b~101n)和客户端(102),根据来自客户端(102)的进程请求,进程处理服务器(101b~101n)进行处理,并将处理结果发送给客户端(102)的服务器/客户端系统中,负荷分散装置(101a)具备:进程信息接收部(401):其从客户端(102)接收与进程相关的信息;确定部(402):其根据接收的与进程相关的信息,从多个进程处理服务器(101b~101n)中确定处理进程的服务器;以及服务器信息发送部(403):其发送与确定的服务器相关的信息到客户端(102),客户端(102)具备:服务器信息接收部(412):其接收与发送的与服务器相关的信息;进程请求发送部(413):其向与接收的信息相关的进程处理服务器(101b~101n),发送进程处理请求的相关的信息。

Description

服务器/客户端系统,负荷分散装置,负载分散方法以及负载分散程序
技术领域
本发明涉及分散对服务器进行访问的服务器/客户端系统,负荷分散装置,负载分散方法以及负载分散程序,尤其是,涉及通过监视、评价服务器的运行状态,从多个服务器中选择最佳服务器的服务器/客户端系统,负荷分散装置,负载分散方法以及负载分散程序。
背景技术
以往,由客户端上的应用程序通过网络向服务器请求服务器程序的执行的服务器/客户端型系统已经普及。在该系统中,对来自客户端的程序执行的请求,作为提供程序的执行结果的服务的服务器,启动用于提供其服务的程序的处理单位的进程。如果在服务器上,启动Web内容传输程序或业务软件或游戏软件等进程,对请求的客户端提供文本数据或图像数据等服务。
使用多个服务器进行这样的服务器/客户端系统的处理时,为了防止负荷偏于一部分服务器,具有分散负载由客户端发送的请求处理的技术。例如,进行Web内容的传输的Web服务器时,将通过来自客户端的访问,在多个准备的服务器中按顺序分开处理的循环(Round robin)方式,和从多个服务器中选择对话(session)数最小的服务器的最少连接(Leastconnection)方式等,由这些方法选择用于分配进程的服务器。
如果使用该循环方式或最少连接方式分散负载,与执行进程消耗的资源(例如,CPU和内存等,个人计算机具备的资源)的消耗量,或服务器具备的资源的量无关,进行服务器的分散。
图19是表示服务器具备的资源量和进程消耗的资源量的关系的一个例子的说明图。在图19中,用于执行服务器程序的服务器的CPU消耗量为X坐标,内存消耗量为Y坐标。如图19所示的X坐标上的Xmax,表示CPU消耗量的最大值100%,Y坐标上的Ymax,表示内存消耗量最大值100%。并且,坐标1902表示CPU和内存分别消耗100%的理想的位置。在该服务器上,如果执行消耗CPU和内存的进程1901,尽管CPU的消耗量比100%低,但是内存消耗量为100%。
另外,图20是表示服务器具备的资源量和进程消耗的资源量关系的其他一个例子的说明图。在图20中,与图19一样,用于执行服务器程序的服务器的CPU消耗量为X坐标,内存消耗量为Y坐标。另外,X坐标上的Xmax,表示CPU消耗量最大值100%,Y坐标上的Ymax,表示内存消耗量最大值100%。并且,坐标2002表示CPU和内存分别消耗100%的理想的位置。在该服务器上,如果执行消耗CPU和内存的进程2001,与图19相反,尽管内存消耗量比100%低,但是CPU的消耗量为100%。
另外,负荷分散装置存在,通过掌握多个服务器的各自的对话数,根据其对话数和每个服务器的机械性能,事先确定的权重,从多个服务器中选择适当的服务器,分散对话的系统(例如参照特开2002-269061号公报。)。
可是,在由上述循环方式或最少连接方式进行的负载分散中,服务器具备的资源或进程消耗的资源无关,根据与客户端的对话数等分散负载。由此,具有在请求执行的进程被服务器起动时,由于判断资源过于不足,对请求的响应能够延迟时间,对客户端产生等待时间的问题。
另一方面,由于根据作为服务器使用是装置的性能不同,各服务器能够具备的资源量不同,如循环方式或最少连接方式等,使用仅由对话数分散负载的方式时,没有考虑负载分散后的资源使用量,具有对资源剩余量少的服务器,或资源消耗量存在偏重的服务器也分散进程的问题。
另外,对于CPU或者内存中的任意一个的消耗量存在偏重的服务器,如果执行进程,尽管消耗量少的一方资源有空闲区域,但是消耗量多的一方的资源区域不足,不能执行新的进程。这样的资源消耗量存在偏重的服务器,与资源均匀的消耗的服务器相比,具有可以执行的进程数少问题。
发明内容
本发明为了解决由上述以往技术产生的问题点,目的在于提供通过数值评价分散进程执行的服务器的资源和运行状态,从配备在一处到多处的多个服务器中选择最佳的服务器,可以由各服务器有效地进行进程执行的服务器/客户端系统,负荷分散装置,负载分散方法以及负载分散程序。
为了解决上述课题,本发明中的服务器/客户端系统,通过网络连接多个服务器和多个客户端,根据来自上述客户端的进程请求,上述服务器进行处理,将处理结果发送到上述客户端,其特征在于,
上述服务器中至少一个,具备:
进程信息接收机构:其通过上述网络从上述客户端接收与上述进程相关的信息;
确定机构:其根据由上述进程信息接收机构接收的进程相关的信息,在上述多个服务器中确定处理上述进程的服务器;以及
服务器信息发送机构:其将与由上述确定机构确定的服务器相关的信息发送到上述客户端,
上述客户端,具备:
服务器信息接收机构:其通过上述网络接收由上述服务器信息发送机构发送的服务器相关的信息;和
进程请求发送机构:其向由上述服务器信息接收机构接收的信息相关的服务器,发送上述进程处理请求相关的信息。
另外,本发明的负荷分散装置,通过网络连接多个服务器和多个客户端,根据来自上述客户端的进程请求,上述服务器进行处理,将处理结果发送到上述客户端的服务器/客户端系统中,其特征在于,具备:
进程信息接收机构:其通过网络从上述客户端接收与上述进程相关的信息;
确定机构:其根据与由上述进程信息接收机构接收的进程相关的信息,从上述多个服务器中确定处理上述进程的服务器;和
服务器信息发送机构:其将由上述确定机构确定的服务器相关的信息发送到上述客户端。
另外,本发明的负载分散方法,通过网络连接多个服务器和多个客户端,根据来自上述客户端的进程请求,上述服务器进行处理,并将处理结果发送到上述客户端,其特征在于,包含:
进程信息接收步骤:其通过网络接收来自上述客户端的与上述进程相关的信息;
确定步骤:其根据由上述进程信息接收步骤接收的进程相关的信息,从上述多个服务器中确定处理上述进程的服务器;和
进程请求发送步骤:其向由上述确定步骤确定的服务器,发送与上述进程处理请求相关的信息。
另外,本发明的负载分散程序是在通过网络连接多个服务器和多个客户端,根据来自上述客户端的进程请求,上述服务器进行处理,并将处理结果向上述客户端发送的服务器/客户端系统中分散上述服务器负荷的负载分散程序,其特征在于,在上述服务器中执行:
进程信息接收步骤:通过网络接收来自上述客户端的与上述进程相关的信息;和
确定步骤:根据由上述进程信息接收步骤接收的进程相关的信息,从上述多个服务器中确定处理上述进程的服务器。
其中,确定机构(步骤)具备(包含):
第1距离计算机构(步骤):其计算在将各服务器中的资源的参数作为轴的空间上,将上述进程的资源消耗量与表示各服务器现在资源消耗量的点相加求出的资源消耗量的预测点的、连结原点和参数可以使用的最大容量的直线的第1距离;和
第2距离计算机构(步骤):其计算在以各服务器中的资源参数为轴的空间上,将上述进程的资源消耗量,与表示各服务器的现在资源消耗量的点相加求出的资源消耗量的预测点的、与原点之间的第2距离,也可以根据上述第1距离和上述第2距离一方甚至两方的值,确定处理上述进程的服务器。
另外,上述参数也可以包含,上述服务器的CPU负荷量,系统内存负荷量,图形处理单元负荷量,显示内存负荷量以及网络接口卡负荷量中的至少一个。
附图说明:
图1是表示本发明本实施方式中的服务器/客户端系统的系统构成的概要图。
图2是表示本发明本实施方式中的服务器/客户端系统的负荷分散装置,终端装置以及服务器的硬件构成的框图。
图3是表示本发明本实施方式中的服务器/客户端系统的携带电话机的硬件构成的框图。
图4是表示本发明本实施方式中的服务器/客户端系统的功能构成的框图。
图5是表示使用本发明本实施方式中的负荷分散装置的负载分散方法的处理步骤的概要的说明图。
图6是表示本发明本实施方式中的理想的进程分散的一个例子的说明图。
图7是表示本发明本实施方式中的理想的进程分散的另外一个例子的说明图。
图8是表示本发明本实施方式中的服务器/客户端系统的服务器中的最佳资源消耗的一个例子的说明图。
图9是表示本发明本实施方式中的服务器/客户端系统的服务器中的最佳资源消耗的另外一个例子的说明图。
图10是表示本发明本实施方式中的服务器/客户端系统的服务器中的最佳资源消耗的另外一个例子的说明图。
图11是表示本发明本实施方式中的资源消耗例子的说明图。
图12是表示通过本发明本实施方式中的负荷分散装置的服务器的评价方法的概要的说明图。
图13是表示本发明本实施方式中的分散服务器的评价方法的函数的一个例子的说明图。
图14是表示通过本发明本实施方式中的负荷分散装置的服务器的评价和确定的处理步骤的一个例子的流程图。
图15是表示通过本发明本实施方式中的负荷分散装置的服务器的评价和确定的处理步骤的一个例子的概要图。
图16是表示保持本发明本实施方式中的进程信息的表格的一个例子的说明图。
图17是表示保持本发明本实施方式中的服务器/客户端系统的服务器信息的表格的一个例子的说明图。
图18是表示本发明本实施方式中的服务器/客户端系统的服务器的地域分散的一个例子的说明图。
图19是表示服务器具备的资源量和进程消耗的资源量的关系的一个例子的说明图。
图20是表示服务器具备的资源量和进程消耗的资源量的关系的另外一个例子的说明图。
具体实施方式
以下参照附图,对本发明中的服务器/客户端系统,负荷分散装置,负载分散方法以及负载分散程序的最佳实施方式进行详细地说明。
(系统构成)
首先,对包含本发明本实施方式中的负荷分散装置的服务器/客户端系统的系统构成进行说明。图1是表示本发明本实施方式中的服务器/客户端系统的系统构成的概要图。图1中,服务器101a~101n通过互联网等网络100分别连接终端装置(客户端)102或者电话局105构成。另外,无线基地局104被连接到电话局105,携带电话机103通过该无线基地局104与服务器101a~101n连接。
服务器101a~101n是例如,用于被称为PC服务器的服务器用途的个人计算机,由进行Web内容的传输或网络游戏传输等服务从业者进行管理、经营。并且,通过对PC服务器安装专用应用软件,使其成为具备负载分散功能的负荷分散装置。具备负载分散功能的服务器在整个系统内可以存在1到多台。在这里,以服务器101a为负荷分散装置进行以下说明。
因此,对于服务器101a以外的服务器(进程处理服务器)101b~101n也一样,通过安装专用应用软件,能够得到成为具备负载分散功能的负荷分散装置,作为负荷分散装置101a起动的服务器101a由于故障停止时,服务器101b~101n中的任意一个能够被切换作为负荷分散装置101a,进行代理。
负荷分散装置101a,由来自后面所述的用户使用的终端装置102和携带电话机103的进程的请求执行时,对服务器101b~101n分配此进程的执行。服务器101b~101n请求执行的进程,通过网络将成为此执行结果的服务提供给后面所述的终端装置102或携带电话机103。
终端装置102是例如个人计算机等信息终端装置,由个人或企业等使用。另外,携带电话机103是具备,例如象NTT DoCoMo公司的“i-mode(R)”或au社的“ezweb(R),至少可与互联网连接,使用浏览器或Java(R)应用程序等,访问网络100的信息通信功能的携带电话机。并且,无线基地局104,将从电话局105接收的通信数据作为无线电波发送到携带电话机103,并且,将从携带电话机103接收的无线电波向电话局105发送。电话局105在携带电话机103,负荷分散装置101a和服务器101b~101n之间进行数据通信时的线路转换。
对携带电话机103的系统,采用安装/内置无线LAN适配器的笔记本PC或PDA代替携带电话机,采用无线LAN的基地局代替携带电话的无线基地局104时,也可以称为用于所谓的热点(Hot Spot)服务的系统,同样,是本发明有效地动作的方式。
另外,在负荷分散装置101a,服务器101b~101n和终端装置102或者携带电话机103之间进行的通过网络的通信中,也可以使用利用SSL方式等的安全功能,或加密技术等,确保保守秘密。
(硬件构成)
下面,对本发明本实施方式中的终端装置和服务器的硬件构成进行说明。图2是表示本发明本实施方式中的服务器/客户端系统的负荷分散装置,终端装置以及服务器的硬件构成的框图。
在图2中,终端装置102、负荷分散装置101a和服务器101b~101n具备:CPU201;ROM202;RAM203;HDD(硬盘驱动器)204;HD(硬盘)205;FDD(软磁盘驱动器)206;作为可装卸记录介质的一个例子的FD(软磁盘)207;显示器208;网络I/F(接口)209;键盘210;鼠标211;打印机212;CD-ROM驱动器213;作为可装卸记录介质的一个例子的CD-ROM214以及扬声器215。另外,各构成部分分别由总线200连接。
其中,CPU201掌管终端装置102,负荷分散装置101a,服务器101b~101n每个整体的控制。ROM202存储着基本入输出程序,和启动程序等程序。RAM203被作为CPU201工作区域使用。HDD204根据CPU201的控制,控制对HD205的数据读/写。HD205存储由HDD204控制写入的数据。FDD206根据CPU201的控制,控制对FD207的数据读/写。FD207存储由FDD206控制写入的数据。作为可装卸记录介质,除了FD207之外,也可以是CD-RW,MO,DVD(Digital Versatile Disk)等。显示器208显示与指针,菜单,或者文本,图像,功能信息等数据相关的窗口(浏览器)。例如,是CRT,TFT液晶显示器,等离子显示器等。
网络I/F209连接在网络100上,通过该网络100,连接到终端装置102上。并且,网络I/F209控制网络100与内部的接口,控制来自负荷分散装置101a,服务器101b~101n,终端装置102的数据的输入输出。网络I/F209是例如,调制解调器或LAN适配器等。
键盘210具备用于输入文字,数值,各种指示等的键,进行数据输入。鼠标211进行指针的移动或范围选择,或者窗口的移动或尺寸变更等。作为指向装置只要是具备一样功能的装置,也可以是跟踪球,操纵杆以及游戏手柄等。并且,打印机212打印文本数据。是例如,激光打印机,喷墨打印机等。CD-ROM驱动器213根据CPU201的控制,控制对CD-ROM214的数据读入。CD-ROM214是可装卸记录介质。扬声器215(包括头挂听筒,耳机)输出声音和音乐等。
下面,对本发明本实施方式中的携带电话机的硬件构成进行说明。图3是表示本发明本实施方式中的服务器/客户端系统的携带电话机的硬件构成的框图。在图3中,携带电话机103具备:CPU301;ROM302;RAM303;显示器304;操作键盘305;麦克风306;扬声器307;通信控制部308;天线309;外部连接端子310;以及外部存储装置311,天线309与无线基地局104通信连接。另外,各构成部由总线300分别连接。
其中,CPU301管理携带电话机103整体的控制。ROM302存储着基本入输出程序,启动程序等程序。RAM303作为CPU301的工作区域使用。显示器304是液晶显示器,显示与文本,图像,功能信息等数据相关的窗口(浏览器)。操作键盘305输入文字,数字,各种指示等。麦克风306将输入的声音变换为电气信号。扬声器307将输入的电气信号变换为声音输出。通信控制部308,通过天线309与无线基地局104进行电波的接收发送,进行控制。外部连接端子310成为与闪速存储器等外部存储装置311的连接口。
(功能构成)
下面,对本发明本实施方式中的服务器/客户端系统的功能构成进行说明。图4是表示本发明本实施方式中的服务器/客户端系统的功能构成的框图。在图4中,构成服务器/客户端系统的负荷分散装置101a具备进程信息接收部401;确定部402;以及服务器信息发送部403,此外,确定部402包括距离计算部404。另外,构成服务器/客户端系统的客户端102具备:进程信息发送部411;服务器信息接收部412;以及进程请求发送部413。
进程信息接收部401通过网络接收与来自客户端102的进程相关的信息。另外,确定部402根据与由进程信息接收部401接收的进程相关的信息,从多个进程处理服务器101b~101n中确定进行处理进程处理的服务器。其中,距离计算部404计算,在以资源的参数为轴的空间中,进程的资源消耗量的、连结原点和参数可使用的最大容量的直线之间的距离。并且,根据由距离计算部404计算的距离,确定处理进程的服务器。另外,服务器信息发送部403将与由确定部402确定的服务器相关的信息发送到客户端102。
另一方面,进程信息发送部411在进行进程请求之前,通过网络将与进程相关的信息发送到负荷分散装置101a。另外,服务器信息接收部412,通过网络接收由负荷分散装置101a的服务器信息发送部403发送的与服务器相关的信息。另外,进程请求发送部413,向与由服务器信息接收部412接收的信息相关的服务器,即由负荷分散装置101a的确定部402确定的服务器(进程处理服务器101b~101n中的任意一个),发送由进程处理请求相关的信息。这样,根据该进程请求上述服务器进行处理,将处理结果发送到客户端102。
(负载分散的处理步骤)
下面,对使用本发明本实施方式中的负荷分散装置101a的负载分散方法的处理步骤的概要进行说明。图5是表示使用本发明本实施方式中的负荷分散装置的负载分散方法的处理步骤的概要的说明图。在图5中,负荷分散装置101a,负载分散由终端装置102a~102n请求的进程(例如,在线游戏等游戏进程)的执行,分配服务器101b~101n。
利用终端装置102a进行在线游戏时,从终端装置102a对负荷分散装置101a,请求箭头501表示的游戏进程执行。被请求进程执行的负荷分散装置101a,从服务器101b~101n中评价用于执行游戏进程的游戏服务器。游戏服务器的评价根据每个服务器101b~101n具备的资源进行。并且,由负荷分散装置101a产生的评价结果,确定箭头502所示的服务器101b作为负载分散目标。如果游戏服务器被确定,由负荷分散装置101a请求的游戏进程执行,由服务器101b执行游戏进程。由此,可以由终端装置102a开始游戏的利用。
如上所述,负荷分散装置101a,以由终端装置102a~102n请求执行游戏进程为开始,从服务器101b~101n中选择执行该游戏进程的最佳的服务器。另外,不局限于如上所述的在线游戏,在执行由其他应用软件产生的进程时,也能够使用负荷分散装置101a分散负载。
下面,对本发明本实施方式中的服务器的资源量和进程消耗的资源量的关系进行说明。图6和图7是表示本发明本实施方式中的理想的进程分散的一个例子的说明图。在图6中,服务器101b~101n的CPU消耗量表示为X坐标,内存的消耗量表示为Y坐标。该坐标图表示由服务器101b~101n中执行的进程使用的资源的消耗趋势。
图6中表示的坐标图的特征,作为服务器101b具备的,下面进行说明。在该坐标图中,用20这个数值表示相当于作为CPU消耗量的最大值100%的量。这是表示与由后面所述的图7表示的服务器101c具备的CPU的消耗量之比的数值(服务器101c的CPU消耗量为10),表示服务器101b具备能够消耗服务器101c2倍的CPU资源的性能。
下面,用10这个数值表示相当于内存消耗量的最大值100%的量。这与CPU的情况一样,是表示由后面所述的图7表示的服务器101c具备的内存消耗量之比的数值(图7中内存消耗量为20),表示服务器101b具备能够消耗服务器101c1/2倍内存的性能。
在图6的坐标图内表示的进程601是表示在服务器101b上执行的进程的CPU和内存消耗量的关系。由于执行该进程601而占有的CPU和内存各自的消耗量,CPU为10,内存为5,分别占服务器101b具备的资源的一半。
起动第1个进程601的状态能够以从原点到CPU的消耗量的10的位置和内存消耗量为5的位置为矩形表示,消耗的CPU和内存的最大值以坐标602表示(以下,将由一个进程消耗的CPU和内存的最大值构成的坐标称为“消耗资源坐标”)。并且,如果执行第2个进程601,能够将第1个进程601以坐标602为开始点,表示为阶梯状。通过分散该第2个进程601,CPU和内存消耗量变为服务器101b的各自的资源最大值,表示该最大值的坐标以坐标603表示。
这样,进程601执行2次,服务器101b中的CPU和内存消耗量同时变为最大值,分散给其他进程的剩余资源CPU和内存都没有了,变为资源被理想的消耗的状态。
另外在图7中,将服务器101b~101n的CPU消耗量作为X坐标,内存消耗量作为Y坐标表示。该坐标图是表示服务器101b~101n中执行的进程使用的资源消耗趋势的关系。
图7表示的坐标图的特征,作为服务器101c具备的,下面进行说明。在该坐标图中,用10这个数值表示相当于CPU消耗量的最大值100%的量。这表示上述图6的服务器101b具备的CPU可消耗的量1/2倍,表示具备能够消耗服务器101b的CPU消耗量的1/2倍CPU的性能。
下面,用20这个数值表示相当于内存消耗量最大值100%的量。这与CPU的情况一样,表示上述图6的服务器101b具备的内存可以消耗的量的2倍,表示具备能够消耗服务器101b的内存消耗量2倍的内存的性能。
图7的坐标图内表示的进程701是表示服务器101c上执行的进程的CPU和内存消耗量关系。由于执行该进程701而占有的CPU和内存的各自的消耗量,CPU为5,内存为10,分别占服务器101c具备的资源的一半。
起动第1个进程701的状态,能够作为从原点到CPU的消耗量为5位置和内存消耗量为10的位置的矩形表示,消耗的CPU和内存的最大值以坐标702表示。并且,如果执行第2个进程701,能够以第1个进程701的坐标702为开始点,表示为阶梯状。通过分散该第2个进程701,CPU和内存消耗量变为服务器101c的各自的资源最大值,表示该最大值的坐标以坐标703表示。
这样,如果执行2个进程701,服务器101c中的CPU和内存消耗量同时变为最大值,分散给其他进程的剩余资源CPU和内存都没有了,变为资源被理想地消耗的状态。
下面,对本发明本实施方式中的服务器中的最佳资源消耗进行说明。图8~图10是表示本实施方式中的服务器/客户端系统的服务器中的最佳资源消耗的一个例子的说明图。在图8中,将CPU的消耗量作为X坐标,内存消耗量作为Y坐标表示。在图8和后面所述的图9,图10中表示,具有服务器101d~101f的服务器时,由每个服务器导致可消耗的资源的量不同。
首先,图8的坐标图特征,作为服务器101d具备的进行说明。在该坐标图中,由801表示相当于CPU消耗量的最大值100%的量。这表示后面所述的图9的CPU消耗量的最大值的80%,并且,表示图10CPU消耗量最大值的50%。并且,将内存消耗量最大值100%的量作为最大值802表示。这表示与后面所述的图9的内存消耗量最大值相同量,并且,表示变为图10内存消耗量最大值的2倍的200%。
并且,如图8的坐标图所示,最初起动的进程803从原点位置记载,接着进程803起动的进程到进程804~808,按时间序列记载为阶梯状,最终达到成为CPU消耗量的最大值801和内存消耗量最大值802的交点的坐标809。由此,服务器101d变为CPU和内存被理想的消耗的状态。
在图9中,坐标图将CPU的消耗量作为X坐标,内存消耗量作为Y坐标表示。在图9中与图8一样,表示具有服务器101d~101f的服务器时,由每个服务器导致能够消耗的资源量不同。
如图9所示的坐标图的特征,作为服务器101e具备的,以下进行说明。在该坐标图中,将相当于CPU消耗量最大值的100%的量作为最大值901表示。这表示上述图8的CPU消耗量最大值的125%,并且,表示后面所述的图10的CPU消耗量最大值的62.5%。
下面,将相当于内存消耗量最大值的100%的量作为最大值902表示。这表示与上述图8的内存消耗量最大值相同量,并且,变为后面所述的图10的内存消耗量最大值的2倍。
并且,如图9的坐标图所示,最初起动的进程903从原点位置记载,接着进程903起动的进程到进程904~908,按时间序列记载为阶梯状,最终达到成为CPU消耗量的最大值901和内存消耗量最大值902的交点的坐标909。由此,服务器101e变为CPU和内存被理想的消耗的状态。
在图10中,将CPU的消耗量作为X坐标,内存消耗量作为Y坐标表示。在图10中与图8,图9一样,表示存在服务器101d~101f的服务器时,由每个服务器导致能够消耗的资源的量不同。
如图10所示的坐标图的特征,作为服务器101f具备的,以下进行说明。在该坐标图中,将相当于CPU消耗量最大值的100%的量作为最大值1001表示。这表示上述图8的CPU消耗量最大值的200%,并且,表示图9CPU消耗量最大值的160%。并且,将相当于内存消耗量最大值100%的量作为最大值1002表示,该最大值1002变为上述图8和图9的内存消耗量最大值的50%。
并且,如图10的坐标图所示,最初起动的进程1003从原点位置记载,接着进程1003起动的进程到进程1004~1008,按时间序列记载为阶梯状,最终达到成为CPU消耗量最大值1001与内存消耗量最大值1002的交点的坐标1009。由此,服务器101f变为CPU和内存被理想的消耗的状态。
下面,对本发明本实施方式中的服务器的资源消耗例进行说明。图11是表示本发明本实施方式中的服务器的资源消耗例的说明图。在图11中,X坐标上的Xmax,表示成为CPU消耗量最大值100%,Y坐标上的Ymax,表示成为内存消耗量最大值100%。
折线1101表示,在各进程产生时分散CPU和内存资源,最终达到CPU消耗量最大值Xmax,内存消耗量最大值Ymax的交点的坐标1102的例子。由此,折线1101表示,进行CPU和内存消耗量没有浪费的进程分散时的坐标图,表示资源被理想的消耗的结果。
折线1103表示,在各进程产生时分散CPU和内存资源的结果,在CPU消耗量达到其最大值Xmax前,内存消耗量达到最大值Ymax的例子。这表示,折线1103,对于内存消耗量,CPU的消耗量出现浪费时的坐标图,表示剩余区间1105表示量的可以使用的CPU。
折线1106表示,在产生每个各进程时分散CPU和内存资源的结果,在内存消耗量达到其最大值Ymax前,CPU消耗量达到最大值Xmax的例子。这表示,折线1106表示相对于CPU消耗量,内存消耗量出现浪费时的坐标图,剩余区间1108表示的量的可以使用的内存。
在通过以往负荷分散装置的进程分散方面,由于不判断服务器的资源消耗量就进行负载分散,如由上述折线1103、1106所示的,通常成为资源不能被均匀消耗的状态。与此相对,作为资源的CPU和内存如果以均匀地消耗的方式进行进程分散,如折线1101,能够防止剩余不能消耗的浪费的资源。
(服务器的评价方法)
下面,对通过本发明本实施方式中的负荷分散装置的服务器的评价方法进行说明。图12是表示通过本发明本实施方式中的负荷分散装置的服务器的评价方法的概要的说明图。在图12中,坐标图1202、1203,以CPU的消耗量为X坐标,以内存消耗量为Y坐标表示。以下,坐标图1202是表示服务器101b的资源消耗的内容的坐标图,坐标图1203是表示服务器101c的资源消耗的内容的坐标图。
首先,坐标图1202表示与坐标图1203比较,具备CPU消耗量的最大值为2倍和内存消耗量的最大值为1/2倍的资源的服务器的特性。在坐标图1202中进程1204、1205已经被分散执行。另一方面,坐标图1203表示与坐标图1202比较,具备CPU消耗量最大值为1/2倍和内存消耗量最大值为2倍的资源的服务器的特性。在坐标图1203中进程1210、1211已经被分散执行。以下,对产生进程1201的请求执行时,判断将进程1201,负载分散到具备坐标图1202或者坐标图1203中任一种特性的服务器,能最优地消耗资源的方法,进行说明。
由坐标图1203执行进程1201时,通过从进程1211的顶点1211a累加进程1201量的资源消耗量,表示消耗的资源整体的坐标(消耗资源坐标)变为坐标1215。并且,连结CPU和内存消耗量的最大值的交点的坐标1213和原点的直线为资源消耗最优线1212(以下,将连结由CPU和内存消耗量最大值构成的交点的坐标与原点的直线称为资源消耗最优线),从坐标1215对该资源消耗最优线1212画垂线1214。
另一方面,由坐标图1202执行进程1201时,通过从进程1205的顶点1205a累加进程1201量的资源消耗量,表示消耗的资源整体的坐标(消耗资源坐标)变为坐标1209。并且,将连结CPU和内存消耗量最大值交点的坐标1207与原点的直线作为资源消耗最优线1206,从坐标1209对该资源消耗最优线1206画垂线1208。
并且,比较垂线1208和垂线1214的长度,表明垂线1208的长度方变短。这表示,与由服务器101c执行进程1201相比,由服务器101b执行方,作为服务器101b资源的内存消耗量和CPU消耗量的平衡接近与均匀。因此,作为执行进程1201的服务器,不选择具备坐标图1203的特性的服务器101c,而选择具备坐标图1202特性的服务器101b。如果由服务器101b执行进程1201,资源能够变为最优地消耗。
此时,垂线1208和1214的长度相等,选择哪个服务器的情况,同样能够判断资源被更适当地消耗的情况都能存在。在这样的情况下,比较消耗资源坐标1209,1215与原点的距离1216,1217,分散其长度短的服务器。通过这样做,通过存在与资源消耗最优线的距离一样的服务器时,可以分散资源消耗量小的服务器。另外,想同时添加资源消耗量和距资源消耗最优线的距离两者时,垂线(1208,1214)和原点的距离(1216,1217)相乘的面积(1208×1216,1214×1217),通过选择具有更小值的服务器,能够实现。
下面,对本发明本实施方式中的分散服务器的评价方法的函数进行说明。图13是表示本发明本实施方式中分散服务器的评价方法的函数的一个例子的说明图。在图13中,X坐标上的Xmax,表示CPU消耗量最大值的100%,Y坐标上的Ymax,表示内存消耗量最大值100%。并且,在以资源的参数为轴的空间上,原点和参数可以使用的最大容量,即将Xmax和Ymax的交点坐标作为(Xmax、ymax),将连结(Xmax、ymax)和原点(0、0)的直线作为资源消耗最优线1301。并且,如图13的坐标图的特征,作为服务器101b具备的特征以下进行说明。
首先,第1个执行中的进程1302被表示为,以由进程1302消耗的内存消耗量和CPU的消耗量为纵横各边的长度的从原点出发的矩形。这是作为表示各进程消耗的资源的矩形的。距由该进程1302表示的矩形的原点的对角的顶点作为坐标1302a表示。
执行中的第2个进程1303能够作为,以坐标1302a为开始点,由进程1303消耗的内存消耗量和CPU的消耗量作为纵横各边的长度的矩形表示。距作为该矩形开始点的坐标1302a对角的顶点作为坐标1303a表示。
并且,重新分散的第3个进程,作为进程1304时,如图13,能表示以坐标1303a为开始点,以CPU的使用量为cx,以内存的使用量为c的矩形。表示作为矩形的开始点的坐标1303a的对角的顶点作为坐标1304a表示。
下面,求出从坐标1304a对资源消耗最优线1301画垂线1309的距离。首先,在图13的坐标图上所示的x和y的位置的值由以下的式子(1),式(2)表示。
y=fxy(x)=(ymax/xmax)×x…(1)
x=fyx(y)=(xmax/ymax)×y…(2)
如上所述,消耗第1个进程1302和第2个进程1303的消耗资源坐标由坐标1303a表示。并且,第3个进程消耗的消耗资源坐标作为坐标1304a表示。该坐标1304a的坐标作为(x1,y1)=(x0+cx,y0+cy)表示。
另一方面,将与纵轴并行的通过坐标1304a的直线,和资源消耗最优线1301的交点作为坐标1305。另外,将与横轴并行的通过坐标1304a的直线,和资源消耗最优线1301的交点作为坐标1306。将连结坐标1304a和坐标1305的直线作为直线1307,直线1307的长度由以下的式子(3)提供。
Δy=|fxy(x1)-y1|    …(3)
另外,将连结坐标1304a和坐标1306的直线作为直线1308,直线1308的长度由以下的式子(4)提供。
Δx=|fyx(y1)-x1|    …(4)
将从坐标1304a向资源消耗最优线1301画的垂线,作为垂线1309,垂线1309的长度由以下的式子(5)提供。
di s xy = ΔxΔy / ( Δ x 2 + Δ y 2 ) · · · ( 5 )
该disxy是坐标1304a距资源消耗最优线1301的距离,负荷分散装置101a,变为在确定从多个服务器的中用于执行进程的服务器时评价的值。
并且,下面,对求解从包含上述CPU和内存以外其他的参数的n次元函数时的消耗资源坐标到资源消耗最优线的距离的式子,进行说明。首先,能够在作为资源使用的参数为n个(xj)(1≤i≤n)的n次欧几里得空间上求出的资源消耗最优线,使用2维时,由以下的式子(6)表示(1≤i≤n)。
xi+1=fxix(i+1)modn(xi)=(x(i+1)modn max/ximax)×xi|…(6)
将现在的服务器资源消耗量作为(xi0)(1≤i≤n),将作为进程资源的使用量作为(ci)(1≤i≤n)时,
xi1=xi0+ci    …(7)
此时,式(8)为
Δx(1+1)modn=|fxix(i+1)modn(xi1)-x(i+1)modn1||…(8)
(1≤i≤n),n维欧几里得空间上的点(xi1)(1≤i≤n)与资源消耗最优线1301之间的距离能够如下式(9)表示。
dis = Π i = 1 n ( Δ x ( i + 1 ) mod n ) / ( Σ i = 1 n ( Δ x ( i + 1 ) mod n ) 2 ) · · · ( 9 ) |
因此,负荷分散装置101a,计算成为负载分散的对象的每个服务器101b~101n的式(5)或者由式(9)表示的距离(dis),对其距离最短的服务器,分散进程的执行处理。
另外,n维欧几里得空间上的点(xi1)(1≤i≤n)与原点的距离1310如式(10)记载。
diag = ( Σ i = 1 n x i 1 2 ) · · · ( 10 )
因此,在从垂线的长度dis相等的服务器中选择1个时,选择diag值小的,分散进程的执行处理。并且在想同时评价垂线的长度dis与原点的距离diag时,对dis×diag值最小的服务器分散处理。
并且,上述CPU和内存以外的资源,是例如,GPU或显示内存,网络接口卡等。GPU是用于在使用3D图形的游戏中由硬件进行透视或几何运算的图形芯片。另外,显示内存是,GPU进行图像处理运算时使用的GPU内具备的内存。另外,网络接口卡是,例如以太网适配器,是100Base,1000Base-TX等的终端。
下面,对通过本发明本实施方式中的负荷分散装置的服务器的评价和确定处理的内容进行说明。图14是表示通过本发明本实施方式中的负荷分散装置的服务器的评价和确定处理步骤的一个例子的框图。在图14的流程图中,首先,负荷分散装置101a设定在评价服务器101b~101n时使用的参数(步骤S1401)。参数是例如,CPU的消耗量,内存消耗量,GPU的消耗量,GPU具备的显示内存消耗量,或网络接口卡的带宽消耗量等。
下面,在执行多个进程时,对每个参数定义、设定各自使用的资源的使用量(步骤S1402)。并且,对每个服务器101b~101n,进行作为由步骤S1402定义的参数的资源最大值的设定(步骤S1403)。
下面,对每个服务器101b~101n获得、监视由步骤S1401设定的各参数的资源消耗量(步骤S1404)。判断是否有来自作为客户端的终端装置102或携带电话机103的进程执行的请求(步骤S1405)。没有进程执行请求时(步骤S1405:否),返回步骤S1404,继续进行对每个服务器101b~101n服务器,监视消耗的资源的消耗量的(步骤S1404)处理。
另一方面,有来自作为客户端的终端装置102的进程执行的请求时(步骤S1405:是),从服务器101b~101n中选择用于执行该进程的服务器的候补(步骤S1406)。这是,对于由步骤S1401设定的参数中的哪一个,从服务器101b~101n中选择其使用量不超过最大值的服务器的。并且,从由步骤S1406选择的候补中,进一步,通过求出从先前所述的图13的消耗资源坐标1304a向资源消耗最优线1301画垂线1309的距离,进行评价,确定距离最短,例如,服务器101b作为负载分散目标(步骤S1407)。
另外,在S1406的服务器候补选择中,如上所述,加上从消耗资源坐标1304a向资源消耗最优线1301画垂线1309的长度,能够合计消耗资源坐标1304a和原点的距离1310进行评价。存在垂线1309的长度相等的服务器时,通过选择与原点的距离1310小的服务器,能够选择资源消耗量更小的服务器。或者通过选择垂线1309的长度和原点的距离1310相乘值最小的服务器,实现最佳资源消耗,并且能够将进程分散到资源消耗量小的服务器中。
负荷分散装置101a,对由步骤S1407确定的负载分散目标的服务器101b,进行进程的请求执行(步骤S1408)。并且,为了表示对作为客户端的终端装置102执行进程,进行作为用于访问负载分散目标的服务器101b的信息的IP地址和服务端口号等通知(步骤S1409)。向服务器101b通知用于访问的信息的终端装置102,可以直接访问服务器101b,结束处理。
下面,对通过本发明本实施方式中的负荷分散装置的服务器的评价和确定的处理步骤的内容进行说明。图15是表示通过本发明本实施方式中的负荷分散装置的服务器的评价和确定处理步骤的一个例子的概要图。在图15中,表示负荷分散装置101a将由终端装置102a~102n请求的进程执行,对服务器101b~101n负载分散。在图15中,负荷分散装置101a,通过以下步骤进行处理。
(1)设定用于进行负载分散时的评价的参数。
(2)定义、设定由各服务器执行的进程消耗的每个参数的使用量。每当追加新的进程时,进行该设定。例如,使用CPU,内存,GPU,显示内存4个参数时,执行的进程如果是3D游戏,除了CPU和内存之外,对应GPU和显示内存也消耗资源。另外,如果执行的进程是2D游戏,就不消耗GPU和显示内存的资源。这样根据进程内容的不同消耗的资源也不同。
(3)进行每个服务器具备的各参数最大值的设定。该设定可以由管理者等对负荷分散装置101a通过手工操作设定,或者,也可以通过网络依次监视各服务器,获得设定值。另外,由于游戏或其他应用服务器等,可以根据其使用目的设置多种服务器101b~101n,对各自参数能够设定最大容量。该处理由箭头1501a所示。
(4)对应设定作为参数的资源,监视每个服务器101b~101n的各服务器消耗的量。该处理是由箭头1501a所示的,由负荷分散装置101a对服务器101b~101n依次进行监视,获得消耗量。
(5)从来自作为客户端的终端装置102a接收进程执行的请求。与此同时,获得接收的进程使用的各资源的量。该处理由箭头1502表示。
(6)负荷分散装置101a,从服务器101b~101n中,选择用于执行进程的服务器的候补。检查接收请求执行的进程使用的资源的消耗量是否超过各服务器资源的最大值,选择没有超过的作为候补。
(7)负荷分散装置101a,从在(6)中选择的候补中,进一步,通过求出从先前所述的图13的消耗资源坐标1304a向资源消耗最优线1301画垂线1309的距离或者消耗资源坐标1304a和原点的距离1310,进行评价,垂线的长度最短,或者垂线的长度相同时,距原点的距离1310短,或者垂线的长度与距原点的距离相乘值最小,例如,确定将服务器101b作为负载分散目标。
(8)负荷分散装置101a,对由步骤S1407确定的负载分散目标服务器101b,进行进程的请求执行。此时,服务器101b只接收来自已经认证请求执行的客户端的访问时,由终端装置102a向服务器101b发送ID,IP地址,服务端口号,加密钥匙,令牌等。该处理由箭头1501a表示。
(9)为了表示对作为客户端的终端装置102a执行进程,进行负载分散目标的服务器101b的信息的通知。该信息,在终端装置102a访问服务器101b时需要。指例如,终端装置102a直接访问服务器101b时,服务器101b的IP地址,端口号,与认证·加密相关的钥匙或令牌。该处理由箭头1502表示。
(10)通知用于访问服务器101b的信息的终端装置102a可以访问服务器101b。根据接收的由(9)通知的信息,可以从终端装置102a访问服务器101b。在服务器101b侧,通过IP地址,ID或令牌等一致确认是否是来自认证后的客户端的访问。接收加密钥匙时通信被加密。该处理由箭头1503表示。
(进程的信息内容)
下面,对本发明本实施方式中的负荷分散装置保持的进程的信息进行说明。图16是表示保持本发明本实施方式中的进程信息的表格的一个例子的说明图。在图16中,进程信息表格1600存储着用于保持进程信息的数据内容,由用于唯一的识别进程的ID,作为进程名称的进程名,执行进程时使用的CPU使用量,以及执行进程时使用的内存使用量各各项目构成。
ID的数据属性,在能够尽量由文本型,或者数值时,作为整数型等。进程名的数据属性为文本型等,CPU使用量和内存使用量的数据属性定义为浮动小数点型等属性。
首先,ID为100的记录表示的进程的数据内容是,进程名为进程1,CPU使用量为0.15,内存使用量为0.2。下面,ID为110的记录表示的进程的数据内容是,进程名为进程2,CPU使用量为0.2,内存使用量为0.4,对于CPU和内存的使用量与ID100的情况也一样。这表示,在分别执行ID为100或者110的进程时,由执行的服务器消耗的CPU和内存消耗量的值,被分别登记到表格中的CPU和内存使用量的数值量增加。
如果负荷分散装置101a从终端装置102接收进程执行的请求,使用进程信息表格1600的进程信息,选择用于分散负荷的服务器。并且,用于分散的服务器101b~101n的数量少时等,不进行使用如上述表格的数据库的表格管理,有时通过文本文件等参照用的文件描述方需要时间少。此时,根据需要将表格内容制作为参照用文件,此格式也可以任意的确定。
(表格信息)
下面,对本发明本实施方式中的负荷分散装置保持的服务器信息进行说明。图17是表示表示本发明本实施方式中的服务器/客户端系统的服务器信息的表格的一个例子的说明图。在图17中,服务器信息表格1700由,存储用于保持服务器信息的数据,用于识别服务器一致的连接目标服务器名,各服务器中使用中的CPU使用率,以及各服务器中使用中的内存使用率各项目构成。
连接目标服务器名的数据属性为文本型,或者,只要是数值表示时都作为整数型等。CPU使用率以及内存使用率的数据属性为浮动小数点型。其中,所谓服务器信息表格1700中表示的CPU或者内存使用率是表示,将已经被服务器101a、101b、101c各自使用的CPU或者内存的比率作为数值表示的。并且,服务器101b、101c、101d中的CPU以及内存使用率的最大值为1.0(=100%)。负荷分散装置101a,从各服务器定期监视这些值,设置成表格,或者,也可以在进行负载分散时,根据需要获得。并且,以下对,将如图16所示的ID为100的进程1,负载分散到服务器101b、101c、101d中哪一个的服务器中,进行评价。
首先,服务器信息表格1700的第1段表示的连接目标服务器名为101b的记录,已经使用的CPU的使用率为0.9,内存使用率为0.88。该服务器101b的CPU和内存使用率都很高,如果加上如图16所示的进程1的CPU使用量和内存使用量,由于分别超过最大值1.0(=100%),知已经没有用于执行进程1的空闲资源。
第2段表示的连接服务器名为101c的记录,CPU使用率为0.5,内存使用率为0.2。在该服务器101c中,加上如图16所示的进程1的CPU使用量和内存使用量时,由于CPU使用率为0.65,内存使用率为0.4,都不足1.0(=100%),知由用于执行进程1的空闲资源。
第3段表示的连接服务器名为101d的记录,CPU使用率为0.3,内存使用率为0.2。该服务器101d中,加上如图16所示的进程1的CPU使用量和内存使用量时,由于CPU使用率为0.45,内存使用率为0.4,都不足1.0(=100%),知具有用于执行进程1的空闲资源。
并且,使用式(5),分别求出从执行服务器101c和服务器101d的消耗资源坐标向资源消耗最优线画垂线的距离dis,服务器101c的距离为约0.177,服务器104c的距离为约0.035。由此,负荷分散装置101a选择距离短服务器101d分散作为最佳的服务器。
另外,对于消耗资源坐标和原点的距离diag,由式(10)知,服务器101c为约0.763,服务器101d为约0.602,两者的乘积(dis×diag)值,服务器101c时为约0.135,服务器101d时为约0.021,即使是同时考虑资源消耗最优线的长度,消耗资源坐标和原点距离两者时,也是选择分散服务器101d为最佳的服务器。
并且,用于分散负荷的服务器这些服务器101b、101c、101d的数量少时,有时不使用如上所述的使用数据库表格管理,通过文本文件等在参照用文件中描述,更新方面需要的时间少。这时,也可以根据需要,将如图17所示的表格内容,作为文本文件摘录,其格式可以任意确定制作的。另外,没有图示,不仅是上述CPU或内存使用率,也可以根据需要设置为各服务器中用于访问的IP地址或端口号等项目。
(服务器的地域分散的内容)
下面,对每个本发明本实施方式中的地域管理的服务器的负载分散进行说明。图18是表示本发明本实施方式中的服务器/客户端系统的服务器地域分散的一个例子的说明图。在图18中,在地域A设置终端装置102a,负荷分散装置1801a以及设置在中心1803的服务器1803a~1803n,在地域B设置终端装置102b,负荷分散装置1801b以及设置中心1804的服务器1804a~1804n,在店铺C设置终端装置102c,负荷分散装置1801c以及设置在中心1805的服务器1805a~1805n。通过这些,表示使用分散在每个地域或者店铺的各装置的综合的服务器/客户端系统的一个例子。
表示来自设置在地域A的终端装置102a的进程请求执行的流程lineA1,由用户导航1802,通过lineA2,发送到负荷分散装置1801a。其中,所谓用户导航1802是,由客户端的IP地址监视、路由(routing),或由本地DNS服务器地址进行监视、判断各地域进行路由的系统。由此,确定客户端的各地域,设置在距客户端最近的(网络数据传送延迟小)地域的服务器能被优先分散。并且,通过lineA2,向负荷分散装置1801a发送的进程的请求执行,通过lineA3,负载分散到设置在同一地域A的服务器1803a,发送进程的请求执行。
另外,表示来自设置在地域B的终端装置102b的进程请求执行的lineB1,由用户导航1802,通过lineB2发送到负荷分散装置1801b。其中,通常,进程的请求执行被发送到设置在地域B内的服务器1804a~1804n中的任意一个。但是,负荷分散装置18011a和负荷分散装置1801b作为,交换下属的服务器群的资源监视信息那样的结构时,变为能够通过lineB3,对设置在其他地域A的服务器1803a进行分散负载。另外,如果由负荷分散装置1801b监视地域A,B和店铺C的全部服务器资源,能够从除了设置在地域A的服务器1803a以外其他全部服务器中选择分散负载的服务器。
另外,表示来自设置在店铺C的终端装置102c的进程请求执行的lineC1,由用户导航1802,通过lineC2发送到负荷分散装置1801c。在负荷分散装置1801c中,从店铺C内的服务器1805a~1805n中评价可以负载分散的。但是,在与终端装置102c相同的店铺C内没有具备可以分散资源的服务器时,能够通过lineC3,负载分散到位于相邻的地域B的服务器1804n,来填补。
另外,已经熟知对包含游戏等的许多互联网应用的访问,随着时刻,访问频率变动。例如假设在夜10时访问高峰来临,在峰值前后的例如夜9时,11时的访问频率比峰值时小几成的应用。考虑东西时差时,配备在前后1小时地域内的服务器,在峰值时间带来临的地域的服务器资源枯竭时,作为剩余资源,可以进行接收处理来自峰值时间带的客户端的进程处理请求这样的东西地域负载分散。
即使在赤道上平均1小时时差不足1700km,由传播延迟产生的往返时间为约17ms。在游戏等频繁地进行服务器,客户端间的通信的应用程序中,是能够充分利用的延迟,能够有效地负载分散迎来随时刻不同的峰值的应用程序。
并且,只要剩余请求执行的进程消耗的资源容量,作为负载分散目标的服务器,不论地域,设置在哪里都可以。由此,通过协商部分租用作为一般消耗资源不太激烈的Web服务器使用的主服务器,或设置在位于各地的网吧(network cafe)等的设置多个PC服务器等资源,作为用于分散负载的服务器,能够进行具有冗余的负载分散。
如以上说明的,通过本实施方式,根据使用由终端装置102已有请求执行的进程执行时的资源消耗量进行评价,能够从服务器101b~101n中选择可以执行此进程的服务器。另外,每当重新追加或者修正执行的进程时,通过登记最新的资源消耗量,使进程执行总是能分散到最佳的服务器上。并且,由于用已有请求执行的进程的资源消耗量,和总是监视的服务器101b~101n具备的资源的剩余量,选择服务器,能够防止进程消耗的资源量和服务器的资源剩余量不匹配。另外,通过使用已有请求执行的进程的资源消耗量,和总是监视的服务器101b~101m具备的资源的剩余量,通过服务器的资源没有被浪费地消耗的函数进行评价,能够选择资源被没有浪费地消耗的最佳的服务器。并且,能够从多个中灵活地选择执行每个进程消耗的资源量不同的游戏或应用程序等的服务器。
另外,能够从具备的资源量不一样的多个服务器中,灵活地选择具有符合希望执行的进程消耗的资源的资源剩余量的服务器。由此,能够进行理想的服务器资源的消耗,多个服务器整体的同时处理进程(游戏数等)能够最大化,对于各服务器的各资源参数,能够无浪费地用尽容量。
另外,由于能够防止,如果使用本实施方式的负荷分散装置101a,资源的剩余量不足,不能执行进程,或者,负载分散到具有可以进程排队的服务器等,能够减少对进程的请求执行的等待时间。
并且,由本实施方式说明的负载分散方法,能够通过由个人计算机或工作站等计算机执行事先准备的程序来实现。该程序储存在硬盘,软磁盘,CD-ROM,MO,DVD等计算机可以读取的记录介质中,通过用计算机从记录介质中读出来执行。另外该程序也可以是通过互联网等网络发布的传送介质。
如上所述,本发明中的服务器/客户端系统,负荷分散装置,负载分散方法以及负载分散程序,有助于更好地平衡消耗进行负载分散的目标的服务器的资源,尤其适用于将具有由游戏等多用户的请求执行的进程,分散到多个服务器中时。

Claims (12)

1、一种服务器/客户端系统,在通过网络连接多个服务器和多个客户端,根据来自上述客户端的进程请求,上述服务器进行处理,并将处理结果发送到上述客户端的服务器/客户端系统中,其特征在于,
上述服务器中至少任一个,具备:
进程信息接收机构,其通过上述网络从上述客户端接收与上述进程相关的信息;
确定机构,其根据与上述进程信息接收机构接收的进程相关的信息,从上述多个服务器中确定处理上述进程的服务器;以及
服务器信息发送机构,其将与上述确定机构确定的服务器相关的信息发送到上述客户端,
上述客户端具备:
服务器信息接收机构,其通过上述网络接收由上述服务器信息发送机构发送的与服务器相关的信息;和
进程请求发送机构,其向由上述服务器信息接收机构接收的信息相关的服务器,发送与上述进程处理请求相关的信息。
2、根据权利要求1所述的服务器/客户端系统,其特征在于,
上述确定机构具备:
第1距离计算机构,其在以各服务器中的资源的参数为轴的空间中,计算通过在表示各服务器的现资源消耗量的点上加上上述进程的资源消耗量而求出的资源消耗量的预测点的、连结原点和可以使用的参数的最大容量的直线之间的第1距离;和
第2距离计算机构,其在以各服务器中的资源的参数为轴的空间中,计算通过在表示各服务器的现资源消耗量的点加上上述进程的资源消耗量而求出的资源消耗量的预测点的、与原点之间的第2距离,
根据上述第1距离和上述第2距离的一个甚至两个值,确定处理上述进程的服务器。
3、根据权利要求2所述的服务器/客户端系统,其特征在于,
上述参数包含:上述服务器的CPU负荷量、系统内存负荷量、图形处理单元负荷量、显示内存负荷量以及网络接口卡负荷量中的至少任意一个。
4、一种负荷分散装置,是分散通过网络连接多个服务器和多个客户端,根据来自上述客户端的进程请求,上述服务器进行处理,并将处理结果发送到上述客户端的服务器/客户端系统中的上述服务器的负荷的负荷分散装置,其特征在于,具备:
进程信息接收机构,其通过上述网络从上述客户端接收与上述进程相关的信息;
确定机构,其根据与上述进程信息接收机构接收的进程相关的信息,从上述多个服务器中确定处理上述进程的服务器;以及
服务器信息发送机构,其将与上述确定机构确定的服务器相关的信息发送到上述客户端。
5、根据权利要求4所述的负荷分散装置,其特征在于,
上述确定机构具备:
第1距离计算机构,其在以各服务器中的资源的参数为轴的空间中,计算通过在表示各服务器的现资源消耗量的点上加上上述进程的资源消耗量而求出的资源消耗量的预测点的、连结原点和可以使用的参数的最大容量的直线之间的第1距离;和
第2距离计算机构,其在以各服务器中的资源的参数为轴的空间中,计算通过在表示各服务器的现资源消耗量的点加上上述进程的资源消耗量而求出的资源消耗量的预测点的、与原点之间的第2距离,
根据上述第1距离和上述第2距离的一个甚至两个值,确定处理上述进程的服务器。
6、根据权利要求5所述的负荷分散装置,其特征在于,
上述参数包含:上述服务器的CPU负荷量、系统内存负荷量、图形处理单元负荷量、显示内存负荷量以及网络接口卡负荷量中的至少任意一个。
7、一种负载分散方法,是分散通过网络连接多个服务器和多个客户端,根据来自上述客户端的进程请求,上述服务器进行处理,并将处理结果发送到上述客户端的服务器/客户端系统中的上述服务器的负荷的负载分散方法,其特征在于,包含:
进程信息接收步骤,通过上述网络从上述客户端接收与上述进程相关的信息,
确定步骤,根据与上述进程信息接收步骤接收的进程相关的信息,从上述多个服务器中确定处理上述进程的服务器,以及
进程请求发送步骤,向由上述确定步骤确定的服务器,发送与上述进程处理请求相关的信息。
8、根据权利要求7所述的负载分散方法,其特征在于,
上述确定步骤包含:
第1距离算出步骤,在以各服务器中的资源的参数为轴的空间中,计算通过在表示各服务器的现资源消耗量的点上加上上述进程的资源消耗量而求出的资源消耗量的预测点的、连接原点和可以使用参数的最大容量的直线之间的第1距离;和
第2距离计算步骤,在以各服务器中的资源的参数为轴的空间中,计算通过在表示各服务器的现资源消耗量的点上加上上述进程的资源消耗量而求出的资源消耗量的预想点的、与原点之间的第2距离,
根据上述第1距离和上述第2距离的一个甚至两个值,确定处理上述进程的服务器。
9、根据权利要求8所述的负载分散方法,其特征在于,
上述参数包含:上述服务器的CPU负荷量、系统内存负荷量、图形处理单元负荷量、显示内存负荷量以及网络接口卡负荷量中的至少任意一个。
10、一种负载分散程序,是分散通过网络连接多个服务器和多个客户端,根据来自上述客户端的进程请求,上述服务器进行处理,并将处理结果发送到上述客户端的服务器/客户端系统中的上述服务器的负荷的负载分散程序,其特征在于,由上述服务器执行
进程信息接收步骤:其通过上述网络从上述客户端接收与上述进程相关的信息;和
确定步骤:其根据与上述进程信息接收步骤接收的进程相关的信息,从上述多个服务器中确定处理上述进程的服务器。
11、根据权利要求10所述的负载分散程序,其特征在于,
上述确定步骤包含:
第1距离算出步骤:其在以各服务器中的资源的参数为轴在空间中,计算通过在表示各服务器的现资源消耗量的点上加上上述进程的资源消耗量求出的资源消耗量的预测点的、连接原点与可以使用参数的最大容量的直线之间的第1距离,
第2距离计算步骤:其在以各服务器中的资源的参数为轴的空间中,计算通过在表示各服务器的现资源消耗量的点上加上上述进程资源消耗量的求出的资源消耗量的预测点的、与原点之间的第2距离,
根据上述第1距离和上述第2距离的一个甚至两个值,确定处理上述进程的服务器。
12、根据权利要求11所述的负载分散程序,其特征在于,上述参数包含:上述服务器的CPU负荷量、系统内存负荷量、图形处理单元负荷量、显示内存负荷量以及网络接口卡负荷量中的至少任意一个。
CNB2003801108545A 2003-12-18 2003-12-18 服务器/客户端系统,负荷分散装置,负载分散方法 Expired - Lifetime CN100555226C (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2003/016252 WO2005062176A1 (ja) 2003-12-18 2003-12-18 サーバ・クライアント・システム、負荷分散装置、負荷分散方法および負荷分散プログラム

Publications (2)

Publication Number Publication Date
CN1886731A true CN1886731A (zh) 2006-12-27
CN100555226C CN100555226C (zh) 2009-10-28

Family

ID=34708582

Family Applications (2)

Application Number Title Priority Date Filing Date
CNB2003801108564A Expired - Fee Related CN100537361C (zh) 2003-12-18 2003-12-18 蛋产品制备组件
CNB2003801108545A Expired - Lifetime CN100555226C (zh) 2003-12-18 2003-12-18 服务器/客户端系统,负荷分散装置,负载分散方法

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CNB2003801108564A Expired - Fee Related CN100537361C (zh) 2003-12-18 2003-12-18 蛋产品制备组件

Country Status (7)

Country Link
US (1) US7992152B2 (zh)
EP (1) EP1696324B1 (zh)
JP (1) JP3970902B2 (zh)
KR (1) KR100874421B1 (zh)
CN (2) CN100537361C (zh)
ES (1) ES2585178T3 (zh)
WO (1) WO2005062176A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103631636A (zh) * 2012-08-21 2014-03-12 国际商业机器公司 用于为商业服务器使能多个租用的方法及系统
CN104813297A (zh) * 2012-11-26 2015-07-29 日本电气株式会社 通信系统
CN109711554A (zh) * 2018-09-07 2019-05-03 天翼电子商务有限公司 一种基于基础设施大数据的应用弹性管理装置

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7903571B1 (en) * 2004-07-09 2011-03-08 Hewlett-Packard Develpment Company, L.P. System and method for improving multi-node processing
US7693840B1 (en) * 2004-07-30 2010-04-06 Sprint Communications Company L.P. Method and system for distribution of common elements
US8423670B2 (en) * 2006-01-25 2013-04-16 Corporation For National Research Initiatives Accessing distributed services in a network
JP4751265B2 (ja) * 2006-08-01 2011-08-17 株式会社日立製作所 リソース管理システム及びその方法
US7743140B2 (en) * 2006-12-08 2010-06-22 International Business Machines Corporation Binding processes in a non-uniform memory access system
KR100915424B1 (ko) * 2006-12-08 2009-09-03 주식회사 타오네트웍스 서비스 처리 시스템
JP4523965B2 (ja) * 2007-11-30 2010-08-11 株式会社日立製作所 リソース割当方法、リソース割当プログラム、および、運用管理装置
JP5176877B2 (ja) * 2008-10-31 2013-04-03 富士通株式会社 構成定義情報生成プログラム、構成定義情報生成装置、構成定義情報生成方法および監視プログラム
JP5347648B2 (ja) * 2009-03-30 2013-11-20 富士通株式会社 プログラム、情報処理装置及び状態出力方法
US8504556B1 (en) * 2010-03-08 2013-08-06 Amazon Technologies, Inc. System and method for diminishing workload imbalance across multiple database systems
JP5471702B2 (ja) * 2010-03-26 2014-04-16 富士通株式会社 通信装置、通信システムおよび状態監視方法
KR101544480B1 (ko) * 2010-12-24 2015-08-13 주식회사 케이티 복수 개의 프락시 서버를 포함하는 분산 저장 시스템 및 그 오브젝트 관리 방법 및 컴퓨터에 의하여 독출가능한 저장 매체
WO2013077034A1 (ja) * 2011-11-21 2013-05-30 株式会社ソニー・コンピュータエンタテインメント 情報処理システム、情報処理方法、プログラム及び情報記憶媒体
KR101946004B1 (ko) 2012-01-11 2019-02-11 삼성전자주식회사 마이크로프로세서 칩, 데이터 센터, 및 컴퓨팅 시스템
US20150081400A1 (en) * 2013-09-19 2015-03-19 Infosys Limited Watching ARM
US20150242597A1 (en) * 2014-02-24 2015-08-27 Google Inc. Transferring authorization from an authenticated device to an unauthenticated device
JP2017102777A (ja) * 2015-12-03 2017-06-08 富士通株式会社 負荷分散処理サーバ、負荷分散処理方法、及び、システム
US11704617B2 (en) * 2019-06-20 2023-07-18 Stripe, Inc. Systems and methods for modeling and analysis of infrastructure services provided by cloud services provider systems
US11151150B2 (en) * 2019-09-13 2021-10-19 Salesforce.Com, Inc. Adjustable connection pool mechanism
US11165857B2 (en) 2019-10-23 2021-11-02 Salesforce.Com, Inc. Connection pool anomaly detection mechanism

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5341477A (en) * 1989-02-24 1994-08-23 Digital Equipment Corporation Broker for computer network server selection
EP0384339B1 (en) 1989-02-24 1997-04-02 Digital Equipment Corporation Broker for computer network server selection
JPH0793262A (ja) 1993-09-27 1995-04-07 Nec Corp アプリケーションツール実行管理システム
JPH10198643A (ja) * 1997-01-09 1998-07-31 Hitachi Ltd 分散計算機システム
JPH10307783A (ja) * 1997-05-07 1998-11-17 N T T Data:Kk サイトアクセス制御システム及び記録媒体
JP2000047890A (ja) * 1998-07-31 2000-02-18 Hitachi Ltd 分散オブジェクト管理システムとそのオブジェクト選択方法およびその処理プログラムを記録した記録媒体
JP2000112908A (ja) * 1998-10-06 2000-04-21 Toshiba Corp 負荷分散dnsシステム
US6463454B1 (en) * 1999-06-17 2002-10-08 International Business Machines Corporation System and method for integrated load distribution and resource management on internet environment
US6938256B2 (en) * 2000-01-18 2005-08-30 Galactic Computing Corporation System for balance distribution of requests across multiple servers using dynamic metrics
JP2002024194A (ja) * 2000-07-05 2002-01-25 Matsushita Electric Ind Co Ltd ジョブ分散処理方法および分散処理システム
JP3472540B2 (ja) * 2000-09-11 2003-12-02 日本電信電話株式会社 サーバ選択装置、サーバ選択方法、及びサーバ選択プログラムを記録した記録媒体
JP2002269061A (ja) 2001-03-08 2002-09-20 Ntt Comware Corp クライアントサーバシステム、中継サーバ、接続先サーバの決定方法
US7320131B1 (en) * 2001-06-06 2008-01-15 Cisco Technology, Inc. Methods and apparatus for selecting a server to process a request
KR100450605B1 (ko) 2001-12-07 2004-09-30 임민열 웹-어플리케이션 서버 및 그의 동적 컨텐츠 제공 방법
US7461166B2 (en) 2003-02-21 2008-12-02 International Business Machines Corporation Autonomic service routing using observed resource requirement for self-optimization

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103631636A (zh) * 2012-08-21 2014-03-12 国际商业机器公司 用于为商业服务器使能多个租用的方法及系统
CN103631636B (zh) * 2012-08-21 2016-12-28 国际商业机器公司 用于为商业服务器使能多个租用的方法及系统
CN104813297A (zh) * 2012-11-26 2015-07-29 日本电气株式会社 通信系统
CN109711554A (zh) * 2018-09-07 2019-05-03 天翼电子商务有限公司 一种基于基础设施大数据的应用弹性管理装置

Also Published As

Publication number Publication date
EP1696324A4 (en) 2008-04-16
KR100874421B1 (ko) 2008-12-16
EP1696324B1 (en) 2016-04-06
CN100537361C (zh) 2009-09-09
JPWO2005062176A1 (ja) 2007-07-19
CN1886306A (zh) 2006-12-27
WO2005062176A1 (ja) 2005-07-07
CN100555226C (zh) 2009-10-28
EP1696324A1 (en) 2006-08-30
US20070118630A1 (en) 2007-05-24
ES2585178T3 (es) 2016-10-04
JP3970902B2 (ja) 2007-09-05
KR20070001911A (ko) 2007-01-04
US7992152B2 (en) 2011-08-02

Similar Documents

Publication Publication Date Title
CN1886731A (zh) 服务器/客户端系统,负荷分散装置,负载分散方法以及负载分散程序
CN1134741C (zh) 网络系统和打印机
CN1143208C (zh) 用于消息转换的装置和方法
CN1252611C (zh) 信息处理方法和信息处理装置
JP3987880B2 (ja) サーバ・クライアント・システム、負荷分散装置、負荷分散方法および負荷分散プログラム
CN1520123A (zh) 对地址询问的回答方法、程序、装置和地址通知方法、程序、装置
CN1681250A (zh) 存在信息提供系统及其方法和服务器
CN1342283A (zh) 数据输出控制装置
CN101047662A (zh) 实现单账号多身份即时消息通信和存在业务的方法及系统
CN1278623A (zh) 信息处理方法、信息终端支持服务器和储存信息处理程序的存储媒介
CN1692364A (zh) 相互评价的系统和在同样系统中使用的终端设备和程序
CN1342284A (zh) 数据输出控制装置及数据输出服务提供方法
CN1969589A (zh) 用于创建音频场景的设备和方法
CN1925462A (zh) 高速缓存系统
CN1606311A (zh) 用于在相互协作的不同协议环境之间提供信息的系统及其方法
CN1444745A (zh) 内容交换机装置
CN1732454A (zh) 在多个装置上呈现内容的系统和方法
CN1306384C (zh) 网络系统和网络接口卡
CN1685334A (zh) 用于提供内容的方法和系统
CN1947106A (zh) 通知方法、连接装置、通信方法以及程序
CN1609780A (zh) 用于投影来自计算装置的内容的系统和方法
CN1318186A (zh) 图像显示系统和信息存储媒体
CN101030204A (zh) 在用户终端设备上生成用户界面的入口服务器和方法
CN1630288A (zh) 第三方请求式服务的动态迟约束方法和系统
CN101069359A (zh) 改变移动通信终端的待机画面模板类型的方法、记录有用于执行该方法的程序的计算机可读记录介质以及具有该功能的移动通信终端

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
ASS Succession or assignment of patent right

Owner name: G CLUSTER WORLD'S STOCK COMPANY

Free format text: FORMER OWNER: BAIRE MEDIA STOCK CO., LTD.

Effective date: 20091002

C41 Transfer of patent application or patent right or utility model
C56 Change in the name or address of the patentee

Owner name: BAIRE MEDIA STOCK CO., LTD.

Free format text: FORMER NAME: JUAITE CO., LTD.

CP03 Change of name, title or address

Address after: Tokyo, Japan

Patentee after: Hundred hot media Corp.

Address before: Tokyo, Japan

Patentee before: Club IT Corp.

TR01 Transfer of patent right

Effective date of registration: 20091002

Address after: Tokyo, Japan

Patentee after: G-cluster Global Corp.

Address before: Tokyo, Japan

Patentee before: Hundred hot media Corp.

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20161215

Address after: Japan Tokyo port Akasaka 8 chome 4 No. 14

Patentee after: One hundred hot media GC AG

Address before: Tokyo, Japan

Patentee before: G-cluster Global Corp.

CX01 Expiry of patent term

Granted publication date: 20091028

CX01 Expiry of patent term