用于控制分布式处理环境中作业执行的计算机系统、方法及程序的制作方法

文档序号:6655799阅读:174来源:国知局
专利名称:用于控制分布式处理环境中作业执行的计算机系统、方法及程序的制作方法
技术领域
本发明涉及网格(grid)计算,特别涉及综合地控制多个网格计算系统的方法以及该系统结构。
背景技术
近年来,大家逐渐关注综合利用由网络连接的不同种类的(不同模式混合存在)的信息系统的、即称为网格计算的技术。利用该技术,可以共用网络上的多个计算机中CPU的能力和数据存储器等计算机资源,将其用作虚拟的1个高性能的计算机。由于在多台计算机中执行并行处理,因此,尽管一台一台的性能很低,但却可以高速地执行大量的处理。
还有,我们考虑对存在于连接在广域网上的分布式处理系统组中的计算机资源进行虚拟化,使存在于彼此的分布式处理系统组内的计算机资源有用化,并使其共用,从而有效地利用该资源。这里,所谓分布式处理系统,是指将连接到网络上的多个多种多样的计算机资源作为1个组来管理,执行负载分散以及调度(scheduling)的系统。所谓分布式处理系统组意味着存在于多个广域网(分布式网络)上的一组分布式处理系统。在以下的说明中,将分布式处理系统记述为资源被虚拟化的网格计算环境中的各个网格计算系统(以下,简称为网格系统)。
为了构筑这种对存在于网格系统组内的计算机资源进行综合利用的广域的分布式系统,除了要管理各个网格系统中的计算机资源外,还需要管理网格系统组整体的结构。因此,一直以来,不断研究、开发用于执行这种网格系统组的计算机资源的负载分散以及调度的元调度器(meta-scheduler)。具有元调度器的以往的网格系统组的组织方式主要分为集中型方案(Centralized Scheme)、分级型方案(HierarchicalScheme)、分布式方案(Distributed Scheme)共3种(对于集中型方案和分级型方案而言,例如请参见非专利文献1,对于分布式方案而言,例如请参见非专利文献2)。
图13概括性地图示了基于集中型方案的系统结构。
在集中型方案中,在管理网格系统组全体的中央服务器的元调度器中,集中了所有的网格系统信息,由该元调度器来作出调度的决定。在作为各个网格系统的本地站点(本地分配器(dispatcher))中,不作调度的决定,但执行从中央服务器的元调度器投入(投入する)的作业,之后,将作业完毕以及资源状态(空的处理器等)的信息通知给元调度器。在追加了新网格系统等变更了系统结构的情况下,为了使其反映在由元调度器发出的调度中,需要有利用中央服务器执行的步骤。
图14是大致地图示了基于分级型方案的系统结构。
在分级型方案中,在中央服务器和各本地站点间共享调度的处理。在从中央服务器的元调度器向本地站点的调度器提交了作业后,元调度器不需要与该作业直接相关。如果在提交了作业后,既便其他的本地站点能有空闲,各作业的执行也是在发送了该作业的各本地站点中执行的。
图15概括性地图示了基于分布式方案的系统结构。
在分布式方案中,在所有站点中都设置了元调度器。作业被提交给各本地站点的元调度器,并受其调度。由于所有的站点都具有元调度器,因此,关于某个作业,在规定的本地站点中被暂时调度后,若其他本地站点能有空闲,则能够重新执行调度,以便在该其他本地站点中执行该作业。各本地站点的元调度器需要具有相同的信息,随时或定期地交换各本地站点的负载状况等信息。
非专利文献1Chris Smith,“Open Source Metascheduling forVirtual Organizations with Community Scheduler Framework(CSF)”,Technical Whitepaper,Platform Computing Inc.2003年8月。
非专利文献2Vijay Subramani,“Distributed Job Scheduling onComputational Grids using Multiple Simultaneous Requests”,IEEEInternational Symposium on High Performance DistributedComputing(HPDC 2002),2002年。

