服务器负载管理的制作方法

文档序号:9278627阅读:176来源:国知局
服务器负载管理的制作方法
【专利说明】
【背景技术】
[0001]随着计算变得对于运行任何交易或服务而言主流且必需,大量服务器正被用于不同类型的服务(例如银行业、客户服务、人力资源管理等)。典型地,服务器被定制成提供特定类型的服务。例如,在银行业应用中,一个或多个服务器由银行托管,并且银行的客户、合作伙伴和关联者连接到这些服务器以执行银行业任务。在基于因特网的应用中,客户典型地使用因特网浏览器来连接到一个或多个服务器。然而,专用客户端应用通常也用于具体类型的应用。例如,数以百万的Skype?客户端应用连接到服务器以用于认证、寻找信息、发送要路由到其它客户端的信息等。
[0002]典型地,为了服务大量用户,更多服务器在后端添加,并且典型地,负载平衡系统被用来跨多个后端服务器分布(spread)负载。

【发明内容】

[0003]提供本
【发明内容】
来以简化的形式引入以下在【具体实施方式】中进一步描述的概念的选择。本
【发明内容】
不意图标识所要求保护的主题的关键特征或必需特征,也不意图被用于限制所要求保护的主题的范围。
[0004]在客户端-服务器应用中,服务器可能会发现具有关于连接到它的客户端的状态的数据是有用的。例如,服务器可以基于客户端的状态做出针对通过网络的业务量的路由决定。然而,客户端的状态可能随时间而变化。因此,如果服务器正在从一个或多个客户端连续收集改变数据值,则客户端可能通常需要在例如发生事件时向服务器更新其状态或者呼叫服务器以执行服务。这样的更新可以通过在属性值改变时从客户端发送更新来完成。然而,在该机制中,服务器不具有对所生成的业务量的控制。客户端还可以通过向服务器发送定期更新来更新服务器。在该方法中,尽管业务量是更易于预测的,但是服务器容量需要被设置为比所需要的计算能力的预留更高的高要求,因为甚至在没有更新是必要的时(例如因为自从上一次更新之后没有发生客户端状态的改变),更新也将根据定期定时来发送。该问题随着系统中的客户端的数目增加而加剧。例如,可以存在千万量级的客户端。
[0005]本文所描述的实施例公开了客户端向服务器发送更新并且作为响应服务器提供下一次更新应当发送的定时。以此方式,服务器可以控制来自客户端的更新的定时,例如在逐个客户端的基础上。
[0006]可以收集关于对客户端的参数值的客户端侧改变的数据,并且可以分析所收集的数据以建立模型,该模型用于作为时间的函数对客户端的参数值将改变被服务器(基于历史)视为明显的量的概率进行建模。改变被视为明显的,例如在服务器处如果它们将会影响服务器将做出的决定的话。例如,如果可用于客户端的带宽改变将会影响服务器做出的路由决定(例如以避免所述客户端)的量,则该改变将会被服务器视为明显的。模型在来自客户端的一个或多个呼叫之后可以用于计算针对特定客户端的下一次更新的最高效的回叫时间。例如,基于模型,服务器确定客户端的参数的值不倾向于在特定时间间隔内偏离超出预选范围,因此服务器可以指令客户端采取大于特定时间间隔的用于参数值的下一次更新的定时。在影响客户端状态的多变用户行为和流行应用的情况下,服务器侧上的节约(由于降低的业务量)可以是大量的。在一个实施例中,提供应用编程接口(API)以查询模型。API可以封装在可以被本地或远程客户端使用的服务中。
[0007]在一个实施例中,公开了一种用于收集通信连接到服务器的一个或多个客户端的一个或多个参数的值的方法。基于所收集的一个或多个参数值构造模型,从而作为时间的函数对一个或多个客户端的一个或多个参数值将改变例如在服务器处被视为明显的量的概率进行建模。从一个客户端接收更新,该更新为所述一个客户端的一个或多个参数值的更新。响应于接收到所述更新,模型被用于计算用于来自所述一个客户端的值的下一次更新的定时,并且用于下一次更新的所计算的定时被发送给所述一个客户端。
[0008]在又一实施例中,公开了一种包括服务器和通信连接到服务器的客户端的系统。客户端被配置成向服务器发送客户端的一个或多个参数的值的更新。服务器被配置成:(i)响应于接收到所述更新,使用模型来计算用于来自客户端的值的下一次更新的定时,其中该模型基于一个或多个参数值来构造,从而作为时间的函数对客户端的所述一个或多个参数的值将改变(例如在服务器处)被视为明显的量的概率进行建模,以及(ii)向客户端发送用于下一次更新的所计算的定时。
[0009]在又一实施例中,公开了一种包括存储在计算机可读存储介质中的程序代码的计算机程序产品。程序代码可由服务器的处理器执行以实现以下操作:收集通信连接到服务器的一个或多个客户端的一个或多个参数的值;基于所收集的一个或多个参数的值构造模型,从而作为时间的函数对所述一个或多个客户端的一个或多个参数的值将改变(例如在服务器处)被视为明显的量的概率进行建模;从一个客户端接收所述一个客户端的一个或多个参数的值的更新;响应于接收所述更新,使用模型来计算用于来自所述一个客户端的值的下一次更新的定时;以及向所述一个客户端发送用于下一次更新的所计算的定时。
[0010]其它实施例包括但不限于有形计算机可读存储介质,诸如一个或多个存储存储器,其包括使得处理单元能够实现所公开的方法的一个或多个方面以及被配置成实现所公开的方法的一个或多个方面的系统的指令。
【附图说明】
[0011]因此,所述实施例的以上记载的特征可以被详细理解的方式、以上简要概括的实施例的更具体描述可以通过参照实施例而得到,在附图中图示实施例中的一些。然而,要指出的是,附图仅仅图示了典型的实施例,并且因此将不被视为对权利要求范围的限制,因为所描述的主题可以容许其它等同有效的实施例。
[0012]图1图不了根据一个实施例的负载和属性改变建模系统的不意图。
【具体实施方式】
[0013]在以下描述中,阐述大量具体细节以提供对所描述的实施例的更透彻理解。然而,对于本领域技术人员而言,将显而易见的是,可以在没有这些具体细节中的一个或多个的情况下实践所要求保护的主题。在其它实例中,尚未描述公知特征,以便避免使各个实施例模糊不清。
[0014]贯穿本公开,对“一个实施例”或“实施例”的引用意味着结合所述实施例描述的特定特征、结构或特性包括在本发明的至少一个实施例中。因此,贯穿本说明书,短语“在一个实施例中”或“在实施例中”在各种地方的出现并非必然都是指相同的实施例。另外,在一个或多个实施例中,可以以任何适当方式组合特定特征、结构或特性。
[0015]图1图示了用于服务器负载和特性改变建模的示例性系统100。相应地,系统100包括一个或多个服务器104A…104N和多个客户端106A...106N。客户端106A...106N经由网络102通信连接到一个或多个服务器104Α...104Ν。网络102可以是因特网或局域网。一个或多个客户端106Α…106Ν可以使用无线联网连接到网络102。可以存在千万量级的客户端,但是在图1中为了清楚起见而仅示出三个客户端。
[0016]在一个示例中,客户端106Α具有描述其当前状态(例如应用上的用户活动或作为与应用的用户交互的函数的属性)的数个参数。这些参数可以包括以下中的一个或多个:(i)当前带宽,(?)历史分组丢失率,(iii)客户端的地址,(iv)处理能力,(v)客户端到客户端当前正在利用其操作的网络的连接类型(例如经由W1-Fi接入点或经由蜂窝网络),(vi)cpu消耗,(vii)背景业务量和(viii)中继流的数目。应当指出的是,除本文通过示例的方式给出的那些之外的参数可以在本文所描述的方法中使用。所使用的参数可以取决于所讨论的应用和应用尝试解决的问题。
[0017]客户端106A还可以监视特定类型的事件并且可以向一个或多个服务器104A…104N更新关于事件的数据中的改变。在一个实施例中,服务器104A…104N中的每一个可以是单个计算机或者可以是包括多个计算机的计算系统。这多个计算机可以包括用于从一个或多个客户端106A…106N搜集参数值更新并且构建所搜集的参数值的模型的系统。在一个示例中,可以提供应用编程接口
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1