调整个人电子设备和外部服务之间重业务负荷的方法和系统与流程

文档序号:14748283发布日期:2018-06-22 05:13阅读:177来源:国知局

本申请要求2013年11月25日提交的题为“MethodandSystemforAdjustingHeavyTrafficLoadsBetweenPersonalElectronicDevicesandExternalServices”的美国专利申请序列号14/088,545的优先权。该优先权申请的公开的全部内容通过引用合并至此。



背景技术:

世界上个人电子设备数量的增加及其强大的计算和联网能力造成了对通信网络新的且更大的压力。例如,2013年初所做的研究估计在美国有超过1.8亿智能电话在使用中。如果程序错误或代码致使设备重复且持续地向特定服务提交请求,跨多个电子设备复制的软件程序错误或恶意代码会充满或降低主要网络和服务。此外,如果流行服务经历了短暂的中断,当服务回到线上时,大量设备可能同时试图重新连接到服务。这样的突然的重负荷会对通信网络施加显著压力。尽管服务可以通过拒绝服务动作来保护其自身免于突然的重负荷或其他不同寻常的活动,但这不会保护中介网络和第三方服务免受重业务负荷的影响。

该文档描述了指令解决上述问题和/或附加问题中的至少一些的方法和系统。



技术实现要素:

在实施例中,一种网络业务监测系统监测大量个人电子设备将经由各种代理被定向到各种服务的通信。当检测系统确定被定向到服务中的至少一个的请求的量超过容量限制阈值时,其将致使代理指令设备放慢或停止服务请求,直到系统确定其已经清除以恢复通信。

例如,在实施例中,一种用于控制多个电子设备和一个或多个服务之间的业务的系统可以包括一个或多个系统,诸如检测系统和控制系统,每个都包括一个或多个处理器和包含编程指令的非暂时性计算机可读介质,所述编程指令当被执行时,被配置为致使一个或多个检测系统处理器执行方法。该系统可以监测与通过各种代理单元传递的通信服务请求有关的跨网络传播的信息。该系统可以确定信息是否指示被定向到服务中的一个的服务请求的量违反容量限制规则。一旦识别出所述量违反容量限制规则,系统识别被容量限制规则的违反所影响的代理单元的集合,且其可以生成警报,所述警报包括受限制的服务请求的识别和受影响的代理单元的识别。一旦生成或接收到警报,受影响的代理单元可以发送第一命令到电子设备中的一些或全部以降低受限制服务请求到服务的频率,直到接收到第二命令。降低的频率可以是停止所有服务请求的递送,或者放慢但不停止服务请求。

例如,确定是否违反了容量限制规则可以包括:确定至少阈值数目的服务请求是否被定向到服务;确定至少阈值数目的同样的服务请求是否被定向到服务以及至少一个附加服务;确定至少阈值数目的同样的服务请求是否被定向到服务;或者确定到服务的通信是否正在展现至少阈值延迟水平。

响应于接收到指令,受影响的代理单元可以发送第一命令到电子设备的组。代理单元可以确定最大通过率并且缓存接收到的受限制的服务请求的实例,使得传递到达服务的受限制的服务请求的频率不超过最大通过率。可替换地,受影响的代理单元可以简单地阻止受限制的服务请求传递到服务。响应于接收到恢复通信消息,受影响的代理单元可以中断缓存,递送缓存的服务请求到服务,生成第二命令以恢复受限制的服务请求的递送,以及发送第二命令到电子设备的组。

当电子设备接收到第一命令时,它们可以通过停止或放慢受限制的服务请求的递送而实现第一命令。一旦接收到第二命令,设备可以恢复受限制的服务请求的正常传送。

此外,基于受监测的信息,系统可以检测何时服务请求在频率上正在增加以及从服务到服务请求的响应正在体验延迟上的增加。当检测到频率和/或延迟增加时,系统可以调整容量限制规则以降低容量限制规则中的频率阈值或延迟水平阈值。

附图说明

图1图示说明了系统的各种组件,其中电子设备经由代理与服务以及监测和业务控制系统的其他元件通信。

图2图示说明了网络业务监测和控制系统可以实现的各种步骤。

图3图示说明了可以与下面所述系统的各种方面一起被包括的各种硬件组件。

具体实施方式

如本文档中所使用的,除非上下文明确指定否则,单数形式的“一(a)”、“一(an)”和“一(the)”包括复数引用。除非被定义,否则,本文中所使用的所有技术和科学术语具有与本领域普通技术人员通常理解的相同的含义。如本文档中所使用的,术语“包括”意思是“包括,但不限于”。

“个人电子设备”指的是电子设备,所述电子设备包括处理器、非暂时性计算机可读存储器、网络通信硬件(诸如经由通信网络发送数据到外部服务并从外部服务接收数据的收发信机),以及包括编程指令的一个或多个软件应用,(所述编程指令当由处理器执行时,致使设备的处理器根据编程指令执行一个或多个操作)。个人电子设备的示例包括智能电话、个人数字助理、膝上型计算机、平板计算机、游戏系统、智能电视、联网相机和媒体播放器、诸如包含计算组件的腕表和眼镜的可穿戴计算设备、车载机载计算机等等。

“服务”指的是经由诸如互联网的通信网络从网络地址提供给多个个人电子设备的软件功能。服务将在设备外部,且将包括在远离个人电子设备的位置处执行的处理功能和编程指令。服务的示例包括基于云的电子邮件服务、在线视频或音乐流服务、在线视频或音频聊天或会议服务、照片或其他文件共享和/或存储服务、基于云的文档管理服务、地图服务、搜索服务和其他web服务。

图1示出了联网设备和服务的系统的示例。多种个人电子设备101、102、103可以经由一个或多个通信网络104、111可通信地连接到多种服务113、114、115。个人电子设备的数目可以包括非常大量的设备。这些设备中的每个可以使用浏览器软件和/或移动应用以访问一个或多个外部服务,诸如电子邮件、媒体流式传输、或者视频或音频会议服务。

设备和服务之间的通信将通过中介控制单元,在本文档中被称为“代理单元”或“代理”107、108、109。代理是中间的电子设备,其从设备接收通信并参与是否以及何时将通信传递到目的地服务的控制。代理可以是诸如现行的联网代理、智能网络路由器、计算机上运行的软件、或拦截、中继和/或监测设备和服务之间通信的其他设备的设备。代理分别经由网络104、111与移动设备和服务通信。

检测系统116可以监测网络通信的各种元素,诸如网络的任意部分中的业务负荷、被定向到任意个体服务的业务的量或类型、或者系统的其他参数。检测系统116可以包括自动监测元素和/或手动监测方面。控制系统117与检测系统和代理通信,且其包括处理器和编程指令,所述编程指令当被执行时,致使控制系统控制代理的行为。检测系统和/或控制系统的编程指令可以实现规则集118,所述规则集118可以被用来影响设备的全网的行为。检测系统116、控制系统117和规则118的组件和指令可以是一个或多个代理107、108、109的一部分,或者这些组件中的任意或全部都可以与代理分离但保持通信。此外,检测系统116和控制系统117可以是分立的设备,或者它们可以集成在单个检测和控制系统设备或设备集内。

检测系统116和控制系统117使用规则集118来确定要求什么稳态参数,诸如服务参数质量、每个服务的速率限制以及其他限制。当检测系统116确定监测的参数正在违反这些规则中的一个或多个时,意味着系统的诸如通信链路或服务的一个或多个部分正在变得过载,其可以将控制系统117定向到命令代理107、108、109中的一个或多个通过降低设备在系统内启动的通信的数目来控制业务。受影响的代理将通过下列来实现这些命令:(1)停止,或者缓存且放慢从代理到受影响的服务的通信的频率,以及(2)将信号传送到个人电子设备以停止或放慢服务请求到受影响的服务的频率。

通过使得个人电子设备自身停止或放慢业务,不仅保护了服务,而且降低了设备和服务之间的网络上的压力,因为其帮助网络避免了与重复和持久的服务请求相关联的重业务负荷。此外,设备自身可以从不使用处理资源和电池寿命来发送服务将不会处置的重复服务请求中受益。替代地,设备将保持请求,直到受影响的服务能够或愿意接受请求。其他服务和服务请求将不被限制,且设备和不受影响的服务之间的通信可以以正常方式继续。

