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

文档序号:9278627阅读:来源:国知局
以使得一个或多个服务器104A…104N或外部系统能够访问模型。
[0018]在一些情况中,例如在对等应用(诸如SkypeTM)中,在节点处可用的资源可以被其他用户消耗并且影响当前节点属性(或“参数”),而不管与客户端106A相关联的用户的不活动性如何。在一些情况中,可能在服务器侧要求该属性状态并且用户体验可能遭受状态在客户端中和在服务器上之间的失配。
[0019]在一个实施例中,客户端106A可以在属性改变时向服务器104A发送更新的参数值。如果客户端在每次所监视的参数值改变时向服务器104A发送更新,则将会存在对服务器上的负载的极少控制,并且进一步地,有时服务器104A…104N可能被服务器104A可能不要求的伴随属性改变的更新淹没。
[0020]在另一实施例中,客户端106A可以以定期间隔(例如每2分钟)发送更新。以预选定期间隔的这样的更新将恒定且可预测的负载置于服务器A104A…N上。在基于(Web)的应用中,不同更新间隔可以容易地由客户端106A…N简单地通过改变驻留在服务器处的客户端侧代码的属性来选择。每一次发起web应用时,客户端(浏览器)从服务器检索代码。代码可以包含属性,使得客户端检索包含已经对其做出的任何改变的属性。以此方式,存在每次加载网页时改变用于web应用的客户端侧逻辑的机会。然而,在非web应用的情况中(例如SkypeTM客户端或本机客户端),在不将更新下载到应用或者在客户端106A…N处安装新版本的应用的情况下难以改变更新间隔。该缺点可以通过一些动态配置手段或向发送到客户端的响应容器中添加更新间隔时间并且修改客户端行为以替代性地使用服务器设定更新间隔来解决。
[0021]本文所描述的代码可以体现在任何合适类型的计算机可读存储介质上,诸如计算机存储器等。术语“计算机可读存储介质”旨在覆盖法定形式的计算机可读介质。这样,术语“计算机可读存储介质”不旨在覆盖非法定形式的介质,诸如载波和信号本身。
[0022]这样的适应性还可以通过修改客户端104A以向服务器提供关于伴随每一个请求或呼叫的参数值改变的信息来针对每一个用户或客户端而个性化。在根据状态协议进行操作的服务器的情况下,这允许针对每一个用户重构参数值改变的时间序列,允许构建模型,该模型可以用于基于参数值将在更新间隔内明显改变的概率而确定参数值更新间隔。根据状态协议操作的服务器知道客户端侧状态。在一个示例中,服务器知道客户端处的特定参数值的之前更新。服务器可以采用本地(包括在存储器存储装置中)或远程数据存储装置来存储来自一个或多个客户端的相继更新。在另一示例中,在根据无状态协议进行操作的云服务器的情况下,客户端106A…106N可以提供关于伴随每一次更新的历史数据或客户端侧改变的统计,其将会使得服务器能够确定参数值中的改变行为而不从其它服务器查询数据。换言之,在根据无状态协议进行操作的服务器的情况下,客户端106A…106N可以以以下方式随每一次呼叫或请求向服务器104A提供充足的信息:缓解服务器知晓关于在服务器处由客户端更新的参数值的先前状态的需要。
[0023]作为针对在用户设备处实现的本机应用的示例,其中例如10%用户体验到对其参数值的客户端侧改变通常足以要求对服务器的每分钟一次的更新,而绝大多数用户或客户端要求平均每5分钟一次的相同更新,利用其中每一个客户端将每分钟发送更新(以满足少数方的需要)的朴素方案的服务器上的不必要负载将是大量的。确定用于针对每一个客户端对参数值的更新的适当定时的能力将实现服务器侧上的资源以及通信带宽的大量节约。在一个实施例中,益处通过将逻辑带到服务器侧上而进一步放大,这使得能够改变对参数值的什么改变影响更新决定的逻辑而在设计时间不知晓它们。
[0024]另外,在包括传感器网络的系统中,例如,在制造工厂环境中,本文所描述的系统和方法可以用于优化传感器和数据收集模块之中的值更新频率。
[0025]系统100可以包括用于存储从客户端106A...106N接收的数据的至少部分的数据储存110。所存储的数据可以包括对从一个或多个客户端106A…106N接收的参数值的改变。数据储存110还可以存储模型,从而作为时间的函数对客户端的参数值将改变被服务器视为明显的量的概率进行建模。数据储存110可以是存储服务器上的内存或持久性数据存储装置,其可以独立于服务器104A…104N或者可以是一个或多个服务器104A…N的部分。
[0026]在另一实施例中,可以基于多个属性值创建复合模型。也就是说,替代于基于一个参数值中的改变做出确定,多个属性值中的改变的加权平均可以用于调节针对特定客户端的参数值的下一次更新的定时。复合模型中的每一个参数值可以被指派权重并且根据参数值偏差来计算平均偏差。因而,具有低权重的参数值中的宽改变可能比具有高权重的另一属性值中的相对较小的改变更少地影响结果。在另一示例中,可能存在非线性模型和参数之前的复杂相互作用,其中单独一个参数中的大改变不构成将被服务器视为明显的改变,但是连同一些其它具体参数中的小改变一起对输出具有大影响,并且被服务器视为明显的,并且因此值得更早地从客户端调度更新。
[0027]在另一实施例中,替代于计算均值或平均偏差,或者结合计算均值或平均偏差,分类器模型可以用于输出例如O或1,如果参数值将改变得足以要求更新频率中的改变的话。
[0028]作为宽泛的概览,客户端106A向服务器104A发送其参数值的更新。作为响应,月艮务器104A将确定其想要来自客户端106A的参数值的下一次更新的定时。使用以上描述的模型来确定该定时,所述模型维护在网络102上(例如在服务器104A自身处或者在网络102的另一节点处)。将所接收的参数值输入到模型中并且该模型输出用于对参数值的下一次更新的定时。该模型可以基于针对客户端106A和/或网络中的其它客户端的参数值的改变历史来计算定时。该模型可以考虑一个参数或者多于一个参数的组合,以便对一个或多个客户端的一个或多个参数值将改变例如在服务器处被视为明显的量的概率进行建模。如以上所描述的,改变被服务器视为明显的,如果其将影响服务器可以做出的决定(例如路由决定)的话。我们在本文中称为改变“被服务器”视为明显的。更确切地,明显性实际上是领域专家或服务器的运营商的决定或计算。例如,运营商可以(基于数据)决定往返时间参数中的20ms增加要被视为明显得足以指示资源使用在客户端上改变到一定程度而使得下一次更新应当比其原本将会被调度的更早地调度。领域专家或运营商可以提供一组规则,服务器通过这组规则可以确定改变是否被视为明显的,并且从而确定是否值得改变更新的调度。服务器然后可以使用该组规则与历史数据确定从每一个客户端向服务器发送参数值的更新的定时,使得在基于参数值在更新之间将明显改变的概率的定时处向服务器发送更新。下一次更新的定时可以采取时间延迟(或“时间间隔”)的形式,其指示客户端106A在接收到定时之后在发送参数值的下一次更新之前应当等待的时间。可替换地,下一次更新的定时可以采取时间戳的形式,其指示客户端106A应当发送参数值的下一次更新的绝对时间。
[0029]在响应容器中从服务器104A向客户端106A发送所计算的定时,响应于服务器104A从客户端106A接收更新而将该响应容器发送回到客户端106A。客户端106A被配置成根据所计算的定时发送参数值的下一次更新。
[0030]至少一些客户端106A...106N可以包括本地数据收集模块108A...108N。本地数据收集模块108A被配置成收集涉及客户端106A的性能和/或参数改变数据。在一个示例中,所收集的数据可以包括不活动时间、处理器使用、网络使用、计算机游戏得分改变、在所选时间段中客户端106A连接到一个或多个服务器104A…104N的次数等中的一个或多个。
[0031]客户端106A可以是移动设备、膝上型计算机、台式计算机或能够连接到网络102并且执行软件应用(例如因特网浏览器或本机应用)的任何计算系统。服务器104A可以根据状态或无状态协议进行操作。在操作状态协议的服务器的情况中,服务器104A包括存储来自客户端106A…106N的到来数据
当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1