CN102835068B - 用于管理系统资源的重新分配的方法和装置 - Google Patents
用于管理系统资源的重新分配的方法和装置 Download PDFInfo
- Publication number
- CN102835068B CN102835068B CN201180014224.2A CN201180014224A CN102835068B CN 102835068 B CN102835068 B CN 102835068B CN 201180014224 A CN201180014224 A CN 201180014224A CN 102835068 B CN102835068 B CN 102835068B
- Authority
- CN
- China
- Prior art keywords
- resource
- borrower
- priority
- request
- vrp
- 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.)
- Expired - Fee Related
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5011—Pool
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5021—Priority
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Mobile Radio Communication Systems (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
提供一种用于将当前分配给第二借用者的资源重新分配给请求资源的第一借用者的能力。一种用于对管理统的资源进行分配的方法,包括:从第一借用者接收对系统资源分配的请求,基于与所述第一借用者相关联的当前资源分配,确定所述第一借用者的请求优先级,基于与第二借用者相关联的当前资源分配,确定所述第二借用者的保持优先级,以及使用所述第一借用者的请求优先级和所述第二借用者的保持优先级,确定是否将所述第二借用者的资源分配中的任意资源重新分配给所述第一借用者。
Description
相关申请的交叉引用
本申请涉及2010年3月16日提交的发明名称为“用于系统资源的分层管理的方法和装置(METHOD AND APPARATUS FORHIERARCHICAL MANAGEMENT OF SYSTEM RESOURCES)”的序号为12/724,542[代理人案卷号为806814-US-NP]的美国专利申请,此处通过引用方式将其全部内容并入。
技术领域
一般地,本发明涉及系统(诸如网络管理系统)的系统资源,并且更具体地但是非唯一地涉及系统资源的管理。
背景技术
网络管理系统(NMS)用于管理许多不同类型的通信网络。典型地,NMS支持用于管理通信网络的各个方面的许多网络管理功能。使用NMS的各种硬件和软件资源,例如处理器线程、存储器等,来提供网络管理功能。结果是,由于对提供各种网络管理功能所需资源的竞争请求,NMS的资源通常处于严重的争用中。在许多情况下,必须对NMS资源自身进行管理,以保证NMS的性能、可靠性、可预测性和可扩展性。NMS资源的不适当管理通常导致NMS平台退化并且因此,导致NMS的用户和NMS所管理的通信网络的客户的不好的体验。此外,可能由NMS资源的不适当管理导致的资源匮乏,可能按照难以与实际问题相关联的各种方式来表现其自己,使得实际上对资源匮乏的根本原因没有可视性。虽然目前存在NMS资源管理方案,但这些方式仅仅尝试保持系统吞吐量和资源消耗之间的平衡,而不提供能够保证NMS的性能、可靠性、可预测性和可扩展性的资源管理上的控制水平(level of control)。
发明内容
通过用于管理系统资源的实施方式来解决现有技术中的各种缺点。提供一种用于将当前分配给第二借用者的资源重新分配给请求资源的第一借用者的能力。在一个实施方式中,一种用于对系统资源进行分配的方法包括:从第一借用者接收对系统资源分配的请求,基于与所述第一借用者相关联的当前资源分配,确定所述第一借用者的请求优先级,基于与第二借用者相关联的当前资源分配,确定所述第二借用者的保持优先级,以及使用所述第一借用者的请求优先级和所述第二借用者的保持优先级,确定是否将所述第二借用者的资源分配中的任意一个重新分配给所述第一借用者。
附图说明
通过考虑下面的详细说明并结合附图,可以容易地了解此处的教导,其中:
图1描述了具有系统资源的示例性网络管理系统的高级框图;
图2描述了用于图1的NMS的资源类型的资源的示例性分层资源池;
图3描述了用于管理图2的示例性分层资源池的示例性管理方案;
图4描述了用于管理图2的示例性分层资源池的示例性管理方案;
图5描述了用于处理来自请求系统资源的借用者的资源请求的方法的一个实施方式;
图6描述了用于确定是否在借用者之间重新分配资源的方法的一个实施方式;以及
图7描述了适用于执行此处介绍的功能的计算机的高级框图。
为了促进理解,尽可能地使用相同的附图标记来指代附图中共有的相同元件。
具体实施方式
此处,描述和介绍了资源管理能力。资源管理能力实现了系统资源的管理,包括系统资源的分配和取消分配(deallocation)、系统资源的重新分配、以及类似的资源管理功能。资源管理能力提供对资源管理的细粒度控制,由此能够保证使用资源管理能力的系统的性能、可靠性、可预测性和可扩展性。尽管此处关于管理特定类型系统(例如,网络管理系统的处理器线程、存储器和类似资源)的特定类型资源的资源管理能力的使用来进行主要地描述和介绍,此处描述和介绍资源管理能力可用于管理任意合适类型的系统(具有可以管理的资源)的任意合适类型资源。
图1描述了示例性网络管理系统(NMS)的高级框图。
NMS 100包括资源110。资源110可包括NMS的任意资源,资源对于不同类型的NMS来说是变化的。资源110包括多个资源类型1121-112N的资源(统称为资源类型112)。例如,资源110可包括资源类型112的资源,例如处理器线程、存储器、数据库连接、网络连接等。可以按任意合适的方式来定义资源类型112。
NMS 100使用资源管理架构(RMI)120来管理资源110。
RMI 120提供资源110的分层管理。在一个实施方式中,RMI 102基于每个资源类型来提供分层资源管理。在一个这样的实施方式中,RMI 120包括多个分层资源池(HRP)1221-122N(统称为HRP 122),多个分层资源池(HRP)1221-122N分别用于管理资源类型1121-112N的资源110。按这种方式,与NMS 100的其它资源类型112的每一个相独立地管理NMS100的资源类型112中的每一个。
在一个实施方式中,每个HRP 122包括用于管理相关联的资源类型112的资源110的主资源池(MRP)和多个虚拟资源池(VRP)。将HRP122组织到用于执行相关联的资源类型112的资源110的分层管理的分层树结构中。在一个实施方式中,MRP形成分层树结构的根,并且VRP形成分层树结构的剩余部分。可以按任意的方式(例如,使用任意合适数量的分层等级、使用跨越分层等级的VRP的任意合适的安排、使用MRP和VRP之间的任意合适的父亲/孩子关系等,以及其各种组合),可以将VPR组织到分层树结构中。
在一个实施方式中,用于指定的HRP 122的MRP是与指定的HRP122相关联的资源类型112的所有资源110的逻辑表示,由此促进与指定的HRP 122相关联的资源类型112的资源110的管理。用于指定的HRP122的MRP可用于执行与管理资源类型112的资源110相关联的任意资源管理功能,其中HRP 122与资源类型112相关联。例如,用于指定的HRP122的MRP可用于执行资源管理功能,例如资源生命周期(lifecycle)管理(例如,资源创建和销毁)、最小/最大管理(例如,实施系统中的指定资源类型112的资源110的数量)、资源租借管理(例如,租借持续期和其他相关联的资源租借参数)、借用者优先级管理、资源抢占(preemption)管理等,以及其各种组合。
在一个实施方式中,用于指定的HRP 122的VRP分别是资源类型112的资源110的子集的逻辑表示,其中资源类型112与指定的HRP 122相关联(并且因此,指定的HRP 122的MRP的资源110的子集的逻辑表示),由此促进与指定的HRP 122相关联的资源类型112的资源110的各自子集的管理。用于指定的HRP 122的VRP可用于执行与管理资源类型122的资源110的相关子集相关联的任意资源管理功能,其中资源类型112与HRP 122相关联。
在这样的实施方式中,可使用任意合适类型的逻辑表示来实现(并且因此管理)资源110的逻辑表示。在一个实施方式中,例如,可使用令牌来实现资源110的逻辑表示,例如其中资源110的每一个与提供各自资源110的逻辑表示的令牌相关联。在这样的实施方式中,RMI可将令牌分别用作用于管理资源110的手段。尽管关于将令牌用作资源110的逻辑表示来进行主要地描述,但可以了解的是,可以使用逻辑地表示并且由此控制资源110的任意其他合适手段。
用于指定的HRP 122的VRP可按任意合适方式获得资源110的各自子集。用于指定的HRP 122的VRP可从HRP 122的MRP(例如,作为从MRP到各自VRP进行的资源110的子集的初始分配的一部分;作为从MRP到一些或全部VRP的资源110的静态和/或动态重新分配的一部分等,以及其各种组合)获得资源的各自子集(或资源的子集的至少一部分)。指定的HRP 122的指定VRP可从指定的HRP 122的一个或多个其他VRP(例如,使用对一个或多个其他VRP的可能导致将一个或多个其他VRP的未分配/可使用资源重新分配给指定的VRP的请求,使用对MRP的可能导致一个或多个其他VRP的已分配资源重新分配给指定的VRP的请求等,以及其各种组合)获得其相关联的资源110的子集(或其相关联的资源110的子集的至少一部分)。
按这种方式,可以按照任意合适方式在VRP间静态地和/或动态地分配和/或重新分配指定的HRP 122的资源110。在这种实施方式中,由VRP发起的资源分配和/或重新分配请求可以按任意合适方式在HRP 122中流动(例如,具有和/或不具有略过的HRP 122分层等级、具有和/或不具有HRP 122的交叉分支等,以及其各种组合)。在至少一个这种实施方式中,资源请求在从分层树结构的叶子到分层树结构的根的方向(即,朝向MRP)上流动,并且资源在从分层树结构的根向下朝向分层树结构的叶子的方向(即,朝向VRP)上流动。
指定的HRP 122的VRP每个都具有与其相关联的一个或多个借用特性。指定的HRP 122的VRP的借用特性可用于定义VRP并且组织VRP的安排以形成指定的HRP 122的分层树结构。指定的HRP 122的VRP的借用特性可用于管理由指定的HRP 122所管理的资源类型112的资源110(例如,用于将资源110的各自子集分配给指定的HRP 122的VRP,用于指定的HRP 122的VRP之间的资源110的抢占等,以及其组合)。可以将指定的HRP 122的VRP的借用特性用于与管理指定的HRP 122的资源类型112的资源相关联的任意其他合适目的。
指定的HRP 122的VRP的借用特性可以是适用于以下内容的任何特性:定义和组织指定的HRP 122的VRP、管理由指定的HRP 122管理的资源类型112的资源110等,以及其各种组合。例如,指定的HRP 122的VRP的借用特性可以是指示要被使用的HRP 122的资源110的目的的特性、指示要使用HRP 122的资源110的借用者类型的特性(例如,组件、应用、过程、用户等)等,以及其各种组合。
按这种方式,可以定义和组织指定的HRP 122的VRP,使得可以在不同条件下使用与HRP 122相关联的资源类型112的资源110的子集,即与各自VRP相关联的资源110的子集。
通过下面的实例的方式,可以更好地了解为了管理与指定的HRP 122相关联的资源类型112的资源110的目的而进行的指定的HRP 122的VRP的定义和组织。
在一个实施方式中,例如,对于经由HRP 122管理的处理器线程,MRP包括NMS 100的处理器线程的全部(或,在一些实施方式中为子集),并且多个VRP可包括用于在如VRP的相关借用特性所指明的不同条件下使用的NMS 100的处理器线程的各自子集。例如,可以将处理器线程的第一和第二子集(即,分别是用于处理器线程的第一和第二VRP)分别定义为将处理器线程分配给NMS 100中运行的内部应用和用于为从NMS 100外部的应用接收的处理请求分配处理线程。可以理解的是,可使用任意合适的借用特性,按照任意其他合适方式在VRP之间分配处理器线程。
在一个实施方式中,例如,对于经由HRP 122管理的存储器,MRP包括NMS 100的存储器资源的全部(或,在一些实施方式中为子集),并且多个VRP可包括用于在由VRP的相关借用特性所指明的不同条件下使用的NMS 100的存储器资源的各自子集。例如,可以将存储器的第一、第二和第三子集(即,分别是用于存储器资源的第一、第二和第三VRP)分别定义为将存储器分配给以下内容的处理:(1)由NMS 100发起的内部过程,(2)从与NMS 100通信的其他系统接收的系统请求,以及(3)从NMS 100的用户接收的用户请求。在本实例中,可以进一步细分与从NMS100的用户接收的与用户请求相关联的存储器的第三子集,以形成用于处理分别从以下内容接收的用户请求的存储器的两个子集(即,分别是第四VRP和第五VRP):(a)位于第一网络操作中心的NMS 100的用户;以及(b)位于第二网络操作中心的NMS 100的用户。可以了解的是,可以使用任意合适的借用特性,按照任意其他合适的方式在VRP之间分配存储器。
在一个实施方式中,例如,对于经由HRP 122管理的数据库连接,MRP包括NMS 100的数据库连接的全部(或在一些实施方式中为子集),并且多个VRP可包括用于在由VRP的相关借用特性所指明的不同条件下使用的NMS 100的数据库连接的各自子集。例如,可以将数据库连接的第一和第二子集(即,分别是用于数据库连接的第一和第二VRP)定义用于将数据库连接分别分配给(1)北向“读取”操作(例如,来自客户端的请求);(2)NMS 100中的内部应用(例如,在NMS 100处接收的处理警告,由NMS 100发起测试执行等)。可以了解的是,可以使用任意合适的借用特性,按任意其他合适方式在VRP之间分配数据库连接。
在一个实施方式中,例如,对于经由HRP 122管理的网络连接,MRP包括NMS 100的网络连接的全部(或在一些实施方式中为子集),并且多个VRP可包括用于在由VRP的相关借用特性所指明的不同条件下使用的NMS 100的网络连接的各自子集。例如,可以将网络连接的第一和第二子集(即,分别是用于数据库连接的第一和第二VRP)定义为用于将网络连接分别分配给(1)与由NMS 100管理的网络元件的连接,以及(2)与使用NMS 100来管理网络元件的用户的用户终端的连接。在本实例中,可以进一步细分与由NMS 100所管理的网络元件的连接相关联的网络连接的第一子集,以形成与网络设备的多个子集的管理相关联的网络连接的许多子集(例如,基于网络元件的重要性、网络元件的地理位置、和/或这种细分可以基于的任意其他合适特性),以及可进一步细分与用户终端的连接相关联的网络连接的第二子集,以形成与用户终端的多个子组相关联的网络连接的许多子集(例如,基于由用户终端的用户所执行的功能的类型、用户终端的地理位置、和/或这种细分可以基于的任意其他合适特性)。可以了解的是,可使用任意合适的借用特性,按任意其他合适方式在VRP之间分配网络连接。
尽管前述实例主要涉及使用单个HRP 122来管理指定的资源类型112的所有资源110(并且因此,其中单个HRP 122的MRP包括指定的资源类型112的所有资源110)的实施方式,但在各种其他实施方式中,可使用多个HRP 122来管理指定的资源类型112的资源110,使得每个HRP 122(并且因此,每个相关联的MRP)仅包括资源类型112的资源110的子集。相似地,尽管前述实例主要涉及HRP 122中的每个仅管理单个资源类型112的资源110的实施方式,在各种其他实施方式中,一个或多个HRP122可管理多个资源类型112的资源110。
如关于为不同示例性资源类型提供的实例中的每一个的上述介绍,在前述实例的每一个中定义的HRP 122中,基于被细分的VRP专用的一个或多个借用特性,可以进一步细分一个或多个VRP以分别包括任意数量的对向的(subtending)VRP(即,任意合适的子树)。按这种方式,基于任意合适的借用特性和/或借用特性的组合,可以使用任意合适的分层树结构来定义HRP 122中的每一个,所述分层树结构具有使用任意合适安排来组织的任意合适数量的VRP。
可以了解的是,提供前述实例仅仅为了解释可以将VRP定义为不同资源类型的方式的目的。可以了解的是,对于这些资源类型中的每一个,以及任意其他资源类型,可以按任意其他合适方式定义和/或组织的用于资源类型的VRP(例如,基于不同特性进行定义、按不同的分层树结构来组织等,以及其组合),并且因此,可以按任意其他合适方式在VRP之间分配资源类型的资源。
可以了解的是,尽管关于特定数量的VRP来进行主要地描述和介绍,HRP 122可包括按具有任意合适数量的分层等级的任意合适分层树结构来安排任意合适数量的VRP,其中所述特定数量的VRP按照具有特定数量的分层等级的具体分层树结构来进行安排。可以了解的是,不同的HRP 122可使用用于管理他们的资源的相同、相似或不同的分层树结构。
图2描述了用于图1的NMS的资源类型的资源的示例性分层资源池。
如图2所示,示例性HRP 200包括主资源池(MRP)202M和7个虚拟资源池(VRP)202V1-202V7(统称为VRP 202V),其可以被统称为资源池(RP)202。按树结构分层地安排RP 202,其中MRP 202M形成树结构的根并且VRP 202V形成树结构的剩余部分。如图2所示,VRP 202V1、202V2和202V3是MRP 202M的孩子,VRP 202V4和202V5是VRP 202V1的孩子,VRP 202V6是VRP 202V3的孩子,并且VRP 202V7是VRP 202V4的孩子。
如此处介绍的,可以将示例性HRP 200定义为用于管理NMS 100的资源110的任意合适资源类型112。为了清楚地介绍示例性HRP 122的目的,假设将示例性HRP 122定义用于管理NMS 100的数据库连接,并且进一步地,假设在NMS 100上可使用1000个数据库连接。在本实例中,进一步假设多个网络操作中心(NOC)的用户可访问NMS 100。
在本实例中,MRP 200M提供NMS 100的1000个数据库连接的逻辑分组,由此实现用于NMS 100的借用者130使用的那些1000个数据库连接的分配的管理。
在本实例中,假设VRP 202V1、202V2和202V3分别管理用于以下内容的数据库连接:(1)响应于从NMS 100的用户接收的用户请求的数据库访问,(2)NMS 100发起的内部过程的数据库访问,以及(3)与NMS 100进行通信的系统的数据库访问,并且进一步地,分别为VRP 202V1、202V2和202V3分配500个、300个和200个数据库连接。
在本实例中,假设VRP 202V4和202V5分别管理用于以下内容的数据库连接:(1)响应于从位于第一NOC的NMS 100的用户接收的用户请求的数据库访问,以及(2)响应于从位于第二NOC的NMS 100的用户接收的用户请求的数据库访问,并且进一步地,分别为VRP 202V4和202V5分配300个和200个数据库连接。在本实例中,假设VRP 202V7管理用于响应于从位于第一NOC中的NMS 100的用户的子集接收的用户请求的用于数据库访问的数据库连接(例如,可能需要立即访问资源的管理者并且因此可从他们拥有的VRP来提供服务),并且进一步地,将已分配给VRP202V4的300个数据库连接中的100个分配给VRP 202V7(即,第一NOC处的所有其他用户必须共享未保留给管理者使用的200个数据库连接)。
在本实例中,假设VRP 202V6管理用于与NMS 100进行通信的特定高优先级系统的数据库访问的数据库连接,特殊高优先级系统可能需要立即访问资源(并且因此,可从其自己的VRP提供服务),并且进一步地,将已分配给VRP 202V4的300个数据库连接中的50分配给VRP 202V6(即,与NMS 100进行通信的所有其他系统必须共享未保留给高优先级系统使用的150个数据库连接)。
可以了解的是,图2的HRP 200仅是示例性的,并且可以按各种其他合适方式来定义和组织图1的HRP 122。
通过参考回到图1的方式可以更好地了解管理NMS 100的资源类型112的资源110的HRP 122的使用,例如图2的示例性HRP 200。
如图1所示,RMI 120包括管理能力125。管理能力125代表RMI 120的提供用于管理RMI 120的HRP 122的管理功能的能力。可以按任意合适方式来管理RMI 120的HRP 122。
在一个实施方式中,可以使用一个或多个参数来管理HRP 122(例如,使用用于所有HRP 122的单个管理器、使用一个或多个HRP 122共享管理器的多个管理器、使用HRP 122中的每一个具有专用管理器的多个管理器等,以及其各种组合)。
在一个实施方式中,例如,单个管理器管理RMI 120的HRP 122中的每一个。在本实施方式中,单个管理器负责为HRP 122中的每一个提供资源管理功能,包括MRP中的每一个和HRP 122的每一个的相关VRP。关于图1来描述示例性实施方式(其中管理能力是负责提供用于HRP 122的每一个的资源管理功能的单个管理器)。
在一个实施方式中,例如,由RMI 120的HRP 122的每一个自己的专用管理器来管理RMI 120的HRP 122的每一个。在本实施方式中,对于HRP 122中的每一个,相关联的管理器负责提供用于MRP和HRP 122的相关VRP的资源管理功能。通过参照图3来描述示例性实施方式。
图3描述了用于管理图2的示例性分层资源池的示例性管理方案。如图3所示,使用分层资源池管理器305来提供图1的管理能力125。分层资源池管理器305执行用于示例性HRP 200的管理功能。在本实施方式中,由分层资源池管理器305执行此处描述和介绍的各种功能,其中所述各种功能之前由或通过MRP和示例性HRP 200的相关联VRP来执行。在这种情况下,示例性HRP 200的池之间所介绍的交互是用于提供所述功能的分层资源池管理器305的相关联指令和例程的交互。
在一个实施方式中,例如,使用管理器集来管理RMI 102的HRP 122的每一个。在一个这样的实施方式中,对于指定的HRP,管理器集包括提供用于HRP 122的MRP的管理功能的MRP管理器和提供用于HRP 122的各自VRP的管理功能的多个VRP管理器。在这样的实施方式中,管理器集中的管理器进行交互,以提供用于HRP 122的相关联的资源管理功能。通过参照图4来介绍示例性实施方式。
图4描述了用于管理图2的示例性分层资源池的示例性管理方案。如图4所示,分别使用以下内容来提供图1的管理能力125:(1)与MRP 202M相关联的MRP管理器405M,以及(2)与VRP 202V1-V7相关联的多个VRP管理器405V1-405V7。此处可将MRP管理器405M和VRP管理器405V1-405V7统称为资源池管理器405。MRP管理器405M执行用于MRP 202M的管理功能。VRP管理器405V1-405V7分别执行用于VRP 202V1-V7的管理功能。资源池管理器405协作以作为整体来执行用于示例性HRP 200的管理功能。在这种情况下,所描述的示例性HRP 200的池之间的交互是用于提供所述功能的各自资源池管理器405的相关联指令和例程的交互。
尽管根据独立的实施方式来进行主要地描述和介绍,可以了解的是,可以在指定的NMS中使用管理器实现方式的这种实施方式的集合。
尽管关于管理器实现方式的特定实施方式来进行主要地描述和介绍,可以了解的是,可以使用管理器实现方式的任意其他合适实施方式来提供此处描述和介绍的各种资源管理器功能。
如图1所示,借用者130使用NMS 100,其经由与RMI 102的交互来获得资源110,从而使用由RMI 120所管理的资源110。
借用者130可包括能够请求和使用NMS 100的资源110的任意实体。借用者130可包括NMS 100内的实体和/或NMS 100远程的实体。例如,借用者130可包括组件、应用、过程、用户、系统等,以及其各种组合。
如此处介绍的,RMI 120实现对NMS 100的借用者130或与NMS 100相关联的借用者130的NMS 100资源110的动态分配。在一个实施方式中,RMI 120从借用者130接收资源请求、识别与资源请求相关联的VRP中的一个以及尝试对来自VRP中所识别的一个VRP的资源请求提供服务。参照图5来描述和介绍根据用于使用RMI 120将资源110分配给借用者130的一个实施方式的方法。
借用者130可发起对资源类型112的一个或多个资源110的资源请求。
在一个实施方式中,可以使用借用者130可用于请求资源110的三种类型的资源请求,并且可进行如下定义:
(a)借用者130请求资源110,并且如果在请求时所述资源110不可用,那么借用者130无限期地等待,直到所请求的资源变为可用(例如,通过另一借用者130对资源110的放弃、通过促使资源110变为可用于对所述借用者130进行分配的抢占(preemption)等);
(b)借用者130请求资源110,并且如果在请求时所述资源110不可用,则借用者130等待直到所请求的资源变为可用(例如,通过另一借用者130对资源110的放弃、通过促使资源110变为可用于对所述借用者130进行分配的抢占等)或直到经过了特定时间(即,超时、其中如果发生超时,那么借用者130不获得资源110);以及
(c)借用者130请求资源110,并且如果在请求时所述资源110不可用,借用者130不获得资源110。
可以了解的是,可以支持或少或多以及不同类型的资源请求(例如,对于不同的管理系统,对于不同类型的管理系统,对于不同资源类型112,对于不同类型的借用者130等,以及其组合)。
在一个实施方式中,RMI 120可基于与借用者130的每一个相关联的一个或多个优先级(priority),管理资源110到借用者130的分配。
在一个实施方式中,每个借用者130具有与其相关联的一个或多个优先级。与借用者130相关联的优先级可以是来自可用优先级的范围的优先级。所支持的用于借用者130的可用优先级的范围可以是优先级的任意合适范围。
为了清楚地描述资源管理能力的各种特征的目的,关于示例性实施方式来主要地描述和介绍资源管理能力,其中优先级的范围是从零(0)到(7)的数字范围,其中0是最高优先级并且7是最低优先级。这是许多网络应用(包括网络管理)中的典型优先级范围。尽管关于这种网络优先级度量的使用来进行主要地描述和介绍,可以理解的是,可使用优先级值的任意其他合适范围来提供资源管理能力。
在一个实施方式中,对于指定的资源类型112,每个借用者130具有与其相关联的两个优先级:建立优先级和保持优先级,其中的每一个可以是来自可用于分派给借用者130的可用优先级的范围的优先级值。
在一个实施方式中,当借用者130请求所述资源类型112的资源时,使用借用者130的建立优先级。将借用者130的建立优先级与请求相同资源类型的其他借用者130的建立优先级进行比较,以确定尝试进行利用所述资源类型112的资源110为借用者130提供服务的顺序。
在一个实施方式中,在借用者抢占确定期间使用借用者130的保持优先级,并且指示借用者130对目前分配给那个借用者130的所述资源类型112的资源110的保持(即,保留资源110的处理)有多“强烈”。
在一个实施方式中,基于指定的资源类型112的资源110对借用者130的当前分配,为指定的资源类型112分派借用者130的一个或多个优先级。可以按照任意合适方式来测量借用者130的当前资源分配。在一个实施方式中,例如,根据当前分配给借用者130的指定的资源类型112的资源110的数量,测量用于指定的资源类型112的借用者130的当前资源分配。可以按照任意合适方式来测量借用者130的当前资源分配,并且因此对于至少一些实施方式,此处对“资源数量”的参考可被更通用地读作可按任意合适方式测量的“资源的数量”的参考。如上所述,基于指定的资源类型112的资源110对借用者130的当前分配,可确定用于指定的资源类型112的、借用者130的建立优先级和保持优先级中的一个或两个。在一个实施方式中,随着借用者130的当前资源分配的改变(例如,随着来自借用者130的资源的分配和取消分配),借用者130的一个或多个相关联的优先级将会改变。基于借用者130的当前资源分配,借用者130的优先级的确定实现对某些借用者130独占资源110的情况的避免。
在一个实施方式中,其中基于当前分配给借用者130的资源类型112的资源110的数量来分派借用者130的优先级,当前分配给借用者130的资源类型112的资源110的数量落入可分配资源值的范围内。可分配资源值的范围是可以分配给借用者130的资源数量的范围(例如,从表示可分配给借用者130的资源的最小数量的最小尺寸(minsize)参数到表示可分配给借用者130的资源的最大数量的最大尺寸(maxsize)参数)。在一个实施方式中,指定的借用者130可具有与其相关联的用于不同资源类型112的不同范围的可分配资源值。在一个实施方式中,对于指定的资源类型112,不同借用者130可具有与其相关联的不同范围的可分配资源值。可以了解的是,可以按照任意其他合适方式来配置与各自借用者130相关联的可分配资源值的范围。
为了清楚地描述资源管理能力的各种特征的目的,关于示例性实施方式来主要地描述和介绍资源管理能力,在示例性实施方式中用于借用者130的可分配资源值的范围是从零(0)到十(10)的数字范围。可以了解的是,可以使用可分配资源值的任意其他合适范围,其中由于可以按照不同方式来测量不同资源类型的资源数量,可分配资源值的任意其他合适范围在不同资源类型112间是变化的。
在一个实施方式中,其中基于目前分配给借用者130的指定的资源类型112的资源110的数量,调整所述指定的资源类型112的借用者130的优先级(例如,建立、保持等),借用者130可具有与其相关联的用于确定借用者130的优先级的多个优先级等级。在一个这样的实施方式中,在任意指定时间,用于借用者130的多个优先级等级中的一个依赖于目前分配给借用者130的所述资源类型112的资源110的数量。在这种实施方式中,可以为与借用者130相关联的多个优先级等级分派建立优先级、保持优先级,或建立和保持优先级别两者(即,相同的优先级别等级集可用于建立和保持优先级,或不同的优先级别等级集可用于建立和保持优先级别)。
在一个这样的实施方式中,其中基于当前分配给借用者130的指定的资源类型112的资源110的数量,调整用于所述指定的资源类型112的借用者130的优先级,借用者130可以具有与其相关联的用于指定的资源类型112的三个优先级等级,其可以被定义如下:
(a)基础优先级(建立和保持):当目前分配给借用者130的资源的数量小于或等于最小的尺寸(此处其可以表示为最小尺寸),对于指定的资源类型112,将基础优先级用于借用者130。
(b)核心优先级(建立和保持):当目前分配给借用者130的资源的数量小于或等于核心的尺寸(此处其可以表示为核心尺寸(corezise))但是大于最小的尺寸(最小尺寸),对于指定的资源类型112,将核心优先级别用于借用者130。
(c)突发优先级(建立和保持):当目前分配给借用者130的资源的数量小于或等于最大的尺寸(此处其可以表示为最大尺寸)但是大于核心的尺寸(核心尺寸),对于指定的资源类型112,将突发优先级用于借用者130。
在一个实施方式中,其中基于当前分配给借用者130的指定的资源类型112的资源110的数量,调整用于所述指定的资源类型112的借用者130的优先级,使用所支持的用于借用者130的可用优先级值的范围到所支持的用于借用者130的优先级等级的映射,可以确定分派给借用者130的实际优先级。
可以按任意合适方式来实现所支持的用于借用者130的可用优先级值的范围到所支持的用于借用者130的优先级等级的映射。所述映射可包括可用优先级值中的一个到优先级等级中的一个的映射。所述映射可包括多个可用优先级的值到优先级等级中的一个的映射。所述映射可包括在优先级等级中的两个(例如,优先级别等中相邻的优先级)之间可用优先级值的子集的范围的一个或多个插入(interpolation)。所述映射可包括这种映射技术的各种组合。通过参考下面的实例的方式可以更好地了解所支持的用于借用者130的可用优先级值的范围到所支持的用于借用者130的优先级等级的映射。
在一个实施方式中,例如,其中借用者130具有与其相关联的用于指定的资源类型112的三个优先级等级,并且用于指定的资源类型112的借用者130的可用优先级的范围包括从0到7的数字范围,所支持的用于借用者130的可用优先级值的范围到所支持的用于借用者130的优先级等级的映射可以实现为如下:
(1)借用者参数配置:
最小尺寸=3
核心尺寸=6
最大尺寸=10
基础优先级=0
核心优先级=3
突发优先级=7
(2)基于资源数量的借用者优先级别:
资源1、2、3-优先级=0
资源4、5、6-在优先级0(基础)和3(核心)之间插入的优先级如下:
资源4-优先级=1
资源5-优先级=2
资源6-优先级=3
资源7、8、9、10-优先级3(核心)和7(突发)之间插入的优先级如下:
资源7-优先级=4
资源8-优先级=5
资源9-优先级=6
资源10-优先级=7
可以了解的是,由于可以基于用于借用者130的可分配资源值的范围来定义借用者130的优先级等级(例如,基于最小尺寸参数来定义基础优先级等级、基于核心尺寸参数来定义核心优先级等级、以及基于最大尺寸参数来定义突发优先级等级),还可以将所支持的用于借用者130的可用优先级值的范围到所支持的用于借用者130的优先级等级的映射认为是所支持的用于借用者130的可用优先级值的范围到所支持的用于借用者130的可分配资源值的范围的映射。
可以了解的是,在借用者130具有与其相关联的用于指定的资源类型112的三个优先级等级并且可用优先级的范围包括从0到7的数字范围的实施方式中,可以按照任意其他合适方式来实现所支持的用于借用者130的可用优先级别的范围到所支持的用于借用者130的优先级等级的映射。相似地,可以了解的是,在借用者130具有与其相关联的用于指定的资源类型112的少于或多于三个优先级等级,和/或所支持的用于指定的资源类型113的可用优先级的范围包括不同的优先级范围时,可以按照任意其他合适方式来实现所支持的用于借用者130的可用优先级值的范围到所支持的用于借用者130的优先级等级的映射。
通过前述说明和相关联的实例,可以了解的是,在至少一个实施方式中,可以使用可用于分派给借用者的优先级值的范围到可分配资源值的范围的映射来确定借用者优先级别(例如,请求和/或保持优先级),其中由可分配给借用者的资源的最小数量和可分配给借用者的资源的最大数量来定义可分配资源值的范围。在一个这样的实施方式中,所述映射可包括可用于分派给第一借用者的优先级值的范围中的单个优先级值到可分配资源值的范围中可分配资源值的子范围的映射(例如,在上面的实例中,例如是资源1、2和3到优先级0的映射)。在一个这样的实施方式中,所述映射可包括可用于分派给借用者的优先级值的范围中的优先级值的子范围对借用者的可分配资源值的范围中所分配的资源值的子范围的插入(例如,在上面的实例中,资源4、5和6在优先级1、2和3之间的插入)。
可以了解的是,可使用以下内容来执行借用者130的优先化(prioritization):可用优先级的任意其他合适范围、可分配资源值的范围、可用优先级的范围到可分配资源值的范围的映射等,以及其各种组合。可以进一步了解的是,可以按照任意其他合适方式(例如,使用不同类型的值等)来测量可用优先级的范围和/或可分配资源值的范围。
在一个实施方式中,RMI 120可使用抢占来管理资源1110对借用者130的分配,其中响应于对与第一VRP相关联的资源的资源请求,抢占当前分配给第二VRP的资源以用于重新分配给第一VRP,使得可以为所述资源请求提供服务。可以了解的是,这样还可以包括对当前使用第二VRP的资源的借用者130的抢占,其中从当前分配给抢占的借用者130的第二VRP将资源重新分配给第一VRP。在这种情况下,术语“抢占”通常指将目前分配给第二实体(例如,HRP、VRF、借用者)的资源重新分配给第一实体(例如,HRP、VRF、借用者)。
在一个实施方式中,在基于资源请求确定所识别的VRP无法为来自借用者130的资源请求提供服务时(例如,所识别的VRP不具有可用于分配给借用者130的任意附加资源),发起资源重新分配请求以尝试触发将资源重新分配给所识别的VRP,以由对借用者130的资源请求提供服务的标识符VRP来使用。所发起的用于识别的VRP的资源重新分配请求可以是:用于来自识别的VRP的相关联MRP的资源的重新分配的请求、用于来自HRP 122的一个或多个其他VRP的资源重新分配的请求等,以及其各种组合。可以按任意合适方式来触发资源重新分配请求,其可能依赖于管理相关联的HRP 122的方式。参照图3的安排,例如,分层资源池管理器305可发起资源重新分配请求,使得分层资源池管理器305促使将来自一个或多个VRP 202V的资源重新分配给所识别的VRP 202。参照图4的安排,例如,可由VRP管理器405V中的一个发起对MRP管理器405M和/或一个或多个其他VRP管理器405V(例如,直接地或经由MRP管理器405M)的资源重新分配请求。
在一个实施方式中,当MRP管理器接收到所识别的VRP的管理器的资源重新分配请求时,MRP的管理器基于来自所识别的VRP的管理器的资源请求,确定是否抢占来自另一VRP的资源(例如,另一VRP的可用资源或目前被分配给另一借用者130的另一VRP的资源),以用于由所识别的VRP来使用。MRP的管理器可使用一个或多个抢占因素来识别候选VRP,其中可以抢占来自所述候选VRP的资源。相似地,MRP的管理器和/或候选VRP的管理器可使用一个或多个抢占因素来识别候选借用者130,其中将抢占来自所述候选借用者的资源(在需要借用者130的抢占的情况下)。
在一个实施方式中,当候选VRP的管理器接收识别的VRP的管理器的资源重新分配请求时,候选VRP的管理器尝试为资源重新分配请求提供服务。在一个实施方式中,候选VRP的管理器首先确定候选VRP是否具有可以被重新分配给所识别的VRP的任意未分配的资源,使得不需要抢占HRP 122的借用者130。在一个进一步的实施方式中,当候选VRP的管理器确定候选VRP不具有可使用的任意未分配的资源(即,目前已将候选VRP的所有资源分配给借用者130),候选VRP的管理器确定是否抢占候选VRP的借用者130中的一个,从而提供所识别的VRP所请求的资源。候选VRP的管理器可使用一个或多个抢占因素来识别候选借用者130,其中可以抢占来自所述候选借用者130的资源。如果候选VRP的管理器决定抢占候选VRP的借用者130中的一个以提供由所识别的VRP所请求的资源,则候选VRP的管理器于是使得所抢占的借用者130的资源可用于所识别的VRP(例如,直接地或经由MRP的管理器)。如果候选VRP的管理器决定不抢占候选VRP的借用者130中的任意一个以提供由目标VRP所请求的资源,候选VRP的管理器可发起以下动作中的一个或多个:(a)通知所识别的VRP其不能提供所识别的VRP所请求的资源,(b)将所识别的VRP的资源重新分配请求传播到一个或多个其他VRP的管理器和/或MRP(例如,传播到HRP 122中其父亲的管理器、传播到HRP 122的一个或多个其他分支的管理器等,以及其各种组合)等,以及其各种组合。
尽管此处关于候选VRP的管理器代表所识别的VRP来尝试为所接收的资源重新分配请求提供服务的实施方式来进行主要地描述和介绍,在一个实施方式中,候选VRP的管理器可能具有拒绝资源重新分配请求的许可。在一个这样的实施方式中,候选VRP的管理器可以(1)被允许拒绝可能导致对来自借用者130的资源110的抢占的资源重新分配请求,但是(2)不允许拒绝不会导致对来自借用者130的资源110的抢占的资源重新分配请求(例如,其中候选VRP具有一个或多个可用的未分配资源)。在一个这样的实施方式中,可以允许候选VRP的管理器拒绝任意资源重新分配请求,而与所述请求是否将导致对来自借用者130的资源110的抢占无关。在一些实施方式中,可使用这种实施方式的组合,例如其中指定的HRP 122的不同VRF具有与其相关联的不同拒绝许可,其中不同HRP122的VRF具有与其相关联的不同拒绝许可等,以及其各种组合。
按这种方式,资源重新分配请求可以按从叶子到根的方向来进行(proceed up)相关联FRP 122的分层树结构。在一些这样的实施方式中,资源重新分配请求通过每次一个分层等级和/或通过每次多个分层等级来进行所述树。按这种实施方式,可以按任意合适方式遍历所述分层树结构(例如,在发起对分层树结构的下一较高层的资源重新分配请求之前,从一个孩子VRP接收资源重新分配请求的VRP可以尝试抢占它的其他孩子VRP中的一些或全部;在发起对分层树结构的下一较高层的资源重新分配请求,直到抢占资源或分层树结构用尽的同时,从一个孩子VRP接收资源重新分配请求可能尝试抢占它的其他孩子VRP中的一些或全部等,以及其各种组合)。
按这种方式,可以在HRP内传播资源重新分配请求,使得可以在HRP122的各种VRP之间共享使用HRP 122来管理的资源类型112的资源110,由此实现对借用者130的资源的受控、动态分配。
在一个实施方式中,可以在识别候选VRP(其中可以抢占来所述自候选VRP的资源110)时使用的一个或多个抢占因素(以及,在借用者130的抢占的情况中,识别要被抢占的候选借用者130)包括以下内容中的一个或多个:
(1)借用者优先级:
(a)借用者保持优先级:这是借用者130的租借保持优先级,其中可以抢占来自所述借用者130的资源。通常地,在具有更高保持优先级的借用者130之前,具有更低保持优先级的借用者130应当被抢占。
(b)借用者请求优先级:这是可以抢占资源110的借用者130的优先级。可以将借用者请求优先级与借用者130的借用者保持优先级进行比较,其中将借用者130选择作为潜在地将被抢占的借用者130。
(2)资源租借年龄:这是目前被分配给借用者130的资源租借的年龄,其中可以抢占借用者130的资源110。在一个实施方式中,相比与长期租借的抢占,优选的是短期租借的抢占,这是由于其允许在至少一个HRP 122(例如,数据库连接)中有效的缓存优化。可以了解的是,具有更高优先级的资源租借通常趋于具有可用于借用者130的寿命更长的资源110。
(3)适度(graceful)抢占:实现适度抢占,从而阻止VRP或MRP强制地从借用者130获取资源110。这可能是与其他抢占因素稍微奇特的,至少是因为为了对请求借用者130进行响应,可以使用抢占的借用者130可以安全地放弃的第一候选资源,然而,抢占的借用者130的第一候选资源可以是寿命非常长的资源,使得任意抢占将与其他抢占因素直接冲突。
可以了解的是,包括不同抢占因素的或少或多的抢占因素可以用于识别候选VRP,其中可以抢占来自所述候选VRP的资源130。
可以进一步了解的是,因为一些或全部抢占因素可能彼此冲突,可以按任意合适方式(例如,按任意合适顺序、通过将不同权重或优先级应用到抢占因素中的不同抢占因素等,以及其组合)来考虑抢占因素。
在一个实施方式中,对于不同的资源池,在识别候选VRP时使用的抢占因素可能是不同的(例如,使用哪个因素、彼此相关的因素的权重等),其中可以抢占来自所述候选VRP的资源。例如,一个HRP 122的因素的使用可能与另一HRP 122的因素的使用不同。例如,对于指定的HRP 122,一个VRP的因素的使用可能与另一VRP的因素的使用不同。可以使用做出抢占确定时控制抢占因素的使用中的任意合适等级的粒度。
在一个实施方式中,RMI 120可监视和保持与RMI 120在提供资源管理能力时的操作相关联的资源管理统计。例如,RMI 120可监视和保持统计,例如资源租借时间、未决的借用计数、抢占计数等,以及其组合。资源管理统计可以用于实现资源管理能力的动态调整,并且因此被监视和保持的资源管理统计可以包括任意类型的统计,所述任意类型的统计适用于实现RMI 120在提供资源管理能力时的操作的自动调整。还可以使用资源管理统计以将可视性提供给最终用户的资源管理能力,由此实现RMI 120的提供资源管理能力的操作的手动调整。所述资源管理能力的调整可包括任意合适的修改,例如重新定义HRP、重新定义和/或重新组织一个或多个HRP的一个或多个VRP,重新定义借用者优先化过程(例如,用于借用者130的可用优先级的范围、可用于借用者130的可分配资源值的范围、可用优先级的范围到用于借用者130的可分配资源值的范围的映射、用于确定借用者130的优先级的基础等,以及其组合)、重新定义借用者抢占过程(例如,提升资源重新分配请求的方式(例如,通过遍历分层资源数、直接到MRP等)、确定抢占时使用的因素、确定抢占时使用的因素的权重等,以及其组合)等,以及其组合。可以了解的是,尽管此处关于RMI120监视和保持与资源110的管理相关联的资源管理统计的实施方式来进行主要地描述和介绍,NMS 100和/或一个或多个其他系统的任意其他合适组件或多个组件可监视和保持与资源110的管理相关联的资源管理统计。
在一个实施方式中,NMS 100支持RMI 120中的可视性。可以按照任意合适方式来提供RMI 120中的可视性。在一个这样的实施方式中,可通过一个或多个类型的用户接口141来提供RMI 120中的可视性,所述用户接口141通过一个或多个接口模块142来访问RMI 120。用户接口141的类型包括适用于访问RMI 120和与RMI 120进行交互的用户接口的任意类型。例如,用户接口141可包括一个或多个图形用户接口(例如,经由NMS 100的用户的用户工作站、经由web控制台等)、命令线接口(CLI)工具、应用程序员接口(API)等,以及其组合。接口模块142包括适用于支持用户接口141和RMI 120之间的连接的任意接口模块。例如,接口模块142可包括Java管理扩展(JMX)、简单网络管理协议(SNMP)等,以及其组合。经由用户接口141和接口模块142提供的RMI 120中的可视性可用于执行各种功能,例如回顾资源管理统计、配置和重新配置资源管理能力的各个方面等,以及其组合。可以了解的是,尽管关于在RMI 120中提供可视性的实施方式来进行主要地描述和介绍,为了回顾和/或管理由RMI 120提供的资源管理能力的目的,可以将可视性提供到与RMI 120提供的资源管理能力相关的NMS 100的其他元件中。
可以了解的是,尽管此处主要描述和介绍为包括特定元件(即,资源管理能力的操作所专有的那些),NMS 100可包括在NMS中可以实现的任意其他元件。例如,NMS 100可包括:处理器、存储器、数据库(例如,一个或多个管理信息库(MIB))、内部通信总线、输入/输出模块(例如,用于网络通信、用于使用NMS 100与用户的用户工作站进行通信等,以及其各种组合)。在一个实施方式中,例如,可使用参照图7描述和介绍的计算机700来实现NMS 100。按这种方式,不希望将资源管理能力限制为具有任意特殊设计的NMS,而是可以在具有可以使用资源管理能力来管理的资源的任意NMS中使用。
可以了解的是,尽管此处主要描述和介绍为集中式NMS,但是可以按分布式方式来实现NMS 100。例如,如此处介绍的,被描述为形成NMS 100的一部分的借用者130可包括NMS远程的实体,其中将资源管理能力提供给所述NMS。因此,可经由任意合适通信路径(其可以包括一个或多个通信网络)来进行借用者130的至少一部分和NMS 100之间的通信,例如其中位于地理上远离NMS 100的NOC中的用户可访问NMS 100,并且因此可使用用于执行各种功能的NMS 100的资源。相似地,例如,如此处介绍的,可经由任意合适的通信路径(其可以包括一个或多个通信网络)远程地执行经由用户接口141对NMS 100的访问,例如其中地理上远离NMS100的用户可访问NMS 100。相似地,例如,可以了解的是,还可按地理上的分布式方式来实现NMS 100的其他部分。这样的话,可以了解的是,可以使用任意合适的集中式和/或分布式设计来实现所述描述和介绍的形成NMS 100的一部分的各种组件。
图5描述了用于处理来自请求系统资源的借用者的资源请求的方法的一个实施方式。
在步骤502,方法500开始。
在步骤504,接收资源请求。从借用者接收资源请求。资源请求可以是明确的资源请求(例如,请求自身明确地指示对资源的请求,其可包括或不包括被请求的资源的类型和/或数量的明确指示);或不明确的资源请求(例如,请求自身未明确地指示对资源的请求,但是基于所述请求可以做出为了对所述请求提供服务可能或将会需要的资源的确定)。在不是类型指示的明确请求的情况下,可使用与资源请求相关联的一个或多个特性来确定被请求的资源的类型和数量。在不明确的请求的情况下,请求的一个或多个特性可用于将所述请求识别为可能或将会需要哪个资源的请求,以及识别被请求的资源的类型和数量。所述请求的特性可包括任意特性,所述任意特性适用于将请求识别为可能或将会需要哪个资源的请求和/或适用于识别被请求的资源的类型和数量(例如,请求的源、请求的类型、请求的至少一个参数等,以及其各种组合)。
在步骤506,识别与资源请求相关联的VRP。可以按任意合适方式来识别与资源请求相关联的VRP。
在一个实施方式中,在资源请求中明确地识别与资源请求相关联的VRP,使得可通过资源请求直接地识别与请求相关联的VRP。可以了解的是,可以按任意合适方式来提供资源请求中相关联的VRP的明确说明(例如,使用唯一的VRP标识符,其中这种标识符在HRP间是唯一的;使用资源类型/HRP标识符和VRP标识符,其中VRP标识符仅在他们各自的资源类型/HRP中是唯一的等,以及其组合)。在资源请求中可明确地或不明确地指示资源请求的资源类型的VRP中的一个。
在一个实施方式中,在资源请求中未明确地识别与资源请求相关联的VRP,使得使用与资源请求相关联的信息和与HRP相关联的信息的处理来识别相关联的VRP,其中资源请求与HRP相关联。
在一个实施方式中,其中在资源请求中未明确地指示资源请求中所请求资源的资源类型,对资源请求的资源类型的VRP中的一个的确定可包括确定资源请求中所请求资源的资源类型的步骤。可以在资源请求中明确地或不明确地指示资源请求中所请求资源的资源类型。如果在资源请求中明确地指示资源类型,则直接地确定资源类型。如果在资源请求中未明确地指示资源类型,则通过与资源请求相关联的一个或多个特性来确定资源类型。可以用于确定资源的资源类型的资源请求的特性可包括:适用于确定资源请求中所请求资源的资源类型的任意特性(例如,请求的源、请求的请求类型、请求的至少一个参数等,以及其各种组合)。在这种实施方式中,对资源类型的确定可用于识别被用于管理资源请求中所请求资源的类型的HRP,使得与资源请求相关联的一个或多个附加特性于是可用于确定资源请求的资源类型的VRP中的一个。
在一个实施方式中,使用与资源请求相关联的一个多个特性来识别与资源请求相关联的VRP。在一个这样的实施方式中,通过以下内容来识别与资源请求相关联的VRP:(1)确定与资源请求相关联的一个或多个特性,以及(2)将与资源请求相关联的一个或多个特性和与HRP相关联的HRP定义信息进行比较,其中HRP定义信息包括适用于基于资源请求的一个或多个特性,将资源请求和与资源请求相关联的VRP进行关联的信息。在一个这样的实施方式中,HRP定义信息包括:用于HRP的VRP中的每一个的与VRP相关联的一个或多个特性,其由此定义了旨在由VRP提供服务的资源请求。在本实施方式中,通过以下内容来识别与资源请求相关联的VRP:(1)确定与资源请求相关联的一个或多个特性,以及(2)将资源请求的一个或多个特性和VRP的至少一部分的每一个的一个或多个特性相比较,直到识别了具有最接近地匹配于资源请求的特性的特性的VRP为止。因此,资源请求的特性可包括适用于识别HRP中的哪一个VRP最接近地关联于资源请求的任意特性,其可以依赖于定义相关联的HRP的方式(即,用于定义与资源请求相关联的HRP的分层结构的特性)。例如,适用于确定与资源请求相关联的VRP的特性可包括所述请求的一个或多个源、资源类型的请求类型等,以及其组合。
应当了解的是,至少通过前述实施方式和相关联的实例,资源请求中包括的、从资源请求确定的、或与资源请求相关联的任意特性或多个特性可用于识别被用于管理用于从借用者接收的资源请求的资源类型的资源分配的VRP。
在步骤508,做出多个资源请求是否是未决的的确定。多个资源请求可来自具有与其相关联的不同优先级的一个或多个借用者,使得响应于一个或多个因素可动态地改变为资源请求提供服务的顺序(例如,如接收资源请求并且将资源请求添加到未决资源请求列表中,如分配资源并且将相关联的请求从未决资源请求列表中移除,如将资源分配给借用者以及从借用者取消分配所述资源使得借用者的优先级基于分配给借用者的资源的当前数量改变等,以及其组合)。如果多个资源请求不是未决的,则方法500进行到步骤514。如果多个资源请求是未决的,则方法500进行到步骤510。
在步骤510,执行借用者争用(contention)过程。借用者争用过程是用于管理为借用者的资源请求提供服务的顺序的过程,其中所述顺序可基于一个或多个因素随着时间进行改变(如上面关于步骤508所介绍的)。从步骤510,方法500进行到步骤512。在步骤512,做出是否能够处理方法500的借用者(即,与步骤504处接收的资源请求相关联的借用者)的资源请求的确定,其基于步骤510的借用者争用过程的当前状态。如果做出无法处理借用者的资源请求的确定,方法500返回到步骤510(即,步骤510的借用者争用过程继续被执行,直到做出如步骤512指示的可以处理方法500的借用者的资源请求的确定为止)。如果做出可以处理借用者的资源请求的确定,方法500进行到步骤514(即,方法500的借用者的资源请求已经到达资源请求队列的前端,使得于是其可以被处理)。按这种方式,由于为借用者的资源请求提供服务的顺序改变,步骤510的借用者争用过程继续被执行直到可以处理方法500的借用者的资源请求(即,在做出为借用者的资源请求提供服务的尝试之前,方法500的借用者可能需要等待一些时间,其由可以处理方法500的借用者的资源请求的步骤512处的确定来指示,并且因此方法500可进行到步骤514)。
在步骤514,做出所识别的VRP是否具有可用于为资源请求提供服务的资源的确定(即,用于将借用者在资源请求中请求的资源分配给借用者)。如果所识别的VRP具有可用资源,使得其可以为借用者的资源请求提供服务,方法500进行到步骤522。如果所识别的VRP不具有可用的资源,使得其可能无法为借用者的资源请求提供服务,方法500进行到步骤516。
在步骤516,执行资源抢占过程。所述资源抢占过程是用于确定是否抢占资源(例如,抢占VRP以及可选地抢占所述VRP的借用者)以重新分配由所识别的VRP用于为借用者的资源请求提供服务时使用的抢占资源的过程。通过参照关于图1提供的抢占的描述的方式,可以更好地了解资源抢占过程。
在步骤518,做出抢占请求是否已经得到准许的确定(即,是否已经抢占所识别的VRP需要的资源,以及是否将资源重新分配给所识别的VRP以用于为借用者的资源请求提供服务)。如果做出抢占请求未得到准许的确定,方法500进行到步骤520。如果做出抢占请求得到准许的确定,方法500进行到步骤522。
在步骤520,做出借用者是否等待资源的分配的确定。借用者是否等待资源的分配的确定可基于任意合适的因素。例如,借用者是否等待资源的分配的确定可基于借用者的配置,其中至少一些借用者可被配置为在三个模式中的一个模式内进行操作(例如,如图1所示的)。例如,借用者是否等待资源的分配的确定可以基于借用者能够或愿意等待资源的时间长度(例如,其中借用者愿意等待大量的时间,在大量的时间之后借用者的资源请求超时,如关于图1的借用者所介绍的)。借用者是否等待资源的分配的确定可以基于这种因素的组合,以及任意其他合适因素。如果借用者不等待资源的分配,方法500进行到步骤524,在这一点处,方法500结束(没有将所请求的资源分配给借用者)。如果借用者等待资源的分配,那么方法500返回步骤516(在这一点处,借用者抢占过程继续运行或被重新启动)并且然后是步骤518。
在步骤522,响应于资源请求,将资源分配给借用者。从所识别的VRP分配资源。如从步骤514-520所指示的,当接收到来自借用者的资源请求或通过资源抢占将资源提供给所识别的VRP时,所分配的资源可以使从所识别的VRP可获得的资源。从步骤522,方法500进行到步骤524。
在步骤524,方法500结束。
尽管为了清楚的目的对图5的方法500进行了省略,在一个实施方式中,其中所识别的VRP的资源变为可用的并且执行资源抢占过程,方法500可自动进行到步骤522(例如,从步骤516、518或520),使得可以将所识别的VRP的最新可用资源提供给借用者。在一个这样的实施方式中,可以终止资源抢占过程(并且可以了解的是,适度的终止是优选的)。在另一个这样的实施方式中,可以继续执行资源抢占过程,从而使得一个或多个附加资源可用于所识别的VRP(由于在这一点处所识别的VRP可能仍然是过载的)。
可以了解的是,尽管此处关于基于每个资源类型来提供资源管理的实施方式来进行主要地描述和介绍(即,其中为用于管理资源类型112的资源110的每个资源类型112形成HRP 122),可以支持资源管理的不同粒度。
在一个实施方式中,例如,要被管理的系统的所有资源(包括多个资源类型的资源)可形成用于要被管理的系统的一个整体HRP。在一个这样的实施方式中,可以组织要由HRP管理的资源,使得低于MRP的HRP的第一等级(即,接近嗯MRP的VRP的第一分层层级)分别包括用于管理与多个资源类型相关联的资源的多个VRP。
在一个实施方式中,例如,可使用用于一个或多个资源类型的每一个的多个HRP来单独地管理一个或多个资源类型的资源。在这种实施方式中,HRP将不会管理特定资源类型的所有资源;而是,HRP将管理特定资源类型的资源的各自子集。
可以了解的是,可以支持资源管理的其他粒度。
尽管此处关于RMI 120间接地管理NMS 100的资源(例如,其中RMI120使用令牌或资源110的其他合适表示来管理资源110)的实施方式进行主要地描述和介绍,在至少一个其他实施方式中,RMI 120可直接地管理NMS 100的部分或全部资源。在这样的实施方式中,RMI 120的一个或多个HRP 122可具有在与HRP 122相关联的各自资源110上的直接管理控制。在这样的实施方式中,不是HRP 122通过令牌的控制或资源110的其他合适表示来管理资源110,而是一个或多个HRP 122可直接地管理各自资源110(例如,直接地分配和取消分配资源110)。
尽管此处关于使用一个或多个HRP 122管理NMS 100的资源110的实施方式来进行主要地描述和介绍,可以了解的是在更为通用的资源管理方案的背景中可提供此处描述和介绍的资源管理能力的各种实施方式,其中一个或多个HRP 122的每一个具有MRP和多个VRP。在一个实施方式中,例如,使用不是必须被安排为MRP和相关联的多个VRP的资源池的分层安排可以提供,此处描述和介绍的如使用一个或多个HRP 122来提供的功能的至少一部分。在一个实施方式中,例如,可以使用不是必须被分层地安排的多个资源池来提供,此处描述和介绍的如使用一个或多个HRP122来提供的功能的至少一部分。例如,可以结合此处描述和介绍的各种能力来使用这种实施方式,各种能力例如是借用者优先化功能、借用者抢占功能等,以及其各种组合。参照图6描述并且介绍了,可以在此处描述和介绍的分层资源管理能力的背景中以及在其他类型的资源管理方案的背景中使用的一个这样的实施方式。
图6描述了用于确定是否在借用者之间的重新分配资源的方法的一个实施方式。更具体地,图6的方式600提供了一种用于确定是否将当前分配第二借用者的资源重新分配给第一借用者的方法。
在步骤602,方法600开始。
在步骤604,接收资源请求。从第一借用者接收资源请求。
在步骤606,基于与第一借用者相关联的当前资源分配确定第一借用者的请求优先级。可以按照任意合适方式来确定第一借用者的请求优先级,包括此处通过参照图1至图5所介绍的。
在步骤608,基于与第二借用者相关联的当前资源分配来确定第二借用者的请求优先级。可以按照任意合适方式来识别第二借用者(例如,具有系统的借用者之间的最低保持优先级的系统的借用者、具有资源池的借用者之间的最低保持优先级的资源池的借用者、随机地等),其中将第二借用者识别为可从其重新分配资源的候选借用者。可以按照任意合适方式来确定第二借用者的请求优先级,包括此处通过参照图1至图5所介绍的。
在步骤610,做出是否将第二借用者的第二借用者资源分配中的任意一个重新分配给第一借用者的确定。使用至少第一借用者请求优先级和第二借用者保持优先级来做出,是否将第二借用者资源分配中的任意一个重新分配给第一借用者的确定。可以使用任意其他合适因素(例如,租借时间、适度的抢占考虑等,以及其各种组合)来做出是否将任意第二借用者资源分配重新分配给第一借用者的确定。如果做出将来自第二借用者的资源重新分配给第一借用者的确定,方法600进行到步骤612。如果做出将来自第二借用者的资源重新分配给第一借用者的确定,方法600进行到步骤614。
在步骤612,将第二借用者的资源分配给第一借用者。可以按照任意合适方式将第二借用者的资源分配给第一借用者。从步骤612,方法600可进行到步骤614(在这一点处,可以执行一个或多个控制动作)或进行到步骤616(在这一点处,方法600结束)。
在步骤614(可选步骤),可以执行一个或多个控制动作。
如果方法600从步骤612进行到步骤614,控制动作可包括可以是将第二借用者的资源重新分配给第一借用者之后合适的任意控制动作(例如,基于通过资源重新分配的第一借用者和/或第二借用者的当前资源分配的改变,对第一借用者请求优先级和/或第二借用者保持优先级的修改)。如果方法600进行到步骤614,则方法600然后可进行到步骤616。
如果方法600从步骤610进行到步骤614,则控制动作可包括任意控制动作,所述任意控制动作是确定不将第二借用者的资源重新分配给第一借用者之后的合适动作。例如,控制动作可包括发起用于识别可以被重新分配给第一借用者的资源的另一潜在源的资源重新分配请求(例如,相同资源池的另一借用者、不同资源池的一个或多个借用者、多个资源池的借用者等,以及其各种组合)。例如,控制动作可包括等待一段时间,并且基于借用者优先级中的可能改变可以重新评估第二借用者和/或任意其他潜在借用者,可能改变例如是随着时间的借用者资源分配的改变。可以了解的是,可以启动任意其他合适的控制动作,以及这种控制动作的各种组合。
在步骤616,方法600结束。
尽管此处关于在借用者等级上分派优先级的实施方式来进行主要地描述和介绍,在至少一些实施方式中,可以在更低的等级(例如,在用于与各自租借相关联的资源组的资源租借等级上,其中利用所述租借来分配资源;资源等级,使得可以不同地处理被分配给借用者的不同资源等,以及其各种组合)上分派优先级。在这种实施方式中,是否将来自第二借用者的资源重新分配给第一借用者的确定可包括,将第二借用者的特定资源中的哪个重新分配给第一借用者的确定(例如,基于租借的优先级,通过租借的优先级为第二借用者分配了各自的资源组;基于当前分配给第二借用者的资源优先级等,以及其各种组合)。
尽管此处关于使用资源管理能力来执行用于系统的资源管理进行主要地描述和介绍,可提供用于配置系统以提供资源管理能力的配置能力。例如,可以提供用于部署NMS 100以提供此处介绍的RMI 120的配置能力。NMS 100和/或一个或多个其他系统可支持所述能力,其可以(1)确定NMS100的提供RMI 120的部署,以及(2)将提供RMI 120的NMS 100的确定部署传送给NMS 100。如此处所介绍的,可以为任意合适类型的系统提供资源管理能力,并且因此在一个实施方式中,方法包括以下步骤:(a)识别系统所支持的资源类型,(b)生成用于系统的分层资源配置信息,其包括生成用于资源类型的包括MRP和多个VRP的HRP(其中,可使用任意合适的特性来定义VRP,并且可按任意合适的安排来组织VRP),以及(c)存储分层资源配置信息。在一个实施方式中,可以为系统所支持的多个资源类型中的每一个来执行这些步骤,使得可以单独地管理资源类型的资源。在这种实施方式中,可以按任意合适方式来配置分层资源配置信息的任意一个(例如,资源池的定义和安排、与分层资源管理相关联的参数(例如,与借用者、资源池等相关联)等)。相似地,在这种实施方式中,可以按照任意合适方式并且响应于任意合适触发条件来重新配置分层资源配置信息中的任意一个。
图7描述了适用于执行此处描述的功能的计算机的高级框图。如图7所示,计算机700包括处理器元件702(例如,中央处理单元(CPU)和/或其他合适处理器))、存储器704(例如,随机存取存储器(RAM)、只读存储器(ROM)等)、资源管理模块/过程705、以及各种输入/输出设备706(例如,用户输入设备(例如,键盘、小键盘、鼠标等)、用户输出设备(例如,显示器、扬声器等)、输入端口、输出端口、接收机、发射机、以及存储设备(例如,磁带驱动器、软盘驱动器、硬盘驱动器、光盘驱动器等))。
可以了解的是,可以在软件、硬件和/或软件和硬件的结合中实现此处描述和介绍的功能,例如使用通用目的计算机、一个或多个专用集成电路(ASIC)、和/或任意其他等价设备。在一个实施方式中,可以将资源管理过程705装载到存储器704中并且由处理器705执行以实现如上所述的功能。这样的话,可以将资源管理过程705(包括相关联的数据结构)存储在计算机可读存储介质中,例如RAM存储器、磁或光驱动器或磁带等。
尽管此处关于将资源管理能力用于管理单个计算机的资源的实施方式来进行主要地描述和说明,在其他实施方式中,资源管理能力可以用于管理多个计算机间的资源。在至少一些这样的实施方式中,单个HRP可跨越多个计算机,其中HRP的不同VRP存在于不同的计算机上。相似地,在至少一些这种实施方式中,单个VRP可以存在于不同计算机上。在这种实施方式中,多个计算机可使用任意合适的通信手段进行通信。例如,计算机可经由一个或多个系统总线、经由一个或多个通信网络(例如,局域网(LAN)、广域网(WAN)和/或使用任意合适的通信技术、协议等的任意其他合适的通信网络)进行通信。按这种方式,资源管理能力实现分布式管理(例如,对于在物理上分布式方式实现的单个系统、对于可以为作为整体的多个系统执行的资源管理的多个系统等,以及其各种组合)。
可设想的是,可以在硬件中实现此处讨论的如软件方法的一些步骤,硬件例如是与处理器合作以执行各种方法步骤的电路。可以将此处介绍的功能/元件的一部分实现为计算机程序产品,其中当计算机处理计算机指令时,改变计算机的操作使得调用或提供此处介绍的方法和/或技术。可以将用于调用本发明方法的指令存储在固定的或可移动的媒介中,经由广播或其他信号承载媒介的数据流进行传送和/或存储在根据指令操作的计算设备的存储器中。
在权利要求中指出本发明的各方面。在下面编号的条款中指出本发明的这些和其他方面。
1.一种用于对管理系统的资源进行分配的方法,包括:
从第一借用者接收对系统资源分配的请求;
基于与所述第一借用者相关联的当前资源分配,确定所述第一借用者的请求优先级;
基于与第二借用者相关联的当前资源分配,确定所述第二借用者的保持优先级;
使用所述第一借用者的请求优先级和所述第二借用者的保持优先级,确定是否将所述第二借用者的资源分配中的任意一个重新分配给所述第一借用者。
2.根据条款1所述的方法,其中使用能够用于分派给所述第一借用者的优先级值的范围到可分配资源值的范围的映射来确定所述第一借用者的请求优先级,其中由可分派给所述第一借用者的资源的最小数量和可分派给所述第一借用者的资源的最大数量来定义可分配资源值的范围。
3.根据条款2所述的方法,其中所述映射包括:能够用于分派给所述第一借用者的优先级值范围中的单个优先级值到可分配资源值的范围中的可分配资源值的子范围的映射。
4.根据条款3所述的方法,其中能够用于分派给所述第一借用者的优先级值范围中的单个优先级值是能够用于分派给所述第一借用者的优先级值范围中的最高优先级值。
5.根据条款2所述的方法,其中所述映射包括将能够用于分派给所述第一借用者的优先级值范围中的优先级值的子范围插入到可分配资源值的范围中的已分配资源值的子范围。
6.根据条款2所述的方法,其中确定所述第一借用者请求优先级包括:
确定当前分派给所述第一借用者的资源的数量;
基于当前分派给所述第一借用者的资源的数量与多个尺寸门限的比较,选择用于所述第一借用者的多个优先级门限中的一个;以及
基于用于所述第一借用者的优先级门限中所选择的一个,确定所述第一借用者的请求优先级。
7.根据条款6所述的方法,其中基于用于所述第一借用者的优先级门限中所选择的一个,确定所述第一借用者的请求优先级包括:
基于用于所述第一借用者的优先级门限中所选择的一个,识别用于确定所述第一借用者的请求优先级的映射的一部分;以及
通过所述识别的映射的一部分,确定所述第一借用者的请求优先级。
8.根据条款6所述的方法,其中所述多个尺寸门限包括:最小尺寸门限和最大尺寸门限,其中所述最小尺寸门限是能够分配给所述第一借用者的资源的最小数量并且所述最大尺寸门限是能够分配给所述第一借用者的资源的最大数量。
9.根据条款6所述的方法,其中所述多个优先级门限包括:基础优先级门限和突发优先级门限,其中所述基础优先级门限等于能够用于分派给所述第一借用者的优先级值范围中的最小优先级值,并且所述突发优先级门限等于能够用于分派给所述第一借用者的优先级值范围中的最大优先级值。
10.根据条款1所述的方法,其中使用能够用于分派给所述第一借用者的优先级值范围到与所述第一借用者相关联的多个优先级等级的映射,确定所述第一借用者的请求优先级。
11.根据条款10所述的方法,其中使用优先级门限来定义优先级等级,其中所述优先级门限包括来自优先级值范围的优先级值。
12.根据条款1所述的方法,其中由所述第二借用者的保持优先级的改变来限制将所述第二借用者的资源重新分配给所述第一借用者。
13.根据条款1所述的方法,其中将第一资源从所述第二借用者重新放置到所述第一借用者,其中在确定是否将所述第二借用者的第二资源重新分配给所述第一借用者之前,将所述第一资源重新分配给所述第一借用者促使所述第二借用者的保持优先级的增加。
14.根据条款1所述的方法,其中将所述第二借用者的资源重新分配给所述第一借用者触发以下内容中的至少一个:所述第一借用者的请求优先级的降低和所述第二借用者的保持优先级的增加。
15.根据条款1所述的方法,其中所述第二借用者是多个借用者中的一个,其中基于与所述多个借用者相关联的各自的多个保持优先级,将所述第二借用者选择用于资源重新分配确定。
16.根据条款1所述的方法,其中确定是否将所述第二借用者的资源重新分配给所述第一借用者进一步至少部分基于将所述资源已分配给所述第二借用者的时间长度。
17.根据条款1所述的方法,进一步包括:
响应于确定将所述第二借用者的资源重新分配给所述第一借用者,发起适用于将所述第二借用者的资源重新分配给所述第一借用者的决定指示给所述第二借用者的消息。
18.根据条款17所述的方法,其中在任务的至少一部分完成之后,所述第二借用者控制方式放弃对资源的控制,其中所述第二借用者使用用于所述任务的资源。
19.根据条款1所述的方法,其中所述第一借用者的资源请求与资源池相关联并且从所述第二借用者重新分配给所述第一借用者的资源与所述资源池相关联。
20.根据条款1所述的方法,其中所述第一借用者的所请求的资源与第一资源池相关联,并且从所述第二借用者重新分配给所述第一借用者的资源与第二资源池相关联。
21.一种用于对管理系统的资源进行分配的设备,包括:
用于从第一借用者接收对系统资源分配的请求的装置;
用于基于与所述第一借用者相关联的当前资源分配,确定所述第一借用者的请求优先级的装置;
用于基于与第二借用者相关联的当前资源分配,确定所述第二借用者的保持优先级的装置;
用于使用所述第一借用者的请求优先级和所述第二借用者的保持优先级,确定是否将所述第二借用者的资源分配中的任意一个重新分配给所述第一借用者的装置。
22.一种存储指令的计算机可读介质,其中当由处理器执行时,促使所述处理器执行用于对管理系统的资源进行分配的方法,所述方法包括:
从第一借用者接收对系统资源分配的请求;
基于与所述第一借用者相关联的当前资源分配,确定所述第一借用者的请求优先级;
基于与第二借用者相关联的当前资源分配,确定所述第二借用者的保持优先级;
使用所述第一借用者的请求优先级和所述第二借用者的保持优先级,确定是否将所述第二借用者的资源分配中的任意一个重新分配给所述第一借用者。
尽管此处详细示出和介绍了结合本发明的教导的各种实施方式,所属领域的技术人员可以容易地了解仍结合这些教导的许多其他可变实施方式。
Claims (7)
1.一种用于对管理系统的资源进行分配的方法,包括:
从第一借用者接收对系统资源分配的请求;
基于与所述第一借用者相关联的当前资源分配,确定所述第一借用者的请求优先级,其中通过使用以下内容中的至少一个来确定所述第一借用者的请求优先级:能够用于分派给所述第一借用者的优先级值的范围到可分配资源值的范围的第一映射,或能够用于分派给所述第一借用者的优先级值范围到与所述第一借用者相关联的多个优先级等级的第二映射;
其中由可分派给所述第一借用者的资源的最小数量和可分派给所述第一借用者的资源的最大数量来定义可分配资源值的范围;
基于与第二借用者相关联的当前资源分配,确定所述第二借用者的保持优先级;
使用所述第一借用者的请求优先级和所述第二借用者的保持优先级,确定是否将所述第二借用者的资源分配中的任意资源重新分配给所述第一借用者。
2.根据权利要求1所述的方法,其中所述映射包括以下内容中的至少一个:
从能够用于分派给所述第一借用者的优先级值范围中的单个优先级值到可分配资源值的范围中的可分配资源值的子范围的映射;
将能够用于分派给所述第一借用者的优先级值范围中的优先级值的子范围插入到可分配资源值的范围中的已分配资源值的子范围。
3.根据权利要求1所述的方法,其中将第一资源从所述第二借用者重新放置到所述第一借用者,其中在确定是否将所述第二借用者的第二资源重新分配给所述第一借用者之前,将所述第一资源重新分配给所述第一借用者促使所述第二借用者的保持优先级的提高。
4.根据权利要求1所述的方法,其中将所述第二借用者的资源重新分配给所述第一借用者触发以下内容中的至少一个:所述第一借用者的请求优先级的降低和所述第二借用者的保持优先级的提高。
5.根据权利要求1所述的方法,其中所述第二借用者是多个借用者中的一个,其中基于与所述多个借用者相关联的各自的多个保持优先级,选择所述第二借用者用于资源重新分配确定。
6.根据权利要求1所述的方法,其中所述第一借用者的资源请求与第一资源池相关联,并且从所述第二借用者重新分配给所述第一借用者的资源与第一资源池或第二资源池相关联。
7.一种用于对管理系统的资源进行分配的设备,包括:
用于从第一借用者接收对系统资源分配的请求的装置;
用于基于与所述第一借用者相关联的当前资源分配,确定所述第一借用者的请求优先级的装置,其中通过使用以下内容中的至少一个来确定所述第一借用者的请求优先级:能够用于分派给所述第一借用者的优先级值的范围到可分配资源值的范围的第一映射,或能够用于分派给所述第一借用者的优先级值范围到与所述第一借用者相关联的多个优先级等级的第二映射;
其中由可分派给所述第一借用者的资源的最小数量和可分派给所述第一借用者的资源的最大数量来定义可分配资源值的范围;
用于基于与第二借用者相关联的当前资源分配,确定所述第二借用者的保持优先级的装置;
用于使用所述第一借用者的请求优先级和所述第二借用者的保持优先级,确定是否将所述第二借用者的资源分配中的任意资源重新分配给所述第一借用者的装置。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/724,578 US8589936B2 (en) | 2010-03-16 | 2010-03-16 | Method and apparatus for managing reallocation of system resources |
US12/724,578 | 2010-03-16 | ||
PCT/US2011/026802 WO2011115750A1 (en) | 2010-03-16 | 2011-03-02 | Method and apparatus for managing reallocation of system resources |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102835068A CN102835068A (zh) | 2012-12-19 |
CN102835068B true CN102835068B (zh) | 2015-06-24 |
Family
ID=43981430
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201180014224.2A Expired - Fee Related CN102835068B (zh) | 2010-03-16 | 2011-03-02 | 用于管理系统资源的重新分配的方法和装置 |
Country Status (6)
Country | Link |
---|---|
US (1) | US8589936B2 (zh) |
EP (1) | EP2548336B1 (zh) |
JP (1) | JP5463437B2 (zh) |
KR (1) | KR101483835B1 (zh) |
CN (1) | CN102835068B (zh) |
WO (1) | WO2011115750A1 (zh) |
Families Citing this family (36)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5821392B2 (ja) * | 2011-08-12 | 2015-11-24 | 富士通株式会社 | ストレージ装置、およびストレージ管理方法 |
US9032413B2 (en) | 2011-09-01 | 2015-05-12 | Microsoft Technology Licensing, Llc | Decoupling background work and foreground work |
US9164803B2 (en) * | 2012-01-20 | 2015-10-20 | Microsoft Technology Licensing, Llc | Background task resource control |
US20130219386A1 (en) * | 2012-02-21 | 2013-08-22 | Disney Enterprises, Inc. | Dynamic allocation of compute resources |
US9104491B2 (en) * | 2012-02-21 | 2015-08-11 | Disney Enterprises, Inc. | Batch scheduler management of speculative and non-speculative tasks based on conditions of tasks and compute resources |
WO2014032287A1 (zh) | 2012-08-31 | 2014-03-06 | 华为技术有限公司 | 中央处理器资源分配方法和计算节点 |
CN104079503B (zh) * | 2013-03-27 | 2018-07-20 | 华为技术有限公司 | 一种资源分配方法及装置 |
US9519653B2 (en) | 2013-04-01 | 2016-12-13 | Ctera Networks, Ltd. | Techniques for efficiently enforcing resource quotas in a multi-tenant cloud storage system |
US9563474B2 (en) * | 2013-06-13 | 2017-02-07 | Wipro Limited | Methods for managing threads within an application and devices thereof |
US10642645B2 (en) | 2013-06-21 | 2020-05-05 | Microsoft Technology Licensing, Llc | Network mode conflict resolution |
US10212050B2 (en) | 2013-09-04 | 2019-02-19 | Entit Software Llc | Providing recursively-generated instantiated computing resource in a multi-tenant environment |
WO2015034487A1 (en) * | 2013-09-04 | 2015-03-12 | Hewlett-Packard Development Company, L.P. | Selection of resource providers for multi-tenancy provision of building blocks |
CN105518648B (zh) * | 2013-09-04 | 2018-10-09 | 安提特软件有限责任公司 | 经由节点-关系模型向客户提供资源 |
US9875145B2 (en) * | 2013-12-05 | 2018-01-23 | International Business Machines Corporation | Load based dynamic resource sets |
US10025684B2 (en) * | 2014-09-24 | 2018-07-17 | Microsoft Technology Licensing, Llc | Lending target device resources to host device computing environment |
US10635296B2 (en) | 2014-09-24 | 2020-04-28 | Microsoft Technology Licensing, Llc | Partitioned application presentation across devices |
US10448111B2 (en) | 2014-09-24 | 2019-10-15 | Microsoft Technology Licensing, Llc | Content projection |
US9769227B2 (en) | 2014-09-24 | 2017-09-19 | Microsoft Technology Licensing, Llc | Presentation of computing environment on multiple devices |
US9753766B2 (en) * | 2014-11-25 | 2017-09-05 | Raytheon Company | Apparatus and method for allocating resources using prioritization of requests and updating of requests |
US9483315B2 (en) * | 2015-02-03 | 2016-11-01 | International Business Machines Corporation | Autonomous dynamic optimization of platform resources |
US20160269493A1 (en) * | 2015-03-10 | 2016-09-15 | Qualcomm Incorporated | Methods and devices to establish services between service and connectivity strata |
CN106161559A (zh) * | 2015-04-21 | 2016-11-23 | 阿尔卡特朗讯 | 用于分布式存储网络系统共享资源分配的方法及装置 |
US10296383B2 (en) | 2015-07-10 | 2019-05-21 | Samsung Electronics Co., Ltd. | Computing system with resource management mechanism and method of operation thereof |
US9535934B1 (en) * | 2015-11-17 | 2017-01-03 | International Business Machines Corporation | Schema lifecycle manager |
CN105373434B (zh) * | 2015-12-16 | 2018-11-13 | 上海携程商务有限公司 | 资源管理系统及方法 |
US11349729B2 (en) * | 2015-12-30 | 2022-05-31 | Koninklijke Kpn N.V. | Network service requests |
US10338953B2 (en) * | 2016-03-18 | 2019-07-02 | Intel Corporation | Facilitating execution-aware hybrid preemption for execution of tasks in computing environments |
US10296389B2 (en) * | 2016-09-15 | 2019-05-21 | Red Hat, Inc. | Time-bound conditional resource deallocation |
JP6461224B2 (ja) * | 2017-04-06 | 2019-01-30 | 華為技術有限公司Huawei Technologies Co.,Ltd. | 中央処理装置のリソース割当方法及び計算ノード |
US11029999B1 (en) * | 2018-09-06 | 2021-06-08 | Amazon Technologies, Inc. | Lottery-based resource allocation with capacity guarantees |
US10820326B2 (en) * | 2018-11-28 | 2020-10-27 | Qualcomm Incorporated | Resource allocation for reserved resources |
EP3884383A1 (en) * | 2018-12-21 | 2021-09-29 | Huawei Technologies Co., Ltd. | Data deterministic deliverable communication technology based on qos as a service |
FR3103596B1 (fr) * | 2019-11-26 | 2021-11-19 | Thales Sa | Procede d'affectation de ressources en reponse a des requetes en fonction de leur priorite, programme d'ordinateur, bloc de controle d'affectation et systeme informatique associes |
US11630706B2 (en) * | 2020-09-22 | 2023-04-18 | Intel Corporation | Adaptive limited-duration edge resource management |
US11811859B2 (en) * | 2021-10-03 | 2023-11-07 | Vmware, Inc. | High availability management for a hierarchy of resources in an SDDC |
CN114327841B (zh) * | 2022-03-16 | 2022-06-21 | 上海闪马智能科技有限公司 | 一种资源调度方法、装置、存储介质及电子装置 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101657020A (zh) * | 2009-09-22 | 2010-02-24 | 中兴通讯股份有限公司 | 一种无线资源控制方法及装置 |
Family Cites Families (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04314147A (ja) * | 1991-04-12 | 1992-11-05 | Nec Corp | メモリ管理方式 |
US5600822A (en) * | 1994-04-05 | 1997-02-04 | International Business Machines Corporation | Resource allocation synchronization in a parallel processing system |
JPH1097435A (ja) * | 1996-09-20 | 1998-04-14 | Nec Corp | 資源割当てシステム |
US5890011A (en) | 1997-01-27 | 1999-03-30 | International Business Machines Corporation | Method and system for dynamically translating bus addresses within a computer system |
US6026459A (en) * | 1998-02-03 | 2000-02-15 | Src Computers, Inc. | System and method for dynamic priority conflict resolution in a multi-processor computer system having shared memory resources |
US6333936B1 (en) | 1998-04-29 | 2001-12-25 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and apparatus for allocating processing resources |
US6457008B1 (en) * | 1998-08-28 | 2002-09-24 | Oracle Corporation | Pluggable resource scheduling policies |
US6477562B2 (en) * | 1998-12-16 | 2002-11-05 | Clearwater Networks, Inc. | Prioritized instruction scheduling for multi-streaming processors |
US20020002609A1 (en) | 1999-12-29 | 2002-01-03 | Chung David W. | Telecommunications operating system |
US7284244B1 (en) * | 2000-05-02 | 2007-10-16 | Microsoft Corporation | Resource manager architecture with dynamic resource allocation among multiple configurations |
JP2002323986A (ja) * | 2001-04-25 | 2002-11-08 | Hitachi Ltd | コンピュータリソース流通システム及び方法 |
US7143413B2 (en) * | 2002-05-15 | 2006-11-28 | Hewlett-Packard Development Company, L.P. | Method and system for allocating system resources among applications using weights |
US8095620B2 (en) * | 2002-06-13 | 2012-01-10 | Elbit Systems Land and C41-Tadiran Ltd. | System and method for dynamic allocation of a resource |
US6996647B2 (en) * | 2003-12-17 | 2006-02-07 | International Business Machines Corporation | Token swapping for hot spot management |
US7315904B2 (en) * | 2004-05-26 | 2008-01-01 | Qualomm Incorporated | Resource allocation among multiple applications based on an arbitration method for determining device priority |
US7730428B1 (en) * | 2004-06-29 | 2010-06-01 | Emc Corporation | Methods and apparatus for displaying storage resources |
JP4304535B2 (ja) | 2004-11-17 | 2009-07-29 | 日本電気株式会社 | 情報処理装置及びこのプログラムと、モジュラー型システムの運用管理システムと、コンポーネント選択方法 |
JP2006155393A (ja) * | 2004-11-30 | 2006-06-15 | Toshiba Corp | サーバ融通装置、サーバ融通方法およびサーバ融通プログラム |
US7853953B2 (en) * | 2005-05-27 | 2010-12-14 | International Business Machines Corporation | Methods and apparatus for selective workload off-loading across multiple data centers |
US7694082B2 (en) | 2005-07-29 | 2010-04-06 | International Business Machines Corporation | Computer program and method for managing resources in a distributed storage system |
GB0524008D0 (en) * | 2005-11-25 | 2006-01-04 | Ibm | Method and system for controlling the processing of requests for web resources |
US7996842B2 (en) * | 2006-03-30 | 2011-08-09 | Oracle America, Inc. | Computer resource management for workloads or applications based on service level objectives |
US20090025004A1 (en) * | 2007-07-16 | 2009-01-22 | Microsoft Corporation | Scheduling by Growing and Shrinking Resource Allocation |
US20090265450A1 (en) | 2008-04-17 | 2009-10-22 | Darren Helmer | Method and apparatus for managing computing resources of management systems |
JP5120061B2 (ja) * | 2008-05-15 | 2013-01-16 | 富士通株式会社 | 優先度制御プログラム、優先度制御装置、及び優先度制御方法 |
US20100011367A1 (en) * | 2008-07-11 | 2010-01-14 | Gm Global Technology Operations, Inc. | Methods and systems for allocating a resource of a vehicle among a plurality of uses for the resource |
US9817702B2 (en) * | 2008-08-12 | 2017-11-14 | International Business Machines Corporation | System resource management moderator protocol |
US8566834B2 (en) * | 2008-10-02 | 2013-10-22 | Dell Products L.P. | Mechanism for application management during server power changes |
US8443373B2 (en) * | 2010-01-26 | 2013-05-14 | Microsoft Corporation | Efficient utilization of idle resources in a resource manager |
-
2010
- 2010-03-16 US US12/724,578 patent/US8589936B2/en active Active
-
2011
- 2011-03-02 JP JP2013500064A patent/JP5463437B2/ja not_active Expired - Fee Related
- 2011-03-02 CN CN201180014224.2A patent/CN102835068B/zh not_active Expired - Fee Related
- 2011-03-02 EP EP11709242.9A patent/EP2548336B1/en not_active Not-in-force
- 2011-03-02 KR KR1020127024037A patent/KR101483835B1/ko not_active IP Right Cessation
- 2011-03-02 WO PCT/US2011/026802 patent/WO2011115750A1/en active Application Filing
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101657020A (zh) * | 2009-09-22 | 2010-02-24 | 中兴通讯股份有限公司 | 一种无线资源控制方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
JP5463437B2 (ja) | 2014-04-09 |
US8589936B2 (en) | 2013-11-19 |
CN102835068A (zh) | 2012-12-19 |
EP2548336B1 (en) | 2017-09-13 |
KR101483835B1 (ko) | 2015-01-16 |
KR20120129970A (ko) | 2012-11-28 |
WO2011115750A1 (en) | 2011-09-22 |
WO2011115750A8 (en) | 2012-12-27 |
US20110231853A1 (en) | 2011-09-22 |
EP2548336A1 (en) | 2013-01-23 |
JP2013522764A (ja) | 2013-06-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102835068B (zh) | 用于管理系统资源的重新分配的方法和装置 | |
CN102835067A (zh) | 用于系统资源的分层管理的方法和装置 | |
CN110351384B (zh) | 大数据平台资源管理方法、装置、设备及可读存储介质 | |
US8037185B2 (en) | Dynamic application placement with allocation restrictions, vertical stacking and even load distribution | |
US8171132B2 (en) | Provisioning grid services to maintain service level agreements | |
CN105335229B (zh) | 一种业务资源的调度方法和装置 | |
WO2023045467A1 (zh) | 容器cpu资源调度与隔离方法和装置、存储介质及电子设备 | |
US7487258B2 (en) | Arbitration in a computing utility system | |
WO2016095535A1 (zh) | 资源分配方法、装置和服务器 | |
KR102230901B1 (ko) | 클라우드 자원 관리를 위한 비율방식의 QoS 지원 방법 및 장치 | |
US20230037293A1 (en) | Systems and methods of hybrid centralized distributive scheduling on shared physical hosts | |
CN106648900A (zh) | 基于智能电视的超算方法及系统 | |
CN108694083B (zh) | 一种服务器的数据处理方法和装置 | |
CN114385370A (zh) | 内存分配方法、系统、设备及介质 | |
CN114416355A (zh) | 资源调度方法、装置、系统、电子设备及介质 | |
CN109298949B (zh) | 一种分布式文件系统的资源调度系统 | |
CN113672347A (zh) | 一种容器组调度方法及装置 | |
CN116841720A (zh) | 资源配置方法、装置、计算机设备、存储介质及程序产品 | |
CN112416538A (zh) | 一种分布式资源管理框架的多层次架构和管理方法 | |
CN118656228B (zh) | 一种图形处理器调度方法、装置、设备及存储介质 | |
CN118331709A (zh) | 资源动态分配方法、装置、电子设备及存储介质 | |
CN114968569A (zh) | 一种基于分布式异构系统的任务智能处理方法 | |
CN117593116A (zh) | 一种贷后管理任务分配方法、装置、设备及介质 | |
CN116566916A (zh) | 集群服务限流管理方法、装置、设备和介质 | |
CN115829288A (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 | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20150624 Termination date: 20180302 |