应用启动端点的自动调整的制作方法_2

文档序号:9635148阅读:来源:国知局
[0036]此外,在到达各种计算机系统组件之后,以计算机可执行指令或数据结构的形式的程序代码手段可从传输介质自动地传送到计算机存储介质(或者反之亦然)。例如,在网络或数据链路上接收的计算机可执行指令或数据结构可被缓冲在网络接口模块(例如,“NIC”)内的RAM中,并且随后最终被传送到计算机系统RAM和/或在计算机系统处的较少易失性的计算机存储介质。由此,应当理解,计算机存储介质可被包括在也(或者甚至主要)利用传输介质的计算机系统组件中。
[0037]计算机可执行指令包括例如在处理器执行时使通用计算机、专用计算机或专用处理设备执行特定功能或一组功能的指令和数据。计算机可执行指令可以是例如二进制值、中间格式指令,诸如汇编语言或者甚至源代码。虽然本主题已经以结构特征和/或方法动作专用的语言进行了描述,但是应当理解所附权利要求中所定义的主题不必限于所述的特征或者以上所述的动作。相反,所述的特征和动作作为实现权利要求的示例形式公开。
[0038]本领域技术人员应当领会可在具有许多类型的计算机系统配置的网络计算环境中实践本发明,这些计算机系统配置包括个人计算机、台式计算机、膝上型计算机、消息处理器、手持设备、多处理器系统、基于微处理器或可编程的消费性电子设备、网络PC、小型计算机、大型计算机、移动电话、PDA、传真机、路由器、交换机等。本发明还可在分布式系统环境中实践,其中通过网络(通过硬连线数据链路、无线数据链路、或者通过硬连线和无线数据链路的组合)链接的本地和远程计算机系统都执行任务。在分布式系统环境中,程序模块可位于本地和远程存储器存储设备中。
[0039]图2A解说了其中可操作本文中所描述的原理的环境200。在初始状态200A中,尚未存在正在处理环境200所接收的传入连接请求的任何应用启动端点服务器(此后也被简称为“端点服务器”)。环境200中存在所示的四个主要组件,包括代理210、端点创建器220、缩放器230、以及负载平衡器240。将针对图3至5以及7A和7B进一步详细地描述环境200的功能,其中参考图2B至2F解说环境200的后续状态。尽管此类功能可在具有环境200的四个不同的组件210、220、230和240的上下文中执行,但是不需要如此。
[0040]图3解说了一种用于创建端点服务器集合的方法300的流程图。方法300可在环境200的上下文中实现并且开始于状态200A。当在本文中描述功能时,此类功能可以但不必使用软件实现。例如,软件可以由计算系统(例如,计算系统100)的一个或多个处理器(例如,处理器120)执行以使计算系统执行所述的功能的一个或多个计算机可执行指令的形式出现。此类计算机可执行指令可在形成计算机程序产品的全部或部分的一个或多个计算机可读介质上体现。
[0041]参考图3,接收创建端点的集合的请求(动作301)。例如,图2B解说了处于后续状态200B的图2A的环境。状态200B示出集合创建请求211由代理210接收。
[0042]然后,方法300包括确定要创建的端点服务器的数量(动作302)。例如,在图2B的上下文中,该判定可由代理210作出,这随后使更具体的创建请求212发送到端点创建器。替换地,代理210可在该点处添加较少的逻辑并将创建请求简单地中继到端点创建器220,并且端点创建器220本身可能判定最初要创建多少个端点服务器。
[0043]然后,方法300发起对确定数量的端点服务器的创建(动作303)。在图2B的上下文中,端点创建器220发起对端点服务器的集合201的创建,如箭头213所表示的。
[0044]一旦在该集合中已经创建了足够数量的端点服务器以能够开始处理传入连接请求(如动作304所确定的),就为服务打开端点服务器的集合(动作305)。在图2B的上下文中,端点创建器220只在集合210中创建了两个端点服务器A和B并且随后通知(如箭头214所表示的)负载平衡器240该集合201现在准备好接收实际的传入连接请求。端点创建器220还通知(如箭头215所表示的)代理210该集合201现在准备好接收实际的传入连接请求。因此,在状态200B之后的任何点处,代理210可接收和处理传入连接请求216。
[0045]参考图3,注意可能并非所有的最初确定数量的端点服务器都需要在该集合被保持打开来接收传入连接请求之前已被创建。例如,假设在端点集合201中最初创建了六个端点服务器A至F。然而,在图2B中,在分派通知214和215且端点集合210变成准备好时,只有两个端点服务器A和B准备好进行服务。因此,在图3中,方法300继续创建初始端点服务器(动作306),该动作被解说为与保持端点打开以进行服务(动作305)的动作并行。
[0046]在某一点处,端点创建器220成功创建了初始数量的端点服务器(如动作307所确定的),由此完成方法300。例如,在图2C的状态200C中,端点集合201包括六个端点服务器A至F。由此,端点创建器220确定(如箭头221所表示的)已经创建了初始数量的端点服务器。因此,端点创建器220向代理210通知(如箭头222所表示的)此完成。
[0047]在一个实施例中,通过以连接/秒(connect1ns per second)为单位的最大传入连接请求(R)速率乘以以秒为单位的预期创建端点服务器(C)的时间的乘积来近似要创建的端点服务器的数量。然后,将该乘积除以每一端点服务器(H)的最大端点数量。例如,如果最大的所支持速率为每秒1个、创建端点服务器所需的时间为600秒、并且每一端点服务器的端点数量为16个,则用于添加端点主机的阈值则为1x600/16或者约38个主机。
[0048]图4解说了一种用于处理传入连接请求的方法400的流程图。例如,开始于状态200B,即使在已经创建了集合201中的所有初始端点服务器之前,代理210也能够接收和处理传入连接请求。例如,代理210接收和处理连接请求216。状态200D解说与在端点集合210 (包括状态200C的最初创建的端点服务器A到F)的上下文中处理传入连接请求231相关联的流。然而,该流即使在初始端点服务器被全部创建之前以及即使在将一个或多个端点服务器添加到端点集合210或从端点集合210移除一个或多个端点服务器之后也可能是类似的。因此,在接收到传入连接请求时,状态200D中的椭圆G表示端点集合210可能具有任意数量的端点服务器。
[0049]在接收对端点的传入连接请求之际发起方法400 (动作401)。例如,在图2D的状态200D中,代理210接收传入连接请求231,该传入连接请求被传递(如箭头232所表示的)给负载平衡器240。
[0050]然后,方法400将传入连接请求分配给端点集合210中仍然具有处理新传入连接请求的能力的被最多利用的端点服务器。在图2D的状态200D中,负载平衡器240作出该确定并将分配传递给适当的端点服务器,如箭头233所表示的。一旦分配完成,负载平衡器240就可能通知代理210,如箭头234所表示的。
[0051]负载平衡方法400具有两个重要的暗示。首先,将新传入连接请求分配给最忙碌但可用的端点服务器意味着随着传入连接请求数量的下降,该降低最有可能在一个或两个端点服务器中反映,由此最有可能留下一个或多个端点服务器未使用。由此,这些未使用的端点服务器可能更容易从端点集合移除,而无需在多个端点服务器之间分割会话。此外,在新的端点服务器被添加时,由于大多数传入连接请求将被转移(divert)到负载更重的端点服务器,因此不会快速地将大量负载定向到该新的端点服务器。因此,不需要立即提供所添加的应用启动端点服务器以被最大限度地负载。相反,所添加的端点服务器可被部分地供应,该部分供应可更快速地发生,并且允许端点服务器更快速地变得可用。
[0052]图5解说了一种用于自动地调整该集合中的端点服务器的数量的设置方法500的流程图。方法500包括监视由端点集合处理的系统负载(动作501)。例如,在环境200中,通过缩放器230实现该逻辑。作为示例,可基于传入连接请求的速率和该系统所处理的用户的数量来确定系统负载。
[0053]然后,方法500计算系统负载的添加阈值(动作502),当超过该添加阈值时,(诸)附加端点服务器将被添加到端点集合,并且计算移除阈值(动作503),当小于该移除阈值时,(诸)启动端点服务器将被从端点集合移除。缩放器230可执行该计算。缩放器可能还响应于对系统负载的行为(诸如传入连接速
当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1