在实施例中,代理中的一个或多个可以属于协议变换类型,其控制服务和个人电子设备之间的web应用的外观、结构或流动。内容变换代理可以将为桌面计算机所设计的网页转换为适合于移动电子设备的形式。通常将根据诸如用于网络内容变换代理的WC3指南的可适用标准来完成这些动作。如果检测服务通知一个或多个代理接收了异常高数量的被定向到来自基于非浏览器应用的特定服务的服务请求,检测服务可以经由控制服务致使受影响的代理停止将请求中继至受影响的服务并且向个人电子设备发送信号以停止发送请求,直到接收到“恢复传送”或类似信号。

代理可以位于单个位置或跨一个或多个地理区域分布。代理中的一些或全部可以是异构的,或者它们可以是不同的,只要它们都能够执行向个人电子设备发送信号以停止或放慢服务请求的功能。在一些实施例中,代理将在地理上被分布在物理上接近某些请求设备的位置,以便尽可能快地在设备级解决业务负荷。

规则和命令可以被实现在任何合适粒度水平上,诸如每设备、每服务、每代理或每端口。代理可以向设备发送信号以停止或放慢服务请求的方法可以基于设备的配置变化。例如,如果设备包括被编程为通过停止或放慢服务请求而响应于某些命令的应用,则代理可以向这样的设备发送与这些命令对应的信号。例如,代理可以通过响应于服务请求将错误状态返回至每个设备,通过改变代理和设备之间的握手模式或者通过将明确停止服务或放慢服务命令发送至设备,来向设备发送信号。

图2是描述包括上述的多种元素的处理流程的图。根据多种实施例,一个或多个检测服务将监测与通过各种代理单元从大量个人电子设备传递到多种服务的通信的服务请求有关的信息(步骤201)。监测服务将具有到规则集的访问并将确定被定向到服务中的一个或多个的服务请求的量是否违反容量限制规则(步骤203)。规则可以针对特定服务,诸如在特定时间段内提交的阈值数目的服务请求的规则。或者,规则可以普遍适用于多个服务。例如,如果每秒所监测到的被定向到具体服务的询问的数目,或者流向特定服务以及从特定服务流出的数据量(即带宽)超过阈值,规则可以应用业务限制指令。类似的规则可以被应用于服务的特定组,或者所有服务的聚合。如果检测到特定类型的查询的突然飙升,规则还可以触发业务限制指令。示例包括对于配置文件数据的每秒查询数量中的阈值百分比增加。

可选地,检测服务和/或系统的其他组件可以基于监测的数据而动态地更新规则,或者来自规则或由规则使用的阈值。例如,如果系统确定被定向到特定服务的通信既在频率(例如,每时间段的消息数目)上增加而且导致了更长的等待时间用于对服务请求作出响应(即,延迟增加),则系统可以降低其将要强加“降低频率命令”的频率阈值。系统可以对这个变量和/或其他变量的组合应用任意合适的算法以确定何时调整规则或阈值。规则可以由监测服务来应用,或者它们可以被分布到代理,诸如在代理系统运行时或者以具有周期性规则更新的分批处理的形式被推送的分布式配置文件中。在这样的情形下,代理可以分析监测的数据并自己应用规则。

一旦识别出监测的量违反了容量限制规则(步骤205),检测系统会将量中的服务请求中的一个或多个识别为受限制的服务请求(步骤207)。系统可以基于任何合适方法来这样做,诸如通过检查监测的量并识别构成量的最大部分的服务请求的类型、通过识别受影响的服务并限制到受影响服务的任何未来服务请求、或者通过其他合适方法。基于诸如是否有任意类型的至少阈值数量的服务请求被定向到该服务、是否有至少阈值数目的同样的服务请求被定向到该服务和至少一个附加服务、是否有至少阈值数目的同样的服务请求被定向到该服务、或者到该服务的通信是否正在展现至少阈值延迟水平,系统可以确定容量限制规则被违反。

