CN104995899A - 服务器负载管理 - Google Patents

服务器负载管理 Download PDF

Info

Publication number
CN104995899A
CN104995899A CN201480004558.5A CN201480004558A CN104995899A CN 104995899 A CN104995899 A CN 104995899A CN 201480004558 A CN201480004558 A CN 201480004558A CN 104995899 A CN104995899 A CN 104995899A
Authority
CN
China
Prior art keywords
client
server
value
renewal
parameter
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.)
Granted
Application number
CN201480004558.5A
Other languages
English (en)
Other versions
CN104995899B (zh
Inventor
S.克斯库拉
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.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing LLC
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 Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Priority to CN201910654232.1A priority Critical patent/CN110417587B/zh
Publication of CN104995899A publication Critical patent/CN104995899A/zh
Application granted granted Critical
Publication of CN104995899B publication Critical patent/CN104995899B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0813Configuration setting characterised by the conditions triggering a change of settings
    • H04L41/082Configuration setting characterised by the conditions triggering a change of settings the condition being updates or upgrades of network functionality
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/14Network analysis or design
    • H04L41/145Network analysis or design involving simulating, designing, planning or modelling of a network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0823Errors, e.g. transmission errors
    • H04L43/0829Packet loss
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • H04L43/0894Packet rate
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/10Active monitoring, e.g. heartbeat, ping or trace-route
    • H04L43/106Active monitoring, e.g. heartbeat, ping or trace-route using time related information in packets, e.g. by adding timestamps
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • 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
    • 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/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • 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/535Tracking the activity of the user
    • 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/568Storing data temporarily at an intermediate stage, e.g. caching
    • H04L67/5682Policies or rules for updating, deleting or replacing the stored data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Medical Informatics (AREA)
  • Computer Security & Cryptography (AREA)
  • Environmental & Geological Engineering (AREA)
  • Cardiology (AREA)
  • Computer And Data Communications (AREA)
  • Information Transfer Between Computers (AREA)
  • Stored Programmes (AREA)
  • Communication Control (AREA)
  • Debugging And Monitoring (AREA)

Abstract

系统和方法用于收集通信连接到服务器的一个或多个客户端的一个或多个参数值。基于所收集的一个或多个参数的值构造模型,从而作为时间的函数对所述一个或多个客户端的所述一个或多个参数的值将改变例如在服务器处被视为明显的量的概率进行建模。从客户端之一接收所述一个或多个参数的更新。响应于接收更新,模型被用来计算用于来自所述客户端之一的值的下一次更新的定时。所计算的用于下一次更新的定时被发送到所述客户端之一。

Description

服务器负载管理
背景技术
随着计算变得对于运行任何交易或服务而言主流且必需,大量服务器正被用于不同类型的服务(例如银行业、客户服务、人力资源管理等)。典型地,服务器被定制成提供特定类型的服务。例如,在银行业应用中,一个或多个服务器由银行托管,并且银行的客户、合作伙伴和关联者连接到这些服务器以执行银行业任务。在基于因特网的应用中,客户典型地使用因特网浏览器来连接到一个或多个服务器。然而,专用客户端应用通常也用于具体类型的应用。例如,数以百万的SkypeTM客户端应用连接到服务器以用于认证、寻找信息、发送要路由到其它客户端的信息等。
典型地,为了服务大量用户,更多服务器在后端添加,并且典型地,负载平衡系统被用来跨多个后端服务器分布(spread)负载。
发明内容
提供本发明内容来以简化的形式引入以下在具体实施方式中进一步描述的概念的选择。本发明内容不意图标识所要求保护的主题的关键特征或必需特征,也不意图被用于限制所要求保护的主题的范围。
在客户端-服务器应用中,服务器可能会发现具有关于连接到它的客户端的状态的数据是有用的。例如,服务器可以基于客户端的状态做出针对通过网络的业务量的路由决定。然而,客户端的状态可能随时间而变化。因此,如果服务器正在从一个或多个客户端连续收集改变数据值,则客户端可能通常需要在例如发生事件时向服务器更新其状态或者呼叫服务器以执行服务。这样的更新可以通过在属性值改变时从客户端发送更新来完成。然而,在该机制中,服务器不具有对所生成的业务量的控制。客户端还可以通过向服务器发送定期更新来更新服务器。在该方法中,尽管业务量是更易于预测的,但是服务器容量需要被设置为比所需要的计算能力的预留更高的高要求,因为甚至在没有更新是必要的时(例如因为自从上一次更新之后没有发生客户端状态的改变),更新也将根据定期定时来发送。该问题随着系统中的客户端的数目增加而加剧。例如,可以存在千万量级的客户端。
本文所描述的实施例公开了客户端向服务器发送更新并且作为响应服务器提供下一次更新应当发送的定时。以此方式,服务器可以控制来自客户端的更新的定时,例如在逐个客户端的基础上。
可以收集关于对客户端的参数值的客户端侧改变的数据,并且可以分析所收集的数据以建立模型,该模型用于作为时间的函数对客户端的参数值将改变被服务器(基于历史)视为明显的量的概率进行建模。改变被视为明显的,例如在服务器处如果它们将会影响服务器将做出的决定的话。例如,如果可用于客户端的带宽改变将会影响服务器做出的路由决定(例如以避免所述客户端)的量,则该改变将会被服务器视为明显的。模型在来自客户端的一个或多个呼叫之后可以用于计算针对特定客户端的下一次更新的最高效的回叫时间。例如,基于模型,服务器确定客户端的参数的值不倾向于在特定时间间隔内偏离超出预选范围,因此服务器可以指令客户端采取大于特定时间间隔的用于参数值的下一次更新的定时。在影响客户端状态的多变用户行为和流行应用的情况下,服务器侧上的节约(由于降低的业务量)可以是大量的。在一个实施例中,提供应用编程接口(API)以查询模型。API可以封装在可以被本地或远程客户端使用的服务中。
在一个实施例中,公开了一种用于收集通信连接到服务器的一个或多个客户端的一个或多个参数的值的方法。基于所收集的一个或多个参数值构造模型,从而作为时间的函数对一个或多个客户端的一个或多个参数值将改变例如在服务器处被视为明显的量的概率进行建模。从一个客户端接收更新,该更新为所述一个客户端的一个或多个参数值的更新。响应于接收到所述更新,模型被用于计算用于来自所述一个客户端的值的下一次更新的定时,并且用于下一次更新的所计算的定时被发送给所述一个客户端。
在又一实施例中,公开了一种包括服务器和通信连接到服务器的客户端的系统。客户端被配置成向服务器发送客户端的一个或多个参数的值的更新。服务器被配置成:(i)响应于接收到所述更新,使用模型来计算用于来自客户端的值的下一次更新的定时,其中该模型基于一个或多个参数值来构造,从而作为时间的函数对客户端的所述一个或多个参数的值将改变(例如在服务器处)被视为明显的量的概率进行建模,以及(ii)向客户端发送用于下一次更新的所计算的定时。
在又一实施例中,公开了一种包括存储在计算机可读存储介质中的程序代码的计算机程序产品。程序代码可由服务器的处理器执行以实现以下操作:收集通信连接到服务器的一个或多个客户端的一个或多个参数的值;基于所收集的一个或多个参数的值构造模型,从而作为时间的函数对所述一个或多个客户端的一个或多个参数的值将改变(例如在服务器处)被视为明显的量的概率进行建模;从一个客户端接收所述一个客户端的一个或多个参数的值的更新;响应于接收所述更新,使用模型来计算用于来自所述一个客户端的值的下一次更新的定时;以及向所述一个客户端发送用于下一次更新的所计算的定时。
其它实施例包括但不限于有形计算机可读存储介质,诸如一个或多个存储存储器,其包括使得处理单元能够实现所公开的方法的一个或多个方面以及被配置成实现所公开的方法的一个或多个方面的系统的指令。
附图说明
因此,所述实施例的以上记载的特征可以被详细理解的方式、以上简要概括的实施例的更具体描述可以通过参照实施例而得到,在附图中图示实施例中的一些。然而,要指出的是,附图仅仅图示了典型的实施例,并且因此将不被视为对权利要求范围的限制,因为所描述的主题可以容许其它等同有效的实施例。
图1图示了根据一个实施例的负载和属性改变建模系统的示意图。
具体实施方式
在以下描述中,阐述大量具体细节以提供对所描述的实施例的更透彻理解。然而,对于本领域技术人员而言,将显而易见的是,可以在没有这些具体细节中的一个或多个的情况下实践所要求保护的主题。在其它实例中,尚未描述公知特征,以便避免使各个实施例模糊不清。
贯穿本公开,对“一个实施例”或“实施例”的引用意味着结合所述实施例描述的特定特征、结构或特性包括在本发明的至少一个实施例中。因此,贯穿本说明书,短语“在一个实施例中”或“在实施例中”在各种地方的出现并非必然都是指相同的实施例。另外,在一个或多个实施例中,可以以任何适当方式组合特定特征、结构或特性。
图1图示了用于服务器负载和特性改变建模的示例性系统100。相应地,系统100包括一个或多个服务器104A…104N和多个客户端106A…106N。客户端106A…106N经由网络102通信连接到一个或多个服务器104A…104N。网络102可以是因特网或局域网。一个或多个客户端106A…106N可以使用无线联网连接到网络102。可以存在千万量级的客户端,但是在图1中为了清楚起见而仅示出三个客户端。
在一个示例中,客户端106A具有描述其当前状态(例如应用上的用户活动或作为与应用的用户交互的函数的属性)的数个参数。这些参数可以包括以下中的一个或多个:(i)当前带宽,(ii)历史分组丢失率,(iii)客户端的地址,(iv)处理能力,(v)客户端到客户端当前正在利用其操作的网络的连接类型(例如经由Wi-Fi接入点或经由蜂窝网络),(vi)cpu消耗,(vii)背景业务量和(viii)中继流的数目。应当指出的是,除本文通过示例的方式给出的那些之外的参数可以在本文所描述的方法中使用。所使用的参数可以取决于所讨论的应用和应用尝试解决的问题。
客户端106A还可以监视特定类型的事件并且可以向一个或多个服务器104A…104N更新关于事件的数据中的改变。在一个实施例中,服务器104A…104N中的每一个可以是单个计算机或者可以是包括多个计算机的计算系统。这多个计算机可以包括用于从一个或多个客户端106A…106N搜集参数值更新并且构建所搜集的参数值的模型的系统。在一个示例中,可以提供应用编程接口以使得一个或多个服务器104A…104N或外部系统能够访问模型。
在一些情况中,例如在对等应用(诸如SkypeTM)中,在节点处可用的资源可以被其他用户消耗并且影响当前节点属性(或“参数”),而不管与客户端106A相关联的用户的不活动性如何。在一些情况中,可能在服务器侧要求该属性状态并且用户体验可能遭受状态在客户端中和在服务器上之间的失配。
在一个实施例中,客户端106A可以在属性改变时向服务器104A发送更新的参数值。如果客户端在每次所监视的参数值改变时向服务器104A发送更新,则将会存在对服务器上的负载的极少控制,并且进一步地,有时服务器104A…104N可能被服务器104A可能不要求的伴随属性改变的更新淹没。
在另一实施例中,客户端106A可以以定期间隔(例如每2分钟)发送更新。以预选定期间隔的这样的更新将恒定且可预测的负载置于服务器A104A…N上。在基于(Web)的应用中,不同更新间隔可以容易地由客户端106A…N简单地通过改变驻留在服务器处的客户端侧代码的属性来选择。每一次发起web应用时,客户端(浏览器)从服务器检索代码。代码可以包含属性,使得客户端检索包含已经对其做出的任何改变的属性。以此方式,存在每次加载网页时改变用于web应用的客户端侧逻辑的机会。然而,在非web应用的情况中(例如SkypeTM客户端或本机客户端),在不将更新下载到应用或者在客户端106A…N处安装新版本的应用的情况下难以改变更新间隔。该缺点可以通过一些动态配置手段或向发送到客户端的响应容器中添加更新间隔时间并且修改客户端行为以替代性地使用服务器设定更新间隔来解决。
本文所描述的代码可以体现在任何合适类型的计算机可读存储介质上,诸如计算机存储器等。术语“计算机可读存储介质”旨在覆盖法定形式的计算机可读介质。这样,术语“计算机可读存储介质”不旨在覆盖非法定形式的介质,诸如载波和信号本身。
这样的适应性还可以通过修改客户端104A以向服务器提供关于伴随每一个请求或呼叫的参数值改变的信息来针对每一个用户或客户端而个性化。在根据状态协议进行操作的服务器的情况下,这允许针对每一个用户重构参数值改变的时间序列,允许构建模型,该模型可以用于基于参数值将在更新间隔内明显改变的概率而确定参数值更新间隔。根据状态协议操作的服务器知道客户端侧状态。在一个示例中,服务器知道客户端处的特定参数值的之前更新。服务器可以采用本地(包括在存储器存储装置中)或远程数据存储装置来存储来自一个或多个客户端的相继更新。在另一示例中,在根据无状态协议进行操作的云服务器的情况下,客户端106A…106N可以提供关于伴随每一次更新的历史数据或客户端侧改变的统计,其将会使得服务器能够确定参数值中的改变行为而不从其它服务器查询数据。换言之,在根据无状态协议进行操作的服务器的情况下,客户端106A…106N可以以以下方式随每一次呼叫或请求向服务器104A提供充足的信息:缓解服务器知晓关于在服务器处由客户端更新的参数值的先前状态的需要。
作为针对在用户设备处实现的本机应用的示例,其中例如10%用户体验到对其参数值的客户端侧改变通常足以要求对服务器的每分钟一次的更新,而绝大多数用户或客户端要求平均每5分钟一次的相同更新,利用其中每一个客户端将每分钟发送更新(以满足少数方的需要)的朴素方案的服务器上的不必要负载将是大量的。确定用于针对每一个客户端对参数值的更新的适当定时的能力将实现服务器侧上的资源以及通信带宽的大量节约。在一个实施例中,益处通过将逻辑带到服务器侧上而进一步放大,这使得能够改变对参数值的什么改变影响更新决定的逻辑而在设计时间不知晓它们。
另外,在包括传感器网络的系统中,例如,在制造工厂环境中,本文所描述的系统和方法可以用于优化传感器和数据收集模块之中的值更新频率。
系统100可以包括用于存储从客户端106A…106N接收的数据的至少部分的数据储存110。所存储的数据可以包括对从一个或多个客户端106A…106N接收的参数值的改变。数据储存110还可以存储模型,从而作为时间的函数对客户端的参数值将改变被服务器视为明显的量的概率进行建模。数据储存110可以是存储服务器上的内存或持久性数据存储装置,其可以独立于服务器104A…104N或者可以是一个或多个服务器104A…N的部分。
在另一实施例中,可以基于多个属性值创建复合模型。也就是说,替代于基于一个参数值中的改变做出确定,多个属性值中的改变的加权平均可以用于调节针对特定客户端的参数值的下一次更新的定时。复合模型中的每一个参数值可以被指派权重并且根据参数值偏差来计算平均偏差。因而,具有低权重的参数值中的宽改变可能比具有高权重的另一属性值中的相对较小的改变更少地影响结果。在另一示例中,可能存在非线性模型和参数之前的复杂相互作用,其中单独一个参数中的大改变不构成将被服务器视为明显的改变,但是连同一些其它具体参数中的小改变一起对输出具有大影响,并且被服务器视为明显的,并且因此值得更早地从客户端调度更新。
在另一实施例中,替代于计算均值或平均偏差,或者结合计算均值或平均偏差,分类器模型可以用于输出例如0或1,如果参数值将改变得足以要求更新频率中的改变的话。
作为宽泛的概览,客户端106A向服务器104A发送其参数值的更新。作为响应,服务器104A将确定其想要来自客户端106A的参数值的下一次更新的定时。使用以上描述的模型来确定该定时,所述模型维护在网络102上(例如在服务器104A自身处或者在网络102的另一节点处)。将所接收的参数值输入到模型中并且该模型输出用于对参数值的下一次更新的定时。该模型可以基于针对客户端106A和/或网络中的其它客户端的参数值的改变历史来计算定时。该模型可以考虑一个参数或者多于一个参数的组合,以便对一个或多个客户端的一个或多个参数值将改变例如在服务器处被视为明显的量的概率进行建模。如以上所描述的,改变被服务器视为明显的,如果其将影响服务器可以做出的决定(例如路由决定)的话。我们在本文中称为改变“被服务器”视为明显的。更确切地,明显性实际上是领域专家或服务器的运营商的决定或计算。例如,运营商可以(基于数据)决定往返时间参数中的20ms增加要被视为明显得足以指示资源使用在客户端上改变到一定程度而使得下一次更新应当比其原本将会被调度的更早地调度。领域专家或运营商可以提供一组规则,服务器通过这组规则可以确定改变是否被视为明显的,并且从而确定是否值得改变更新的调度。服务器然后可以使用该组规则与历史数据确定从每一个客户端向服务器发送参数值的更新的定时,使得在基于参数值在更新之间将明显改变的概率的定时处向服务器发送更新。下一次更新的定时可以采取时间延迟(或“时间间隔”)的形式,其指示客户端106A在接收到定时之后在发送参数值的下一次更新之前应当等待的时间。可替换地,下一次更新的定时可以采取时间戳的形式,其指示客户端106A应当发送参数值的下一次更新的绝对时间。
在响应容器中从服务器104A向客户端106A发送所计算的定时,响应于服务器104A从客户端106A接收更新而将该响应容器发送回到客户端106A。客户端106A被配置成根据所计算的定时发送参数值的下一次更新。
至少一些客户端106A…106N可以包括本地数据收集模块108A…108N。本地数据收集模块108A被配置成收集涉及客户端106A的性能和/或参数改变数据。在一个示例中,所收集的数据可以包括不活动时间、处理器使用、网络使用、计算机游戏得分改变、在所选时间段中客户端106A连接到一个或多个服务器104A…104N的次数等中的一个或多个。
客户端106A可以是移动设备、膝上型计算机、台式计算机或能够连接到网络102并且执行软件应用(例如因特网浏览器或本机应用)的任何计算系统。服务器104A可以根据状态或无状态协议进行操作。在操作状态协议的服务器的情况中,服务器104A包括存储来自客户端106A…106N的到来数据的至少部分的功能性。例如,如果客户端106A向服务器104A发送请求,则服务器104A知道来自相同客户端106A的先前请求。在一个实施例中,与服务器104A相关联的本地数据库或数据储存110被服务器104A用来存储来自客户端106A…106N的数据的至少部分。
在如果服务器104A…104N根据无状态协议操作的情况中,也就是说,这些服务器仍然不知道由客户端106A…106N随请求提供的参数的先前值。在这样的情况中,客户端106A使用数据收集模块108A收集对客户端106A中的参数值的改变并且关于对参数值的改变的经合并或概括的数据随针对服务器104A的请求被发送给服务器104A(或组中的任何其它服务器)。从客户端106A…106N接收的参数值改变的概括可以存储在数据储存110中。
涉及与客户端106A…106N相关联的参数值中的改变的数据可以用于计算预定义的时间间隔中的参数值的平均或均值偏差,其然后可以用于增加或减少从客户端106A…106N发送给服务器104A…104N的更新之间的时间间隔。可以基于客户端倾向于在从客户端106A…106N到服务器104A…104N的更新中报告的信息的有用性确定(基于针对先前的更新所收集的历史数据确定)模型。在一个实施例中,模型可以被网络管理员(或包括用于虚拟服务器的自动化供给的方法的服务器管理系统)用于确定将需要多少服务器来服务来自客户端的请求负载。这对于保留按需计算能力,特别是在其中计算能力基于每分钟或每小时的实际使用出售的云计算环境中(例如基于计算能力时间的租用模型)也是有用的。
在客户端-服务器应用中,客户端可能通常需要向服务器更新客户端侧属性的状态。该更新可以通过在状态改变发生时从客户端发送更新或者通过从客户端向服务器发送定期更新来完成。在一个示例中,向请求容器添加有影响的客户端侧属性改变并且在响应容器中指示下一次更新之前的延迟。这样的改变使得服务器能够对客户端更新的定时进行全面控制并且还允许用于每一个客户端106A…106N的更新定时的优化。也就是说,在逐个客户端的基础上确定定时。这在其中可能存在数千万的客户端的大规模系统中特别有用,因为服务器可以限制客户端的更新定时,使得其针对每一个客户端在基于针对每一个客户端发生的参数值的明显改变的概率的定时处接收更新。基于随时间对参数值的先前改变的统计分析和特定参数的其它具体特性来计算回叫时间或更新定时。
可以分析关于客户端侧参数值改变所收集的数据以构建计算特定客户端的最高效的回叫时间的模型(例如离线模型)。在影响客户端状态的多样用户行为和流行应用的情况下,服务器侧上的计算能力的节约(由于降低和受控的业务量)可以是大量的,特别是在其中按小时租用计算能力的云计算环境中。
在一个实施例中,基于朴素贝叶斯(Bayes)分类器确定客户端更新定时,该贝叶斯分类器在一个示例中将当前客户端分类到展现出类似行为并且从与其它组不同的回叫时间受益的组中。朴素贝叶斯分类器是基于以强(朴素)独立性假设应用贝叶斯定理的简单概率分类器。
如以上所描述的,服务器104A可以在数据储存110中存储涉及从各个客户端106A…N接收的参数值中的改变的数据。随后,基于所收集的数据并且使用公知的统计方法和/或机器学习算法,服务器104A(可替换地,用于训练模型的专用机器)训练模型,其中模型被用于例如通过计算参数值中的改变的预期比率来产生试图预测有影响的改变或有影响的改变的概率的输出。
在一个实施例中,还可以记录发送到服务器104A…N的请求类型,并且基于所收集的数据,可以构建用于服务器104A…N的组的平均负载模式模型并且可以使用一个或多个公知的统计方法计算预期负载。具有负载模型对于按需供给或解除供给服务器(例如根据所计算的负载模型在不同时间处按需繁衍更多虚拟机或关闭一些虚拟机)将会是有利的。
尽管已经以特定于结构特征和/或方法动作的语言描述了各种实施例,但是要理解的是,在随附权利要求中限定的实施例不一定限于所描述的具体特征或动作。相反,具体特征和动作作为实现各种所要求保护的实施例的示例形式而公开。

Claims (10)

1.一种方法,包括:
收集通信连接到服务器的一个或多个客户端的一个或多个参数的值;
基于所收集的所述一个或多个参数的值构造模型,从而作为时间的函数对所述一个或多个客户端的所述一个或多个参数的值将改变被视为明显的量的概率进行建模;
从一个客户端接收所述一个客户端的一个或多个参数的值的更新;
响应于接收所述更新,使用模型来计算用于来自所述一个客户端的值的下一次更新的定时;以及
将用于下一次更新的所计算的定时发送到所述一个客户端。
2.权利要求1的方法,其中发送包括在响应于从所述一个客户端接收所述更新而向回发送到所述一个客户端的响应容器中包括所计算的定时。
3.权利要求1或2的方法,其中所述一个客户端被配置成根据所计算的定时发送值的下一次更新。
4.任何前述权利要求的方法,其中服务器不具有对客户端的状态信息的访问权限。
5.权利要求4的方法,其中随描述所述一个客户端的当前状态的信息从所述一个客户端接收值的更新。
6.任何前述权利要求的方法,其中所述定时是以下中的任一个:(i)指示所述一个客户端在接收到定时之后在发送值的下一次更新之前应当等待的时间的时间延迟,或者(ii)指示所述一个客户端应当发送值的下一次更新的绝对时间的时间戳。
7.任何前述权利要求的方法,其中所述参数包括以下中的一个或多个:(i)当前带宽使用,(ii)历史分组丢失率,(iii)客户端的地址,(iv)处理能力,(v)客户端到网络的连接类型,(vi)cpu消耗,(vii)背景业务量和(viii)中继流的数目。
8.任何前述权利要求的方法,其中所述构造模型的步骤包括考虑多于一个所述参数的组合以便对所述一个或多个客户端的所述一个或多个参数值将改变被视为明显的量的概率进行建模。
9.一种系统,包括:
服务器;以及
通信连接到服务器的客户端,其中客户端被配置成向服务器发送客户端的一个或多个参数的值的更新,
其中服务器被配置成:(i)响应于接收所述更新,使用模型来计算用于来自客户端的值的下一次更新的定时,其中该模型基于搜索一个或多个参数的值构造,从而作为时间的函数对客户端的所述一个或多个参数值将改变被视为明显的量的概率进行建模,以及(ii)向客户端发送用于下一次更新的所计算的定时。
10.一种包括存储在计算机可读存储介质中的程序代码的计算机程序产品,程序代码可由服务器的处理器执行以实现以下操作:
收集通信连接到服务器的一个或多个客户端的一个或多个参数的值;
基于所收集的所述一个或多个参数值构造模型,从而作为时间的函数对所述一个或多个客户端的所述一个或多个参数的值将改变被视为明显的量的概率进行建模;
从一个客户端接收所述一个客户端的所述一个或多个参数的值的更新;
响应于接收所述更新,使用模型来计算用于来自所述一个客户端的值的下一次更新的定时;以及
向所述一个客户端发送用于下一次更新的所计算的定时。
CN201480004558.5A 2013-01-11 2014-01-11 服务器负载管理 Active CN104995899B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910654232.1A CN110417587B (zh) 2013-01-11 2014-01-11 服务器负载管理

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/739677 2013-01-11
US13/739,677 US9559906B2 (en) 2013-01-11 2013-01-11 Server load management
PCT/US2014/011172 WO2014110461A1 (en) 2013-01-11 2014-01-11 Server load management

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN201910654232.1A Division CN110417587B (zh) 2013-01-11 2014-01-11 服务器负载管理

Publications (2)

Publication Number Publication Date
CN104995899A true CN104995899A (zh) 2015-10-21
CN104995899B CN104995899B (zh) 2019-07-16

Family

ID=50073437

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201910654232.1A Active CN110417587B (zh) 2013-01-11 2014-01-11 服务器负载管理
CN201480004558.5A Active CN104995899B (zh) 2013-01-11 2014-01-11 服务器负载管理

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN201910654232.1A Active CN110417587B (zh) 2013-01-11 2014-01-11 服务器负载管理

Country Status (4)

Country Link
US (2) US9559906B2 (zh)
EP (1) EP2929674B1 (zh)
CN (2) CN110417587B (zh)
WO (1) WO2014110461A1 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107995243A (zh) * 2016-10-27 2018-05-04 北京优朋普乐科技有限公司 一种基于控制命令的通信方法及服务器
CN108737460A (zh) * 2017-04-14 2018-11-02 腾讯科技(深圳)有限公司 一种连接的处理方法及客户端
CN110178351A (zh) * 2016-12-13 2019-08-27 Abb瑞士股份有限公司 多客户端/多服务器管理方法和系统
CN110178352A (zh) * 2016-12-13 2019-08-27 Abb瑞士股份有限公司 利用拒绝已连接客户端以平衡系统的例程的多客户端/多服务器管理方法和系统

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9559906B2 (en) 2013-01-11 2017-01-31 Microsoft Technology Licensing, Llc Server load management
US10228958B1 (en) * 2014-12-05 2019-03-12 Quest Software Inc. Systems and methods for archiving time-series data during high-demand intervals
US9779389B2 (en) * 2015-03-24 2017-10-03 Getgo, Inc. Generation of screenshots for a visual summary of an online meeting under diverse and/or varying network and/or client computer performance conditions
US10362147B2 (en) 2015-10-09 2019-07-23 Seiko Epson Corporation Network system and communication control method using calculated communication intervals
CN106649415B (zh) * 2015-11-03 2019-12-20 广州市动景计算机科技有限公司 客户端数据检查更新方法及装置
CN114490691B (zh) * 2022-02-15 2022-08-16 北京中电兴发科技有限公司 一种分布式系统数据一致性方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1794667A (zh) * 2005-08-09 2006-06-28 华为技术有限公司 网络通信状况探测方法
US20090204348A1 (en) * 2008-02-08 2009-08-13 Yahoo! Inc. Power management for proximity-based ad hoc networks
US7606895B1 (en) * 2004-07-27 2009-10-20 Cisco Technology, Inc. Method and apparatus for collecting network performance data

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6717915B1 (en) * 1998-07-10 2004-04-06 Openwave Systems, Inc. Method and apparatus for dynamically configuring timing parameters for wireless data devices
US6411966B1 (en) 1998-09-21 2002-06-25 Microsoft Corporation Method and computer readable medium for DNS dynamic update to minimize client-server and incremental zone transfer traffic
US6996627B1 (en) 1999-05-25 2006-02-07 Realnetworks, Inc. System and method for providing update information
US7580996B1 (en) * 2000-05-31 2009-08-25 International Business Machines Corporation Method and system for dynamic update of an application monitoring agent using a non-polling mechanism
US20020143911A1 (en) 2001-03-30 2002-10-03 John Vicente Host-based network traffic control system
US7433861B2 (en) 2003-03-13 2008-10-07 International Business Machines Corporation Byte-code representations of actual data to reduce network traffic in database transactions
US7441011B2 (en) 2003-10-23 2008-10-21 Microsoft Corporation Truth on client persistent caching
NO323215B1 (no) * 2005-02-04 2007-01-29 Tandberg Telecom As Fremgangsmate for monitorering og konfigurering av brannmur/NAT-beskyttet nettverk
US7558271B2 (en) * 2005-10-21 2009-07-07 International Business Machines Corporation Method and apparatus for adaptive bandwidth control with defined priorities for different networks
CN100563169C (zh) 2006-01-24 2009-11-25 华为技术有限公司 客户端能力更新上报系统、方法、服务器和终端设备
US7903623B2 (en) * 2006-12-13 2011-03-08 Qualcomm Incorporated Server based technique for optimizing call setup latency for geographically dense groups
US8068823B2 (en) * 2006-12-13 2011-11-29 Qualcomm Incorporated Optimizing call setup latency for geographically dense groups
US8200764B2 (en) * 2006-12-19 2012-06-12 International Business Machines Corporation System and method for achieving highly scalable real-time collaboration applications using HTTP
CN101291260B (zh) * 2007-09-25 2011-08-10 深圳市同洲电子股份有限公司 一种用于流媒体服务的负载测试系统以及测试方法
US8769067B2 (en) * 2009-06-22 2014-07-01 Citrix Systems, Inc. Systems and methods for statistics exchange between cores for load balancing
GB2477092A (en) * 2010-01-20 2011-07-27 Nec Corp Selecting virtual machine host servers based on client device location
US8606847B2 (en) 2010-05-28 2013-12-10 Juniper Networks, Inc. Application-layer traffic optimization service map updates
US20140181266A1 (en) * 2011-09-29 2014-06-26 Avvasi Inc. System, streaming media optimizer and methods for use therewith
US20130301415A1 (en) * 2011-09-29 2013-11-14 Avvasi Inc. Methods and systems for managing media traffic based on network conditions
US8769089B2 (en) * 2011-11-15 2014-07-01 International Business Machines Corporation Distributed application using diagnostic heartbeating
WO2013185240A1 (en) * 2012-06-14 2013-12-19 Sierra Wireless, Inc. Method and system for wireless communication with machine-to-machine devices
GB2505924B (en) * 2012-09-14 2014-08-13 Richard George Hoptroff Simultaneous data presentation mechanism
US9119103B2 (en) * 2012-12-05 2015-08-25 At&T Intellectual Property I, L.P. Managing media distribution based on a service quality index value
TWI489818B (zh) * 2013-01-04 2015-06-21 Quanta Comp Inc 遠端升級伺服器及其適用之負載平衡方法
US9559906B2 (en) 2013-01-11 2017-01-31 Microsoft Technology Licensing, Llc Server load management

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7606895B1 (en) * 2004-07-27 2009-10-20 Cisco Technology, Inc. Method and apparatus for collecting network performance data
CN1794667A (zh) * 2005-08-09 2006-06-28 华为技术有限公司 网络通信状况探测方法
US20090204348A1 (en) * 2008-02-08 2009-08-13 Yahoo! Inc. Power management for proximity-based ad hoc networks

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107995243A (zh) * 2016-10-27 2018-05-04 北京优朋普乐科技有限公司 一种基于控制命令的通信方法及服务器
CN110178351A (zh) * 2016-12-13 2019-08-27 Abb瑞士股份有限公司 多客户端/多服务器管理方法和系统
CN110178352A (zh) * 2016-12-13 2019-08-27 Abb瑞士股份有限公司 利用拒绝已连接客户端以平衡系统的例程的多客户端/多服务器管理方法和系统
CN108737460A (zh) * 2017-04-14 2018-11-02 腾讯科技(深圳)有限公司 一种连接的处理方法及客户端
CN108737460B (zh) * 2017-04-14 2022-06-07 腾讯科技(深圳)有限公司 一种连接的处理方法及客户端

Also Published As

Publication number Publication date
US9559906B2 (en) 2017-01-31
WO2014110461A1 (en) 2014-07-17
US20170104623A1 (en) 2017-04-13
US20140201343A1 (en) 2014-07-17
EP2929674A1 (en) 2015-10-14
CN110417587A (zh) 2019-11-05
CN104995899B (zh) 2019-07-16
EP2929674B1 (en) 2018-03-28
US10516571B2 (en) 2019-12-24
CN110417587B (zh) 2022-08-16

Similar Documents

Publication Publication Date Title
CN104995899A (zh) 服务器负载管理
CN112165691B (zh) 内容分发网络调度方法、装置、服务器和介质
EP2904491B1 (en) Method, node and computer program for enabling automatic adaptation of resource units
CN109347947A (zh) 一种负载均衡的方法、域名服务器及集群nas服务器
US10616139B1 (en) Reducing quota access
CN113709048A (zh) 一种路由信息的发送、接收方法、网元及节点设备
CN112789832B (zh) 动态切片优先级处理
CN109246229A (zh) 一种分发资源获取请求的方法和装置
KR101980834B1 (ko) 컨텍스트 정보 기반 응용프로그램 관리방법 및 그 장치
CN103002005A (zh) 云服务监测系统
CN103997725A (zh) 用于抽象和编排网络环境中的移动数据网络的系统和方法
CN108696400A (zh) 网络监测方法和装置
EP3035619B1 (en) A method and system for scaling and a telecommunications network
US20160352843A1 (en) Data Processing Method, Device, and ESB System
CN106797399A (zh) 确定计算资源的新配置的配置方法、设备、系统和计算机可读介质
CN105243080A (zh) 基于esb架构的资源感知自适应适配系统
CN104937613A (zh) 量化数据质量的探试
CN110490316A (zh) 基于神经网络模型训练系统的训练处理方法、训练系统
CN115964182B (zh) 资源的调度方法和系统
Mansouri et al. Dynamic semantic‐based green bio‐inspired approach for optimizing energy and cloud services qualities
US20020124087A1 (en) System and method for providing dynamic service using front-end
US20190155867A1 (en) Server of statistics for optimization of client-server requests
KR102543689B1 (ko) 하이브리드 클라우드 운영 시스템 및 그 제어방법과, 그 하이브리드 클라우드 운영 시스템에 포함되는 노드 배치 장치 및 그 제어방법
CN112306666B (zh) 云端资源管理系统及方法、以及非暂态电脑可读取记录媒体
US20220398133A1 (en) Testing framework with load forecasting

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant