首页 / 专利库 / 电脑零配件 / 计算机系统 / 软件 / 群件 / 预建流量管理系统组件虚拟机的弹性卸载

预建流量管理系统组件虚拟机的弹性卸载

阅读:735发布:2024-02-18

专利汇可以提供预建流量管理系统组件虚拟机的弹性卸载专利检索,专利查询,专利分析的服务。并且实施例 针对采用流量管理系统(TMS),该TMS能够向 云 部署组件 虚拟机 (CVM)以执行TMS的任务。在一些实施例中,TMS可以与一个或多个CVM一起使用。在至少一个实施例中,TMS可以维护每个CVM的镜像。每个CVM可以被配置为执行一个或多个任务、在特定的云 基础 设施中进行操作等。TMS可以在本地部署一个或多个CVM和/或向一个或多个公共云和/或私有云部署一个或多个CVM。在一些实施例中,CVM的部署可以基于要执行的任务的类型、预期资源使用情况、客户策略等。CVM的部署可以基于所监控的使用模式、任务完成情况、客户策略等进行动态更新。,下面是预建流量管理系统组件虚拟机的弹性卸载专利的具体信息内容。

1.一种用于管理网络通信的方法,包括:
针对网络上的分组流采用流量管理系统(TMS),其中所述TMS包括用于将至少一个组件虚拟机(CVM)部署到单独的基础设施、和用于本地部署所述至少一个CVM以用于在所述TMS上执行的信息,其中,每个部署的CVM能够执行所述TMS的至少一个任务;
基于使用模式或CVM部署策略中的一个或多个,将所述至少一个CVM中的至少一个自动地部署到所述单独的云基础设施中以执行所述TMS的低安全性任务;
自动地本地部署所述至少一个CVM以执行高安全性任务;
监控针对每个部署的CVM的周期性心跳,其中所述心跳广播CVM当前与所述TMS进行通信、CVM当前与一个或多个其他部署的CVM进行通信、或CVM执行任务的能中的一个或多个;以及
对与每个部署的CVM相关联的使用模式进行监控,以确定每个部署的CVM的相应工作负荷。
2.如权利要求1所述的方法,还包括:
基于每个部署的CVM的相应工作负荷和使用模式来动态更新部署的CVM中的至少一个的部署。
3.如权利要求1所述的方法,其中,所述至少一个CVM被优化为在其被部署于的所述云基础设施中进行操作。
4.如权利要求1所述的方法,其中,所述TMS的所述至少一个任务包括如下项中的至少一项:分组协议管理、网络协议通信转换、安全性操作、负载均衡操作、网络流量优化操作、网络防火墙操作以及任意其他流量管理相关的任务。
5.如权利要求1所述的方法,其中,所述TMS实现用户接口,所述用户接口使得管理员能够对所述至少一个CVM的配置、部署、停运、监控、以及迁移进行管理。
6.如权利要求1所述的方法,还包括:
采用远程应用程序接口,所述远程应用程序接口使得管理员能够对所述TMS的所述至少一个CVM的部署进行管理。
7.如权利要求1所述的方法,还包括:
基于所述TMS的预期使用模式来部署所述CVM,所述预期使用模式包括如下项中的至少一项:分组流量流、所维护的连接的数目、资源使用情况、特定任务、特定任务的资源使用情况、或所述TMS的任意其他预期使用模式。
8.如权利要求1所述的方法,其中,基于所述CVM、所述TMS或任意其他处理资源中的至少一个的处理负荷,所述至少一个CVM在被部署到所述云基础设施之前首先被本地部署以用于在所述TMS上执行。
9.如权利要求1所述的方法,其中,所述TMS在将所述至少一个CVM部署于所述云基础设施之前或之后,将所述至少一个CVM进行本地部署以在本地超级管理器上执行。
10.如权利要求1所述的方法,还包括:
部署多个CVM以形成CVM集群,其中,所述CVM集群中的至少一个CVM与所述CVM集群或另一CVM集群中的至少一个中的至少一个其他的CVM协调工作,以执行所述至少一个任务的至少一部分。
11.如权利要求1所述的方法,其中,所述TMS基于至少一个部署策略要求来部署所述CVM,所述部署策略要求包括如下项中的至少一项:针对特定任务、针对特定客户、针对特定服务器、针对特定服务等级、针对特定许可、容量限制、延迟限制、安全性要求、或任意其他特定标准。
12.如权利要求1所述的方法,其中,所述至少一个CVM执行如下项中的至少一项:策略实施操作、策略参考操作、计费操作、数据存储操作、服务器健康监控操作、网络监控操作、登录操作、报告操作、加密操作、压缩操作、或任意其他网络/策略实施相关的操作。
13.如权利要求1所述的方法,其中,所述至少一个CVM支持一个或多个不同的云基础设施应用程序接口。
14.如权利要求1所述的方法,其中,所述TMS跨一个或多个云基础设施对所述至少一个CVM进行负载均衡。
15.一种在其上存储有计算机可执行指令的计算机可读介质,当所述计算机可执行指令被至少一个处理器执行时,使得所述至少一个处理器能够执行动作来管理网络通信,所述动作包括:
针对网络上的分组流采用流量管理系统(TMS),其中所述TMS包括用于将至少一个组件虚拟机(CVM)部署到单独的云基础设施、和用于本地部署所述至少一个CVM以用于在所述TMS上执行的信息,其中,每个部署的CVM能够执行所述TMS的至少一个任务;
基于使用模式或CVM部署策略中的一个或多个,将所述至少一个CVM中的至少一个自动地部署到所述单独的云基础设施中以执行所述TMS的低安全性任务;
自动地本地部署所述至少一个CVM以执行高安全性任务;
监控针对每个部署的CVM的周期性心跳,其中所述心跳广播CVM当前与所述TMS进行通信、CVM当前与一个或多个其他部署的CVM进行通信、或CVM执行任务的能力中的一个或多个;以及
对与每个部署的CVM相关联的使用模式进行监控,以确定每个部署的CVM的相应工作负荷。
16.如权利要求15所述的计算机可读介质,还包括:
基于每个部署的CVM的相应工作负荷和使用模式来动态更新部署的CVM中的至少一个的部署。
17.如权利要求15所述的计算机可读介质,其中,所述至少一个CVM被优化为在其被部署于的所述云基础设施中进行操作。
18.如权利要求15所述的计算机可读介质,其中,所述TMS的所述至少一个任务包括如下项中的至少一项:分组协议管理、网络协议通信转换、安全性操作、负载均衡操作、网络流量优化操作、网络防火墙操作以及任意其他流量管理相关的任务。
19.如权利要求15所述的计算机可读介质,其中,所述TMS实现用户接口,所述用户接口使得管理员能够对所述至少一个CVM的配置、部署、停运、监控、以及迁移进行管理。
20.如权利要求15所述的计算机可读介质,还包括:
采用远程应用程序接口,所述远程应用程序接口使得管理员能够对所述TMS的所述至少一个CVM的部署进行管理。
21.如权利要求15所述的计算机可读介质,还包括:
基于所述TMS的预期使用模式来部署所述CVM,所述预期使用模式包括如下项中的至少一项:分组流量流、所维护的连接的数目、资源使用情况、特定任务、特定任务的资源使用情况、或所述TMS的任意其他预期使用模式。
22.如权利要求15所述的计算机可读介质,其中,基于所述CVM、所述TMS或任意其他处理资源中的至少一个的处理负荷,所述至少一个CVM在被部署到所述云基础设施之前首先被本地部署以用于在所述TMS上执行。
23.如权利要求15所述的计算机可读介质,其中,所述TMS在将所述至少一个CVM部署于所述云基础设施之前或之后,将所述至少一个CVM进行本地部署以在本地超级管理器上执行。
24.如权利要求15所述的计算机可读介质,还包括:
部署多个CVM以形成CVM集群,其中,所述CVM集群中的至少一个CVM与所述CVM集群或另一CVM集群中的至少一个中的至少一个其他的CVM协调工作,以执行所述至少一个任务的至少一部分。
25.如权利要求15所述的计算机可读介质,其中,所述TMS基于至少一个部署策略要求来部署所述CVM,所述部署策略要求包括如下项中的至少一项:针对特定任务、针对特定客户、针对特定服务器、针对特定服务等级、针对特定许可、容量限制、延迟限制、安全性要求、或任意其他特定标准。
26.如权利要求15所述的计算机可读介质,其中,所述至少一个CVM执行如下项中的至少一项:策略实施操作、策略参考操作、计费操作、数据存储操作、服务器健康监控操作、网络监控操作、登录操作、报告操作、加密操作、压缩操作、或任意其他网络/策略实施相关的操作。
27.如权利要求15所述的计算机可读介质,其中,所述至少一个CVM支持一个或多个不同的云基础设施应用程序接口。
28.如权利要求15所述的计算机可读介质,其中,所述TMS跨一个或多个云基础设施对所述至少一个CVM进行负载均衡。
29.一种用于管理网络通信的网络装置,包括:
收发机,所述收发机被配置为能够接收和发送网络分组;
存储器,所述存储器存储计算机可执行指令;
处理器,所述处理器被耦合于所述收发机和所述存储器,所述处理器被配置为能够执行动作,所述动作包括:
针对网络上的分组流采用流量管理系统(TMS),其中所述TMS包括用于将至少一个组件虚拟机(CVM)部署到单独的云基础设施、和用于本地部署所述至少一个CVM以用于在所述TMS上执行的信息,其中,每个部署的CVM能够执行所述TMS的至少一个任务;
基于使用模式或CVM部署策略中的一个或多个,将所述至少一个CVM中的至少一个自动地部署到所述单独的云基础设施中以执行所述TMS的低安全性任务;
自动地本地部署所述至少一个CVM以执行高安全性任务;
监控针对每个部署的CVM的周期性心跳,其中所述心跳广播CVM当前与所述TMS进行通信、CVM当前与一个或多个其他部署的CVM进行通信、或CVM执行任务的能力中的一个或多个;以及
对与每个部署的CVM相关联的使用模式进行监控,以确定每个部署的CVM的相应工作负荷。
30.如权利要求29所述的装置,还包括:
基于每个部署的CVM的相应工作负荷和使用模式来动态更新部署的CVM中的至少一个的部署。
31.如权利要求29所述的装置,其中,所述至少一个CVM被优化为在其被部署于的所述云基础设施中进行操作。
32.如权利要求29所述的装置,其中,所述TMS的所述至少一个任务包括如下项中的至少一项:分组协议管理、网络协议通信转换、安全性操作、负载均衡操作、网络流量优化操作、网络防火墙操作以及任意其他流量管理相关的任务。
33.如权利要求29所述的装置,其中,所述TMS实现用户接口,所述用户接口使得管理员能够对所述至少一个CVM的配置、部署、停运、监控、以及迁移进行管理。
34.如权利要求29所述的装置,还包括:
基于所述TMS的预期使用模式来部署所述CVM,所述预期使用模式包括如下项中的至少一项:分组流量流、所维护的连接的数目、资源使用情况、特定任务、特定任务的资源使用情况、或所述TMS的任意其他预期使用模式。
35.如权利要求29所述的装置,其中,基于所述CVM、所述TMS或任意其他处理资源中的至少一个的处理负荷,所述至少一个CVM在被部署到所述云基础设施之前首先被本地部署以用于在所述TMS上执行。
36.如权利要求29所述的装置,其中,所述TMS在将所述至少一个CVM部署于所述云基础设施之前或之后,将所述至少一个CVM进行本地部署以在本地超级管理器上执行。
37.如权利要求29所述的装置,还包括:
部署多个CVM以形成CVM集群,其中,所述CVM集群中的至少一个CVM与所述CVM集群或另一CVM集群中的至少一个中的至少一个其他的CVM协调工作,以执行所述至少一个任务的至少一部分。
38.如权利要求29所述的装置,其中,所述TMS基于至少一个部署策略要求来部署所述CVM,所述部署策略要求包括如下项中的至少一项的:针对特定任务、针对特定客户、针对特定服务器、针对特定服务等级、针对特定许可、容量限制、延迟限制、安全性要求、或任意其他特定标准。
39.如权利要求29所述的装置,其中,所述至少一个CVM执行如下项中的至少一项:策略实施操作、策略参考操作、计费操作、数据存储操作、服务器健康监控操作、网络监控操作、登录操作、报告操作、加密操作、压缩操作、或任意其他网络/策略实施相关的操作。
40.如权利要求29所述的装置,其中,所述至少一个CVM支持一个或多个不同的云基础设施应用程序接口。
41.如权利要求29所述的装置,其中,所述TMS跨一个或多个云基础设施对所述至少一个CVM进行负载均衡。
42.一种在其上存储有计算机可执行指令的计算机可读介质,当所述计算机可执行指令被至少一个处理器执行时,使得所述至少一个处理器能够实现组件虚拟机(CVM),所述CVM被配置为能够执行动作来通过网络管理通信,所述动作包括:
基于使用模式或CVM部署策略中的一个或多个,将所述CVM自动地部署到云基础设施中以执行流量管理系统(TMS)的低安全性任务;
自动地本地部署所述CVM以执行高安全性任务;
实现至少一个应用程序接口(API),以使用所述CVM和对所述CVM进行托管的所述云基础设施来与所述TMS进行通信;
基于使用模式或CVM部署策略中的一个或多个,自动地执行所述CVM被配置来执行的所述TMS的至少一个任务;
经由所述API向所述TMS提供与所述至少一个任务相关联的使用模式信息;
监控针对所述CVM的周期性心跳,其中所述心跳广播CVM当前与所述TMS进行通信、CVM当前与一个或多个其他部署的CVM进行通信、或CVM执行任务的能力中的一个或多个;以及基于经由所述API接收的来自所述TMS的指令来动态更新CVM配置信息,来自所述TMS的所述指令基于由所述CVM发送的所述使用模式信息。
43.一种系统,所述系统被配置为能够执行一个或多个动作以管理网络通信,所述系统包括:
至少一个流量管理系统(TMS);
至少一个组件虚拟机(CVM),所述CVM被配置为能够执行所述TMS的至少一个任务;
所述至少一个CVM被配置为能够:
被部署于单独的云基础设施中,其中,所述CVM被配置为能够通过应用程序接口(API)来与所述TMS进行通信,以及
经由所述API向所述TMS提供与所述至少一个任务相关联的使用模式信息;并且所述至少一个TMS被配置为能够:
基于使用模式或CVM部署策略中的一个或多个,将所述至少一个CVM中的至少一个CVM自动地部署于所述单独的云基础设施,以执行所述TMS的低安全性任务;
自动地本地部署所述至少一个CVM以执行高安全性任务;
监控针对每个部署的CVM的周期性心跳,其中所述心跳广播CVM当前与所述TMS进行通信、CVM当前与一个或多个其他部署的CVM进行通信、或CVM执行任务的能力中的一个或多个;以及
对与每个部署的CVM相关联的使用模式进行监控,以确定每个部署的CVM的相应工作负荷。