发明内容
如上所述,以往,为了构筑综合利用存在于网络上的多个网格系统组中的计算机资源的广域的分布式系统,提出了管理网格系统组整体的方案。
但是,上述的集中型方案,由于需要在元调度器中管理网络上的各本地站点内所存在的计算机资源的详细信息,因此,在追加新网格系统等改变系统结构的情况下,为了使其反映在基于元调度器的调度中,必须有在中央服务器中执行的步骤。因此,伴随着系统结构的改变(本地站点的追加、删除、本地站点中的计算机资源的变更等),请求更新元调度器中的设定,从而增大了中央服务器中应用、管理的负载。因此,不能容易地应对系统结构的变更、规模的扩大缩小等,从而难以成为大小可变的系统。
另外,分级型方案,在从中央服务器的元调度器向本地站点的调度器提交了作业后,元调度器由于不与该作业直接相关,因此,即便在提交作业后,在其他本地站点内能有空闲,各作业的执行也是在发送该作业的各本地站点内执行的。由此,将不一定会高效地执行作业。
再有,在分级型方案中,也能够提出这样一种结构通过在各本地站点间交换信息,在其他本地站点内能有空闲的情况下,将已经提交给其他本地站点的作业再次发送给空的本地站点。但是,当提出这样的结构,由于系统会变复杂,因此在开发中需要花费工夫。
由于在各本地站点间交换信息,因此,会增大网络负载。另外,即便在分级方案中,也与集中型方案相同,由于伴随着系统结构的改变而需要更新元调度器中的设定,因此,不能容易地应对系统结构的改变、规模的扩大缩小,从而难以成为大小可变的系统。
在分布式方案中,由于必须在所有本地站点的元调度器之间随时或定期地交换各本地站点的负载状况等信息,因此,也会增大网络的负载。于是,由于需要伴随着系统结构的改变而更新各本地站点的元调度器中的设定,因此,不能容易地应对于系统结构的变更、规模的扩大缩小,从而难以成为大小可变的系统。
另外,在分级型方案和分布式方案中,由于必须要分别开发元调度器和本地调度器,因此,开发成本增大。
因此,本发明的目的在于实现一种大小改变的系统结构在综合利用存在于网格系统组内的计算机资源的广域分布式系统中,可容易地应对系统结构的改变、规模的扩大缩小的大小可变的系统结构。
本发明的其他目的在于在为了高效地执行作业而在本地站点之间交换信息的同时,减轻网络负载。
本发明的另一个目的在于不增大系统开发成本,就可实现综合了网格系统组的广域分布式系统。
为了达到上述目的,本发明实现为利用经由网络而连接的计算机系统组(网格系统组)来执行分布式处理的网络。即,在该分布式处理环境中的各网格系统具有网格服务器,用于针对网络上的计算机资源执行信息处理中的作业的分配和执行请求;以及,在自系统中实际执行作业的处理服务器等计算机资源(本地资源)。各网格服务器具有调度器,用于以包含各本地资源和网络上的其他网格系统的资源单元为对象来执行作业的分配,并请求执行该作业;以及,代理机(资源代理机),用于中继该调度器和资源单元间的通信。该代理机是用于管理资源单元的信息的软件模块,用于代替分配了该作业的该资源单元来接受由调度器所产生的所述作业的执行请求,并根据该资源单元的状况,对该资源单元执行该作业的执行请求。
更详细地说,代理机是对于在本地资源和网络上与本系统邻接(直接连接)的其他网格系统(网络资源)的每一个单独设置的,每一个与对应的资源单元间以所设定的单独的通信形式来请求执行作业。
对应于本地资源的代理机,从相关的本地资源获取并管理与其能力和操作状况相关的信息,与其他网格系统(网络资源)相对应的代理机,从相关的其他网格系统中的网格服务器获取并管理该网格服务器对于作业的执行请求可提供的资源能力的信息。之后,调度器根据资源代理机所管理的各信息,执行对于资源单元的作业的分配。
另外,该网格服务器可以具有具备资源能力信息获取部和资源能力信息通知部的接口单元。其中,资源能力信息获取部应答来自外部的作业的执行请求,从所述调度器获取本系统可提供的资源能力的信息;所述资源能力信息通知部,应答来自网络上其他网格系统中的网格服务器代理机的询问,将资源能力信息部所获取到的可提供的资源能力的信息通知给该代理机。这种情况下,调度器根据从本系统中的代理机所获取到的所述资源能力信息,来计算可提供的资源能力。之后,将该可提供的资源能力的信息交给资源能力信息获取部。
另外,该网格服务器的接口单元可以设定为具有作业接受部和作业执行委托部的结构。其中,作业接受部接受从网络上其他网格系统中的网格服务器代理机发送来的作业的执行请求;作业执行委托部将与该作业接受部接受到的执行请求相关的作业交给调度器,并委托进行作业的分配和执行。
达到上述目的的其他的本发明也可以实现为用于在网格系统中执行作业的调度和执行请求的以下的作业执行控制方法。该方法包含计算机系统(网格系统)利用与本系统内所包含的本地资源和网络上的其他网格系统(网络资源)的每一个相对应设置的接口模块,从本地资源中获取并管理有关本地资源的能力和工作状况的信息,之后,从该网络资源中的网格服务器中获取并管理网络资源可提供的资源能力的信息的步骤;根据由接口模块管理的这些信息,以包含本地资源和网络资源的资源单元为对象来执行作业的分配的步骤;以及,发出针对分配了作业的资源单元的作业执行请求的步骤。另外,还包含该接口模块暂时保持所发出的作业执行请求,并根据分配了作业的资源单元的工作状况,将其发送给相关资源单元的步骤。
另外,本发明也可实现为控制计算机使其实现上述网格服务器的功能的程序、或者是使计算机执行与上述作业执行控制方法的各步骤相对应的处理程序。该程序或者存储配置在磁盘、光盘、半导体存储器、其他记录介质内,或者经由网络发布来提供。
根据如上构成的本发明,经由代理机来连接构成广域分布式系统的各网格系统的网格服务器,由于其通过使该代理机内持有担任的网格系统的信息,再通过追加、删除担任的代理机就能够相对应地改变网格系统组全体的结构,因此,能够实现可容易地对应系统结构的变更、规模的扩大缩小的大小可变的系统结构。
根据本发明,由于因各网格系统持有在网络上邻接的其他网格系统的信息,结果使网格系统组全体的信息为各网格系统所共有,因此,可不必在各网格系统间频繁地执行信息交换,从而能够减轻网络负载。
另外,根据本发明,由于不需要用于综合控制网格系统组整体的固有的结构,因此,能够实现大幅削减系统开发所需的工夫和成本等,且容易构筑具有各种网络结构的系统的这类富有灵活性的系统。


