CN107111520A - 用于分布式计算环境中的实时资源消耗控制的方法和*** - Google Patents

用于分布式计算环境中的实时资源消耗控制的方法和*** Download PDF

Info

Publication number
CN107111520A
CN107111520A CN201580061324.9A CN201580061324A CN107111520A CN 107111520 A CN107111520 A CN 107111520A CN 201580061324 A CN201580061324 A CN 201580061324A CN 107111520 A CN107111520 A CN 107111520A
Authority
CN
China
Prior art keywords
resource consumption
request
decision
notation device
server
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.)
Pending
Application number
CN201580061324.9A
Other languages
English (en)
Inventor
E.巴拉福蒂斯
G.普拉西诺斯
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.)
Unification Ltd Liability LP
Unify GmbH and Co KG
Original Assignee
Unification Ltd Liability LP
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 Unification Ltd Liability LP filed Critical Unification Ltd Liability LP
Publication of CN107111520A publication Critical patent/CN107111520A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/59Providing operational support to end devices by off-loading in the network or by emulation, e.g. when they are unavailable
    • 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]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • G06F9/5088Techniques for rebalancing the load in a distributed system involving task migration
    • 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]
    • G06F9/5061Partitioning or combining of resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/561Adding application-functional data or data for application control, e.g. adding metadata
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/566Grouping or aggregating service requests, e.g. for unified processing

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Library & Information Science (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明涉及用于分布式环境中的实时资源消耗控制的***及对应的方法,所述***包括:可访问共享资源的众多服务器实例(Sx),由此由客户端应用(CA)所发布的针对共享资源的每一个请求由服务器实例(Sx)之一处理;全局资源消耗计数器(G),其表示给定时间处的众多服务器实例(Sx)的总资源消耗;以及众多代理服务器(Lx),每一个代理服务器包括接收器模块(R),其用于接收从客户端应用(CA)所发布的资源消耗请求,资源消耗决策模块(Dm),其用于接受或拒绝资源消耗请求,队列(Q),其用于收集已经由相应代理服务器(Lx)本地接受的资源消耗请求,本地资源消耗计数器(L),其表示如由相应代理服务器(Lx)看到的全局资源消耗,所述本地资源消耗计数器(L)在每次资源消耗请求由决策模块(Dm)接受时被更新,经更新的值继而作为输入提供给决策模块(Dm),以及同步模块(S),其用于通过与所有其它服务器实例(Sx)进行对接而同步全局资源消耗计数器(G)。

Description

用于分布式计算环境中的实时资源消耗控制的方法和***
本发明涉及根据权利要求1的用于分布式计算环境中的实时资源消耗控制的方法。此外,本发明涉及用于执行该方法的计算机程序产品、具有存储在其上的计算机程序产品的计算机可读数据载体、以及被开发为分别实施根据权利要求7、8和9的前述方法的***。
分布式计算环境典型地由若干***和资源形成并且合并用于跨不同位置实施具体功能的应用。分布式计算环境的一个示例是SaaS(软件即服务)环境(被视为云计算的一部分),其中用户通过服务提供商订阅***。服务提供商监视由用户对资源的消耗并且根据每一个用户已经为了什么进行了支付而对用户可以消耗的资源强加限制。
示例将是供应电话服务的***,其中针对传出呼叫的总持续时间(例如,分钟)而在每月的基础上向用户收费。更相关的示例是其中用户预先支付以得到某一量的传出呼叫持续时间,并且电话服务提供商通过监视用户是否尝试进行已经达到预先支付的限制的呼叫来强加该时间限制。
在协作式SaaS环境中,可能向用户群组而不是个人用户供应服务,并且对应资源(例如,对于以上示例而言为传出呼叫持续时间)可以由群组中的任何用户消耗。
示例将是协作式应用,诸如文件共享服务,其中群组中的用户可以通过将文件上载到储存库而交换它们,所述储存库可由群组中的所有用户访问。在该示例中,可消耗的资源将是分配给群组的存储空间的量。群组中的所有用户可以将文件上载到储存库,并且因此消耗一部分的共享存储空间。服务提供商必须监视群组中的所使用的存储空间,并且强加的是,没有用户可以上载比群组中的可用存储空间更多的文件。
在大型SaaS环境中,以如下方式向众多服务器实例分布用户请求:其中群组中的不同用户可以由提供给定服务的服务器的不同实例来服务。这样的环境在图1中图示,其中Sx即(S1-Sn)表示提供群组中的用户为其支付的某一服务/特征的众多服务器实例。消费者即群组的成员访问该云服务,从而导致群组中的不同用户由提供给定服务的服务器的不同实例来服务。服务器Sx进行竞争以消耗共享资源,由此导致决策过程中的延迟。可选地,当消费者访问服务时,可以使用负载平衡器LB。负载平衡器是充当反向代理并且跨数个服务器实例分布网络或应用业务量的设备。负载平衡器用于增加应用的可靠性和容量(并发用户)。
然而,对于有经验的工作人员而言清楚的是,本发明不限于SaaS应用,而是也可以使用在其它分布式计算环境中。
当考虑其中不同服务器接收由群组的用户的文件上载请求的以上示例中描述的文件共享服务时,分配给群组的存储空间限制的强加要求由服务提供商跨所有服务器实例对群组的所使用的存储计数器的一致更新。
在另一个示例中,诸如语音/视频和web协作的实时通信(RTC)服务向用户群组供应,并且由服务提供商基于群组内的RTC会话的总每月持续时间而收费,其中具有关于每月的最大持续时间的限制。该资源的消耗以这样的速率改变:使得跨大量服务器实例维持一致计数将引入延迟,该延迟超出对于实时语音/视频服务而言视为可接受的。
US 5,579,222公开了一种分布式许可管控***,其使用本地政策服务器来与许可服务器通信并且控制计算机程序的执行。充当许可服务器的一个计算机标识当前使用经许可的软件的节点,处理许可条件,并且在添加新节点时检查这些条件是否仍然满足。每一个节点维护政策服务器数据库,其指定用于该节点的许可条件。政策服务器守护进程与许可服务器通信,与数据库对接,并且决定是准许还是拒绝对经许可的软件的访问。
在US 7,849,019中,由中央许可服务器管理浮动许可。该服务器向次级许可管理器分配数个许可,次级许可管理器继而如所请求的那样向客户端准许许可。每一个次级服务器在某一时间段期间对所准许和释放的许可进行计数并且向中央许可服务器发送值以同步该服务器。中央服务器调节次级服务器处可用的许可的数目。方法允许暂时地超出可用许可的总数目。
所引用的现有技术解决方案示出了如下问题:它们在大量用户针对众多服务器实例所提供的资源进行竞争时未考虑实时响应性的缺失或者的确需要实例之间的过度同步。
因此,本发明的目的是提供用于分布式计算环境中的实时资源消耗控制而没有实例之间的过度同步的***和方法。
该目的通过根据权利要求1的方法、根据权利要求7的计算机程序产品、根据权利要求8的具有存储在其上的计算机程序产品的计算机可读数据载体、以及根据权利要求9的***来解决。
本发明的有利实施例是从属权利要求的主题。
针对问题的解决方案提供了一种用于分布式计算环境中的实时资源消耗控制的方法,其中该环境包括可访问共享资源的众多服务器实例,由此由客户端应用所发布的针对共享资源的每一个请求由服务器实例之一处理;全局资源消耗计数器,其表示给定时间处的众多服务器实例的总资源消耗;以及众多代理服务器。每一个代理服务器包括用于接收从客户端应用所发布的资源消耗请求的接收器模块;用于接受或拒绝资源消耗请求的资源消耗决策模块;用于收集已经由相应代理服务器本地接受的资源消耗请求的队列;表示如由相应代理服务器所看到的全局资源消耗的本地资源消耗计数器,由此本地资源消耗计数器在每次资源消耗请求由决策模块接受时被更新,并且经更新的值继而作为输入提供给决策模块;以及用于通过与所有其它服务器实例进行对接而同步全局资源消耗计数器的同步模块。
在第一步骤中,从队列读取由接收器模块接收并且由资源消耗决策模块接受的请求的资源消耗的量。随后,通过将在第一步骤中读取的量添加到全局资源消耗计数器而使本地资源消耗计数器与全局资源消耗计数器同步。然后,利用来自第二步骤的全局资源消耗计数器值的本地副本更新本地资源消耗计数器,并且将经更新的全局资源消耗计数器值作为输入提供给相应代理服务器的资源消耗决策模块。在从队列读取的每一个新的请求时,确定同步时间处的全局资源消耗计数器值与全局资源消耗计数器值的本地副本的值之间的差异,并且全局资源消耗由决策模块基于在之前步骤中所确定的差异以及自每一个同步步骤时间处的实际全局资源消耗与全局资源消耗计数器的本地副本的最后同步起所逝去的时间来预计。
通过实施该方法的步骤,是接受还是拒绝资源消耗请求的决策模块的决策是基于使用数据的全局资源消耗的估计或预计,该数据在必须做出决策的时间处在每一个代理服务器处本地可用。因而,不存在针对实例之间的过度同步的需要。
针对问题的解决方案还提供了一种用于分布式计算环境中的实时资源消耗控制的***。该***包括可访问共享资源的众多服务器实例,由此由客户端应用所发布的针对共享资源的每一个请求由服务器实例之一处理;全局资源消耗计数器,其表示给定时间处的众多服务器实例的总资源消耗;以及众多代理服务器。这些代理服务器中的每一个继而包括用于接收从客户端应用所发布的资源消耗请求的接收器模块;用于接受或拒绝资源消耗请求的资源消耗决策模块;用于收集已经由相应代理服务器本地接受的资源消耗请求的队列;表示如由相应代理服务器所看到的全局资源消耗的本地资源消耗计数器,由此本地资源消耗计数器在每次资源消耗请求由决策模块接受时被更新,并且经更新的值继而作为输入而提供给决策模块。最后,***包括用于通过与所有其它服务器实例进行对接而同步全局资源消耗计数器的同步模块。
利用这样的***,可以在必须做出决策的时间处确定每一个代理服务器处的资源的可用性,而不管可能接受还是必须拒绝资源消耗请求。
本文中使用的术语“资源”应当以相当宽泛的方式来解释。“资源”可以是指有限可用性的任何物理或虚拟实体,例如存储器、处理容量、网络速度等。
在权利要求2的实施例中,决策模块不具有对其它决策模块的依赖性。方法因此是故障可容忍的,因为一个决策模块中的故障不会对其它决策模块产生影响。可以非常快速地做出决策,因为所有计算部件包含在决策模块中,因而方法适用于实时应用,诸如通信应用。决策做出可以通过采用不受限制数目的决策模块而扩展至无穷大,因为所有计算部件包含在每一个决策模块中。
根据权利要求3的实施例,计算部件在决策模块中是独立的(self contained)。可以采用许多不同的复杂决策算法。
在权利要求4的实施例中,每一个决策模块上的算法参数可以根据全局资源消耗周期性地调节。
权利要求5的实施例具有良好的故障可容忍性:在一个服务器实例处的故障事件时,负载平衡器将新的资源消耗请求引导至其它服务器实例。另外,其具有良好的可扩展性:当针对资源消耗的需求增加时,可以添加新的服务器实例,使得跨服务器实例的大集合而平衡新的资源消耗请求。
权利要求6的实施例具有以下能力:通过从事实上无限制的物理资源池动态地分配计算能力(例如,新的服务器实例)而容易地适配于针对资源消耗的增加/减少的需求。
本发明的示例性实施例在下文参照附图进行解释。在附图中:
图1示意性地示出了分布式计算环境,
图2示意性地示出了根据本发明的代理服务器的结构,以及
图3示意性地示出了使用中央资源管理***的本发明的实施例。
图1示意性地示出了分布式计算环境,其包括可访问共享资源的众多服务器实例Sx,即(S1-Sn),由此由消费者或客户端应用CA所发布的针对共享资源的每一个请求由服务器实例Sx之一处理。可选的负载平衡器LB将由客户端应用CA所发布的所有请求分布到众多服务器实例Sx
表示给定时间处的众多服务器实例Sx的总资源消耗的全局资源消耗计数器G形成分布式计算环境的部分(参见图2)。
分布式计算环境还包括众多代理服务器Lx,即(L1-Lm),其被分配给服务器实例Sx(参见图3)。这些代理服务器的结构在图2中图示。每一个代理服务器Lx包括:
- 用于接收资源消耗请求的接收器模块R,每一个资源消耗请求包括请求实体(例如,用户或者用户群组)的身份以及要由该特定请求所消耗的资源量;
- 资源消耗决策模块Dm,其实现计算部件,计算部件的输出为是否接受资源消耗请求的正或负答复。如将随后描述的,由决策模块Dm做出的决策严格基于在任何给定时间处在本地(即,在每一个代理服务器处)可用于***的数据。计算部件可以由相应算法表示;
- 本地资源消耗计数器L,其表示如由任何单个代理服务器Lx看到的全局资源消耗。它在每次到达接收器模块R的资源消耗请求由决策模块Dm接受时递增。在具有许多独立实例的分布式计算环境中,本地资源消耗计数器L表示对于给定本地代理服务器Lx已知的全局资源消耗计数器G加上由相应决策模块Dm本地接受的资源消耗的总和;
- 队列Q,用于存储已经由相应代理服务器Lx本地接受的资源消耗请求;以及
- 同步模块S,用于通过与所有其它服务器实例Sx进行对接而同步环境的全局资源消耗计数器G,全局资源消耗计数器G表示众多服务器实例Sx的总资源消耗。
存在在每一个代理服务器Lx中并行地并且异步地运行的两个功能。在本情况下异步地意味着两个功能独立地运行,即一个功能不必等待另一个功能完成。
第一功能关注的是关于是否可以接受传入请求的本地决策。该功能的各个步骤依照图2中的数字1到6而如下:
1 请求到达接收器模块R;
2 由资源消耗决策模块Dm基于将随后描述的决策算法来做出是否接受请求的决策;
3 将所接受的请求放置在队列Q中;
4 更新本地资源消耗计数器L;
5 消费者或客户端应用CA接收所请求的服务,其中假设之前已经接受请求;以及
6 将本地资源消耗计数器L的经更新的值作为输入提供给决策模块Dm。
第二功能关注的是全局资源消耗计数器G的同步更新。相应步骤依照图2中的字符A到D如下:
A 从队列Q读取本地接受的资源消耗的量。这包括已经由相应代理服务器Sx的决策模块Dm接受并且尚未与全局资源消耗计数器G同步(参见下文)的所有请求的数据;
B 将已经由给定实例所消耗的资源量添加至全局资源消耗计数器G,将本地队列Q重置为零,并且读取全局资源消耗计数器G的新的值;
C 将本地资源消耗计数器L设置成最近更新的全局资源消耗计数器G的值;以及
D 将新的全局资源消耗计数器值作为输入提供给决策模块Dm。
关于同步步骤B,可以设想到不同的实施例。在一个实施例中,存在中央资源管理***CRM(参见图3),在其中提供资源,并且其还维护全局资源消耗计数器G。在其最简单的形式中,遵循典型的客户端服务器模块,其中本地代理服务器Lx扮演客户端的角色,并且中央资源管理***CRM扮演服务器的角色。客户端请求由服务器一个接一个地处理,并且响应包括经更新的全局计数器。
在另一个实施例中,借助于节点之间的消息而实现同步。在该场景中,使用消息传送***。所有本地代理服务器针对由其它代理服务器的事件进行登记。在接收到由其它代理服务器的事件时,本地维护的全局资源消耗计数器G得以更新。在该情况下可能需要附加措施以确保全局资源消耗计数器G在所有本地***中一致地更新。
在又一个实施例中,使用实例之间的主/从布置来决定如何维护全局资源消耗计数器G的原本。从将队列化到本地代理服务器Sx的所有请求发送给单个服务器的意义上说,在技术上,这类似于第一实施例,差异在于,接收请求并且维护全局资源消耗计数器G的服务器是具有主角色的本地代理服务器Lx中的任何一个。
以下表格以示例进一步解释了本地资源消耗计数器L与全局资源消耗计数器G的同步的过程:
该示例中的***包括三个代理服务器(P1到P3)。在时间t0处,***尚未处理任何请求,即用于队列Q、本地资源消耗计数器L和全局资源消耗计数器G的值为零。在时间t1处,针对10个“资源”的请求由代理服务群P1的决策模块Dm接受。P1处的队列Q递增了10,因为该资源量尚未与全局资源消耗计数器G同步。P1处的本地资源消耗也设置成10,因为这是如由P1在该时间处看到的“全局资源消耗计数器值”。在时间t2处,针对5个资源的请求由代理服务器P2的决策模块Dm接受。以与之前类似的方式,P2处的队列Q递增了5,并且P2处的本地资源消耗也设置成5。这对于时间t3和t4关于由代理服务器P3以及再次地由P1接受的请求同样成立。
在时间t5处,代理服务器P1的本地资源消耗计数器L与全局资源消耗计数器G同步。全局资源消耗设置成13(与P1处的本地资源消耗相同),并且代理服务器P1的队列Q被重置。
针对在时间t6处到达P1的2个资源的下一请求使队列Q和P1的本地资源消耗值增加了2。
在时间t7处,代理服务器P2与全局资源消耗计数器G同步。将在P2处本地接受的资源(L=5)添加到全局资源消耗计数器G(13),并且新的全局资源消耗计数器值变为18。P2处的队列Q被重置成0,并且本地资源消耗计数器被设置成全局资源消耗计数器值。
以类似方式,在时间t8处,代理服务器P3的数据被同步,即将另外7个资源添加至全局资源消耗计数器G,G的值现在为25。P3的队列Q被重置,并且L相应地更新。
在时间t9处,针对5个资源的请求由代理服务器P2的决策模块接受。以与之前类似的方式,队列Q和本地资源消耗计数器递增了5到Q=5以及L=23。
最后,在时间t10处,代理服务器P1再次与全局资源消耗计数器G同步。将其具有2个资源的队列添加至全局资源消耗计数器G,这使全局资源消耗值从25增加为27。全局资源消耗计数器与全局资源消耗使用同步为27。
用于接受或拒绝资源消耗请求的决策通过资源消耗决策模块Dm本地发生于每一个代理服务器Lx上,其中考虑到在该特定服务器上本地可用的数据。
如之前已经提及的,存在于每一个代理服务器的决策模块Dm中的计算部件可以由相应算法表示。以下是用于由相应决策模块Dm实施接受还是拒绝相应请求的决策的算法的示例,由此使用以下输入:
a. 针对给定资源P所提供的最大限制
b. 本地资源消耗计数器值L
c. 经同步的全局资源消耗值G
d. 要由请求R所消耗的资源量
在每一个新的请求时,在时间tx处,如果以下成立,则接受请求
其中
P(Gtx)是在时间tx处的全局资源消耗G的预计,时间tx是新的请求到达时的时间。ts和ts-1是在tx之前发生的全局资源消耗G及其本地副本L之间的同步的时间。Gt和Lt分别是在时间t处的全局和本地资源消耗。
示例:
考虑其中用户群组已经购买针对100GB的存储的许可的文件共享服务的以上示例。服务由N个服务器提供。以下事件发生(其中n/a意味着不适用):
时间 事件 本地使用(Lt) 全局使用(Gt) 预计的使用P(Gt) 限制 决策 新的本地使用Lt+1
t0=0 同步 - 40 n/a - n/a 40
t1=5 同步 40 50 n/a 100 n/a 50
t2=10 5 50 n/a 100 接受 55
t3=20 10 55 n/a 100 接受 65
t4=30 同步 65 90 n/a 100 n/a 90
t5=32 10 90 n/a 100 拒绝 80
在时间t0处,本地代理服务器P1与全局资源消耗计数器G同步。本地使用更新为40。
五秒之后,在时间t1处,本地代理服务器再次同步并且本地资源消耗值更新为50。
在时间t2处,即在t0之后的十秒,接收到针对5 GB文件上载的新请求。决策模块Dm应用以下用于P(Gt)的公式来预计全局资源消耗:
结果是P(G2)=60,因而接受请求并且本地资源消耗值增加为55。
以类似方式,在时间t3处接受针对10 GB文件上载的另一请求,并且本地资源消耗值增加为65。
在时间t4处,代理服务器再次与全局资源消耗计数器G同步。作为该同步的结果,本地资源消耗值被设置成等于时间t4处的全局资源消耗值,即等于90。
在时间t5处,接收到针对10 GB文件上载的新请求。全局使用的预计现在如下:
所预计的使用因而被计算在92 GB处。给定100 GB的限制以及文件上载请求的大小10,该请求被拒绝。
在一些实施例中,可以使用更复杂的预计算法。在一些其它实施例中,总是接受新的请求直至本地资源消耗计数器超出相对于所提供的限制的某一阈值。

Claims (9)

1.一种用于分布式计算环境中的实时资源消耗控制的计算机实现的方法,所述环境包括:
众多服务器实例(Sx),其可访问共享资源,由此由客户端应用(CA)所发布的针对共享资源的每一个请求由服务器实例(Sx)之一处理;
全局资源消耗计数器(G),其表示给定时间处的众多服务器实例(Sx)的总资源消耗;以及
众多代理服务器(Lx),每一个代理服务器包括
- 接收器模块(R),其用于接收从客户端应用(CA)所发布的资源消耗请求,
- 资源消耗决策模块(Dm),其用于接受或拒绝资源消耗请求,
- 队列(Q),其用于收集已经由相应代理服务器(Lx)本地接受的资源消耗请求,
- 本地资源消耗计数器(L),其表示如由相应代理服务器(Lx)所看到的全局资源消耗,所述本地资源消耗计数器(L)在每次资源消耗请求由决策模块(Dm)接受时被更新,经更新的值继而作为输入提供给决策模块(Dm),以及
- 同步模块(S),其用于通过与所有其它服务器实例(Sx)进行对接而同步全局资源消耗计数器(G);
所述方法包括以下步骤
a)从队列(Q)读取由接收器模块(R)接收并且由资源消耗决策模块(Dm)接受的请求的资源消耗的量;
b)通过将在步骤a)中读取的量添加至全局资源消耗计数器(G)而使本地资源消耗计数器(L)与全局资源消耗计数器(G)同步;
c)利用来自步骤b)的全局资源消耗计数器(G)值的本地副本更新本地资源消耗计数器(L);
d)将经更新的全局资源消耗计数器值作为输入提供给代理服务器(Lx)的资源消耗决策模块(Dm);
e)在从队列(Q)读取的每一个新的请求时,确定同步时间处的全局资源消耗计数器值与全局资源消耗计数器值的本地副本的值之间的差异;以及
f)由决策模块(Dm)基于在步骤e)中确定的差异以及自每一个同步步骤的时间处的实际全局资源消耗和全局资源消耗计数器(G)的本地副本的最后同步起所逝去的时间来预计全局资源消耗。
2.根据权利要求1所述的方法,其特征在于,资源消耗决策模块Dm包含计算部件,其用于实施是接受还是拒绝从队列Q读取的新请求的决策。
3.根据权利要求2所述的方法,其特征在于,计算部件基于以下输入而达成是接受还是拒绝新请求的决策:
a. 针对给定资源P的所提供的最大限制,
b. 本地资源消耗计数器值L,
c. 经同步的全局资源消耗值G,
d. 要由请求R所消耗的资源的量;
实施以下步骤:
在每一个新的请求时,在时间tx处,如果以下成立,则接受请求
其中
P(Gtx)是在时间tx处的全局资源消耗G的预计,时间tx是新请求到达时的时间,ts和ts-1是在tx之前发生的全局资源消耗G及其本地副本L之间的同步的时间,Gt和Lt分别是在时间t处的全局和本地资源消耗。
4.根据权利要求1所述的方法,其特征在于,同步步骤由维护全局资源消耗计数器(G)的中央资源管理服务器(CRM)完成。
5.根据前述权利要求中任一项所述的方法,其特征在于,负载平衡器(LB)将由客户端应用(CA)所发布的所有请求分布到众多服务器实例(Sx)。
6.根据前述权利要求中任一项所述的方法,其特征在于,分布式计算环境是SaaS环境。
7.一种计算机程序产品,其特征在于,其适配为实施根据前述权利要求中任一项所述的方法。
8.一种计算机可读数据载体,其特征在于,在其上存储根据权利要求7所述的计算机程序产品。
9.一种用于通过实施根据权利要求1至6中任一项所述的计算机实现的方法的、在分布式环境中的实时资源消耗控制的***,
所述***包括:
众多服务器实例(Sx),其可访问共享资源,由此由客户端应用(CA)所发布的针对共享资源的每一个请求由服务器实例(Sx)之一处理;
全局资源消耗计数器(G),其表示给定时间处的众多服务器实例(Sx)的总资源消耗;以及
众多代理服务器(Lx),每一个代理服务器包括
- 接收器模块(R),其用于接收从客户端应用(CA)所发布的资源消耗请求,
- 资源消耗决策模块(Dm),其用于接受或拒绝资源消耗请求,
- 队列(Q),其用于收集已经由相应代理服务器(Lx)本地接受的资源消耗请求,
- 本地资源消耗计数器(L),其表示如由相应代理服务器(Lx)看到的全局资源消耗,所述本地资源消耗计数器(L)在每次资源消耗请求由决策模块(Dm)接受时被更新,经更新的值继而作为输入提供给决策模块(Dm),以及
- 同步模块(S),其用于通过与所有其它服务器实例(Sx)进行对接而同步全局资源消耗计数器(G)。
CN201580061324.9A 2014-11-11 2015-10-15 用于分布式计算环境中的实时资源消耗控制的方法和*** Pending CN107111520A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
DEDE102014016648.1 2014-11-11
DE102014016648 2014-11-11
PCT/EP2015/002038 WO2016074759A1 (en) 2014-11-11 2015-10-15 Method and system for real-time resource consumption control in a distributed computing environment