说明书全文

预建流量管理系统组件虚拟机的弹性卸载

[0001] 相关申请的交叉引用
[0002] 本申请要求于2013年3月14日提交的、题为“Elastic Offload of Prebuilt Traffic Management System Component Virtual Machines”的美国专利申请序列号No.13/830,425的优先权,该申请要求于2012年12月31日提交的、题为“Elastic Offload of Prebuilt Traffic Management System Component Virtual Machines”的美国临时专利申请序列号No.61/747,928的权益,这两个申请通过引用被合并于此。

技术领域

[0003] 本发明一般涉及分组流量管理,并且更加具体地而非排他地,涉及使用流量管理系统,该流量管理系统能够通过部署组件虚拟机来卸载任务。

背景技术

[0004] 当今,许多实体使用由其他实体提供的计算产品。这些实体/客户可以根据客户的需求从供应商购买硬件系统和/或软件系统。有时供应商可以基于客户的需求为客户定制系统。然而,为不同的客户定制不同的系统对于供应商而言可能是耗时的和/或繁重的。其他时候,系统可以被创建来使用和/或利用客户现有的硬件和/或组件,例如,结构化查询语言数据库。然而,客户现有的硬件和/或组件可能不与系统兼容,可能不能提供适当的功能和/或可能不能提供整体优化的系统。因此,针对这些及其他考虑做出了本发明。附图说明
[0005] 参照附图,对本发明的非限制性且非穷尽性实施例进行描述。在附图中,除非另有所指,否则贯穿各个附图相似的参考标号指代相似的部分。
[0006] 为了更好的理解本发明,将参照下面详细的描述,这些详细描述应与附图一起阅读,其中:
[0007] 图1示出了本发明的实施例可以被实现于的环境的系统图解;
[0008] 图2示出了可被包括在诸如图1所示的系统中的客户端设备的实施例;
[0009] 图3示出了可被包括在诸如图1所示的系统中的网络设备的实施例;
[0010] 图4A和图4B示出了概览系统图解,该概览系统图解大体示出了安排于客户端设备与服务器设备之间的流量管理系统的实施例;
[0011] 图5示出了大体示出流量管理系统的实施例的概览系统图解;
[0012] 图6A-图6C示出了大体示出使用动态流线(pipeline)来执行任务的流量管理系统的实施例的系统图解;以及
[0013] 图7示出了逻辑流程图,该逻辑流程图大体示出了用于使用流量管理系统来部署组件虚拟机的概括性处理的一个实施例。