图1图示了根据本实施方式的广域分布式系统的全体结构。
图2图示了构成图1的广域分布式系统的每个网格系统的结构。
图3示意性地图示了适于实现本实施方案的网格服务器和处理服务器的计算机装置的硬件结构的例子。
图4图示了本实施方式中的网格服务器的功能结构。
图5图示了本实施方式中的处理服务器的功能结构和网格服务器的资源代理机的关系。
图6图示了向本实施方式的广域分布式系统发出作业执行请求的客户机的功能结构和网格服务器的调度器的关系。
图7是用于说明根据本实施方式的调度器所执行的作业的调度操作的流程图。
图8图示了本实施方式中的资源代理机、GS代理机接口以及调度器的关系。
图9图示了构成基于本实施方式的广域分布式系统的网格系统组的全体结构。
图10图示了在向由本实施方式的网络方案所连接的网格系统组中规定的网格系统内投入了作业的情况下的分布形式。
图11图示了在图10的网格系统组中,针对其他网格系统投入了作业的情况下的分布形式。
图12是用于说明在图10的网格系统组内,向规定的网格系统投入了作业的情况下的资源能力的图。
图13概要地图示了基于集中型方案的广域分布式系统的系统结构。
图14概要地图示了基于分级型方案的广域分布式系统的系统结构。
图15概要地图示了基于分布式方案的广域分布式系统的系统结构。
具体实施例方式
以下,将参照附图,详细说明用于实施本发明的最佳方式(以下称为实施方式)。
图1图示了基于本实施方式的广域分布式系统的全体结构。
本实施方式的广域分布式系统将连接到互联网等广域网上的网格系统组综合起来,可以相互地利用各网格系统中的计算机资源。各网格系统是一种借助于网格计算技术,将连接在网络上的多个多种多样的计算机资源作为1个组来执行管理,从而执行其负载分散以及调度的分布式处理系统。
在本实施方式中,各个网格系统不具有从属关系,而是以对等关系并行地执行操作。另外,对各网格系统来说,在网络上邻接的其他网格系统能与本系统内的本地资源(计算机资源)相同地执行处理,委托执行作业。这里,所谓在网络上邻接,意味着可经由网络直接执行数据交换的网格系统之间的关系。另外,所谓本地资源是指在网格计算中实际执行所分配的作业的处理服务器等计算机资源。以下,将基于这种本实施方式形成的网格系统组的组织方式称为网络方案(Network Scheme)。
图2图示了构成图1的广域分布式系统的各个网格系统的结构。
如图2所示,根据本实施方式的网格系统具有执行作业分配(调度器)的网格服务器(GS)100;以及,作为按照基于网格服务器100的分配而实际执行作业的本地资源的处理服务器(PS)200。另外,网格服务器100也与其他网格系统的网格服务器100相连接。
在本实施方式中,网格服务器100和处理服务器200、以及多个网格系统的网格服务器100它们相互之间通过互联网和其他计算机网络进行连接。该计算机网络也可以不管通信协议、或者有线或无线的通信形式,而设置防火墙或其他访问限制。
更详细的将会在后面进行描述,为了实现上述网络方案,本实施方式的网格服务器100具有称为代理机的接口模块,它经由该代理机与处理服务器200、其他网格系统的网格服务器100等连接。以下,将相关装置间连接的结构称为代理结构(Agent Framework)。
图3示意性地图示了适于实现本实施方式的网格服务器100和处理服务器200的计算机装置的硬件结构的例子。
图3所示的计算机装置具有作为运算单元的CPU(CentralProcessing Unit中央处理装置)11;主存储器13,它经由M/B(主机板mother board)芯片组(chip set)12和CPU总线而连接到CPU 11上;视频卡14,它经由该M/B芯片组12和AGP(Accelerated GraphicsPort)连接到CPU 11上;磁盘装置(HDD)15、网络接口16,它们经由PCI(Peripheral Component Interconnect)总线连接到M/B芯片组12上;另外,还具有软盘驱动器18和键盘/鼠标19,它们从该PCI总线经由桥接电路17和ISA(Industry Standard Architecture)总线等低速总线而连接到M/B芯片组12上。
图3只不过例示了实现本实施方式的计算机装置的硬件结构,若能够应用本实施方式,也可以得到其他各种结构。例如,代替设置视频卡14,既可以构成仅仅安装视频存储器,利用CPU 11来处理图像数据的结构;又可以作为外部存储装置,经由ATA(AT Attachment)和SCSI(Small Computer System Interface)等接口来设置CD-R(Compact Disc Recordable)和DVD-RAM(Digital Versatile DiscRandom Access Memory)的驱动器。
图4图示了本实施方式中的网格服务器100的功能结构。
网格服务器100具有调度器110,用于针对作为本系统内的本地资源的各处理服务器200的作业来执行分配(调度);资源代理机120,用于执行处理服务器200的管理,并中继针对处理服务器200的询问和应答的收发;以及,网格服务器用资源代理机接口(以下称为“GS代理机接口”)130,用于使本系统如同其他网格系统的资源那样地执行操作。资源代理机120是对各处理服务器200和在网络上邻接的其他网格系统(网络资源)的每一个而设置的。然后,调度器110经由该资源代理机120来访问各处理服务器200和其他网格系统的网格服务器100。
调度器110例如由图3所示的受程序控制的CPU 11和主存储器13、磁盘装置15等存储单元来实现,作为其具体功能,如图4所示,它具有资源能力询问应答部111、资源能力获取部112、作业接受部113、最佳资源选择部114、以及作业委托部115。资源能力询问应答部111根据经由GS代理机接口130输入的来自外部的询问(资源能力获取请求),计算并答复可提供的本系统的资源能力。可提供的资源能力是根据由后述的资源能力获取部112获取到的信息而计算出的。另外,也可根据资源能力的提供对象来改变可提供的资源能力。
资源能力获取部112向各处理服务器200以及与在网络上邻接的其他网格系统对应的资源代理机120询问本系统可使用的资源能力,并获取信息(以下,将被识别为本系统的本地资源的处理服务器200和识别为网络资源的其他网格系统合起来,称为资源单元)。在获取的信息内,包含有本系统中本来的处理能力和存储装置的存储容量等静态信息、以及基于实时的负载状况等动态信息。
作业接受部113接受来自外部计算机系统(例如是客户机)和GS代理机接口130等的作业执行请求。
最佳资源选择部114根据由资源能力获取部112所获取到的资源能力信息,按照作业来选择最适于其执行的资源单元,之后,执行作业的分配。该作业分配中的最优化的逻辑可以是任意的。
作业委托部115针对与最佳资源选择部114中选择出的资源单元相对应的资源代理机120,发出请求执行作业的请求。
在本实施方式中,资源代理机120对调度器110和可使用的资源单元间的通信执行中继,并代替这些请求单元来接受由调度器110作出的作业的执行请求。由此,虽然资源能力获取部112的询问对象、作业委托部115的请求的发出对象变为资源代理机120,但此外的调度器110的功能本身与以往的调度器没有变化。网格服务器100和各个处理服务器200或其他网格系统的网格服务器100之间的通信形式的差异,利用资源代理机120中的设定而被吸收,因此,不需要考虑调度器110自身在发出请求时的通信形式的差异。由此,调度器110能够使用在以往的网格系统所使用的调度器。
资源代理机120例如由图3所示的受程序控制的CPU 11、主存储器13或磁盘装置15等存储单元、以及网络接口16来实现。作为其具体功能,如图4所示,它具有资源状况管理部121、资源能力管理部122、作业接受部123、以及作业委托部124。
资源状况管理部121访问对应的资源单元,以把握该处理服务器200(本地资源)或网格系统(网络资源)中当前的操作状况。
资源能力管理部122管理与对应的资源单元的作业执行能力有关的统计信息等,并根据来自调度器110的资源能力获取部112的询问,返回所管理的信息。这里,所谓有关作业执行能力的统计信息等不仅仅是CPU自身的处理能力和存储装置的存储容量的静态信息,还包含针对CPU的负载的时间变化和操作倾向这类动态内容执行统计处理所得到的信息。
被资源状况管理部121和资源能力管理部122所管理的这种资源信息,由资源代理机120从相对应的资源单元获取,并将其存储在图3的主存储器13、磁盘装置15等存储单元内。
作业接受部123接受从调度器110的作业委托部115发出的作业执行请求。
作业委托部124将由作业接受部123接受的作业执行请求发送给对应的资源单元。
GS代理机接口130由例如图3所示的受程序控制的CPU 11、主存储器13或磁盘装置15等存储单元、以及网络接口16来实现,作为其具体功能,如图4所示,它具有资源能力信息获取部131、资源能力信息通知部132、作业接受部133、以及作业执行委托部134。
如上所述,GS代理机接口130具有这样一种功能,它用于使网格系统相对于网络上的其他网格系统,可与相应该其他网格系统的本地资源同样地使用。利用该GS代理机接口130,网格服务器100能够接受来自其他网格系统的网格服务器100的请求,并返回使用本系统可使用的资源单元执行完作业所得的结果。
资源能力信息获取部131向调度器110询问并获取针对来自外部的作业执行请求可提供的本系统的资源能力信息(资源信息)。
资源能力信息通知部132根据接收到的资源能力获取请求,将在资源能力信息获取部131中获取到的资源信息通知给资源能力获取请求的发送源。在从网络上的其他网格系统中的网格服务器100的对应的资源代理机120接收了资源能力获取请求的情况下,将其通知给该资源代理机120。在资源代理机120中,资源状况管理部121和资源能力管理部122接受该通知,并将其存储在主存储器13或磁盘装置15等存储装置内并执行管理。从资源能力信息通知部132发给网格服务器100的通知,既可以定期地执行,也可以在本系统的工作状况发生变更时执行。另外,也可以在任意时刻,从网格服务器100的资源代理机120向对应的其他网格系统的网格服务器100发出询问。
作业接受部133接受从其他网格系统中网格服务器100的资源代理机120的作业委托部124发出的作业执行请求。
作业执行委托部134将由作业接受部133所接受的作业的调度和执行委托给调度器110。
接下来,将处理服务器200的功能结构以及对应的资源代理机120之间的关系进行说明。
图5图示了处理服务器200的功能结构和网格服务器100的资源代理机120之间的关系。
如图5所示,处理服务器200具有处理服务器用资源代理机接口(以下,称为“PS代理机接口”)210,用于使图3所示的计算机装置用作网格系统中的处理服务器200。
PS代理机接口210由例如图3所示的受程序控制的CPU 11、存储器13或磁盘装置15等存储单元、以及网络接口16来实现,作为其具体功能,如图5所示,它具有PS状况监视部211、资源能力信息通知部212、作业接受部213、以及作业执行部214。
PS状况监视部211监视本装置(处理服务器200)的当前使用状况、资源状况来收集信息。
资源能力信息通知部212将PS状况监视部211中收集到的与PS的使用状况和资源状况有关的信息通知给网格服务器100的资源代理机120。在资源代理机120中,资源状况管理部121和资源能力管理部122接受该通知,并将其存储在主存储器13或磁盘装置15等存储装置内并执行管理。从资源能力信息通知部212发送给网格服务器100的通知既可以定期地执行,也可以在处理服务器200的工作状况发生变更时执行。另外,也可以在任意时刻,从网络服务器100的对应的资源代理机120向处理服务器200发出询问。
作业接受部213接受从网格服务器100的资源代理机120的作业委托部124发送出的作业执行请求。
作业执行部214使用处理服务器200的资源来执行由作业接受部213所接受的作业。
若将网格服务器100的GS代理机接口130和处理服务器200的PS代理机接口210相比较,有以下几点不同PS状况监视部211监视本装置的状况来收集信息,与此相对,资源能力信息获取部131向调度器110询问本系统的资源能力;另外,作业执行部214使用本装置的资源来执行作业,与此相对,作业执行委托部134向调度器110委托作业的执行。这是基于以下情况而不同的装有PS代理机接口210的处理服务器200是在网格系统中执行作业的本地资源,与此相对,安装了GS代理机接口130的网格服务器100是综合控制网格系统,并进行执行作业的调度的服务器。
即,在对资源能力获取请求或作业的执行请求进行发送的网格服务器100的资源代理机120、和与此相对应的GS代理机接口130及PS代理机接口210之间的关系中,GS代理机接口130和PS代理机接口210没有任何不同。因此,资源代理机120不管对应的对象是作为本地资源的处理服务器200还是作为网络资源的其他网格服务器100,都具有相同的功能结构。
如此,由于将资源代理机120用作接口模块,且在网格服务器100内具有GS代理机接口130,因此,在网络上邻接的网格服务器100之间能够相互地与本系统的本地资源相同地处理其他系统,并执行作业的分配,且能够作为其他系统的本地资源而运行。利用这种代理机结构,实现了可执行以下操作的网络方案网格系统之间不具有从属关系而以对等的关系并行执行操作,同时相互间可将其他网格系统作为本系统的资源进行处理。
接下来,就基于如上所述构成的本实施方式的广域分布式系统的操作进行说明。
在本实施方式中,根据从规定的客户机向规定的网格系统发出的作业执行请求,利用构成广域分布式系统的网格系统组来执行负载分散,从而执行作业。这里,所谓客户机是可访问构成本实施方式的广域分布式系统的任何一个网格系统的计算机、PDA(Personal DigitalAssistant)等信息设备。具有后述功能的处理服务器200也可以作为客户机而发出作业执行请求。
图6图示了向本实施方式的广域分布式系统发出作业执行请求的客户机的功能结构和网格服务器100的调度器110之间的关系。
如图6所示,客户机300具有用于询问作为作业执行请求的发送对象的网格系统资源能力的资源能力询问部310,以及,发出作业执行请求,并将其发送到网格系统的作业委托部320。客户机300可以得到针对所期望的作业的执行结果,在作业的执行中所必须的计算机资源的供应也可以委托给网格系统的情况下,资源能力询问部310不是必须的构成要件。这些功能在例如是客户机300由图3所示的计算机装置构成的情况下,由受程序控制的CPU 11和主存储器13或磁盘装置15等存储单元来实现。
在根据本实施方式执行作业时,首先,上述客户机300的作业委托部320发出作业执行请求,并将其发送给访问对象的网格系统中的网格服务器100。这里,作为在此之前的事先调查,从资源能力询问部310向同一个网格服务器100发送资源能力获取请求,以便能够判断网格系统是否具有执行作业所满足的资源能力。
在网格服务器100的调度器110中,作业接受部113接受从客户机300发出的作业执行请求,最佳资源选择部114以本系统可使用的资源单元为对象,执行该作业的分配。作为作业的分配对象的资源单元是作为本地资源的处理服务器200、以及作为网络资源的其他网格系统。
图7是用于说明由调度器110所产生的作业的调度操作的流程图。
参照图7,最佳资源选择部114经由资源能力询问应答部111和资源能力获取部112,从资源代理机120获取各资源单元的能力、操作倾向等统计信息等(步骤701),之后,根据这些信息和作业的种类、特性来执行最佳调度(步骤702)。之后,作业委托部115根据基于最佳资源选择部114的处理结果,不管被分配了作业的资源单元的工作状况就发出作业执行请求,并将其发送到与该资源单元对应的资源代理机120(步骤703)。
由最佳资源选择部114执行的调度的逻辑可以是任意的,但由于若向其他网格系统委托执行作业,则既便是作为委托对象的网格系统,也会执行作业执行的调度,因此,一般我们认为向本地资源进行分配作业的作业效率高。因此,可采用以下方法首先向作为本系统的本地资源的处理服务器200分配作业,仅仅在处理服务器200中能力不足的情况下,才将作业的执行委托给其他网格系统。
资源代理机120向对应的资源单元发送从调度器110的作业委托部115收取到的作业执行请求,从该资源单元收取作业的执行结果,将其返回给调度器110。这里,资源代理机120的操作没有因对应的资源单元是处理服务器200还是其他网格系统而有所不同。
调度器110将基于从资源代理机120收取的各资源单元得到的作业的执行结果综合起来,并将其返回给客户机300。
并且,在本实施方式中,执行作业的资源单元有作为被委托执行作业的网格系统的本地资源的处理服务器200的情况,还有作为网络资源的其他网格系统的情况。其中,在处理服务器200中,当PS代理机接口210的作业接受部213从网格服务器100的资源代理机120接受了作业执行请求的情况下,其作业执行部214根据该请求来执行作业,并将执行结果返回到网格服务器100的资源代理机120。
另一方面,在资源单元是网格系统的情况下,来自资源代理机120的作业执行请求由该网格系统的网格服务器100中的GS代理机接口130的作业接受部133接受,由作业执行委托部134发送给该网格服务器100的调度器110。
图8图示了资源代理机120、GS代理机接口130、和调度器110之间的关系。
这里,比较图8和图6,对调度器110而言,与GS代理机接口130的关系和与客户机300的PS代理机接口210的关系是等价的。因此,调度器110与针对从上述客户机300直接收取到的作业执行请求的操作相同地、针对经由GS代理机接口130从其他网格系统的网格服务器100收取到的作业执行请求来执行调度,从而能够将作业的执行委托给本系统可使用的资源单元。
但是,资源代理机120如前所述那样,从对应的资源单元中获取与当前工作状况和作业执行能力有关的信息(资源信息),并利用资源状况管理部121和资源能力管理部122来执行管理。在资源单元是处理服务器200的情况下,该资源信息由其PS代理机接口210的PS状况监视部211收集,之后,由资源能力信息通知部212将其发送到资源代理机120。
另一方面,在资源单元是其他网格系统的情况下,资源信息由该网格系统的网格服务器100中的GS代理机接口130的资源能力信息获取部131获取,并由资源能力信息通知部132发送给资源代理机120。这里,资源能力信息获取部131如图4所示,向调度器110的资源能力询问应答部111进行询问,并接受这些信息。因此,资源能力询问应答部111有从客户机300接受到资源能力的询问的情况,也有从GS代理机接口130接受询问的情况。
在着眼于1个网格系统的情况下,在网络上与该网格系统邻接的其他网格系统能够作为该网格系统的资源单元来使用,另一方面,也能够针对该网格系统委托执行作业。然后,若考虑从规定的网格系统向该网格系统委托执行作业的情况,则该网格系统不能将委托过执行作业的规定的网格系统作为本系统的资源单元来使用。
因此,在从GS代理机接口130接受了询问的情况下,调度器110不能将包含这样一种网格服务器100的网格系统作为资源单元来使用,其中,所述网格服务器100是对GS代理机接口130发送过资源能力获取请求的网格服务器。因此,这种情况下,调度器110要除去包含发送了资源能力获取请求的网格服务器100的网格系统来计算可提供的资源能力,并将其返回给GS代理机接口130。
图9图示了构成基于本实施方式的广域分布式系统的网格系统组的整体结构。
如上所述,在本实施方式中,在各网格系统中,网格服务器100和作为本地资源的处理服务器200的连接、以及网格服务器100和其他网格系统的连接是经由网格服务器100内所具有的资源代理机120来执行的。由此,实现了图9所示的网络方案,各网格系统组能够分别从客户机300接受作业的执行委托。该作业可以由作为本系统本地资源的处理服务器200来执行,或者也可投入到网络上邻接的其他网格系统上来执行。各网格系统之间不具有从属关系而是以对等关系并行执行操作。
图10图示了向通过本实施方式的网络方案所连接的网格系统组的规定的网格系统投入了作业的情况下的分布形式。
在图10的例子中,对由虚线所示的5个网格系统(网格A、B、C、D、E)构成的广域分布式系统中的网格A投入了作业。该作业首先被分散投入到作为网格A的本地资源的处理服务器(PS)200内。之后,在以网格A的本地资源的能力未处理完该作业而发生了溢出的情况下,在网格A的网格服务器(GS)100中,在与网络上邻接的网格B、C相对应的资源代理机120和调度器110之间,执行工作状况的确认等谈判,并将该作业投入到网格B、C。在将作业投入到网格B、C的情况下,利用各网格B、C的本地资源来执行作业,在网格B中发生了溢出的情况下,还可将该作业分散投入到与网格B邻接的网格D、E中。
根据应用的种类,能够不管网格B、C的工作状况等而从网格A向网格B、C传递作业。这种情况下,在网格A的网格服务器100中,在与网格B、C对应的资源代理机120接受了该作业的执行委托、而网格B、C变为可接受作业的状态的时刻上,从资源代理机120向网格B、C执行作业的执行委托。
在上述说明中,设定为在本系统的本地资源中,在没有处理完作业而发生了溢出的情况下,将作业投入到其他网格系统中。如此,尽可能利用本地资源来优先处理作业的方法在减轻网络的负载上是优选的。但是,作业的分散投入方法并不限于此。还可以以任意的逻辑来执行作业的分配,以使得能够根据本系统的本地资源和邻接的其他网格系统的能力、作业的种类、特性等,来执行最佳的(执行效率高的)分散。
图11图示了在图10的网格系统组中,针对其他网格系统(网格B)投入的作业的情况下的分布形式。
如图11所示,投入给网格B的作业首先被投入到作为网格B的本地资源之处理服务器200中,在发生溢出的情况下,将其分散投入到在网络上邻接的网格A、D、E中。若在网格A中产生了溢出,则还会将作业分散投入到网格C中。
如此,在利用本实施方式的网络方案所连接的网格系统组中,由于在各网格系统间无主从关系而是以对等关系并行执行操作,因此,既便将作业投入给任意一个网格系统,也可以对在网络上邻接的网格系统连锁地分散投入作业,从而可以在由网格系统组构成的广域分布式系统整体中处理作业。
这里,仅就根据本实施方式的广域分布式系统执行作业的情况下,资源能力的计算方法的一个例子进行说明。
图12是用于说明图10的网格系统组中,在向规定的网格系统投入了作业的情况下的资源能力的图。
在图12中,各网格系统的资源能力是如下定义的。
Cx网格系统x自身的(本地资源的)资源能力C对于用户的x针对来自客户机的作业执行请求,网格系统x可提供的资源能力;C对于y的x针对来自在网络上与网格系统x邻接的网格系统y的作业的执行请求,网格系统x可提供的资源能力,即,C对于用户的x和C对于y的x由以下算式1来计算。
C对于用户的x=Cx+∑y∈x的所有邻接点C对于x的yC对于y的x=Cx+∑z∈除y以外的、x的所有邻接点C对于x的z参见图12,在从客户机300向网格系统a(图10的网格A)发出了作业的执行请求的情况下,可如下计算用于执行该作业而提供的处理能力C对于用户的a。
C对于用户的a=Ca+C对于a的b+C对于a的c
这里,由于网格系统b(图10中的网格B)除了与网格系统a邻接外还与网格系统d、e(图10的网格D、E)邻接,因此,能向网格系统a提供的资源能力为本系统的资源能力加上从网格系统d、e提供的资源能力。即,为C对于a的b=Cb+C对于b的d+C对于b的e另一方面,由于网格系统c(图10的网格C)仅仅与网格系统a邻接,因此,仅能够提供本系统的资源能力,从而成为C对于a的c=Cc同样,根据图12,在从客户机300向网格系统b执行了作业的执行请求的情况下,为了执行该作业而提供的处理能力C对于用户的b可以如下计算。
C对于用户的b=Cb+C对于b的a+C对于b的d+C对于b的e这样,从网格系统a、d、e分别提供给网格系统b资源能力如下C对于b的a=Ca+C对于a的cC对于b的d=CdC对于b的e=Ce在从客户机300向网格系统d执行了作业的执行请求的情况下,为执行该作业所提供的处理能力C对于用户的d如下计算。
C对于用户的d=Cd+C对于d的b这样,从网格系统b提供给网格系统d的资源能力如下C对于d的b=Cb+C对于b的a+C对于b的e其中,资源能力C对于b的a、C对于b的e是如上所述那样的。
另外,以上计算方法只不过是例示,当然并不限于该方法。
如上所述,在本实施方式中,各网格系统通过直接求取本系统的资源能力以及与本系统邻接的其他网格系统提供的资源能力,可以知道针对规定的网格系统执行了作业执行请求的情况下的广域分布式系统全体的处理能力。因此,不需要如图13-15所示的以往技术那样设置元调度器来执行用于把握广域分布式系统全体的网格系统和其本地资源的状态等的信息交换,从而能够大幅地减轻网络负载。
本实施方式以网格服务器100内设置的资源代理机120为接口模块对网格系统的网格服务器100和作为本地资源的处理服务器200执行连接,同时,经由同一个资源代理机120来连接网格服务器100和在网络上邻接的其他网格系统的网格服务器100。由此,在网络上邻接的各网格系统的网格服务器100相互间能够与本系统的本地资源相同地处理其他的网格系统,由此,可以实现利用上述网络方案连接了网格系统组而成的广域分布式系统。
各网格服务器100的调度器110由于不需要区分其他网格系统和本系统的本地资源,因此,没有必要导入广域分布式系统用的特殊结构。另外,也没有必要设置对构成广域分布式系统的网格系统组执行综合地管理的元调度器。由此,能够大幅削减系统开发所需的工夫和成本等。
另外,在本实施方式中,由于由本地资源和邻接的其他网格系统构成的资源单元的信息是由与各资源单元相对应设置的资源代理机120管理的,因此,调度器110也可以不考虑各资源单元的工作状态,而对资源代理机120执行作业分配。因此,在或者向构成广域分布式系统的网格系统追加了新的网格系统、或者从网格系统组中除去规定的网格系统的情况下,在与这些网格系统邻接的网格系统中,能够通过仅仅追加或删除对应的资源代理机120来执行对应。由此,系统的扩展性、灵活性等将非常高。
这样,通过加减担任在网络上邻接的网格系统的资源代理机120的数目,能够容易地构筑分级构造和级联构造等具有任意网络构造的广域分布式系统。
例如,通过仅仅在1个网格系统内设置多个担任其他网格系统的资源代理机120,能够构筑将该1个网格系统用作中心、而将其他网格系统组用作备份来应用的、近似于集中型方案的应用方式系统。
另外,在各网格系统中,通过仅仅设置1个担任其他网格系统的资源代理机120,能够构筑级联连接各网格系统的系统。
另外,根据资源代理机120的设置,由于可容易地定义在网络上发生了故障的情况下所使用的替代的网格系统,因此,可以针对故障构筑牢固的广域分布式系统。
权利要求
1.一种在经由网络连接多个计算机系统的分布式处理环境中与该网络相连接的计算机系统,其特征在于,包括执行作业的计算机资源,即本地资源;以及执行作业分配以及发出执行请求的网格服务器,其中,所述网格服务器具有代理机,管理与在所述网络上连接到所述计算机系统、即本系统上的至少1个其他计算机系统、即网络资源以及所述本地资源相关的信息、即资源信息,并请求这些资源执行作业;以及调度器,应答请求执行第1作业的第1请求,基于所述资源信息,将该第1作业分配给所述本地资源和所述网络资源中的1个或多个资源。
2.如权利要求1所述的计算机系统,其特征在于,所述代理机是针对所述网络资源和所述本地资源中的每一个而逐一设置的。
3.如权利要求2所述的计算机系统,其特征在于,由所述代理机管理的所述资源信息包含与所对应的所述本地资源或所述网络资源的处理能力有关的静态信息。
4.如权利要求2所述的计算机系统,其特征在于,由所述代理机管理的所述资源信息包含与所对应的所述本地资源或所述网络资源的实时负载状况有关的动态信息。
5.如权利要求1所述的计算机系统,其特征在于,所述网格服务器还具有第1接口单元,该第1接口单元接受从所述网络上的其他计算机系统发送来的请求执行第2作业的第2请求,将该第2请求传送到所述调度器,并向其委托第2作业的分配。
6.如权利要求5所述的计算机系统,其特征在于,所述第1接口单元还具有响应来自所述其他计算机系统的询问而将有关所述计算机系统、即本系统的所述资源信息通知给该其他计算机系统的单元。
7.如权利要求2所述的计算机系统,其特征在于,与所述本地资源对应的所述代理机将与该本地资源的处理能力和工作状况相关的信息作为所述资源信息进行管理;与所述网络资源对应的所述代理机将与该网络资源针对所述第1请求可提供的资源的处理能力相关的信息作为所述资源信息进行管理;所述调度器基于所述代理机所管理的所述资源信息,来执行所述第1作业的分配。
8.如权利要求2所述的计算机系统,其特征在于,所述本地资源还具有第2接口单元,该第2接口单元响应来自所对应的所述代理机的询问,将所述资源信息通知给该代理机。
9.一种在经由网络连接有多个分别具有执行作业的本地计算机资源、即本地资源的计算机系统的分布式处理环境中控制作业的执行的作业执行控制方法,其特征在于,包括连接到所述网络的第1计算机系统分别从自身的所述本地资源获取与其处理能力有关的第1资源信息并对其进行管理、而从在所述网络上与该第1计算机系统连接的至少一个第2计算机系统、即网络资源获取与其处理能力相关的第2资源信息并对其进行管理的步骤;所述第1计算机系统应答请求执行第1作业的第1请求,基于所述第1和第2资源信息,以所述本地资源和所述网络资源为对象来执行所述第1作业的分配的步骤;以及所述第1计算机系统对被分配以所述第1作业的资源发出请求执行该第1作业的第2请求的步骤。
10.如权利要求9所述的方法,其特征在于,所述第1计算机系统还具有暂时保持所发出的所述第2请求,并响应被分配以所述第1作业的所述资源的工作状况,向该资源发送该第2请求的步骤。
11.如权利要求10所述的方法,其特征在于,所述第2计算机系统按照与在所述网络上与该第2计算机系统相连接的至少1个第3计算机系统的关系,来执行与所述第1计算机系统同等的步骤。
12.如权利要求9所述的方法,其特征在于,还具有所述第2计算机系统应答来自所述第1计算机系统的询问,并通知所述第2资源信息的步骤。
13.一种在经由网络连接了多个分别具有执行作业的本地计算机资源、即本地资源的计算机系统的分布式处理环境中,使连接到所述网络的第1计算机系统执行如下处理的程序,其特征在于,所述处理为连接到所述网络的第1计算机系统分别从自身的所述本地资源中获取有关其处理能力的第1资源信息并对其进行管理、从在所述网络上与该第1计算机系统连接的至少一个第2计算机系统、即网络资源获取与其处理能力相关的第2资源信息并对其进行管理的处理;所述第1计算机系统应答请求执行第1作业的第1请求,基于所述第1和第2资源信息,以所述本地资源和所述网络资源为对象来执行所述第1作业的分配的处理;以及所述第1计算机系统对被分配以所述第1作业的资源发出请求执行该第1作业的第2请求的处理。
14.如权利要求13所述的程序,其特征在于,还使所述计算机执行以下处理所述第1计算机系统暂时保持所发出的所述第2请求,并响应被分配以所述第1作业的所述资源的工作状况,将其发送给该资源。
全文摘要
本发明提供一种用于控制分布式处理环境中的作业执行的计算机系统、方法以及程序。在综合利用网格系统组的广域分布式系统中,实现可容易地应对系统结构的变更和规模的扩大缩小的大小可变的系统结构。构成广域分布式系统的各网格系统的网格服务器100具有调度器110,以包含构成本系统的计算机(本地资源)以及网络上的其他网格系统(网络资源)的资源单元为对象,来执行作业的分配,并执行该作业的执行请求;以及,资源代理机120,用于对该调度器110和资源单元间的通信执行中继。资源代理机120管理资源单元的信息,并且代替该作业所分配的资源单元来接受由调度器110发出的作业的执行请求,并根据相关的资源单元的状况,对资源单元执行作业的执行请求。
文档编号G06F9/50GK1954295SQ20058001549
公开日2007年4月25日 申请日期2005年5月23日 优先权日2004年5月31日
发明者衫本和敏, 米泽隆, 美园和久 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1