预建流量管理系统组件虚拟机的弹性卸载的制作方法
【专利说明】
[000。 相关申请的香叉引用
[000引本申请要求于2013年3月14日提交的、题为"Elastic Off load 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] 当今,许多实体使用由其他实体提供的计算产品。该些实体/客户可W根据客户 的需求从供应商购买硬件系统和/或软件系统。有时供应商可W基于客户的需求为客户定 制系统。然而,为不同的客户定制不同的系统对于供应商而言可能是耗时的和/或繁重的。 其他时候,系统可W被创建来使用和/或利用客户现有的硬件和/或组件,例如,结构化查 询语言数据库。然而,客户现有的硬件和/或组件可能不与系统兼容,可能不能提供适当的 功能和/或可能不能提供整体优化的系统。因此,针对该些及其他考虑做出了本发明。
【附图说明】
[0005] 参照附图,对本发明的非限制性且非穷尽性实施例进行描述。在附图中,除非另有 所指,否则贯穿各个附图相似的参考标号指代相似的部分。
[0006] 为了更好的理解本发明,将参照下面详细的描述,该些详细描述应与附图一起阅 读,其中:
[0007] 图1示出了本发明的实施例可W被实现于的环境的系统图解;
[000引图2示出了可被包括在诸如图1所示的系统中的客户端设备的实施例;
[0009] 图3示出了可被包括在诸如图1所示的系统中的网络设备的实施例;
[0010] 图4A和图4B示出了概览系统图解,该概览系统图解大体示出了安排于客户端设 备与服务器设备之间的流量管理系统的实施例;
[0011] 图5示出了大体示出流量管理系统的实施例的概览系统图解;
[001引图6A-图6C示出了大体示出使用动态流水线(pipeline)来执行任务的流量管理 系统的实施例的系统图解;W及
[0013] 图7示出了逻辑流程图,该逻辑流程图大体示出了用于使用流量管理系统来部署 组件虚拟机的概括性处理的一个实施例。
【具体实施方式】
[0014] 贯穿说明书和权利要求,除非上下文另外清楚地指出,否则下面的术语采用与本 文明确相关的含义。本文所使用的短语"在一个实施例中"不一定指代相同的实施例,尽管 其可W指代相同的实施例。而且,本文所使用的短语"在另一实施例中"不一定指代不同的 实施例,尽管其可W指代不同的实施例。因此,如下面所描述的,在不背离本发明的范围或 精神的情况下,本发明的各个实施例可易于组合。
[0015] 此外,如本文所使用的,除非上下文另外清楚地指出,否则术语"或"是包含性的 "或"运算符,并且其等同于术语"和/或"。除非上下文另外清楚地指出,否则术语"基于" 不是排他性的,而是允许基于未描述的其他因素。此外,贯穿说明书,冠词"一"和"该"的 含义包括复数指代。"在...中"的含义包括"在...中"和"在...上"。
[0016] 如本文所使用的,术语"流量管理系统"或"TMS"指代能够管理端点(例如,网络 设备)之间的网络流量的网络设备。该样的设备包括例如,路由器、代理、防火墙、负载均衡 器、缓存设备、执行网络地址转换的设备,等等,或者其任意组合。TMS可W被配置为执行一 个或多个任务。任务可W指代用于管理和/或监控网络流量的处理。任务可W由TMS自 身来执行,或者TMS可W部署一个或多个组件虚拟机来执行一个或多个任务。任务的示例 包括,但不限于,负载均衡、服务器监控、会话监控、登录和/或事件监控、对象数据管理、路 由、转换、交换分组,等等,或者其任意组合。
[0017] 如本文所使用的,术语"组件虚拟机"或"CVM"指代可W被配置为执行TMS的至少 一个任务和/或可W被TMS使用的至少一个服务的虚拟机。在至少一个实施例中,CVM可 W包括专用组件,该些专用组件能够执行不同的动作和/或执行不同的任务。在另一实施 例中,CVM被配置为支持和/或被优化W用于不同的云基础设施。例如,不同的CVM可W支 持不同的云API,例如,但不限于,VMware,化enStack等等。
[001引如本文所使用的,短语"使用模式"指代与由CVM、TMS或其他设备执行的一个或 多个任务相关联的动作。使用模式的示例可W包括,但不限于,任务分组流量流、大量被维 护的连接、资源使用情况(例如,存储器和/或盘空间、处理器使用情况、输入/输出操作, 等等)、特定的任务、特定任务的资源使用情况,等等。在一些实施例中,使用模式可W指示 CVM、TMS或其他设备的工作负荷。在其他实施例中,可W基于要执行的任务来预料CVM或 TMS的使用模式。
[0019] 如本文所使用的,术语"工作负荷"指代被CVM、TMS或其他设备消耗和/或使用的 计算资源的量。在至少一个实施例中,工作负荷可W包括一个或多个计算资源的使用情况 百分比。在另一实施例中,工作负荷可W包括设备(例如,CVM)停机并且不执行和/或使 用动作的时间的百分比。在一些实施例中,工作负荷可W指示CVM或TMS正在运行的性能 和/或效率(例如,使用当前资源来执行任务的CVM与采用不同的CVM或TMS通过利用其 它资源来执行相同任务相比效率如何)。
[0020] 如本文所使用的,短语"云基础设施"可W指代独立于TMS进行维护的硬件和/或 软件计算资源。该样的计算资源包括,但不限于,处理器、临时/永久存储器和/或存储设 备、输入/输出设备,等等,或其任意组合。在一些实施例中,云基础设施可W是私有云、公 共云或其组合。私有云可W指代对于具体设备、用户、实体等或者其任意组合具有限制性访 问的云基础设施。公共云可W指代对于具体设备、用户、实体等或者其任意组合具有非限制 性访问的云基础设施。
[0021] 下面简要地描述了本发明的实施例,W提供对本发明的一些方面的基本理解。该 简要描述不意为广泛的概述。其不意为标识主要或关键要素,或者描绘范围或W其他方式 缩小范围。其目的仅在于作为对稍后呈现的更详细的描述的前序,W简化的形式来呈现一 些概念。
[002引简言么实施例针对采用流量管理系统(TMS),该TMS能够向云部署一个或多个组 件虚拟机(CVM)W执行TMS的任务。在一些实施例中,TMS可W与一个或多个CVM-起被 采用。在至少一个实施例中,TMS可W包括和/或维护每个CVM的镜像。在一些实施例中, TMS可W实现用户接口,该用户接口使得管理员或其他用户能够管理CVM的配置、部署、停 运、监控和/或迁移。
[002引在各个实施例中,TMS可W基于预期的TMS使用模式来自动部署CVM,该些使用模 式可W包括,但不限于,分组流量流、大量被维护的连接、资源使用情况、特定的任务、特定 任务的资源使用情况,或TMS的任意其他预期的使用模式。在一些实施例中,TMS可W基于 至少一个部署策略要求(包括,但不限于,针对特定任务、针对特定客户、针对特定服务器、 针对特定服务等级、针对特定许可、容量限制、延迟限制、安全性要求、或任意其他特定标 准)来部署CVM。
[0024] 每个CVM可W被配置为和/或被使能为执行TMS的一个或多个任务,包括,但不限 于,分组协议管理、网络协议通信转换、安全性操作、负载均衡操作、网络流量优化操作、网 络防火墙操作和任意其他流量管理相关的任务。在各个实施例中,至少一个CVM可W执行 W下操作;包括但不限于,策略实施操作、策略参考操作、计费操作、数据存储操作、服务器 健康监控操作、网络监控操作、登录操作、报告操作、加密操作、压缩操作、或任意其他网络/ 策略实施相关的操作。在一些实施例中,不同的CVM可W被优化W在其被部署的特定的云 基础设施中进行操作。在至少一个实施例中,CVM可W支持一个或多个不同的云基础设施 应用程序接口。
[0025] TMS可W在本地部署一个或多个CVM和/或将一个或多个CVM部署到一个或多个 公共云和/或私有云。在各个实施例中,TMS可W跨一个或多个云基础设施来对CVM进行负 载均衡。在一些实施例中,CVM的部署可基于要执行的任务的类型、预期的资源使用情况、 客户策略,等等。CVM的部署可W基于所监控的使用模式、任务完成情况、客户策略等进行 动态更新。在一些实施例中,基于CVM、TMS或任意其他处理资源中的至少一个的处理负荷, 至少一个CVM在被部署于云基础设施之前,可W首先在本地部署W在TMS上(例如,在本地 超级管理器上)执行。在其他实施例中,CVM可W在被部署于云基础设施之后被迁移回TMS 和/或被本地部署。在一些实施例中,多个CVM可W被部署W形成CVM集群,其中,CVM集 群中的至少一个CVM与该CVM集群或另一CVM集群中的至少一个中的至少一个其他CVM进 行合作工作,从而执行TMS的至少一个任务的至少一部分。
[00%]说巧忡操作环培
[0027] 图1示出了本发明的实施例可W被实施于的环境的一个实施例的组件。不需要所 有的组件来实施本发明,并且在不背离本发明的精神或范围的情况下,对组件的类型和布 置方面可W做出变化。
[00測如图所示,图1的系统100包括局域网(LAN)/广域网(WAN)--(网络)110、无 线网络108、客户端设备102-105、流量管理系统(TM巧112、化及服务器设备114-115。网络 110可w与客户端设备102-105、无线网络108化及TMS112进行通信,并且使得客户端设 备102-105、无线网络108W及TMS112之间能够进行通信。无线网络108可W与无线设备 (例如,客户端设备103-105)进行通信。TMS112可W与网络110和服务器设备114-115 进行通信。
[0029] 下面结合图2,对客户端设备102-105的至少一个实施例进行更加详细的描述。在 一个实施例中,客户端设备102-105中的至少一些可W通过有线网络和/或无线网络(例 如,网络110和/或网络108)进行操作。一般地,客户端设备102-105几乎可W包括能够 通过网络进行通信从而发送和接收信息、执行各种在线活动、离线动作等的任意计算设备。 在一个实施例中,客户端设备102-105中的一个或多个可W被配置为在企业或其他实体内 进行操作,从而针对企业或其他实体执行各种服务。例如,客户端设备102-105可W被配置 为作为web服务器、计费服务器、产品服务器、存储服务器等进行操作。然而,客户端设备 102-105不被约束为该些服务,并且例如在其他实施例中还可W被采用为端用户计算节点。 应当认识到,更多或更少的客户端设备可W被包括于诸如本文所描述的系统内,因而实施 例不被所采用的客户端设备的类型或数目所约束。
[0030
] 可W作为客户端设备102进行操作的设备可W包括通常使用有线通信介质或无 线通信介质进行连接的设备,例如,个人计算机、多处理器系统、基于微处理器或可编程的 电子设备、网络PC,等等。在一些实施例中,客户端设备102-105实际上可W包括能够连接 到另一计算设备并且接收信息的任意便携式个人计算设备,例如,膝上型计算机103、智能 移动电话104、W及平板计算机105,等等。然而,便携式计算设备不限于此,并且还可W包 括其他便携式设备,例如,蜂窝电话、显示寻呼机、射频(R巧设备、红外(IR)设备、个人数 字助理(PDA)、手持计算机、可穿戴计算机、组合了前述设备中的一个或多个的集成设备,等 等。由此,客户端设备102-105通常在功能和特征方面范围广泛。而且,客户端设备102-105 可W访问各种计算应用,包括浏览器或其他基于web的应用。
[0031]Web使能的客户端设备可W包括浏览器应用,该浏览器应用被配置为接收和发送web页面、基于web的消息,等等。浏览器应用可W被配置为采用几乎任意基于web的语 言(包括无线应用协议消息(WA巧等)来接收并显示图形、文本、多媒体等。在一个实施 例中,浏览器应用能够采用手持设备标记语言(HDML)、无线标记语言(WML)、WMLScript、 JavaScript、标准通用标记语言(SGML)、超文本标记语言(HTML)、可扩展标记语言(XML)等 来显示和发送消息。在一个实施例中,客户端设备的用户可W采用浏览器应用来在网络上 (在线)执行各种活动。然而,另一应用也可W被用来执行各种在线活动。
[0032] 客户端设备102-105还可W包括至少一个其他客户端应用,该至少一个其他客户 端应用被配置为在另一计算设备之间接收和/或发送内容。客户端应用可W包括发送和/ 或接收内容等的能力。客户端应用还可W提供标识自身的信息,包括类型、能力、名称等。在 一个实施例中,客户端设备102-105可W通过各种机制(包括互联网协议(I巧地址、电话 号码、移动识别号码(MIN)、电子序列号巧SN)或其他设备标识符)中的任意机制来唯一标 识其自身。该样的信息可W被提供于网络分组等中,该些网络分组在其他客户端设备、TMS 112、服务器设备114-115或其他计算设备之间被发送。
[0033] 客户端设备102-105还可W被配置为包括客户端应用,该客户端应用使得端用户 能够登录到可W由另一计算设备(例如,服务器设备114-115等)进行管理的端用户账号 中。在一个非限制性示例中,该样的端用户账号可w被配置为使得端用户能够管理一个或 多个在线活动,在一个非限制性示例中包括捜索活动、社交网络活动、浏览各种网站、与其 他用户进行通信、参与游戏、与各种应用进行交互,等等。然而,还可W在未登录到端用户账 号中的情况下执行参与在线活动。
[0034] 无线网络108被配置为将客户端设备103-105及其组件与网络110进行禪合。无 线网络108可W包括各种无线子网络中的任意无线子网络,该些无线子网络还可W覆盖独 立的ad-hoc网络等,从而为客户端设备103-105提供W基础设施为导向的连接。该样的子 网络可W包括网状网络、无线LAN(WLAN)网络、蜂窝网络,等等。在一个实施例中,系统可W 包括不止一个的无线网络。
[0035] 无线网络108还可W包括由无线无线电链路等进行连接的终端、网关、路由器等 的自主系统。该些连接器可W被配置为自由且随机地移动并且任意地组织其自身,W使得 无线网络108的拓扑可W快速改变。
[0036] 无线网络108还可W采用多种接入技术,包括第二代(2G)、第S代(3G)、第四代 (4G)、第五代巧G)蜂窝系统无线接入、WLAN、无线路由器(WR)网状网,等等。诸如2G、3G、 4G、5G之类的接入技术和未来的接入网络可W使得移动设备(例如,具有各种程度的移动 性的客户端设备103-105)具有广阔的区域覆盖。在一个非限制性示例中,无线网络108可 W通过无线电网络接入(例如,全球移动通信系统(GSM)、通用分组无线业务(GPRS)、增强 型数据GSM环境巧DGE)、码分多址(CDMA)、时分多址(TDMA)、宽带码分多址(WCDMA)、高速 下行分组接入化SDPA)、长期演进(LTE),等等)来使能无线电连接。实际上,无线网络108 几乎可W包括任意无线通信机制,通过该无线通信机制,信息可W在客户端设备103-105 与另一计算设备、网络等之间传输。
[0037] 网络110被配置为将网络设备与其他计算设备进行禪合,包括,通过TMS112与 服务器设备114-115禪合,与客户端设备102禪合,W及通过无线网络108与客户端设备 103-105禪合。网络110能够采用任意形式的计算机可读介质,W将信息从一个电子设备 传输至另一电子设备。而且,网络110除了包括局域网(LAN)、广域网(WAN)、直接连接(例 如,通过通用串行总线扣SB)端口、其他形式的计算机可读介质或其任意组合),还可W包 括互联网。在互连的LAN集(包括基于不同的架构和协议的那些LAN)上,路由器用作LAN 之间的链路,从而使得消息能够被从一个LAN发送至另一LAN。此外,LAN内的通信链路通 常包括双绞线或同轴电缆,而网络之间的通信链路可W使用模拟电话线路、完整或部分专 用数字线路(包括T1、T2、T3W及T4)和/或其他承载机制(例如,包括E-carrier、集成 服务数字网络(ISDN)、数字用户线路值化)、无线链路(包括卫星链路、或本领域技术人员 已知的其他通信链路))。而且,通信链路还可W采用各种数字信令技术中的任意数字信令 技术,包括而非限于,例如,DS-0、DS-1、DS-2、DS-3、DS-4、0C-3、0C-12、0C-48 等。而且,远 程计算机和其他相关的电子设备可W经由调制解调器和临时的电话线路而被远程地连接 到LAN或WAN。在一个实施例中,网络110可W被配置为传输互联网协议(I巧的信息。实 际上,网络110包括任意通信方法,通过该通信方法,信息可W在计算设备之间传输。
[003引此外,通信介质通常实施计算机可读指令、数据结构、程序模块、或其他传输机制, 并且包括任意信息递送介质。例如,通信介质包括有线介质(例如,双绞线、同轴电缆、光 纤、波导、W及其他有线介质)和无线介质(例如,声介质、RF、红外、和其他无线介质)。
[0039] 下面结合图3,对TMS112的一个实施例进行更加详细的描述。然而,简言之,TMS 112实际可W包括能够管理客户端设备102-105与服务器设备114-115之间的网络流量的 任意网络设备。例如,该样的设备包括路由器、代理、防火墙、负载均衡器、缓存设备、执行 网络地址转换的设备等,或者其任意组合。TMS112可W执行路由、转换、交换分组等操作。 在一个实施例中,TMS112可W检查传入(incoming)网络分组,并且可W执行地址转换、端 口转换、分组序列转换等,并至少部分基于分组检查来对网络分组进行路由。在一些实施例 中,TMS可W执行负载均衡操作,W确定服务器设备W引导请求。该样的负载均衡操作可W 基于网络流量、网络拓扑、服务器容量、所请求的内容、或其他流量分布机制的主机。
[0040] 服务器设备114-115实际可W包括可W作为网站服务器进行操作的任意网络设 备。然而,服务器设备114-115不限于网站服务器,并且还可W作为消息服务器、文件传输 协议(FT巧服务器、数据库服务器、内容服务器等进行操作。此外,服务器设备114-115中 的每个服务器设备可W被配置为执行不同的操作。下面结合图3可对服务器设备114-115 的至少一个实施例进行更加详细的描述。可W被布置为作为服务器设备114-115进行操作 的设备包括各种网络设备(包括,但不限于,个人计算机、台式计算机、多处理器系统、基于 微处理器或可编程消费电子设备、网络PC、服务器设备、网络装置,等等)。
[0041] 尽管图1将服务器设备114-115示出为单个计算设备,但本发明不限于此。例 如,可W跨一个或多个不同的网络设备来分布服务器设备114-115中的每个的一个或多个 功能。而且,服务器设备114-115不限于特定配置。因此,在一个实施例中,服务器设备 114-115可W包含使用主/从方式进行操作的多个网络设备,其中,服务器设备114-115的 多个网络设备之一进行操作来管理和/或W其他方式协调其他网络设备的操作。在其他实 施例中,服务器设备114-115可W作为集群架构、对等架构和/或甚至云架构内的多个网络 设备进行操作。因此,本发明不被解释为限于单一环境,并且也可W设想其他配置和架构。
[0042] 说巧忡客户端巧各
[0043] 图2示出了客户端设备200的一个实施例,其中,客户端设备200可W被包括在实 现本发明的实施例的系统中。客户端设备200可W包括比图2所示的组件更多或更少的组 件。然而,所示的组件足W公开用于实施本发明的说明性实施例。例如,客户端设备200可 W表示图1的客户端设备102-105中至少一个的一个实施例。
[0044] 如图所示,客户端设备200包括处理器202,处理器202经由总线234与大型存储 器226进行通信。在一些实施例中,处理器202可W包括一个或多个中央处理单元(CPU)。 客户端设备200还包括电源228、一个或多个网络接口 236、音频接口 238、显示器240、键 盘242、照明器244、视频接口 246、输入/输出接口 248、触觉接口 250、W及全球定位系统 佑P巧接收机232。
[0045] 电源228向客户端设备200提供电能。可充电电池或不可充电电池可W被用来提 供电能。还可W由外部电源(例如,交流(AC)适配器或对电池进行充电和/或再充电的充 电底座)提供电能。
[0046] 客户端设备200可选地与基站(未示出)或直接与另一计算设备进行通信。网 络接口 236包括用于将客户端设备200禪合到一个或多个网络的电路,并且网络接口 236 被构建为与一个或多个通信协议和技术(包括,但不限于,GSM、CDMA、TDMA、GPRS、邸GE、 胖〔0祖、服0?4、1;^、用户数据报协议扣1)巧、传输控制协议/互联网协议订〔?/1巧、短消息服 务(SM巧、WAP、超宽带(UWB)、IE邸802. 16全球微波接入互操作性(WiMax)、会话初始协议 /实时传输协议(SIP/RT巧或各种其他无线通信协议中的任意一个)一起使用。网络接口 236有时被称为收发机、收发设备、或网络接口卡(NIC)。
[0047] 音频接口 238被布置为产生并接收音频信号(例如,人类语音的声音)。例如,音 频接口 238可W被禪合于扬声器和麦克风(未示出),从而使得与其他设备进行通信和/或 生成一些动作的音频确认。
[0048] 显示器240可W是液晶显示器(LCD)、气体等离子、发光二极管(LED)、有机LED、或 与计算设备一起使用的任意其他类型的显示器。显示器240还可W包括触敏屏,该触敏屏 被布置为从某一物体(例如,触笔或人手的手指)接收输入。
[0049] 键盘242可W包括被布置为从用户接收输入的任意输入设备。例如,键盘242可 W包括按钮数字拨号或按键。键盘242还可W包括命令按钮,该些命令按钮与选择和发送 图像相关联。
[0050] 照明器244可W提供状态指示和/或提供光线。照
明器244可W针对特定时间段 或者响应于事件而保持活动。例如,当照明器244是活动的时,其可W在客户端被充电时为 键盘242上的按钮提供背光并且保持。而且,当特定的动作(例如,拨号呼叫另一客户端设 备)被执行时,照明器244可各种模式来为该些按钮提供背光。照明器244还可W使 得位于客户端的透明或半透明盒中的光源响应于动作而照亮。
[0051] 视频接口 246被布置为捕捉视频图像,例如,静止照片、视频段、红外视频等。例 如,视频接口 246可W被禪合于数字视频摄像机、web摄像机等。视频接口 246可W包括镜 头、图像传感器、W及其他电子器件。图像传感器可W包括互补金属氧化物半导体(CMO巧 集成电路、电荷禪合器件(CCD)、或用于感知光线的任意其他集成电路。
[0化2] 客户端设备200还包括用于与外部设备(例如,耳机)进行通信的输入/输出接 口 248或图2中未示出的其他输入或输出设备。输入/输出接口 248可W使用一种或多种 通信技术,例如,USB、红外、藍牙炬luetooth?)等。
[0化3] 触觉接口 250被布置为向客户端设备的用户提供触觉反馈。例如,触觉接口 250 可W被采用来在计算设备的另一用户进行呼叫时W特定方式使客户端设备200震动。在一 些实施例中,触觉接口 250可W是可选的。
[0化4] 客户端设备200还可W包括GI^S收发机232,W确定客户端设备200在地球表面 的物理坐标。在一些实施例中,GI^S收发机232可W是可选的。GI^S收发机232通常将位 置输出为绅度值和经度值。然而,GI^S收发机232还可W采用其他地理定位机制(包括,但 不限于,S角测量、辅助GPS(AGPS)、增强型观测时间差巧-0TD)、小区标识符(CI)、服务区 域标识符(SAI)、增强型时间提前巧TA)、基站子系统炬SS),等等),W进一步确定客户端设 备200在地球表面的物理位置。应当理解,在不同的情况下,GPS收发机232可W确定客户 端设备200在毫米内的物理位置;并且在其他情形中,所确定的物理位置可能不太精确,例 如,在一米或更大距离内。然而,在一个实施例中,移动设备200可W通过其他组件来提供 其他信息,该其他信息可W被用来确定设备的物理位置,例如包括媒体接入控制(MAC)地 址、IP地址等。
[0化5] 大型存储器226包括随机存取存储器(RAM) 204、只读存储器(ROM) 222W及其他 存储方式。大型存储器226示出了用于存储信息(例如,计算机可读指令、数据结构、程序 模块或其他数据)的计算机可读存储介质(设备)的示例。大型存储器226对用于控制客 户端设备200的低级操作的基本输入/输出系统炬10巧224进行存储。大型存储器还对用 于控制客户端设备200的操作的操作系统206进行存储。应当理解,该组件可W包括通用 操作系统(例如,UNIX或LINUX?的版本)或专用客户端通信操作系统(例如,微软公司的 Windows Mobile?、苹果公司的iOS?、谷歌公司的Amlroid?或Symbian?操作系统)。操作 系统可W包括化va虚拟机模块或者与化va虚拟机模块进行交互,该化va虚拟机模块使得 能够经由化va应用程序来控制硬件组件和/或操作系统操作。
[0化6] 大型存储器226还包括一个或多个数据存储设备208,该一个或多个数据存储设 备208可W由客户端设备200用来存储应用214和/或其他数据等。例如,数据存储设备 208还可W被用来存储描述客户端设备200的各种能力的信息。然后该信息可W基于各种 事件中的任意事件而被提供给另一设备,包括在通信期间作为头部的一部分被发送、一旦 请求就被发送,等。数据存储设备208还可W被用来存储社交网络信息,包括地址簿、好友 列表、别名、用户简档(profile)信息等。而且,数据存储设备208还可W存储消息、web页 面内容、或各种用户生成内容中的任意用户生成内容。至少一部分信息还可W被存储于网 络设备200的另一组件上,包括,但不限于,处理器可读存储介质230、盘驱动器或客户端设 备200内的其他计算机可读存储设备(未示出)。
[0化7] 处理器可读存储介质230可W包括W用于存储信息(例如,计算机可读指令或 处理器可读指令、数据结构、程序模块、或其他数据)的任意方法或技术实现的易失性介 质、非易失性介质、可移除介质W及不可移除介质。计算机可读存储介质的示例包括RAM、 ROM、电可擦除可编程只读存储器巧EPROM)、闪存或其他存储器技术、压缩盘只读存储器 (CD-ROM)、数字通用盘值VD)或其他光学存储设备、磁盒、磁带、磁盘存储设备或其他磁存 储设备、或可W被用来存储所需信息并且可W由计算设备访问的任意其他物理介质。处理 器可读存储介质230在本文中还可W被称为计算机可读存储介质和/或计算机可读存储设 备。
[0化引应用214可W包括计算机可执行指令,当该些计算机可执行指令由客户端设备 200执行时,对网络数据进行发送、接收和/或W其他方式进行处理。网络数据可W包括, 但不限于,消息(例如,SMS、多媒体消息服务(MMS)、即时消息(IM)、电子邮件和/或其他消 息)、音频、视频,并且使得能够与另一客户端设备的另一用户进行通信。例如,应用214可 W包括浏览器218W及其他应用220。其他应用220可W包括但不限于,日历、捜索程序、 电子邮件客户端、IM应用、SMS应用、互联网协议语音电话(V0I巧应用、联系人管理器、任 务管理器、代码转换器、数据库程序、文字处理程序、安全应用、电子制表程序、游戏、捜索程 序,等等。
[0化9] 浏览器218实际可W包括被配置为通过采用几乎任意基于web的语言来接收和 显示图形、文本、多媒体等的任意应用。在一个实施例中,浏览器应用能够采用HDML、WML、 WMLScript、JavaScript、SGML、HTML、XML等来显示和发送消息。然而,可W采用各种其他基 于web的编程语言中的任意一个。在一个实施例中,浏览器218可W使得客户端设备200的 用户能够与另一网络设备(例如,TMS112)和/或直接与服务器设备114-115进行通信。
[0060] 说巧忡网络巧各
[0061] 图3根据本发明的一个实施例,不出了网络设备300的一个实施例。网络设备300 可w包括比所示组件更多或更少的组件。然而,所示组件足w公开用于实施本发明的说明 性实施例。网络设备300可W被配置为作为服务器、客户端、对等端、主机、或任意其他设备 进行操作。网络设备300可W表示例如图1的TMS112、图1的服务器设备114-115、和/ 或其他网络设备。
[0062] 网络设备300包括处理器302、处理器可读存储介质328、网络接口单元330、输入 /输出接口 332、硬盘驱动器334、视频显示适配器336、W及存储器326,所有该些均经由总 线338相互进行通信。在一些实施例中,处理器302可W包括一个或多个中央处理单元。
[0063] 如图3所示,网络设备300还可W经由网络接口单元330与互联网或一些其他通 信网络进行通信,网络接口单元330被构建为与包括TCP^P协议的各种通信协议一起使 用。网络接口单元330有时被称为收发机、收发设备或网络接口卡(NIC)。
[0064] 网络设备300还包括用于与外部设备(例如,键盘、或图3中未示出的其他输入或 输出设备)进行通信的输入/输出接口 332。输入/输出接口 332可W使用一种或多种通 信技术,例如,USB、红外、藍牙等。
[00化]存储器326 -般包括RAM304、ROM322和一个或多个永久大型存储设备,例如, 硬盘驱动器334、带驱动器、光驱动器和/或软盘驱动器。存储器326对用于控制网络设备 300的操作的操作系统306进行存储。可W采用任意通用操作系统。还可W提供基础输入 /输出系统炬10巧324,W控制网络设备300的低级操作。
[0066] 尽管单独示出,但存储器326可W包括处理器可读存储介质328。处理器可读存储 介质328可W指代和/或包括计算机可读介质、计算机可读存储介质和/或处理器可读存 储设备。处理器可读存储介质328可W包括W用于存储信息(例如,计算机可读指令、数据 结构、程序模块、或其他数据)的任意方法或技术实现的易失性介质、非易失性介质、可移 除介质W及不可移除介质。处理器可读存储介质的示例包括RAM、ROM、EEPR0M、闪存或其他 存储器技术、CD-ROM、数字通用盘值VD)或其他光学存储设备、磁盒、磁带、磁盘存储设备或 其他磁存储设备、或可W被用来存储所需信息并且可W由计算设备访问的任意其他介质。
[0067] 存储器326还包括一个或多个数据存储设备308,该一个或多个数据存储设备308 可W由网络设备300用来存储应用314和/或其他数据等。例如,数据存储设备308还可 W被用来存储对网络设备300的各种能力进行描述的信息。该信息然后可W基于各种事件 中的任意事件而被提供给另一设备,包括在通信期间作为头部的一部分被发送、一旦请求 就被发送等。数据存储设备308还可W被用来存储消息、web页面内容等。至少一部分信 息还可W被存储于网络设备300的另一组件上,包括,但不限于,处理器可读存储介质328、 硬盘驱动器334或客户端设备300内的其他计算机可读存储设备(未示出)。
[0068] 数据存储设备308可W包括可W被配置为维护和存储用户账号标识符、用户 简档、电子邮件地址、IM地址和/或其他网络地址等的数据库、文本、电子制表、文件夹 (化Ider)、文件等。数据存储设备308还可W包括程序代码、数据、算法等,W由处理器(例 如,处理器302)用来执行和运行动作。在一个实施例中,至少一些数据存储设备308还可 W被存储于网络设备300的另一组件(包括但不限于,处理器可读存储介质328、硬盘驱动 器3:34等)上。
[0069] 应用314可W包括计算机可执行指令,该些计算机可执行指令可W被加载到大型 存储器中并且在操作系统306上运行。应用程序的示例可W包括代码转换器、调度器、日 历、数据库程序、文字处理程序、超文本传输协议(HIT巧程序、可定制用户接口程序、IPSec应用、加密程序、安全程序、SMS消息服务器、IM消息服务器、电子邮件服务器、账号管理器 等。应用314还可W包括网站服务器316、超级管理器318W及组件虚拟机(CVM) 320。
[0070] 网站服务器316可W表示各种信息和服务中的任意一个,该些信息和服务被配置 为通过网络来向另一计算设备提供内容(包括消息)。因此,例如,网站服务器316可W 包括web服务器、文件传输协议(FT巧服务器、数据库服务器、内容服务器等。网站服务器 316可W使用各种格式中的任意格式(包括但不限于,WAP、HDML、WML、SGML、HTML、XML、压 缩HTML(cHTML)、扩展HTML(xHTML)等)通过网络来提供包括消息在内的内容。
[0071] 超级管理器318可W被配置为对可W在网络设备300上进行操作的一个或多个虚 拟化客体应用和/或客体操作系统进行管理。在各种实施例中的至少一个实施例中,客体 应用可W是虚拟化主机,该些虚拟化主机可W在超级管理器318的管理下进行操作。在一 些实施例中,如果一个或多个CVM320被图1的TMS112进行本地部署,则超级管理器318 可W管理一个或多
个CVM320。在至少一个实施例中,CVM320可W包括一个或多个组件虚 拟机,该一个或多个组件虚拟机可W被本地部署(例如,于图1的TMS112上)和/或被远 程部署于云上。
[00。] 系统概巧
[0073] 图4A示出了大体示出系统的一个实施例的系统图解,该系统具有安排于客户端 设备与服务器设备之间的流量管理系统。系统400A可W包括安排于客户端设备102-105与 服务器416-417之间的流量管理系统(TM巧406。系统400A还可W包括云420。云420可 W包括基于云的资源,该基于云的资源可W是私有接入云和/或公共云。
[0074] TMS406可W包括输入/输出单元408,W通过网络412与客户端设备102-105进 行通信。在至少一个实施例中,网络412可W是图1的网络108和/或110的实施例。TMS 406还可W包括输入/输出单元410,W通过网络414与服务器416-417进行通信。在至少 一个实施例中,网络414可W是图1的网络108和/或110的实施例。在一些实施例中,网 络412和414可W包括和/或采用相同网络和/或不同网络。服务器416-417可W是图1 的服务器设备114-115的实施例。
[0075] TMS406可W被配置为执行多个任务,例如,负载均衡、服务器监控、会话监控、登 录和/或事件监控、对象数据管理等。该些任务在图4中可W被示出为任务422-424。
[0076] 图4B示出了大体示出系统的一个实施例的系统图解,该系统具有安排于客户端 设备与服务器设备之间的流量管理系统。在一个实施例中,图4B可W是图4A的实施例。 系统400B可W包括安排于客户端设备102-105与服务器416-417之间的流量管理系统 (TM巧406。系统400A还可W包括云420。TMS406可W包括输入/输出单元408,W通过网 络412与客户端设备102-105进行通信。TMS406还可W包括输入/输出单元410,W通过 网络414与服务器416-417进行通信。
[0077] 通过采用下面所详细描述的实施例,TMS406可朗尋任务(例如,任务423)卸载 到云420。在一些实施例中,TMS406可W对组件虚拟机(CVM)426进行部署,W使用云420 资源来执行任务423。
[007引图5示出了大体示出流量管理系统的实施例的概览系统图解。流量管理系统 (TM巧502可W包括输入/输出单元504和506、CPU522、盘524、数据平面(plane) 508、控 制平面510、W及流量管理平面512。数据平面508、控制平面510和/或流量管理平面512 可W使用CPU522和/或盘524来执行动作。
[0079] 数据平面508可W维护客户端设备与服务器之间的竞争流。控制平面510可W针 对分组流量管理来执行高级控制功能和/或每个流的策略实施。流量管理平面512可W管 理和/或协调与流量管理相关联的任务的性能。
[0080] 例如,流量管理平面512可W采用任务l(Task_l)和任务2(Task_2)。应当认识 至IJ,可W采用比图5中所示的任务更少的或更多的任务。如图所示,任务1可W使用各种 资源(例如,CPU526和1/0528)。任务2也可W使用资源(例如,盘530、I/O532和CPU 534)。在一些实施例中,如图所示,用于任务的资源块的大小可W表示针对由该任务所使用 的特定资源的资源量。例如,I/O528比I/O532大,该可W指示任务1可W使用比任务2 多的I/O资源。
[00川 TMS502还可W包括组件虚拟机(CVM) 518-519。在各个实施例中,CVM518-519可 W包括每个CVM的镜像。在一些实施例中,每个CVM可W被配置为利用不同的云基础设施 进行操作和/或执行不同的任务。
[00間通过采用下面所更加详细描述的实施例,TMS502 (例如,流量管理平面512)可W确定卸载一个或多个任务(例如,任务1、任务2等)和/或在本地执行任务。例如,任务1 可W使用与CPU资源(例如,CP呪26)相比较更大量的I/O资源(例如,I/O528)。因此, TMS502可W确定在TMS502上本地执行任务1。相反,任务2可W使用与I/O资源(例 如,I/O532)相比较更大量的盘和CPU资源(例如,分别为盘530和CPU534)。因此,TMS 502可W确定将任务2卸载到云536。在至少一个实施例中,TMS502可W确定哪个CVM(例 如,CVM518-519)与云536兼容。如图所示,CVM519可W与云536兼容。当云536上的 CVM538执行任务2时,TMS502可W部署CVM519。在一些实施例中,云536可W在与TMS 502相同的机器上,但对于云536可W具有独立和/或专用硬件。在其他实施例中,TMS502 和云536可W是独立和/或不同的设备。
[0083] 图6A-图6C示出了大体示出使用动态流水线来执行任务的流量管理系统的实施 例的系统图解。图6A示出了大体示出采用任务流水线的流量管理系统的一个实施例的系 统图解。系统600A可W包括与服务器604进行通信的流量管理系统(TM巧602。在一些实 施例中,TMS602可W是图4的TMS406的实施例。TMS602可W采用任务606、608和610。 尽管图6A仅示出了S个任务,但本发明不限于此,并且TMS602可W采用更多任务或更少 任务。如图所示,TMS602可W对通过TMS602 (例如,客户端设备(未示出)与服务器604 之间)的流量采用任务606、608和610。例如,任务606可W执行分组协议管理,任务608 可W执行安全性操作,并且任务610可W执行负载均衡操作。然而,本发明不限于该些任 务,并且TMS602可W采用其他任务。
[0084] 图6B示出了大体示出采用任务流水线的流量管理系统的替代实施例的系统图 解。系统600B可W包括与服务器604进行通信的TMS602。如图所示,TMS602可W将任 务606和608卸载到云620。在一些实施例中,云620可W包括一个或多个不同的基于云 的系统。TMS602可W在云620上部署CVM614W执行任务606。此外,TMS602可W在云 620上部署CVM612W执行任务608。
[0085] 示例性分组流可W包括如下步骤。TMS602可W从客户端设备(未示出)接收分 组,并且将其转发至CVM614。在一些实施例中,TMS602可W包括用于在TMS602与CVM614之间转发分组的任务616。CVM614可W对分组执行任务606,并且然后可W将分组转 发至CVM612。CVM612可W对分组执行任务608,并且然后可W将分组转发回至TMS602。 TMS602可W对分组执行任务610,并且然后可W将分组转发至服务器604。该样的流水线 还可WW相反的方向从服务器604接收分组来执行。在一些实施例中,可W针对不同方向 的分组、针对不同服务器的分组、不同类型的分组等采用使用不同CVM的不同流水线。在一 些实施例中,TMS和/或CVM可W将分组从一种协议转换到另一协议,该另一协议可W针对 TMS与CVM之间、不同CVM之间等的通信而被优化。
[0086] 图6C示出了大体示出采用任务流水线的流量管理系统的替代实施例的系统图 解。系统600C可W包括与服务器604进行通信的TMS602。如图所示,TMS602可W将任 务606、608和610卸载到云620。在一些实施例中,云620可W包括一个或多个不同的基 于云的系统。TMS602可W在云620上部署CVM614W执行任务606,可W在云620上部署 CVM612W执行任务608,并且可W在云620上部署CVM624W执行任务610。在一些实施 例中,CVM614、612和/或624可W基于由TMS602管理的相同和/或不同的镜像。在一 些实施例中,TMS602可W与流水线中的一个或多个CVM进行通信。例如,CVM612可W在 执行任务608之前和/或结合执行任务608来与任务622进行通信。
[0087] 示例性分组流可W包括如下步骤。TMS602可W从客户端设备(未示出)接收分 组,并且将其转发至CVM614。CVM614可W对分组执行任务606,并且然后可W将分组转发 至CVM612。CVM612可W与在TMS602上操作和/或执行的任务622进行通信,W对分组 执行任务608,并且然后可W将分组转发至CVM624。CVM624可W对分组执行任务610,并 且然后可W将分组转发至服务器604。该样的流水线还可相反的方向从服务器604接 收分组来执行。在一些实施例中,可W针对不同方向的分组、针对不同服务器的分组、不同 类型的分组等采用使用不同CVM的不同流水线。
[00能] 概巧忡操作
[0089] 现将针对图7对本发明的某些方面的操作进行描述。图7示出了逻辑流程图,该逻 辑流程图大体示出了用于使用流量管理系统来部署组件虚拟机的概括过程的一个实施例。 在一些实施例中,图7的处理700可W由单个网络设备(例如,图3的网络设备300)实现 和/或在单个网络设备上执行。在其他实施例中,图7的处理700或处理700的一部分可 W由多个网络设备(例如,图3的网络设备300)实现和/或在多个网络设备上执行。
[0090] 在开始框之后,处理700开始于框702处,其中,可W采用流量管理系统(TM巧。在 至少一个实施例中,流量管理系统可W是流量管理设备、分组流量管理设备等。在其他实施 例中,TMS可W是预建系统和/或装置。可W向客户销售和/或提供TMS。TMS可W在客户 的硬件上操作和/或执行。客户的硬件可W包括任意数目的不同硬件平台和/或配置,该 些硬件平台和/或配置可W针对TMS被优化和/或不被优化和/或可W向TMS提供优化支 持和/或可W不向TMS提供优化支持。在一些其他实施例中,TMS可W处于具有一个或多 个其他流量管理器的集群中。
[0091] 在一些实施例中,TMS可W包括一个或多个组件虚拟机(CVM)。每个CVM可W提供 服务,当CVM被部署时,该服务可W由TMS使用。在至少一个实施例中,每个CVM可W包括专 有组件,该些专有组件能够执行不同动作和/或执行不同任务。在另一实施例中,每个CVM 被配置为支持不同的云基础设施和/或被优化W用于不同的云基础设施。例如,每个CVM可W支持不同的云API,例如但不限于,VMware、化enStack等。在至少一个实施例中,TMS 可W维护多个CVM中的每个CVM的镜像。在一些实施例中,CVM可W属于TMS而非客户。
[0092] 如下面将进行的更加详细的描述,TMS可W通过部署一个或多个CVM来卸载一个 或多个任务。CVM的部署可W包括向外部计算/存储基础设施(可W被称为云)提供CVM。 在一些实施例中,除了使能CVM部署的标准化弹性计算/存储API,TMS可W不依赖于来自 云系统的可用的其他特定服务来支持任务的卸载。
[009引TMS可W包括单个CVM和/或多个CVM,该单个CVM可W执行多个任务,该多个CVM中的每个CVM可W执行不同的任务。在一些实施例中,CVM可W执行服务器健康监控。在 其他实施例中,CVM可W管理和/或存储监控信息(例如,但不限于,日志、事件、改变、统计 数据、会话、事务、事务总结、由TMS生成的其他信息等)。在一些其他实施例中,CVM可W被 用于存储共享的状
态信息(例如,用户会话,一个或多个流量管理器可能需要该些用户会 话)、存储对象数据(例如,文件、缓存的HTTP响应等)等。在至少一个实施例中,CVM能够 对所存储的信息执行其他操作,例如但不限于,加密、压缩、捜索、分类、总结、推送到云存储 dropbox等。
[0094] 在一些实施例中,数据可W在CVM上被加密。在其他实施例中,在CVM与TMS之间 和/或在多个CVM之间传输的数据可W被加密。例如,在一个实施例中,CVM可W在CVM处 流式传输(stream)数据、加密数据、W及存储所加密的数据。在一些实施例中,CVM能够加 密数据,并且TMS能够解密数据。在至少一个该样的实施例中,CVM可能不能对数据进行解 密。在其他实施例中,在CVM与TMS和/或在多个CVM之间,加密可W是双向的。
[0095] 在其他实施例中,TMS可W执行负载均衡技术。在至少一个实施例中,TMS可W跨 一个或多个云对一个或多个CVM进行负载均衡。因此,TMS可W对CVM特征进行负载均衡。 在另一实施例中,TMS可W使用集成的动态负载均衡和容量分析功能,W使用、配设W及取 消配设CVM。例如,多个CVM可W被部署W执行具体的任务和/或功能,例如,收集日志数据 的管理功能。TMS可W跨多个CVM执行负载均衡,W使得多个CVM的每个CVM的负载处于给 定的阔值之内。
[0096] 在一些实施例中,TMS可W包括用户接口,该用户接口可W使得用户和/或客户能 够管理CVM的部署。例如,客户可W指示要使用哪个云。在至少一个实施例中,TMS可W包 括CVM,该CVM能够卸载TMS的该用户接口和/或其他管理接口(例如,但不限于,简单网络 管理协议(SNM巧接口、表述性状态转移(REST)接口、简单对象访问协议(S0A巧接口等)。 CVM还可W卸载可W由TMS保存的其他相关的配置数据和/或状态。
[0097] 在其他实施例中,远程API可W使得用户、客户和/或管理员能够对一个或多个 CVM的TMS部署进行管理。在至少一个该样的实施例中,该API可W使得用户能够写和/或 创建其自己的用户接口W管理TMS。可W使得用户能够通过提供CVM可W如何被部署(例 如,在CVM的集群中)、CVM何时可W被部署(例如,当资源性能落到TMS的阔值W下时)和 /或CVM在何地可W被部署(例如,公共云)的参数来控制TMS。
[009引在任意事件中,处理700接下来行进到框704,在框704处,可W部署一个或多个CVM。在一些实施例中,可W基于预期的使用模式来部署CVM。使用模式可W包括,但不限 于,分组流量流、所维护的连接的数目、资源使用情况(例如,存储器和/或盘空间、处理器 使用情况、输入/输出操作等)等。在至少一个实施例中,基于任务可W对任务部署CVM。 例如,如果针对给定任务的预期使用位于预定义的阔值之上,则CVM可W被部署来执行该 任务(即,给定的任务可W被从TMS卸载到云)。在一些实施例中,可W基于被卸载的任务 来确定CVM的容量(例如,处理器使用情况、可用的盘空间等)。
[0099] 在其他实施例中,可W基于一个或多个策略要求来部署CVM。策略要求可W是针对 特定任务、针对特定客户、针对特定服务器等。例如,CVM可W针对特定任务独立于预期的使 用模式进行自动部署。在至少一个实施例中,TMS可W基于针对给定客户或用户所配置和/ 或动态确定的服务质量等级来将与该客户和/或用户流量有关的特定功能卸载到CVM。在 另一实施例中,客户可W处于不同的层级(tier),其中,每一层级包括不同的权限。层级可 W基于容量限制、延迟约束、安全性要求等。例如,高安全性事务可W被本地执行,但低安全 性事务可W由CVM在云上执行。
[0100] 在至少一个实施例中,TMS可W部署CVMW执行策略实施操作、策略参考操作、计 费操作、数据存储操作等。在一些实施例中,可W在一个或多个CVM中独立于策略实施操作 来执行数据存储操作,该可W使得存储容量可扩展并超过TMS的容量。扩缩性可W基于要 存储的数据的量(例如,数据库的大小)和被采用来执行存储操作的CVM的数目。
[0101] 在各种实施例中,CVM可W被部署到云处。云可W是私有云和/或公共云。私有 云可W由特定设备和/或实体限制性访问。公共云可W具有非限制性访问。在至少一个实 施例中,TMS能够将CVM部署到云基础设施集中。
[0102] 在一些实施例中,TMS可W在TMS本地的CVM中发起任务。TMS然后可W将该CVM部署和/或推送到云中。在一些实施例中,TMS可W基于CVM和/或TMS的负荷来确定是否 将CVM推送到云中和/或何时将CVM推送到云。在至少一个实施例中,将CVM推送到云中 可W包括折中,例如,将CVM移入云中可W产生更快的处理速度,但可能导致更大的I/O延 迟。可朗尋该折中与本地CVM的负荷进行比较,W确定CVM是否可W被推送到云中。
[0103] 在一些实施例中,由TMS部署CVM可W包括在被包括有TMS的本地超级管理器中 运行CVM。在至少一个实施例中,TMS能够支持CVM从本地到云超级管理器的动态移动(例 如,通过vmotion)。在至少一个实施例中,TMS能够在使用本地CVM或云中的远程CVM之间 进行切换。在另一实施例中,在CVM被部署在云中之后,TMS可W自动切换到远程CVM。在 其他实施例中,TMS可W将所卸载的CVM与TMS之间的隧道实例化。在至少一个实施例中, TMS能够基于云现有的负荷和/或该云的其余容量(即,可用资源)来将CVM部署到恰当的 云中。
[0104] 在一些实施例中,TMS能够将CVM部署到云中,该云在地理上更适于完成给定任 务。例如,对服务器进行监控的CVM可W被部署于比TMS(和/或另一云)在地理上(和/ 或在本地)更靠近服务器的云上。在其他实施例中,TMS可W基于安全性策略来部署CVM。 在一些实施例中,TMS能够基于由CVM执行的任务将CVM部署到对安全性敏感的云(例如, 公共云或私有云)中。
[01化]在一些实施例中,TMS可W从CVM接收数据流。该样的数据可W包括但不限于,CVM的状态、改变、关于由CVM所存储和/或所监控的数据的报告等。在一些实施例中,从CVM 发送至TMS的数据可W是总结数据和/或可W包括数据方面的更改(例如,增量(delta))。 在至少一个实施例中,CVM能够向TMS、其他CVM、其他流量管理器等提供数据流。
[0106] 在一些实施例中,可WW该样的方式来部署多个CVM,w使得它们可W形成一个或 多个集群。集群中的每个CVM可W彼此协调工作和/或每个集群可W与另一集群协调工作。 例如,CVM集群能够执行分布式查询。在另一示例中,CVM集群能够将数据复制到相同云和 /或不同云中的另一CVM,该可W提供冗余W支持CVM故障。在至少一个实施例中,TMS可 W通过将CVM部署为主节点并且将其他CVM部署为从节点来初始化CVM集群,其中,每个所 部署的CVM知道相同集群中的其他CVM。
[0107] 处理700在框706处继续,在框706处,可W对与所部署的CVM相关联的使用模式 进行监控。在一些实施例中,TMS可W从CVM获取周期性屯、跳。该周期性屯、跳可W广播该 CVM仍与TMS和/或其他CVM进行通信(例如,该CVM是可达的并且是活动的)。周期性屯、 跳还可W指示CVM是否能够执行给定任务。如果TMS(和/或其他CVM)没有接收到周期性 屯、跳,则CVM可能不再与TMS(和/或其他CVM)进行通信和/或CVM可能不能执行给定任 务。在一些实施例中,TMS能够例如基于周期性屯、跳或对来自TMS的请求无响应的CVM来 对所部署的CVM的故障进行检测。
[0108] 在其他实施例中,TMS可W周期性地监控CVM的工作负荷。在至少一个实施例中, CVM可W向TMS提供当前的资源使用情况、性能指标等。
[0109] 处理700接下来行进至框708,在框708处,CVM的部署可W被自动更新和/或被 动态更新。在至少一个实施例中,更新可W基于所监控的使用模式。在其他实施例中,如上 所述,TMS可W对CVM执行负载均衡功能。因此,可W基于每个CVM的工作负荷来动态更新 一个或多个CVM的部署(即,可W对CVM进行负载均衡)。
[0110] 在一些实施例中,TMS可W在超载和/或出故障的CVM的TMS上重新开始本地处 理。在其他实施例中,TMS可朗尋另一CVM部署到相同的云和/或不同的云。
[0111] 在框708之后,处理700可W返回呼叫处理,W执行其他动作。在一些实施例中, 处理700可W回环(未示出)到框706,W继续监控与所部署的CVM相关联的使用模式,并 且基于该些监控到的使用模式来动态更新部署(例如,在框708处)。
[0112] 应当理解,流程图的每个框W及流程图中的框的组合可W通过计算机程序指令来 实现。该些程序指令可W被提供给处理器来产生机器,W使得在处理器上执行的指令创建 用于实现(一个或多个)流程框中所规定的动作的手段。计算机程序指令可W由处理器执 行W使得处理器执行一系列操作步骤,从而产生计算机实现的处理,W使得在处理器上执 行的指令提供用于实现(一个或多个)流程框中所规定的动作的步骤。计算机程序指令还 可W使得流程图的框中所示的操作步骤中的至少一些操作步骤被并行执行。而且,一些步 骤还可W跨多于一个处理器而被执行,例如,该一情况可能在多处理器计算机系统中出现。 此外,流程图的一个或多个框或者框的组合还可W与其他框或框的组合同时被执行,或者 甚至在不背离本发明的范围或精神的情况下,W与所示出的序列不同的序列被执行
[0113] 因此,流程图的框支持用于执行所规定的动作的手段的组合、用于执行所规定的 动作的步骤的组合W及用于执行所规定的动作的程序指令手段。还应当理解,流程图的每 个框W及流程图中框的组合可W由专用基于硬件的系统或专用硬件和计算机指令的组合 来实现,该些专用基于硬件的系统执行所规定的动作或步骤。
[0114] 上面的说明、示例W及数据提供了对本发明的组成的使用和制造的完整描述。由 于本发明的许多实施例可W在不背离本发明的精神和范围的情况下来做出,因此,本发明 存在于所附权利要求中。
【主权项】
1. 一种用于管理网络通信的方法,包括: 采用流量管理系统(TMS),所述TMS包括至少一个组件虚拟机(CVM),其中,每个CVM能 够执行所述TMS的至少一个任务; 将所述至少一个CVM中的至少一个部署到云基础设施中以执行所述TMS的任务;以及 对与每个所部署的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的相应 工作负荷。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的相应 工作负荷。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被配置为能够执行一个或多个动作来通过网络管理通信,所述动作包括: 实现至少一个应用程序接口(API),以使用所述CVM和对所述CVM进行托管的云基础设 施来与流量管理系统(TMS)进行通信; 执行所述CVM被配置来执行的所述TMS的至少一个任务; 经由所述API向所述TMS提供与所述至少一个任务相关联的使用模式信息;以及 基于经由所述API接收的来自所述TMS的指令来动态更新CVM配置信息,来自所述TMS的所述指令基于由所述CVM发送的所述使用模式信息。43. -种系统,所述系统被配置为能够执行一个或多个动作以管理网络通信,所述系统 包括: 至少一个流量管理系统(TMS); 至少一个组件虚拟机(CVM),所述CVM被配置为能够执行所述TMS的至少一个任务; 所述至少一个CVM被配置为能够: 被部署于云基础设施中,其中,所述CVM被配置为能够通过应用程序接口(API)来与所 述TMS进行通信,以及 经由所述API向所述TMS提供与所述至少一个任务相关联的使用模式信息;并且 所述至少一个TMS被配置为能够: 将所述至少一个CVM中的至少一个CVM部署于所述云基础设施,以执行所述TMS的所 述至少一个任务,以及 对与每个所部署的CVM相关联的使用模式进行监控,以确定每个所部署的CVM的相应 工作负荷。
【专利摘要】实施例针对采用流量管理系统(TMS),该TMS能够向云部署组件虚拟机(CVM)以执行TMS的任务。在一些实施例中,TMS可以与一个或多个CVM一起使用。在至少一个实施例中,TMS可以维护每个CVM的镜像。每个CVM可以被配置为执行一个或多个任务、在特定的云基础设施中进行操作等。TMS可以在本地部署一个或多个CVM和/或向一个或多个公共云和/或私有云部署一个或多个CVM。在一些实施例中,CVM的部署可以基于要执行的任务的类型、预期资源使用情况、客户策略等。CVM的部署可以基于所监控的使用模式、任务完成情况、客户策略等进行动态更新。
【IPC分类】H04L12/26, H04L12/801
【公开号】CN104904161
【申请号】CN201380068079
【发明人】理查德·罗德里克·马斯特斯, 布伦特·韦恩·布鲁德, 保罗·艾姆里·斯扎博, 本恩·萨平·博尔莱
【申请人】F5网络公司
【公开日】2015年9月9日
【申请日】2013年12月27日
【公告号】EP2939369A1, US20140189686, WO2014106111A1