具体实施方式

[0014] 贯穿说明书权利要求,除非上下文另外清楚地指出,否则下面的术语采用与本文明确相关的含义。本文所使用的短语“在一个实施例中”不一定指代相同的实施例,尽管其可以指代相同的实施例。而且,本文所使用的短语“在另一实施例中”不一定指代不同的实施例,尽管其可以指代不同的实施例。因此,如下面所描述的,在不背离本发明的范围或精神的情况下,本发明的各个实施例可易于组合。
[0015] 此外,如本文所使用的,除非上下文另外清楚地指出,否则术语“或”是包含性的“或”运算符,并且其等同于术语“和/或”。除非上下文另外清楚地指出,否则术语“基于”不是排他性的,而是允许基于未描述的其他因素。此外,贯穿说明书,冠词“一”和“该”的含义包括复数指代。“在...中”的含义包括“在...中”和“在...上”。
[0016] 如本文所使用的,术语“流量管理系统”或“TMS”指代能够管理端点(例如,网络设备)之间的网络流量的网络设备。这样的设备包括例如,路由器、代理、防火墙、负载均衡器、缓存设备、执行网络地址转换的设备,等等,或者其任意组合。TMS可以被配置为执行一个或多个任务。任务可以指代用于管理和/或监控网络流量的处理。任务可以由TMS自身来执行,或者TMS可以部署一个或多个组件虚拟机来执行一个或多个任务。任务的示例包括,但不限于,负载均衡、服务器监控、会话监控、登录和/或事件监控、对象数据管理、路由、转换、交换分组,等等,或者其任意组合。
[0017] 如本文所使用的,术语“组件虚拟机”或“CVM”指代可以被配置为执行TMS的至少一个任务和/或可以被TMS使用的至少一个服务的虚拟机。在至少一个实施例中,CVM可以包括专用组件,这些专用组件能够执行不同的动作和/或执行不同的任务。在另一实施例中,CVM被配置为支持和/或被优化以用于不同的基础设施。例如,不同的CVM可以支持不同的云API,例如,但不限于,VMware,OpenStack等等。
[0018] 如本文所使用的,短语“使用模式”指代与由CVM、TMS或其他设备执行的一个或多个任务相关联的动作。使用模式的示例可以包括,但不限于,任务分组流量流、大量被维护的连接、资源使用情况(例如,存储器和/或盘空间、处理器使用情况、输入/输出操作,等等)、特定的任务、特定任务的资源使用情况,等等。在一些实施例中,使用模式可以指示CVM、TMS或其他设备的工作负荷。在其他实施例中,可以基于要执行的任务来预料CVM或TMS的使用模式。
[0019] 如本文所使用的,术语“工作负荷”指代被CVM、TMS或其他设备消耗和/或使用的计算资源的量。在至少一个实施例中,工作负荷可以包括一个或多个计算资源的使用情况百分比。在另一实施例中,工作负荷可以包括设备(例如,CVM)停机并且不执行和/或使用动作的时间的百分比。在一些实施例中,工作负荷可以指示CVM或TMS正在运行的性能和/或效率(例如,使用当前资源来执行任务的CVM与采用不同的CVM或TMS通过利用其它资源来执行相同任务相比效率如何)。
[0020] 如本文所使用的,短语“云基础设施”可以指代独立于TMS进行维护的硬件和/或软件计算资源。这样的计算资源包括,但不限于,处理器、临时/永久存储器和/或存储设备、输入/输出设备,等等,或其任意组合。在一些实施例中,云基础设施可以是私有云、公共云或其组合。私有云可以指代对于具体设备、用户、实体等或者其任意组合具有限制性访问的云基础设施。公共云可以指代对于具体设备、用户、实体等或者其任意组合具有非限制性访问的云基础设施。
[0021] 下面简要地描述了本发明的实施例,以提供对本发明的一些方面的基本理解。该简要描述不意为广泛的概述。其不意为标识主要或关键要素,或者描绘范围或以其他方式缩小范围。其目的仅在于作为对稍后呈现的更详细的描述的前序,以简化的形式来呈现一些概念。
[0022] 简言之,实施例针对采用流量管理系统(TMS),该TMS能够向云部署一个或多个组件虚拟机(CVM)以执行TMS的任务。在一些实施例中,TMS可以与一个或多个CVM一起被采用。在至少一个实施例中,TMS可以包括和/或维护每个CVM的镜像。在一些实施例中,TMS可以实现用户接口,该用户接口使得管理员或其他用户能够管理CVM的配置、部署、停运、监控和/或迁移。
[0023] 在各个实施例中,TMS可以基于预期的TMS使用模式来自动部署CVM,这些使用模式可以包括,但不限于,分组流量流、大量被维护的连接、资源使用情况、特定的任务、特定任务的资源使用情况,或TMS的任意其他预期的使用模式。在一些实施例中,TMS可以基于至少一个部署策略要求(包括,但不限于,针对特定任务、针对特定客户、针对特定服务器、针对特定服务等级、针对特定许可、容量限制、延迟限制、安全性要求、或任意其他特定标准)来部署CVM。
[0024] 每个CVM可以被配置为和/或被使能为执行TMS的一个或多个任务,包括,但不限于,分组协议管理、网络协议通信转换、安全性操作、负载均衡操作、网络流量优化操作、网络防火墙操作和任意其他流量管理相关的任务。在各个实施例中,至少一个CVM可以执行以下操作:包括但不限于,策略实施操作、策略参考操作、计费操作、数据存储操作、服务器健康监控操作、网络监控操作、登录操作、报告操作、加密操作、压缩操作、或任意其他网络/策略实施相关的操作。在一些实施例中,不同的CVM可以被优化以在其被部署的特定的云基础设施中进行操作。在至少一个实施例中,CVM可以支持一个或多个不同的云基础设施应用程序接口。
[0025] TMS可以在本地部署一个或多个CVM和/或将一个或多个CVM部署到一个或多个公共云和/或私有云。在各个实施例中,TMS可以跨一个或多个云基础设施来对CVM进行负载均衡。在一些实施例中,CVM的部署可基于要执行的任务的类型、预期的资源使用情况、客户策略,等等。CVM的部署可以基于所监控的使用模式、任务完成情况、客户策略等进行动态更新。在一些实施例中,基于CVM、TMS或任意其他处理资源中的至少一个的处理负荷,至少一个CVM在被部署于云基础设施之前,可以首先在本地部署以在TMS上(例如,在本地超级管理器上)执行。在其他实施例中,CVM可以在被部署于云基础设施之后被迁移回TMS和/或被本地部署。在一些实施例中,多个CVM可以被部署以形成CVM集群,其中,CVM集群中的至少一个CVM与该CVM集群或另一CVM集群中的至少一个中的至少一个其他CVM进行合作工作,从而执行TMS的至少一个任务的至少一部分。
[0026] 说明性操作环境
[0027] 图1示出了本发明的实施例可以被实施于的环境的一个实施例的组件。不需要所有的组件来实施本发明,并且在不背离本发明的精神或范围的情况下,对组件的类型和布置方面可以做出变化。
[0028] 如图所示,图1的系统100包括局域网(LAN)/广域网(WAN)——(网络)110、无线网络108、客户端设备102-105、流量管理系统(TMS)112、以及服务器设备114-115。网络110可以与客户端设备102-105、无线网络108以及TMS 112进行通信,并且使得客户端设备102-105、无线网络108以及TMS 112之间能够进行通信。无线网络108可以与无线设备(例如,客户端设备103-105)进行通信。TMS 112可以与网络110和服务器设备114-115进行通信。
[0029] 下面结合图2,对客户端设备102-105的至少一个实施例进行更加详细的描述。在一个实施例中,客户端设备102-105中的至少一些可以通过有线网络和/或无线网络(例如,网络110和/或网络108)进行操作。一般地,客户端设备102-105几乎可以包括能够通过网络进行通信从而发送和接收信息、执行各种在线活动、离线动作等的任意计算设备。在一个实施例中,客户端设备102-105中的一个或多个可以被配置为在企业或其他实体内进行操作,从而针对企业或其他实体执行各种服务。例如,客户端设备102-105可以被配置为作为web服务器、计费服务器、产品服务器、存储服务器等进行操作。然而,客户端设备102-105不被约束为这些服务,并且例如在其他实施例中还可以被采用为端用户计算节点。应当认识到,更多或更少的客户端设备可以被包括于诸如本文所描述的系统内,因而实施例不被所采用的客户端设备的类型或数目所约束。
[0030] 可以作为客户端设备102进行操作的设备可以包括通常使用有线通信介质或无线通信介质进行连接的设备,例如,个人计算机、多处理器系统、基于微处理器或可编程的电子设备、网络PC,等等。在一些实施例中,客户端设备102-105实际上可以包括能够连接到另一计算设备并且接收信息的任意便携式个人计算设备,例如,膝上型计算机103、智能移动电话104、以及平板计算机105,等等。然而,便携式计算设备不限于此,并且还可以包括其他便携式设备,例如,蜂窝电话、显示寻呼机、射频(RF)设备、红外(IR)设备、个人数字助理(PDA)、手持计算机、可穿戴计算机、组合了前述设备中的一个或多个的集成设备,等等。由此,客户端设备102-105通常在功能和特征方面范围广泛。而且,客户端设备102-105可以访问各种计算应用,包括浏览器或其他基于web的应用。
[0031] Web使能的客户端设备可以包括浏览器应用,该浏览器应用被配置为接收和发送web页面、基于web的消息,等等。浏览器应用可以被配置为采用几乎任意基于web的语言(包括无线应用协议消息(WAP)等)来接收并显示图形、文本、多媒体等。在一个实施例中,浏览器应用能够采用手持设备标记语言(HDML)、无线标记语言(WML)、WMLScript、JavaScript、标准通用标记语言(SGML)、超文本标记语言(HTML)、可扩展标记语言(XML)等来显示和发送消息。在一个实施例中,客户端设备的用户可以采用浏览器应用来在网络上(在线)执行各种活动。然而,另一应用也可以被用来执行各种在线活动。
[0032] 客户端设备102-105还可以包括至少一个其他客户端应用,该至少一个其他客户端应用被配置为在另一计算设备之间接收和/或发送内容。客户端应用可以包括发送和/或接收内容等的能。客户端应用还可以提供标识自身的信息,包括类型、能力、名称等。在一个实施例中,客户端设备102-105可以通过各种机制(包括互联网协议(IP)地址、电话号码、移动识别号码(MIN)、电子序列号(ESN)或其他设备标识符)中的任意机制来唯一标识其自身。这样的信息可以被提供于网络分组等中,这些网络分组在其他客户端设备、TMS 112、服务器设备114-115或其他计算设备之间被发送。
[0033] 客户端设备102-105还可以被配置为包括客户端应用,该客户端应用使得端用户能够登录到可以由另一计算设备(例如,服务器设备114-115等)进行管理的端用户账号中。在一个非限制性示例中,这样的端用户账号可以被配置为使得端用户能够管理一个或多个在线活动,在一个非限制性示例中包括搜索活动、社交网络活动、浏览各种网站、与其他用户进行通信、参与游戏、与各种应用进行交互,等等。然而,还可以在未登录到端用户账号中的情况下执行参与在线活动。
[0034] 无线网络108被配置为将客户端设备103-105及其组件与网络110进行耦合。无线网络108可以包括各种无线子网络中的任意无线子网络,这些无线子网络还可以覆盖独立的ad-hoc网络等,从而为客户端设备103-105提供以基础设施为导向的连接。这样的子网络可以包括网状网络、无线LAN(WLAN)网络、蜂窝网络,等等。在一个实施例中,系统可以包括不止一个的无线网络。
[0035] 无线网络108还可以包括由无线无线电链路等进行连接的终端、网关、路由器等的自主系统。这些连接器可以被配置为自由且随机地移动并且任意地组织其自身,以使得无线网络108的拓扑可以快速改变。
[0036] 无线网络108还可以采用多种接入技术,包括第二代(2G)、第三代(3G)、第四代(4G)、第五代(5G)蜂窝系统无线接入、WLAN、无线路由器(WR)网状网,等等。诸如2G、3G、4G、5G之类的接入技术和未来的接入网络可以使得移动设备(例如,具有各种程度的移动性的客户端设备103-105)具有广阔的区域覆盖。在一个非限制性示例中,无线网络108可以通过无线电网络接入(例如,全球移动通信系统(GSM)、通用分组无线业务(GPRS)、增强型数据GSM环境(EDGE)、码分多址(CDMA)、时分多址(TDMA)、宽带码分多址(WCDMA)、高速下行分组接入(HSDPA)、长期演进(LTE),等等)来使能无线电连接。实际上,无线网络108几乎可以包括任意无线通信机制,通过该无线通信机制,信息可以在客户端设备103-105与另一计算设备、网络等之间传输。
[0037] 网络110被配置为将网络设备与其他计算设备进行耦合,包括,通过TMS 112与服务器设备114-115耦合,与客户端设备102耦合,以及通过无线网络108与客户端设备103-105耦合。网络110能够采用任意形式的计算机可读介质,以将信息从一个电子设备传输至另一电子设备。而且,网络110除了包括局域网(LAN)、广域网(WAN)、直接连接(例如,通过通用串行总线(USB)端口、其他形式的计算机可读介质或其任意组合),还可以包括互联网。在互连的LAN集(包括基于不同的架构和协议的那些LAN)上,路由器用作LAN之间的链路,从而使得消息能够被从一个LAN发送至另一LAN。此外,LAN内的通信链路通常包括双绞线或同轴电缆,而网络之间的通信链路可以使用模拟电话线路、完整或部分专用数字线路(包括T1、T2、T3以及T4)和/或其他承载机制(例如,包括E-carrier、集成服务数字网络(ISDN)、数字用户线路(DSL)、无线链路(包括卫星链路、或本领域技术人员已知的其他通信链路))。而且,通信链路还可以采用各种数字信令技术中的任意数字信令技术,包括而非限于,例如,DS-0、DS-1、DS-2、DS-3、DS-4、OC-3、OC-12、OC-48等。而且,远程计算机和其他相关的电子设备可以经由调制解调器和临时的电话线路而被远程地连接到LAN或WAN。在一个实施例中,网络110可以被配置为传输互联网协议(IP)的信息。实际上,网络110包括任意通信方法,通过该通信方法,信息可以在计算设备之间传输。
[0038] 此外,通信介质通常实施计算机可读指令、数据结构、程序模、或其他传输机制,并且包括任意信息递送介质。例如,通信介质包括有线介质(例如,双绞线、同轴电缆、光纤、波导、以及其他有线介质)和无线介质(例如,声介质、RF、红外、和其他无线介质)。
[0039] 下面结合图3,对TMS 112的一个实施例进行更加详细的描述。然而,简言之,TMS 112实际可以包括能够管理客户端设备102-105与服务器设备114-115之间的网络流量的任意网络设备。例如,这样的设备包括路由器、代理、防火墙、负载均衡器、缓存设备、执行网络地址转换的设备等,或者其任意组合。TMS 112可以执行路由、转换、交换分组等操作。在一个实施例中,TMS 112可以检查传入(incoming)网络分组,并且可以执行地址转换、端口转换、分组序列转换等,并至少部分基于分组检查来对网络分组进行路由。在一些实施例中,TMS可以执行负载均衡操作,以确定服务器设备以引导请求。这样的负载均衡操作可以基于网络流量、网络拓扑、服务器容量、所请求的内容、或其他流量分布机制的主机。
[0040] 服务器设备114-115实际可以包括可以作为网站服务器进行操作的任意网络设备。然而,服务器设备114-115不限于网站服务器,并且还可以作为消息服务器、文件传输协议(FTP)服务器、数据库服务器、内容服务器等进行操作。此外,服务器设备114-115中的每个服务器设备可以被配置为执行不同的操作。下面结合图3可对服务器设备114-115的至少一个实施例进行更加详细的描述。可以被布置为作为服务器设备114-115进行操作的设备包括各种网络设备(包括,但不限于,个人计算机、台式计算机、多处理器系统、基于微处理器或可编程消费电子设备、网络PC、服务器设备、网络装置,等等)。
[0041] 尽管图1将服务器设备114-115示出为单个计算设备,但本发明不限于此。例如,可以跨一个或多个不同的网络设备来分布服务器设备114-115中的每个的一个或多个功能。而且,服务器设备114-115不限于特定配置。因此,在一个实施例中,服务器设备114-115可以包含使用主/从方式进行操作的多个网络设备,其中,服务器设备114-115的多个网络设备之一进行操作来管理和/或以其他方式协调其他网络设备的操作。在其他实施例中,服务器设备114-115可以作为集群架构、对等架构和/或甚至云架构内的多个网络设备进行操作。因此,本发明不被解释为限于单一环境,并且也可以设想其他配置和架构。
[0042] 说明性客户端设备
[0043] 图2示出了客户端设备200的一个实施例,其中,客户端设备200可以被包括在实现本发明的实施例的系统中。客户端设备200可以包括比图2所示的组件更多或更少的组件。然而,所示的组件足以公开用于实施本发明的说明性实施例。例如,客户端设备200可以表示图1的客户端设备102-105中至少一个的一个实施例。
[0044] 如图所示,客户端设备200包括处理器202,处理器202经由总线234与大型存储器226进行通信。在一些实施例中,处理器202可以包括一个或多个中央处理单元(CPU)。客户端设备200还包括电源228、一个或多个网络接口236、音频接口238、显示器240、键盘242、照明器244、视频接口246、输入/输出接口248、触觉接口250、以及全球定位系统(GPS)接收机
232。
[0045] 电源228向客户端设备200提供电能。可充电电池或不可充电电池可以被用来提供电能。还可以由外部电源(例如,交流(AC)适配器或对电池进行充电和/或再充电的充电底座)提供电能。
[0046] 客户端设备200可选地与基站(未示出)或直接与另一计算设备进行通信。网络接口236包括用于将客户端设备200耦合到一个或多个网络的电路,并且网络接口236被构建为与一个或多个通信协议和技术(包括,但不限于,GSM、CDMA、TDMA、GPRS、EDGE、WCDMA、HSDPA、LTE、用户数据报协议(UDP)、传输控制协议/互联网协议(TCP/IP)、短消息服务(SMS)、WAP、超宽带(UWB)、IEEE802.16全球微波接入互操作性(WiMax)、会话初始协议/实时传输协议(SIP/RTP)或各种其他无线通信协议中的任意一个)一起使用。网络接口236有时被称为收发机、收发设备、或网络接口卡(NIC)。
[0047] 音频接口238被布置为产生并接收音频信号(例如,人类语音的声音)。例如,音频接口238可以被耦合于扬声器和麦克(未示出),从而使得与其他设备进行通信和/或生成一些动作的音频确认。
[0048] 显示器240可以是液晶显示器(LCD)、气体等离子、发光二极管(LED)、有机LED、或与计算设备一起使用的任意其他类型的显示器。显示器240还可以包括触敏屏,该触敏屏被布置为从某一物体(例如,触笔或人手的手指)接收输入。
[0049] 键盘242可以包括被布置为从用户接收输入的任意输入设备。例如,键盘242可以包括按钮数字拨号或按键。键盘242还可以包括命令按钮,这些命令按钮与选择和发送图像相关联。
[0050] 照明器244可以提供状态指示和/或提供光线。照明器244可以针对特定时间段或者响应于事件而保持活动。例如,当照明器244是活动的时,其可以在客户端被充电时为键盘242上的按钮提供背光并且保持。而且,当特定的动作(例如,拨号呼叫另一客户端设备)被执行时,照明器244可以以各种模式来为这些按钮提供背光。照明器244还可以使得位于客户端的透明或半透明盒中的光源响应于动作而照亮。
[0051] 视频接口246被布置为捕捉视频图像,例如,静止照片、视频段、红外视频等。例如,视频接口246可以被耦合于数字视频摄像机、web摄像机等。视频接口246可以包括镜头、图像传感器、以及其他电子器件。图像传感器可以包括互补金属化物半导体(CMOS)集成电路、电荷耦合器件(CCD)、或用于感知光线的任意其他集成电路。
[0052] 客户端设备200还包括用于与外部设备(例如,机)进行通信的输入/输出接口248或图2中未示出的其他输入或输出设备。输入/输出接口248可以使用一种或多种通信技术,例如,USB、红外、蓝牙(BluetoothTM)等。
[0053] 触觉接口250被布置为向客户端设备的用户提供触觉反馈。例如,触觉接口250可以被采用来在计算设备的另一用户进行呼叫时以特定方式使客户端设备200震动。在一些实施例中,触觉接口250可以是可选的。
[0054] 客户端设备200还可以包括GPS收发机232,以确定客户端设备200在地球表面的物理坐标。在一些实施例中,GPS收发机232可以是可选的。GPS收发机232通常将位置输出为纬度值和经度值。然而,GPS收发机232还可以采用其他地理定位机制(包括,但不限于,三测量、辅助GPS(AGPS)、增强型观测时间差(E-OTD)、小区标识符(CI)、服务区域标识符(SAI)、增强型时间提前(ETA)、基站子系统(BSS),等等),以进一步确定客户端设备200在地球表面的物理位置。应当理解,在不同的情况下,GPS收发机232可以确定客户端设备200在毫米内的物理位置;并且在其他情形中,所确定的物理位置可能不太精确,例如,在一米或更大距离内。然而,在一个实施例中,移动设备200可以通过其他组件来提供其他信息,该其他信息可以被用来确定设备的物理位置,例如包括媒体接入控制(MAC)地址、IP地址等。
[0055] 大型存储器226包括随机存取存储器(RAM)204、只读存储器(ROM)222以及其他存储方式。大型存储器226示出了用于存储信息(例如,计算机可读指令、数据结构、程序模块或其他数据)的计算机可读存储介质(设备)的示例。大型存储器226对用于控制客户端设备200的低级操作的基本输入/输出系统(BIOS)224进行存储。大型存储器还对用于控制客户端设备200的操作的操作系统206进行存储。应当理解,该组件可以包括通用操作系统(例如,UNIX或LINUXTM的版本)或专用客户端通信操作系统(例如,微软公司的Windows MobileTM、苹果公司的iOSTM、谷歌公司的AndroidTM或 操作系统)。操作系统可以包括Java虚拟机模块或者与Java虚拟机模块进行交互,该Java虚拟机模块使得能够经由Java应用程序来控制硬件组件和/或操作系统操作。
[0056] 大型存储器226还包括一个或多个数据存储设备208,该一个或多个数据存储设备208可以由客户端设备200用来存储应用214和/或其他数据等。例如,数据存储设备208还可以被用来存储描述客户端设备200的各种能力的信息。然后该信息可以基于各种事件中的任意事件而被提供给另一设备,包括在通信期间作为头部的一部分被发送、一旦请求就被发送,等。数据存储设备208还可以被用来存储社交网络信息,包括地址簿、好友列表、别名、用户简档(profile)信息等。而且,数据存储设备208还可以存储消息、web页面内容、或各种用户生成内容中的任意用户生成内容。至少一部分信息还可以被存储于网络设备200的另一组件上,包括,但不限于,处理器可读存储介质230、盘驱动器或客户端设备200内的其他计算机可读存储设备(未示出)。
[0057] 处理器可读存储介质230可以包括以用于存储信息(例如,计算机可读指令或处理器可读指令、数据结构、程序模块、或其他数据)的任意方法或技术实现的易失性介质、非易失性介质、可移除介质以及不可移除介质。计算机可读存储介质的示例包括RAM、ROM、电可擦除可编程只读存储器(EEPROM)、闪存或其他存储器技术、压缩盘只读存储器(CD-ROM)、数字通用盘(DVD)或其他光学存储设备、磁盒、磁带、磁盘存储设备或其他磁存储设备、或可以被用来存储所需信息并且可以由计算设备访问的任意其他物理介质。处理器可读存储介质230在本文中还可以被称为计算机可读存储介质和/或计算机可读存储设备。
[0058] 应用214可以包括计算机可执行指令,当这些计算机可执行指令由客户端设备200执行时,对网络数据进行发送、接收和/或以其他方式进行处理。网络数据可以包括,但不限于,消息(例如,SMS、多媒体消息服务(MMS)、即时消息(IM)、电子邮件和/或其他消息)、音频、视频,并且使得能够与另一客户端设备的另一用户进行通信。例如,应用214可以包括浏览器218以及其他应用220。其他应用220可以包括但不限于,日历、搜索程序、电子邮件客户端、IM应用、SMS应用、互联网协议语音电话(VOIP)应用、联系人管理器、任务管理器、代码转换器、数据库程序、文字处理程序、安全应用、电子制表程序、游戏、搜索程序,等等。
[0059] 浏览器218实际可以包括被配置为通过采用几乎任意基于web的语言来接收和显示图形、文本、多媒体等的任意应用。在一个实施例中,浏览器应用能够采用HDML、WML、WMLScript、JavaScript、SGML、HTML、XML等来显示和发送消息。然而,可以采用各种其他基于web的编程语言中的任意一个。在一个实施例中,浏览器218可以使得客户端设备200的用户能够与另一网络设备(例如,TMS 112)和/或直接与服务器设备114-115进行通信。
[0060] 说明性网络设备
[0061] 图3根据本发明的一个实施例,示出了网络设备300的一个实施例。网络设备300可以包括比所示组件更多或更少的组件。然而,所示组件足以公开用于实施本发明的说明性实施例。网络设备300可以被配置为作为服务器、客户端、对等端、主机、或任意其他设备进行操作。网络设备300可以表示例如图1的TMS 112、图1的服务器设备114-115、和/或其他网络设备。
[0062] 网络设备300包括处理器302、处理器可读存储介质328、网络接口单元330、输入/输出接口332、硬盘驱动器334、视频显示适配器336、以及存储器326,所有这些均经由总线338相互进行通信。在一些实施例中,处理器302可以包括一个或多个中央处理单元。
[0063] 如图3所示,网络设备300还可以经由网络接口单元330与互联网或一些其他通信网络进行通信,网络接口单元330被构建为与包括TCP/IP协议的各种通信协议一起使用。网络接口单元330有时被称为收发机、收发设备或网络接口卡(NIC)。
[0064] 网络设备300还包括用于与外部设备(例如,键盘、或图3中未示出的其他输入或输出设备)进行通信的输入/输出接口332。输入/输出接口332可以使用一种或多种通信技术,例如,USB、红外、蓝牙等。
[0065] 存储器326一般包括RAM 304、ROM 322和一个或多个永久大型存储设备,例如,硬盘驱动器334、带驱动器、光驱动器和/或软盘驱动器。存储器326对用于控制网络设备300的操作的操作系统306进行存储。可以采用任意通用操作系统。还可以提供基础输入/输出系统(BIOS)324,以控制网络设备300的低级操作。
[0066] 尽管单独示出,但存储器326可以包括处理器可读存储介质328。处理器可读存储介质328可以指代和/或包括计算机可读介质、计算机可读存储介质和/或处理器可读存储设备。处理器可读存储介质328可以包括以用于存储信息(例如,计算机可读指令、数据结构、程序模块、或其他数据)的任意方法或技术实现的易失性介质、非易失性介质、可移除介质以及不可移除介质。处理器可读存储介质的示例包括RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字通用盘(DVD)或其他光学存储设备、磁盒、磁带、磁盘存储设备或其他磁存储设备、或可以被用来存储所需信息并且可以由计算设备访问的任意其他介质。
[0067] 存储器326还包括一个或多个数据存储设备308,该一个或多个数据存储设备308可以由网络设备300用来存储应用314和/或其他数据等。例如,数据存储设备308还可以被用来存储对网络设备300的各种能力进行描述的信息。该信息然后可以基于各种事件中的任意事件而被提供给另一设备,包括在通信期间作为头部的一部分被发送、一旦请求就被发送等。数据存储设备308还可以被用来存储消息、web页面内容等。至少一部分信息还可以被存储于网络设备300的另一组件上,包括,但不限于,处理器可读存储介质328、硬盘驱动器334或客户端设备300内的其他计算机可读存储设备(未示出)。
[0068] 数据存储设备308可以包括可以被配置为维护和存储用户账号标识符、用户简档、电子邮件地址、IM地址和/或其他网络地址等的数据库、文本、电子制表、文件夹(folder)、文件等。数据存储设备308还可以包括程序代码、数据、算法等,以由处理器(例如,处理器302)用来执行和运行动作。在一个实施例中,至少一些数据存储设备308还可以被存储于网络设备300的另一组件(包括但不限于,处理器可读存储介质328、硬盘驱动器334等)上。
[0069] 应用314可以包括计算机可执行指令,这些计算机可执行指令可以被加载到大型存储器中并且在操作系统306上运行。应用程序的示例可以包括代码转换器、调度器、日历、数据库程序、文字处理程序、超文本传输协议(HTTP)程序、可定制用户接口程序、IPSec应用、加密程序、安全程序、SMS消息服务器、IM消息服务器、电子邮件服务器、账号管理器等。应用314还可以包括网站服务器316、超级管理器318以及组件虚拟机(CVM)320。
[0070] 网站服务器316可以表示各种信息和服务中的任意一个,这些信息和服务被配置为通过网络来向另一计算设备提供内容(包括消息)。因此,例如,网站服务器316可以包括web服务器、文件传输协议(FTP)服务器、数据库服务器、内容服务器等。网站服务器316可以使用各种格式中的任意格式(包括但不限于,WAP、HDML、WML、SGML、HTML、XML、压缩HTML(cHTML)、扩展HTML(xHTML)等)通过网络来提供包括消息在内的内容。
[0071] 超级管理器318可以被配置为对可以在网络设备300上进行操作的一个或多个虚拟化客体应用和/或客体操作系统进行管理。在各种实施例中的至少一个实施例中,客体应用可以是虚拟化主机,这些虚拟化主机可以在超级管理器318的管理下进行操作。在一些实施例中,如果一个或多个CVM 320被图1的TMS 112进行本地部署,则超级管理器318可以管理一个或多个CVM 320。在至少一个实施例中,CVM 320可以包括一个或多个组件虚拟机,该一个或多个组件虚拟机可以被本地部署(例如,于图1的TMS 112上)和/或被远程部署于云上。
[0072] 系统概述
[0073] 图4A示出了大体示出系统的一个实施例的系统图解,该系统具有安排于客户端设备与服务器设备之间的流量管理系统。系统400A可以包括安排于客户端设备102-105与服务器416-417之间的流量管理系统(TMS)406。系统400A还可以包括云420。云420可以包括基于云的资源,该基于云的资源可以是私有接入云和/或公共云。
[0074] TMS 406可以包括输入/输出单元408,以通过网络412与客户端设备102-105进行通信。在至少一个实施例中,网络412可以是图1的网络108和/或110的实施例。TMS 406还可以包括输入/输出单元410,以通过网络414与服务器416-417进行通信。在至少一个实施例中,网络414可以是图1的网络108和/或110的实施例。在一些实施例中,网络412和414可以包括和/或采用相同网络和/或不同网络。服务器416-417可以是图1的服务器设备114-115的实施例。
[0075] TMS 406可以被配置为执行多个任务,例如,负载均衡、服务器监控、会话监控、登录和/或事件监控、对象数据管理等。这些任务在图4中可以被示出为任务422-424。
[0076] 图4B示出了大体示出系统的一个实施例的系统图解,该系统具有安排于客户端设备与服务器设备之间的流量管理系统。在一个实施例中,图4B可以是图4A的实施例。系统400B可以包括安排于客户端设备102-105与服务器416-417之间的流量管理系统(TMS)406。
系统400A还可以包括云420。TMS 406可以包括输入/输出单元408,以通过网络412与客户端设备102-105进行通信。TMS 406还可以包括输入/输出单元410,以通过网络414与服务器
416-417进行通信。
[0077] 通过采用下面所详细描述的实施例,TMS 406可以将任务(例如,任务423)卸载到云420。在一些实施例中,TMS 406可以对组件虚拟机(CVM)426进行部署,以使用云420资源来执行任务423。
[0078] 图5示出了大体示出流量管理系统的实施例的概览系统图解。流量管理系统(TMS)502可以包括输入/输出单元504和506、CPU 522、盘524、数据平面(plane)508、控制平面
510、以及流量管理平面512。数据平面508、控制平面510和/或流量管理平面512可以使用CPU 522和/或盘524来执行动作。
[0079] 数据平面508可以维护客户端设备与服务器之间的竞争流。控制平面510可以针对分组流量管理来执行高级控制功能和/或每个流的策略实施。流量管理平面512可以管理和/或协调与流量管理相关联的任务的性能。
[0080] 例如,流量管理平面512可以采用任务1(Task_1)和任务2(Task_2)。应当认识到,可以采用比图5中所示的任务更少的或更多的任务。如图所示,任务1可以使用各种资源(例如,CPU 526和I/O528)。任务2也可以使用资源(例如,盘530、I/O 532和CPU 534)。在一些实施例中,如图所示,用于任务的资源块的大小可以表示针对由该任务所使用的特定资源的资源量。例如,I/O 528比I/O 532大,这可以指示任务1可以使用比任务2多的I/O资源。
[0081] TMS 502还可以包括组件虚拟机(CVM)518-519。在各个实施例中,CVM 518-519可以包括每个CVM的镜像。在一些实施例中,每个CVM可以被配置为利用不同的云基础设施进行操作和/或执行不同的任务。
[0082] 通过采用下面所更加详细描述的实施例,TMS 502(例如,流量管理平面512)可以确定卸载一个或多个任务(例如,任务1、任务2等)和/或在本地执行任务。例如,任务1可以使用与CPU资源(例如,CPU526)相比较更大量的I/O资源(例如,I/O 528)。因此,TMS 502可以确定在TMS 502上本地执行任务1。相反,任务2可以使用与I/O资源(例如,I/O 532)相比较更大量的盘和CPU资源(例如,分别为盘530和CPU 534)。因此,TMS 502可以确定将任务2卸载到云536。在至少一个实施例中,TMS 502可以确定哪个CVM(例如,CVM 518-519)与云536兼容。如图所示,CVM 519可以与云536兼容。当云536上的CVM538执行任务2时,TMS 502可以部署CVM 519。在一些实施例中,云536可以在与TMS 502相同的机器上,但对于云536可以具有独立和/或专用硬件。在其他实施例中,TMS 502和云536可以是独立和/或不同的设备。
[0083] 图6A-图6C示出了大体示出使用动态流水线来执行任务的流量管理系统的实施例的系统图解。图6A示出了大体示出采用任务流水线的流量管理系统的一个实施例的系统图解。系统600A可以包括与服务器604进行通信的流量管理系统(TMS)602。在一些实施例中,TMS 602可以是图4的TMS 406的实施例。TMS 602可以采用任务606、608和610。尽管图6A仅示出了三个任务,但本发明不限于此,并且TMS 602可以采用更多任务或更少任务。如图所示,TMS 602可以对通过TMS 602(例如,客户端设备(未示出)与服务器604之间)的流量采用任务606、608和610。例如,任务606可以执行分组协议管理,任务608可以执行安全性操作,并且任务610可以执行负载均衡操作。然而,本发明不限于这些任务,并且TMS 602可以采用其他任务。
[0084] 图6B示出了大体示出采用任务流水线的流量管理系统的替代实施例的系统图解。系统600B可以包括与服务器604进行通信的TMS 602。如图所示,TMS 602可以将任务606和
608卸载到云620。在一些实施例中,云620可以包括一个或多个不同的基于云的系统。TMS 
602可以在云620上部署CVM 614以执行任务606。此外,TMS 602可以在云620上部署CVM 612以执行任务608。
[0085] 示例性分组流可以包括如下步骤。TMS 602可以从客户端设备(未示出)接收分组,并且将其转发至CVM 614。在一些实施例中,TMS 602可以包括用于在TMS 602与CVM 614之间转发分组的任务616。CVM 614可以对分组执行任务606,并且然后可以将分组转发至CVM 612。CVM 612可以对分组执行任务608,并且然后可以将分组转发回至TMS 602。TMS 602可以对分组执行任务610,并且然后可以将分组转发至服务器604。这样的流水线还可以以相反的方向从服务器604接收分组来执行。在一些实施例中,可以针对不同方向的分组、针对不同服务器的分组、不同类型的分组等采用使用不同CVM的不同流水线。在一些实施例中,TMS和/或CVM可以将分组从一种协议转换到另一协议,该另一协议可以针对TMS与CVM之间、不同CVM之间等的通信而被优化。
[0086] 图6C示出了大体示出采用任务流水线的流量管理系统的替代实施例的系统图解。系统600C可以包括与服务器604进行通信的TMS 602。如图所示,TMS 602可以将任务606、
608和610卸载到云620。在一些实施例中,云620可以包括一个或多个不同的基于云的系统。
TMS 602可以在云620上部署CVM 614以执行任务606,可以在云620上部署CVM 612以执行任务608,并且可以在云620上部署CVM 624以执行任务610。在一些实施例中,CVM 614、612和/或624可以基于由TMS 602管理的相同和/或不同的镜像。在一些实施例中,TMS 602可以与流水线中的一个或多个CVM进行通信。例如,CVM 612可以在执行任务608之前和/或结合执行任务608来与任务622进行通信。
[0087] 示例性分组流可以包括如下步骤。TMS 602可以从客户端设备(未示出)接收分组,并且将其转发至CVM 614。CVM 614可以对分组执行任务606,并且然后可以将分组转发至CVM 612。CVM 612可以与在TMS 602上操作和/或执行的任务622进行通信,以对分组执行任务608,并且然后可以将分组转发至CVM 624。CVM 624可以对分组执行任务610,并且然后可以将分组转发至服务器604。这样的流水线还可以以相反的方向从服务器604接收分组来执行。在一些实施例中,可以针对不同方向的分组、针对不同服务器的分组、不同类型的分组等采用使用不同CVM的不同流水线。
[0088] 概括性操作
[0089] 现将针对图7对本发明的某些方面的操作进行描述。图7示出了逻辑流程图,该逻辑流程图大体示出了用于使用流量管理系统来部署组件虚拟机的概括过程的一个实施例。在一些实施例中,图7的处理700可以由单个网络设备(例如,图3的网络设备300)实现和/或在单个网络设备上执行。在其他实施例中,图7的处理700或处理700的一部分可以由多个网络设备(例如,图3的网络设备300)实现和/或在多个网络设备上执行。
[0090] 在开始框之后,处理700开始于框702处,其中,可以采用流量管理系统(TMS)。在至少一个实施例中,流量管理系统可以是流量管理设备、分组流量管理设备等。在其他实施例中,TMS可以是预建系统和/或装置。可以向客户销售和/或提供TMS。TMS可以在客户的硬件上操作和/或执行。客户的硬件可以包括任意数目的不同硬件平台和/或配置,这些硬件平台和/或配置可以针对TMS被优化和/或不被优化和/或可以向TMS提供优化支持和/或可以不向TMS提供优化支持。在一些其他实施例中,TMS可以处于具有一个或多个其他流量管理器的集群中。
[0091] 在一些实施例中,TMS可以包括一个或多个组件虚拟机(CVM)。每个CVM可以提供服务,当CVM被部署时,该服务可以由TMS使用。在至少一个实施例中,每个CVM可以包括专有组件,这些专有组件能够执行不同动作和/或执行不同任务。在另一实施例中,每个CVM被配置为支持不同的云基础设施和/或被优化以用于不同的云基础设施。例如,每个CVM可以支持不同的云API,例如但不限于,VMware、OpenStack等。在至少一个实施例中,TMS可以维护多个CVM中的每个CVM的镜像。在一些实施例中,CVM可以属于TMS而非客户。
[0092] 如下面将进行的更加详细的描述,TMS可以通过部署一个或多个CVM来卸载一个或多个任务。CVM的部署可以包括向外部计算/存储基础设施(可以被称为云)提供CVM。在一些实施例中,除了使能CVM部署的标准化弹性计算/存储API,TMS可以不依赖于来自云系统的可用的其他特定服务来支持任务的卸载。
[0093] TMS可以包括单个CVM和/或多个CVM,该单个CVM可以执行多个任务,该多个CVM中的每个CVM可以执行不同的任务。在一些实施例中,CVM可以执行服务器健康监控。在其他实施例中,CVM可以管理和/或存储监控信息(例如,但不限于,日志、事件、改变、统计数据、会话、事务、事务总结、由TMS生成的其他信息等)。在一些其他实施例中,CVM可以被用于存储共享的状态信息(例如,用户会话,一个或多个流量管理器可能需要这些用户会话)、存储对象数据(例如,文件、缓存的HTTP响应等)等。在至少一个实施例中,CVM能够对所存储的信息执行其他操作,例如但不限于,加密、压缩、搜索、分类、总结、推送到云存储dropbox等。
[0094] 在一些实施例中,数据可以在CVM上被加密。在其他实施例中,在CVM与TMS之间和/或在多个CVM之间传输的数据可以被加密。例如,在一个实施例中,CVM可以在CVM处流式传输(stream)数据、加密数据、以及存储所加密的数据。在一些实施例中,CVM能够加密数据,并且TMS能够解密数据。在至少一个这样的实施例中,CVM可能不能对数据进行解密。在其他实施例中,在CVM与TMS和/或在多个CVM之间,加密可以是双向的。
[0095] 在其他实施例中,TMS可以执行负载均衡技术。在至少一个实施例中,TMS可以跨一个或多个云对一个或多个CVM进行负载均衡。因此,TMS可以对CVM特征进行负载均衡。在另一实施例中,TMS可以使用集成的动态负载均衡和容量分析功能,以使用、配设以及取消配设CVM。例如,多个CVM可以被部署以执行具体的任务和/或功能,例如,收集日志数据的管理功能。TMS可以跨多个CVM执行负载均衡,以使得多个CVM的每个CVM的负载处于给定的阈值之内。
[0096] 在一些实施例中,TMS可以包括用户接口,该用户接口可以使得用户和/或客户能够管理CVM的部署。例如,客户可以指示要使用哪个云。在至少一个实施例中,TMS可以包括CVM,该CVM能够卸载TMS的该用户接口和/或其他管理接口(例如,但不限于,简单网络管理协议(SNMP)接口、表述性状态转移(REST)接口、简单对象访问协议(SOAP)接口等)。CVM还可以卸载可以由TMS保存的其他相关的配置数据和/或状态。
[0097] 在其他实施例中,远程API可以使得用户、客户和/或管理员能够对一个或多个CVM的TMS部署进行管理。在至少一个这样的实施例中,该API可以使得用户能够写和/或创建其自己的用户接口以管理TMS。可以使得用户能够通过提供CVM可以如何被部署(例如,在CVM的集群中)、CVM何时可以被部署(例如,当资源性能落到TMS的阈值以下时)和/或CVM在何地可以被部署(例如,公共云)的参数来控制TMS。
[0098] 在任意事件中,处理700接下来行进到框704,在框704处,可以部署一个或多个CVM。在一些实施例中,可以基于预期的使用模式来部署CVM。使用模式可以包括,但不限于,分组流量流、所维护的连接的数目、资源使用情况(例如,存储器和/或盘空间、处理器使用情况、输入/输出操作等)等。在至少一个实施例中,基于任务可以对任务部署CVM。例如,如果针对给定任务的预期使用位于预定义的阈值之上,则CVM可以被部署来执行该任务(即,给定的任务可以被从TMS卸载到云)。在一些实施例中,可以基于被卸载的任务来确定CVM的容量(例如,处理器使用情况、可用的盘空间等)。
[0099] 在其他实施例中,可以基于一个或多个策略要求来部署CVM。策略要求可以是针对特定任务、针对特定客户、针对特定服务器等。例如,CVM可以针对特定任务独立于预期的使用模式进行自动部署。在至少一个实施例中,TMS可以基于针对给定客户或用户所配置和/或动态确定的服务质量等级来将与该客户和/或用户流量有关的特定功能卸载到CVM。在另一实施例中,客户可以处于不同的层级(tier),其中,每一层级包括不同的权限。层级可以基于容量限制、延迟约束、安全性要求等。例如,高安全性事务可以被本地执行,但低安全性事务可以由CVM在云上执行。
[0100] 在至少一个实施例中,TMS可以部署CVM以执行策略实施操作、策略参考操作、计费操作、数据存储操作等。在一些实施例中,可以在一个或多个CVM中独立于策略实施操作来执行数据存储操作,这可以使得存储容量可扩展并超过TMS的容量。扩缩性可以基于要存储的数据的量(例如,数据库的大小)和被采用来执行存储操作的CVM的数目。
[0101] 在各种实施例中,CVM可以被部署到云处。云可以是私有云和/或公共云。私有云可以由特定设备和/或实体限制性访问。公共云可以具有非限制性访问。在至少一个实施例中,TMS能够将CVM部署到云基础设施集中。
[0102] 在一些实施例中,TMS可以在TMS本地的CVM中发起任务。TMS然后可以将该CVM部署和/或推送到云中。在一些实施例中,TMS可以基于CVM和/或TMS的负荷来确定是否将CVM推送到云中和/或何时将CVM推送到云。在至少一个实施例中,将CVM推送到云中可以包括折中,例如,将CVM移入云中可以产生更快的处理速度,但可能导致更大的I/O延迟。可以将该折中与本地CVM的负荷进行比较,以确定CVM是否可以被推送到云中。
[0103] 在一些实施例中,由TMS部署CVM可以包括在被包括有TMS的本地超级管理器中运行CVM。在至少一个实施例中,TMS能够支持CVM从本地到云超级管理器的动态移动(例如,通过vmotion)。在至少一个实施例中,TMS能够在使用本地CVM或云中的远程CVM之间进行切换。在另一实施例中,在CVM被部署在云中之后,TMS可以自动切换到远程CVM。在其他实施例中,TMS可以将所卸载的CVM与TMS之间的隧道实例化。在至少一个实施例中,TMS能够基于云现有的负荷和/或该云的其余容量(即,可用资源)来将CVM部署到恰当的云中。
[0104] 在一些实施例中,TMS能够将CVM部署到云中,该云在地理上更适于完成给定任务。例如,对服务器进行监控的CVM可以被部署于比TMS(和/或另一云)在地理上(和/或在本地)更靠近服务器的云上。在其他实施例中,TMS可以基于安全性策略来部署CVM。在一些实施例中,TMS能够基于由CVM执行的任务将CVM部署到对安全性敏感的云(例如,公共云或私有云)中。
[0105] 在一些实施例中,TMS可以从CVM接收数据流。这样的数据可以包括但不限于,CVM的状态、改变、关于由CVM所存储和/或所监控的数据的报告等。在一些实施例中,从CVM发送至TMS的数据可以是总结数据和/或可以包括数据方面的更改(例如,增量(delta))。在至少一个实施例中,CVM能够向TMS、其他CVM、其他流量管理器等提供数据流。
[0106] 在一些实施例中,可以以这样的方式来部署多个CVM,以使得它们可以形成一个或多个集群。集群中的每个CVM可以彼此协调工作和/或每个集群可以与另一集群协调工作。例如,CVM集群能够执行分布式查询。在另一示例中,CVM集群能够将数据复制到相同云和/或不同云中的另一CVM,这可以提供冗余以支持CVM故障。在至少一个实施例中,TMS可以通过将CVM部署为主节点并且将其他CVM部署为从节点来初始化CVM集群,其中,每个所部署的CVM知道相同集群中的其他CVM。
[0107] 处理700在框706处继续,在框706处,可以对与所部署的CVM相关联的使用模式进行监控。在一些实施例中,TMS可以从CVM获取周期性心跳。该周期性心跳可以广播该CVM仍与TMS和/或其他CVM进行通信(例如,该CVM是可达的并且是活动的)。周期性心跳还可以指示CVM是否能够执行给定任务。如果TMS(和/或其他CVM)没有接收到周期性心跳,则CVM可能不再与TMS(和/或其他CVM)进行通信和/或CVM可能不能执行给定任务。在一些实施例中,TMS能够例如基于周期性心跳或对来自TMS的请求无响应的CVM来对所部署的CVM的故障进行检测。
[0108] 在其他实施例中,TMS可以周期性地监控CVM的工作负荷。在至少一个实施例中,CVM可以向TMS提供当前的资源使用情况、性能指标等。
[0109] 处理700接下来行进至框708,在框708处,CVM的部署可以被自动更新和/或被动态更新。在至少一个实施例中,更新可以基于所监控的使用模式。在其他实施例中,如上所述,TMS可以对CVM执行负载均衡功能。因此,可以基于每个CVM的工作负荷来动态更新一个或多个CVM的部署(即,可以对CVM进行负载均衡)。
[0110] 在一些实施例中,TMS可以在超载和/或出故障的CVM的TMS上重新开始本地处理。在其他实施例中,TMS可以将另一CVM部署到相同的云和/或不同的云。
[0111] 在框708之后,处理700可以返回呼叫处理,以执行其他动作。在一些实施例中,处理700可以回环(未示出)到框706,以继续监控与所部署的CVM相关联的使用模式,并且基于这些监控到的使用模式来动态更新部署(例如,在框708处)。
[0112] 应当理解,流程图的每个框以及流程图中的框的组合可以通过计算机程序指令来实现。这些程序指令可以被提供给处理器来产生机器,以使得在处理器上执行的指令创建用于实现(一个或多个)流程框中所规定的动作的手段。计算机程序指令可以由处理器执行以使得处理器执行一系列操作步骤,从而产生计算机实现的处理,以使得在处理器上执行的指令提供用于实现(一个或多个)流程框中所规定的动作的步骤。计算机程序指令还可以使得流程图的框中所示的操作步骤中的至少一些操作步骤被并行执行。而且,一些步骤还可以跨多于一个处理器而被执行,例如,这一情况可能在多处理器计算机系统中出现。此外,流程图的一个或多个框或者框的组合还可以与其他框或框的组合同时被执行,或者甚至在不背离本发明的范围或精神的情况下,以与所示出的序列不同的序列被执行[0113] 因此,流程图的框支持用于执行所规定的动作的手段的组合、用于执行所规定的动作的步骤的组合以及用于执行所规定的动作的程序指令手段。还应当理解,流程图的每个框以及流程图中框的组合可以由专用基于硬件的系统或专用硬件和计算机指令的组合来实现,这些专用基于硬件的系统执行所规定的动作或步骤。
[0114] 上面的说明、示例以及数据提供了对本发明的组成的使用和制造的完整描述。由于本发明的许多实施例可以在不背离本发明的精神和范围的情况下来做出,因此,本发明存在于所附权利要求中。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