系统还将确定哪些代理单元是受影响的代理单元(步骤209)。例如,如果代理单元从违反容量限制规则的被监测的量接收到任何业务,或者如果所述代理单元接收到至少阈值百分比的这样的业务,所述代理单元可以被认为是受影响代理单元。

系统随后将指令代理单元(步骤211)命令个人电子设备通过放慢服务请求或完全停止它们来降低受限制的服务请求到受影响的服务的频率。代理单元将发送命令到个人电子设备(步骤213)。一旦接收到命令,设备可以通过停止或放慢受限制服务请求的递送来实现第一命令。

如果指令是要降低但不消除受限制的服务请求,则结合发送命令到个人电子设备,受影响的代理单元可以确定最大通过速率。这可以基于预先存在的指令、从控制服务接收到的指令、或者任何其他合适的方法来确定。受影响的代理单元将缓存接收到的受限制的服务请求的实例并且以降低的速率释放缓存的实例,使得通过服务传递的受限制的服务请求的递送速率不超过最大通过速率。如果指令要停止受限制的服务请求(即将频率降低为零),则直到被指令,否则受影响的代理单元将简单地停止通过受限制服务请求的任意实例的传递。

如果并且当检测系统确定业务可以被恢复时,其可以发送恢复通信消息到代理单元以取消对受限制的服务请求的限制(步骤215)。可以通过任意数量的方法完成该确定,诸如基于时间限制标准、基于来自已经增长了容量水平的受影响服务的信号、或者通过其他合适手段。可选地,指令可以取消限制并且将其替代为更新的限制,诸如允许更高的通信频率或速率,但是仍不允许不受限的通信频率或速率的指令。这样,可以在线上逐步地被产生服务请求,以避免限制被取消之后服务的飙升或过载。

响应于接收到恢复通信消息,受影响的代理可以中断任何缓存或增加消息从缓存释放消息的频率,且它们可以生成新的命令以便不再降低受限制的服务请求的频率。受影响的代理将发送新的命令到个人电子设备(步骤217)。一旦接收到新的命令,电子设备将恢复受限制服务请求的正常通信。

图3描绘了内部硬件元件的示例,其中一些可以被包括在上面所讨论的任意组件中,诸如代理单元、个人电子设备和/或用于提供服务、检测或控制的装备。总线300是用于在硬件的各种组件之间传送信息的路由。处理器或CPU305是系统的中央处理单元,实施执行程序所要求的计算和逻辑操作。只读存储器(ROM)310和随机存取存储器(RAM)315构成存储器设备的示例,

控制器320与用作为到系统总线300的数据存储设施的一个或多个可选存储器设备325对接。例如,这些存储器设备325可以包括CD驱动、硬盘驱动、闪存存储器、USB驱动或用作数据存储设施的另一类型的设备。此外,存储器设备325可以被配置为包括用于存储任何软件模块或指令的单个文件、辅助数据、事故数据、用于存储列联表和/或回归模型的组的通用文件、或者用于存储如上面讨论的信息的一个或多个数据库。

用于执行与上面所述的过程相关联的任何功能步骤的程序指令、软件或交互模块可以被存储在ROM310和/或RAM315中。可选地,程序指令可以被存储在非暂时性计算机可读介质上,诸如激光唱片、闪存存储器、存储卡、USB驱动、诸如基于云的架构的分布式计算机存储平台、光盘存储介质和/或其他记录介质。

显示器接口330可以允许经由总线300接收到的信息以音频、视觉、图形或字母数字的格式被显示在显示器335上。与外部设备的通信可以使用各种通信端口340出现。通信端口340可以被连接到通信网络,诸如互联网、局域网或蜂窝电话数据网。

硬件还可以包括接口345,所述接口345允许从诸如键盘350的输入设备或诸如遥控器、指针设备、视频输入设备和/或音频输入设备的其他输入设备355接收数据。

上面所公开的特征和功能,以及替换,可以被组合进许多其他不同系统或应用内。本领域技术人员可以作出各种当前没有预见到的或没有预期到的的替换、修改、变型或改进中的每个也旨在由所公开的实施例包括。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1