Publications (1)

Publication Number Publication Date
CN107111520A true CN107111520A (zh) 2017-08-29

Family

ID=54361042

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201580061324.9A Pending CN107111520A (zh) 2014-11-11 2015-10-15 用于分布式计算环境中的实时资源消耗控制的方法和***

Country Status (4)

Country Link
US (2) US10334070B2 (zh)
EP (1) EP3218807B1 (zh)
CN (1) CN107111520A (zh)
WO (1) WO2016074759A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112131267A (zh) * 2020-08-14 2020-12-25 北京达佳互联信息技术有限公司 计数处理方法、装置、服务器和计数处理***

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150237400A1 (en) * 2013-01-05 2015-08-20 Benedict Ow Secured file distribution system and method
US10733147B2 (en) * 2015-10-19 2020-08-04 Google Llc Distributed management of file modification-time field
US10574585B2 (en) 2017-01-07 2020-02-25 International Business Machines Corporation Resource usage management in a stream computing environment
US10990530B1 (en) * 2019-10-28 2021-04-27 EMC IP Holding Company LLC Implementation of global counters using locally cached counters and delta values
CN111694857B (zh) * 2020-06-12 2023-11-07 北京百度网讯科技有限公司 存储资源数据的方法、装置、电子设备及计算机可读介质
US11900171B2 (en) * 2021-02-02 2024-02-13 Microsoft Technology Licensing, Llc Cloud computing capacity management system using automated fine-grained admission control
CN112965829B (zh) * 2021-02-22 2023-08-11 电子科技大学 一种在并行任务分组调度下使用锁协议的方法
CN115941701B (zh) * 2022-10-13 2023-06-23 华能信息技术有限公司 一种基于微服务架构的动态配置方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000033214A1 (en) * 1998-12-01 2000-06-08 Telefonaktiebolaget Lm Ericsson Method and arrangement relating to resource handling in communications networks
US20120159502A1 (en) * 2010-12-16 2012-06-21 International Business Machines Corporation Variable increment real-time status counters
CN103530247A (zh) * 2013-10-18 2014-01-22 浪潮电子信息产业股份有限公司 一种基于多服务器节点间总线访问的优先权调配方法

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1993011480A1 (en) 1991-11-27 1993-06-10 Intergraph Corporation System and method for network license administration
US6842783B1 (en) * 2000-02-18 2005-01-11 International Business Machines Corporation System and method for enforcing communications bandwidth based service level agreements to plurality of customers hosted on a clustered web server
US7054943B1 (en) * 2000-04-28 2006-05-30 International Business Machines Corporation Method and apparatus for dynamically adjusting resources assigned to plurality of customers, for meeting service level agreements (slas) with minimal resources, and allowing common pools of resources to be used across plural customers on a demand basis
US7231445B1 (en) 2000-11-16 2007-06-12 Nortel Networks Limited Technique for adaptively distributing web server requests
US7069161B2 (en) * 2002-01-17 2006-06-27 Gristina Family Trust System for managing resource infrastructure and resource consumption in real time
US7676576B1 (en) * 2002-08-01 2010-03-09 Foundry Networks, Inc. Method and system to clear counters used for statistical tracking for global server load balancing
US7472159B2 (en) * 2003-05-15 2008-12-30 International Business Machines Corporation System and method for adaptive admission control and resource management for service time guarantees
US20040267897A1 (en) * 2003-06-24 2004-12-30 Sychron Inc. Distributed System Providing Scalable Methodology for Real-Time Control of Server Pools and Data Centers
US7543061B2 (en) * 2003-06-26 2009-06-02 Microsoft Corporation Method and system for distributing load by redirecting traffic
US8078483B1 (en) 2003-12-16 2011-12-13 Ticketmaster Systems and methods for queuing access to network resources
US20060080486A1 (en) 2004-10-07 2006-04-13 International Business Machines Corporation Method and apparatus for prioritizing requests for information in a network environment
EP1901191B1 (de) 2006-09-18 2013-02-27 Siemens Enterprise Communications GmbH & Co. KG Verfahren und Anordnung zur Verwaltung von Lizenzen
US7965630B1 (en) * 2009-09-08 2011-06-21 Southern Company Services, Inc. Load balancing port proxy for dynamically controlling routing of query requests
WO2012125144A1 (en) 2011-03-11 2012-09-20 Joyent, Inc. Systems and methods for sizing resources in a cloud-based environment
JP5939740B2 (ja) * 2011-04-11 2016-06-22 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 動的にリソースを割り当てる方法、システム及びプログラム
US10169094B2 (en) * 2011-04-27 2019-01-01 Hewlett Packard Enterprise Development Lp Dynamic transaction-persistent server load balancing
US8930489B2 (en) * 2011-10-11 2015-01-06 Rakspace US, Inc. Distributed rate limiting of handling requests
US9112809B2 (en) * 2012-11-21 2015-08-18 Telefonaktiebolaget L M Ericsson (Publ) Method and apparatus for controlling utilization in a horizontally scaled software application

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000033214A1 (en) * 1998-12-01 2000-06-08 Telefonaktiebolaget Lm Ericsson Method and arrangement relating to resource handling in communications networks
US20120159502A1 (en) * 2010-12-16 2012-06-21 International Business Machines Corporation Variable increment real-time status counters
CN103530247A (zh) * 2013-10-18 2014-01-22 浪潮电子信息产业股份有限公司 一种基于多服务器节点间总线访问的优先权调配方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112131267A (zh) * 2020-08-14 2020-12-25 北京达佳互联信息技术有限公司 计数处理方法、装置、服务器和计数处理***
CN112131267B (zh) * 2020-08-14 2023-10-03 北京达佳互联信息技术有限公司 计数处理方法、装置、服务器和计数处理***

Also Published As

Publication number Publication date
US10334070B2 (en) 2019-06-25
EP3218807A1 (en) 2017-09-20
US20190273806A1 (en) 2019-09-05
EP3218807B1 (en) 2020-12-02
US10609176B2 (en) 2020-03-31
US20170339243A1 (en) 2017-11-23
WO2016074759A1 (en) 2016-05-19

Similar Documents

Publication Publication Date Title
CN107111520A (zh) 用于分布式计算环境中的实时资源消耗控制的方法和***
Liaqat et al. Federated cloud resource management: Review and discussion
CN108881495A (zh) 资源分配方法、装置、计算机设备及存储介质
US7644161B1 (en) Topology for a hierarchy of control plug-ins used in a control system
JP5664098B2 (ja) 複合イベント分散装置、複合イベント分散方法および複合イベント分散プログラム
CN104620222A (zh) 扩展虚拟机实例
CN103067293A (zh) 负载均衡设备的连接管理和复用的方法和***
CN106790636A (zh) 一种云计算服务器集群的均衡负载***及方法
Aote et al. A game-theoretic model for dynamic load balancing in distributed systems
Haryani et al. Dynamic method for load balancing in cloud computing
Tiwari et al. Service adaptive broking mechanism using MROSP algorithm
Addya et al. A game theoretic approach to estimate fair cost of VM placement in cloud data center
Meroufel et al. Optimization of checkpointing/recovery strategy in cloud computing with adaptive storage management
CN114371931A (zh) 服务集群资源分配方法、装置及计算机设备
CN117573291A (zh) 跨数据中心的多集群管理方法、装置、设备及存储介质
Kim et al. Virtual machines placement for network isolation in clouds
JP2004348192A (ja) Job分配制御方法
Ghosh et al. Towards a democratic federation for infrastructure service provisioning
JP2013015986A (ja) プリペイド課金システム、方法及びプログラム
Chemodanov et al. A near optimal reliable orchestration approach for geo-distributed latency-sensitive SFCs
CN109040283A (zh) 一种基于差值反馈式的改进型负载均衡算法
Thirunavukkarasu et al. Improving mobile cloud computing service efficiency using energy competent and federated learning process
CN112199199A (zh) 一种服务器负载均衡分发方法
Choudhary et al. Load balancing algorithm using JIQ methodology for virtual machines
Patel et al. Survey on resource allocation technique in cloud

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
AD01 Patent right deemed abandoned
AD01 Patent right deemed abandoned

Effective date of abandoning: 20210601