虚拟交换机截取器的制作方法

文档序号:6364484阅读:147来源:国知局
专利名称:虚拟交换机截取器的制作方法
技术领域
本发明涉及虚拟机,更具体地,涉及虚拟应用管理。
背景技术
信息技术(IT)专业人员负责为企业管理计算资源。通常,这些IT专业人员的任 务是降低成本以及提高运行效率。然而,数据中心会很快地接近容量,而购买新的服务器增 加了资本和运营开支,以及其它成本。同时,服务器通常且基本上未被充分使用,而提供新 机器是一个很长的过程,这使得难以响应于快速改变的商业需求。虚拟机技术方便了提高的物理资源利用率以及灵活的机器供应。习惯上,软件应 用紧密地耦合到运行软件应用的物理服务器。虚拟机技术提供了软件应用和物理硬件之间 的抽象层,并且允许例如在单台物理服务器上提供多个虚拟机。由此,工作负荷可被整合以 提高物理资产利用率,并且可根据需要迅速地部署和停用机器。为了方便管理,为IT专业人员提供用于监视物理资源、虚拟资源或两者的手段是 有帮助的。例如,关于性能或故障的量度对于确定是否要增加、移除或移动机器来说可能是 有用的。这一信息可通过应用探测(application instrumentation)来获取。通常,向应用添加代理,代理监视应用以及将相关信息传到该应用之外给管理组 件以供进一步处理。换句话说,对于每一个应用,添加一个代理,并且在代理和管理器之间 存在静态关系。举例来说,主机服务器上的虚拟机管理器可通过本地应用代理从虚拟机接 收与应用有关的状态消息。

发明内容
下面呈现了简化的发明内容,以便提供对所公开主题的某些方面的基本理解。本 发明内容不是广泛性的概观。它并不旨在标识关键/重要元素,也不旨在划定所要求保护 主题的范围。其唯一目的是以简化形式呈现一些概念,作为稍后呈现的更具体实施例的序言。简言之,本公开一般涉及方便虚拟应用的管理。可在主控应用的虚拟机外部观察 来自虚拟应用的消息,并且随后可根据该消息执行一个或多个动作。例如,可装备一个虚拟 交换机或类似机制来观察本地和/或远程托管的虚拟应用之间传递的消息,并且将这些消 息提供给管理服务以供进一步处理。所执行的动作可包括监视应用执行以及路由、过滤和/ 或转换消息等等。此外,本地收集的信息可被发送给更高级别的管理层以经受住虚拟机的 迅速布置和迁移,以及物理机器的增减、更新以及重命名。为实现上述及相关目的,在此结合以下描述和附图描述了所要求保护主题的某些 说明性方面。这些方面指示可实践本主题的各种方式,它们均落在所要求保护主题的范围 之内。当结合附图阅读以下详细描述时,本发明的其他优点和新颖特征将变得显而易见。


V
i ‘y (.......on i/i^
mw °niwimmrnw oct i mwim ^oo]
OZI‘cct MW
octOCT TOPf^OTI zzi MW‘Z m °fzi#i=moct
-uié^m ttmmmmzzi ^w‘zzioct °imiimm ( htw,x ^íííXwa-twa)octon i##mx‘oni##m
ooT °ootm^mm [izoo]
‘ iimmm
05^1 ^%¥
'wiww ,
^Ki,^íi £^iíí^m^w ií$fXd ^Yriüi,^^í^ í M¥üí [6ioo]
°m£/^-wêr<\
6 g [ mo]g a [9mo][emo]9 a [woo]s a [emo]
°mmmmmm^mm-ím^ f a t^oo]
c a [uoo]
°mmmmmmm^ z a [omo]
o hsrl Olirli T/^* vlV r M ^=> t=| ri /^rr/ví r -ttrY r *->ri “h/ X hsrlr以是独立应用,或者可被包括在服务器硬件内作为固件。如所示的,消息可由虚拟交換机 130路由到本地虚拟机或者路由到构成计算机网络(或换句话说,网络云140)的一部分的 远程虚拟机。因此,虚拟交換机130可允许本地以及远程的动态资源分配。例如,虚拟机120 可从一台物理主机迁移到另一台,而虚拟交換机130可将消息重新路由到其新的位置以维 持通信链接。此外,虚拟交換机130可做的不止简单地转发数据分组。虚拟交換机130还 可负责各种分组检查功能(假设它被提供了必要的数据)。因此,虚拟交換机130可利用提 供的或以其它方式可用的凭证、证书等(例如来自虚拟化组件132)来提供可读数据以便于 检查。此外,注意虚拟交换机组件130不限于是虚拟交換机本身,而是也可包括其它类似机 制,诸如但不限于虚拟集线器和虚拟路由器。另外,虚拟交换机130可以装备有交换机接ロ组件150 (亦简称接ロ组件150), 接ロ组件被配置成观察、或观察并截取传递的消息并将消息或消息的副本转发给管理组件 160以供进ー步处理。根据ー个实施例,接ロ组件150可对应于一个或多个应用编程接ロ。 注意,通过将接ロ组件150设置在主控应用的虚拟机之外,观察不依赖于应用是否具有能 够观察来自虚拟机内的消息的代理,并且易于在虚拟机被动态地部署、移除、和/或移动时 处理任何数量的虚拟机。除了通信量,接ロ组件150可被配置成获取并为管理组件160提供与虚拟机有关 的元数据。例如,这些元数据可标识虚拟机如何配置以及什么应用可在该虚拟机上执行。例 如当部署虚拟机时,至少一部分元数据可被提供给虚拟化组件132,元数据随后可由接ロ组 件150提供给管理组件160。管理组件160被配置成根据应用消息,以及可选地,根据从接ロ组件150获取的元 数据来执行动作。例如,应用消息通信可被监视并被用来计算量度,该量度提供与应用如何 执行以及是否发生了任何错误和/或异常有关的信息。数据还可被收集起来以允许趋势预 测或其它分析。管理组件160还可基于交换的消息来做出关于消息的路由、过滤以及转换 的决策,并且可将决策作为指令传递给虚拟交換机130和/或亲自执行由该指令所规定的 动作。此外,管理组件160所执行的动作可基于ー个或多个策略和/或由例如系统管理员 (IT专业人员)规定的明确指令。作为示例而非限制,可收集与哪个虚拟机正与哪些其它虚拟机通信有关的信息。 如果隔离策略(例如,规定对于可将虚拟机放置在相对于彼此的何处的限制)允许,该信息 可被用来将虚拟机放置在同一主机、机壳(enclosure)、局域网等,以便通过将通信中的虚 拟机移动得离彼此更近来改进性能,由此降低通信成本。此外,可以理解的是,限制管理对于系统的主要功能的影响是所期望的。因此,管 理组件160不需要改变或路由消息,消息时常可被排队并被从容地处理,不太会负面地影 响系统性能。此外,如果消息抵达队列的速度比它们被处理的速度快,消息可简单地被丢弃 而完全不被处理。图2更详细地描绘出代表性管理组件160。管理组件160包括ー个或多个分组监 视器组件210、ー个或多个消息检查器组件220、以及消息处理器组件230。一个或多个分组 监视器组件210和消息检查器组件220提供预处理操作,以允许消息处理器组件230在抽 象的更高层级执行动作。ー个或多个分组监视器组件210可被配置成采用已知的或新的技术来从较小的传递的单元中重新构建应用生成的消息(例如,整个SOAP封包或HTTP请求)。换言之,一 个或多个分组监视器组件210可被配置成对网络通信进行解析并在一组网络协议(亦称通 信协议)的栈内的任何一层解释该消息。为此,分组监视器组件210可被配置成根据对较 低层(例如,层2 (数据)和层3 (网络))的观察来重组网络栈(例如,层4-7 (传输、会话、 表示、应用))。根据一种实现方式,这一功能可通过运行与运行在虚拟机内的相同的协议栈
124的副本来实现。以此方式,可在不同层级(例如,层2、IP、TCP、HTTP、SOAP、......)上
理解消息,并且在合适的情况下,可在合适的层级上应用解密。类似地,由于可在所要求的
任何层级处解释网络协议栈,可在任意层(例如,数据分组层、消息层.......)规定至少影
响要被执行的动作的策略。还要注意,一个或多个分组监视器组件210可以是依赖于技术 的(例如,用于操作系统A的监视器组件、用于操作系统B的监视器组件)。一个或多个消息检查器组件220可以被配置成在网络栈的一个或多个指定层上 对特定技术的通信进行检查。此外,可为一个或多个消息检查器组件220指派为特定技术 和栈层标识请求和回复配对的任务。一旦标识了消息配对,消息配对可被提供给消息处理 器组件230以供进一步处理。消息处理器组件230提供与由一个或多个消息检查器组件220提供的消息相关联 的额外处理。更具体地,消息处理器组件230可采用与包括所支持的应用等的虚拟机有关 的元数据来帮助将消息与具体应用相关联。随后,可对消息数据执行任意数量的操作。例 如,可计算性能量度、导出健康信息、以及收集与应用有关的事件数据。另外,消息可被重新 路由到其它目的地、被过滤、和/或被转换。图3中描绘了消息处理器组件230的一个代表性实施例。如所示出的,消息处理 器组件230包括一个或多个身份监视器组件310 (身份监视器组件i——身份监视器组件M, 其中“M”是正整数),其被配置成根据消息本身以及可选地关于与消息相关联的一个或多 个虚拟机(例如,发射器、接收器)的元数据来标识源或目的地应用。一旦应用与消息相关 联,一个或多个工作项320 (工作项i——工作项N,其中“N”是正整数)可被生成用来定义 待执行的动作。例如,工作项320可包括用于存储应用活动的指令或用于报告软件异常的 出现的指令。换句话说,维护工作项的队列。工作管理器组件330被配置成例如根据上下文信息(例如,工作流项目、CPU利用
率、存储器利用率.......)对来自队列的工作项320进行调度以供执行。作为示例,在消
息未被改变或路由的情况下,当满足可接受的性能阈值时,工作项的队列可被从容地处理, 以限制对当前执行中的虚拟应用的影响。此外,如果工作管理器组件330和相关联的硬件 不能跟上消息处理,则消息可简单地被丢弃,或者换句话说,消息被允许通过而不经过完整 的分析和处理。为了监视新的或不支持的技术,消息检查器组件220可向主机服务器110(图1) 注册。然而,被监视的数据以及如何配置、标识、或收集与应用有关的数据在很大程度上可 在不知晓用于观察或以其它方式获取数据的具体技术栈的情况下被处理。此外,由于虚拟机外部的通信量是观察插入点,因此对于消息观察、截取之类而 言,虚拟机生存期限和配置不再是问题。例外,一旦虚拟机被配置成运行并被启动,则虚拟
化软件(例如,系统管理程序、虚拟监视器、虚拟交换机.......)将把与虚拟机有关的数据
存储起来以当观察该虚拟机的消息时帮助标识应用。类似的,虚拟机可提供用于对加密的通信进行解密的凭证(例如,证书),该凭证可被管理组件160用来方便观察和处理消息。 更一般地,数据可以是依赖于协议的,并且虚拟化组件132基于例如由虚拟机所提供的信 息可理解该数据。图4描绘了便于虚拟应用管理的系统400。类似于图1的系统100,系统400包括 主机服务器110,主机服务器110包括多个虚拟机120和虚拟交换机130,虚拟交换机130
在此处构成虚拟化组件132 (例如,虚拟机监视器、系统管理程序.......)的一部分。虚拟
交换机130装备有接口组件150,其用于允许对多个虚拟机120以及可通过网络云140来访 问的其它虚拟机之间的通信进行监视。与图1的系统100不同,在这一实施例中,管理组件 160由多个虚拟机120中的一个来主控。换句话说,管理组件160是一个虚拟设备(例如, 被设计为在虚拟机内部运行的软件映像)。如此处所示,管理组件160由“VMX”来主控。因 此,根据对跨虚拟机通信的观察、截取之类,接口组件150可将通信消息通过“VMX”提供给 管理组件160。类似的,注意管理组件160可被放置在主机服务器110(未示出)外部,并且 可通过网络云140来访问。在任一个实施例中,管理组件160保持之前所述的与根据消息 和可选的元数据等来执行各个动作有关的功能。将注意力转至图5,示出了便于分层管理的系统500。数个本地主机服务器502 (主 机服务器工——主机服务器M,其中“M”是正整数)可包括对应于图1、2和4中的管理组件 160的各个本地管理组件504 (本地管理组件i——本地管理组件M,其中“M”是正整数)。 每个本地管理组件504所收集的数据可被提供给包括中央管理组件510的管理服务器506。 另外,中央管理组件510可在数据存储520中存储应用定义(或者换句话说,应用元数据), 以允许随后对应用和应用的状态进行建模。另外,可收集关于应用的各种数据并存放在数 据存储520中以供分析和趋势预测等。基于分析、管理员输入和/或其它因素,中央管理器 组件510可指示本地管理组件504中的一个或多个执行动作或实施策略。例如,中央管理 组件510可调整各主机服务器502之间的负载平衡。为了允许虚拟机在执行期间在主机之 间移动且同时维持对消息的理解,虚拟机实时迁移可发生在TCP(传输控制协议)超时内, 并且中央管理组件510可包括与正被移动的虚拟机相同的协议栈的运行副本。系统500示出了双层分层管理结构,其中第一层对应于驻于各个主机服务器502 上的本地管理组件504,而第二层对应于由管理服务器506所执行的中央管理组件510。该 结构有利于在存在大量虚拟机情况下的应用管理以及虚拟机的快速放置和迁移,以及物理 机器的增减、更新和重命名。此外,应当理解系统500不限于两层,而是可伸缩以支持任意 数量个层或分层层级以便于管理。作为示例而非限制,可由一全局管理服务器(未示出) 来监督一群管理服务器,并且/或者可在主机服务器502和管理服务器506之间插入中间 管理服务器(未示出)。参考若干组件之间的交互已经描述了上述系统、架构、环境等。应该理解,这样的 系统和组件可以包括其中指定的那些组件或子组件,某些指定的组件或子组件,和/或附 加的组件。子组件也可以被实现为在通信上被耦合到其他组件而不是被包括在父组件中的 组件。此外,一个或多个组件和/或子组件可以组合成提供聚集功能的单个组件。系统、组 件、和/或子组件之间的通信可以根据推送(push)和/或拉取(pull)模型来实现。各组 件也可以与一个或多个其他组件进行交互,出于简要考虑在此未具体描述其他组件,但本 领域的技术人员均已知。
此外,以上公开系统以及以下方法的各个部分可以包括或包含人工智能、机器学 习或基于知识或规则的组件、子组件、过程、手段、方法或机制(例如,支持向量机、神经网 络、专家系统、贝叶斯置信网络、模糊逻辑、数据融合引擎、分类器...)。这样的组件和其它 组件可以自动化其执行的某些机制或过程,由此使得系统和方法的各部分更为自适应以及 高效及智能。作为示例而非限制,本地管理组件504和全局管理组件510可采用这一机制 来确定或推断管理战略等。考虑到以上描述的示例性系统,參考图6-8的流程图将可以更好地理解依照所公 开的主题而实现的方法。尽管为了说明简洁起见,按照一系列框示出和描述了方法,但是, 应该理解和知道,所要求保护的主题不限于框的顺序,因为ー些框可以按与此处所描绘和 描述的不同的顺序进行和/或与其它框并发地进行。此外,并非全部所示出的框都是实现 下面所描述的方法所必需的。參考图6,示出了便于虚拟应用管理的方法600。在附图标记610处,观察发送到 以及发送自ー个或多个虚拟机的消息。例如,应用可跨两个或更多虚拟机分布,并且可观察 跨应用通信。此外,这ー观察、截取之类可在虚拟机外部执行。在一个实施例中,这些消息 可采用TCP/IP数据分组的形式。然而,消息也不限于此。作为示例而非限制,消息可以规 定指向由两个或更多虚拟机所共享的本地存储器的指针。此外,要理解的是跨应用通信不 限于本地虚拟机,而是可包括在由其它可通过网络访问的物理服务器所主控的虚拟机之间 的通信。在标记620,可根据消息执行ー个或多个动作。在一个实例中,动作可对应于根据 消息以及可选地根据虚拟机元数据来标识消息所对应的特定应用。在另ー实例中,动作可 对应于监视应用消息并存储消息以供后续使用。另外或另选地,消息数据可被分析、相关、 聚集和/或设置阈值等,其结果可被用于例如对消息进行路由、过滤和/或转换以及放置、 迁移、更新虚拟机。此外,可基于例如由系统管理员所规定的ー个或多个策略或明确指令来 执行这些动作。作为示例而非限制,可根据源和目的地虚拟机的相对位置使用适当的层级 协议来执行基于策略的消息转换。即,如果虚拟机在同一个主机上,可执行存储器块转移; 如果虚拟机在同一个刀片服务器机売上,可转移巨量的块;如果虚拟机位于同一个局域网, 可采用积极的分块;并且如果确定对于网络接ロ卡卸载了传输控制协议,则可采用特定协 议,如流传输。图7描绘了ー种应用通信处理的方法700。在附图标记710处,从例如观察或截取 跨虚拟机的应用消息的接ロ获取数据分组。在标记720,重新构建该消息。采用已知或新的 机制,网络协议栈的应用层(层7)以及其它中间层可以从数据链路层和/或网络层(层2 和3)数据分组中重构。这可通过例如运行与数据分组获取自的虚拟机相同的网络协议栈 (例如,网络协议套件的实现)的本地副本来完成。在标记730,应用凭证来对加密的数据 分组(或更具体来说,对网络协议栈层)进行解密。当虚拟机被放置(或換言之,部署)在 主机服务器上时,可由虚拟机提供这些凭证或与其它安全机制有关的信息,并且随后可被 获取并用于使数据能够被阅读。在附图标记740,消息配对被标识,即请求与针对例如对于 特定技术或网络协议层的各个请求的响应相配对。在标记750,根据消息以及可选地根据与 虚拟机有关的元数据来标识与消息相关联的应用。图8是示出应用管理的方法800的流程图。在附图标记810,从虚拟应用消息中获取数据。例如,可观察本地和/或远程主控的虚拟应用之间的消息,而该消息内容可以是被 获取的数据。在标记820,可对数据执行一个或多个动作。例如,数据可被存储以供随后的 应用建模或趋势预测,和/或被处理以计算应用如何执行或分组应如何被路由、过滤或转 换。另外,可以理解的是所执行的动作还可由策略或明确指令规定。在附图标记830,一个 或多个动作的结果被输出给例如系统管理员或文件以供稍后分析。此外,在消息被截取且 想要不同的路由的情况下,输出可对应于被重新路由的消息。如此处所描述的,与通过代理来在应用层观察应用活动的传统管理系统相比,可 通过观察主控虚拟机外部的消息来方便虚拟应用管理。不过,这两种应用管理的方法不需 要互相排斥。相反,与观察例如来自虚拟交换机的消息相反,或者除此之外,可增加本发明 的管理方法来接受来自驻于应用的代理的输出。类似信息可通过两种方法中的任意一种来 获取。此外,采用两种方法可提供用于确证结果的手段,或者换言之,用于增加由一种方法 所产生的结果的置信度的手段。在此所用的术语“组件”、“系统”和“引擎”及其各种形式意指与计算机相关的实 体,其可以是硬件、硬件和软件的组合、软件、或执行中的软件。例如,组件可以是但不限于 是,在处理器上运行的进程、处理器、对象、实例、可执行程序、执行的线程、程序和/或计算 机。作为说明,在计算机上运行的应用和计算机都可以是组件。一个或多个组件可以驻留 在进程和/或执行线程中,并且组件可以位于一个计算机内和/或分布在两个或更多计算 机之间。在本文中使用的词语“示例性”或其各种形式意味着用作示例、实例或说明。在此 被描述为“示例性”的任何方面或设计并不一定要被解释为相比其它方面或设计更优选或 有利。此外,各示例只是出于清楚和理解的目的来提供的并且并不意味着以任何方式限制 或约束所要求保护主题或本发明的相关部分。可以理解,本来可呈现不同范围的多个附加 或替换示例,但出于简明的目的已被省略。如此处所使用,术语“推论”或“推断”通常指的是从经由事件和/或数据捕捉的一 组观察结果来推理或推断系统、环境、和/或用户的状态的过程。可以使用推断来标识特定 上下文或动作,也可以生成例如状态上的概率分布。推断可以是概率性的,即,基于对数据 和事件的考虑,计算在感兴趣状态上的概率分布。推断也可以是指用于从一组事件和/或 数据构成较高级别的事件的技术。这样的推断导致从一组观察到的事件和/或存储的事件 数据构建新的事件或动作,不管事件在时间上是否紧密相关,以及事件和数据是来自一个 还是多个事件和数据源。可采用各种分类方案和/或系统(例如,支持向量机、神经网络、
专家系统、贝叶斯置信网络、模糊逻辑、数据融合引擎......)来执行关于所要求保护主题
的自动化和/或推断的动作。而且,对于在详细描述或权利要求书中使用术语“包括”、“包含”、“具有”、“含有” 或其它形式的变型而言,这样的术语旨在以类似于术语“包括”的方式体现包含性,如同“包 括”在用作权利要求书中的过渡词时所解释的那样。为了为所要求保护主题提供上下文,图9以及以下讨论旨在提供对其中可以实现 本主题的各方面的合适环境的简要、概括描述。然而,合适的环境只是示例并且并非旨在对 使用范围或功能提出任何限制。尽管能够在可以在一台或多台计算机上运行的程序的计算机可执行指令的一般上下文中描述以上公开的系统和方法,但是,本领域的技术人员将认识到,各方面也可以与 其他程序模块等相结合地实现。一般而言,程序模块包括执行特定任务或实现特定抽象数 据类型的例程、程序、组件和数据结构等。此外,本领域技术人员可以理解,上述系统和方法 可用各种计算机系统配置实现,包括单处理器、多处理器或多核处理器计算机系统、小型计 算设备、大型计算机、以及个人计算机、手持式计算设备(例如,个人数字助理(PDA)、电话、
手表......)、基于微处理器或可编程消费或エ业电子设备等。各方面也可以在其中任务由
通过通信网络链接的远程处理设备执行的分布式计算环境中实现。然而,所要求保护主题 的某些方面,如果不是所有方面的话,可以在独立计算机上实施。在分布式计算环境中,程 序模块可以位于本地和远程存储器存储设备中的一个或两者中。參考图9,示出了示例通用计算机910或计算设备(例如,台式机、膝上型计算机、
服务器、手持式设备、可编程消费或エ业电子产品、机顶盒、游戏系统......)。计算机910
包括一个或多个处理器920、存储器930、系统总线940、大容量存储950、以及ー个或多个设 备接ロ组件970。系统总线940与至少上述系统组件通信地耦合。然而,可以理解,在其最 简单的形式中,计算机910可包括耦合到存储器930的一个或多个处理器920,该ー个或多 个处理器920执行存储在存储器930中的各种计算机可执行动作、指令和/或组件。处理器920可以用通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现 场可编程门阵列(FPGA)或其它可编程逻辑器件、分立门或晶体管逻辑、分立硬件组件或被 设计为执行此处描述的功能的其任意组合来实现。通用处理器可以是微处理器,但在替换 方案中,处理器可以是任何处理器、控制器、微控制器、或状态机。处理器920还可被实现为 计算设备的组合,例如DSP和微处理器的组合、多个微处理器、多核处理器、结合DSP核的一 个或多个微处理器、或任何其它这种配置。计算机910可包括各种计算机可读介质或以其他方式与各种计算机可读介质交 互以便于控制计算机910来实现所要求保护主题的ー个或多个方面。计算机可读介质可以 是能由计算机910访问的任何可用介质,并包含易失性和非易失性介质以及可移动和不可 移动介质。作为示例而非限制,计算机可读介质可包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其 它数据这样的信息的任意方法或技术来实现的易失性和非易失性、可移动和不可移动介 质。计算机存储介质包括,但不限于,存储器设备(例如,随机存取存储器(RAM)、只读存储
器(ROM)、电可擦除可编程只读存储器(EEPROM)......)、磁存储设备(例如,硬盘、软盘、磁
带盒、磁带......)、光盘(例如,紧致盘(CD)、数字多功能盘(DVD)......)、以及固态设备
(例如,固态驱动器(SSD)、闪存驱动器(例如,卡、棒、键驱动器......)......)、或者可用
于存储所需信息并且可由计算机910访问的任何其他介质。通信介质通常以诸如载波或其他传输机制等已调制数据信号来体现计算机可读 指令、数据结构、程序模块或其他数据,并包括任何信息传送介质。术语“已调制数据信号” 是指具有以在信号中编码信息的方式被设定或改变其一个或多个特征的信号。作为示例而 非限制,通信介质包括诸如有线网络或直接线连接之类的有线介质,以及诸如声学、RF、红 外及其他无线介质之类的无线介质。上述的任意组合也应包含在计算机可读介质的范围 内。存储器930和大容量存储950是计算机可读存储介质的示例。取决于计算设备的确切配置和类型,存储器930可以是易失性的(例如RAM)、非易失性的(例如ROM、闪
存......)或是两者的某种组合。作为示例,包括诸如在启动期间在计算机910内的元件
之间传输信息的基本例程的基本输入/输出系统(BIOS)可被存储在非易失性存储器中,而 易失性存储器可担当外部高速缓存存储器以便于处理器920的处理等。大容量存储950包括相对于存储器930用于存储大量数据的可移动/不可移动、 易失性/非易失性计算机存储介质。例如,大容量存储950包括但不限于,诸如磁盘或光盘 驱动器、软盘驱动器、闪存存储器、固态驱动器、或记忆棒的一个或多个设备。存储器930和大容量存储950可包括或其中存储有操作系统960、一个或多个应用 962、一个或多个程序模块964和数据966。操作系统960用于控制和分配计算机910的资 源。应用962包括系统和应用软件之一或两者,并且可利用操作系统960对资源的管理通 过存储在存储器930和/或大容量存储950中的程序模块964和数据966来执行一个或多 个动作。因此,应用962可根据由此提供的逻辑来将通用计算机910变成专用机器。所要求保护主题的全部或各部分可以使用产生控制计算机以实现所公开功能的 软件、固件、硬件或其任意组合的标准编程和/或工程技术来实现。作为示例而非限制,系 统100的接口组件150和管理组件160或其部分可以是或形成应用962的一部分,并且包 括存储在存储器中和/或大容量存储950中的一个或多个模块964以及数据966,其功能可 在由一个或多个处理器920执行时被实现。根据一个特定实施例,处理器920可与片上系统(S0C)或在单个集成电路基座上 包括或换言之集成硬件和软件的类似架构相对应。此处,处理器920可包括至少与处理器 920和存储器930相似的一个或多个处理器以及存储器等。常规处理器包括最少量的硬件 和软件并且广泛依赖于外部硬件和软件。作为对比,处理器的S0C实现更强大,因为它将硬 件和软件嵌入其中以能够用最少的硬件和软件或不依赖于外部硬件和软件来启用特定功 能。例如,接口组件150和管理组件160和/或相关联的功能可被嵌入到S0C架构中的硬 件内。计算机910还包括通信地耦合到系统总线940并方便与计算机910的交互的一 个或多个设备接口组件970。作为示例,设备接口组件970可以是端口(例如,串行、并行、
PCMCIA、USB、火线......)或接口卡(例如,声音、视频......)等。在一个示例实现中,设
备接口组件970可被具体化为用户输入/输出接口,该用户输入/输出接口使得用户能够 通过一个或多个输入设备(例如,诸如鼠标的指向设备、跟踪球、指示笔、触摸垫、键盘、话
筒、操纵杆、游戏垫、圆盘式卫星天线、扫描仪、相机、其他计算机......)来将命令和信息
输入到计算机910中。在另一示例实现中,设备接口组件970可被具体化为输出外围接口,
该输出外围接口向显示器(例如,CRT、IXD、等离子......)、扬声器、打印机和/或其他计
算机等提供输出。此外,设备接口组件970可被具体化为网络接口,该网络接口使得能够诸 如通过有线或无线通信链路与其它计算设备(未示出)通信。以上所已经描述的内容包括所要求保护主题的各方面的示例。当然,出于描绘所 要求保护主题的目的而描述每一个可以想到的组件或方法的组合是不可能的,但本领域内 的普通技术人员应该认识到,所要求保护主题的许多进一步的组合和排列都是可能的。从 而,所公开的主题旨在涵盖落入所附权利要求书的精神和范围内的所有这样的变更、修改 和变化。
权利要求
1.ー种便于应用管理的方法,包括 采用被配置来执行存储在存储器(930)中的计算机可执行指令以执行以下动作的至少ー个处理器(920) 观察主控应用的虚拟机(120)外部的虚拟应用消息;以及 根据所述消息执行动作。
2.如权利要求I所述的方法,其特征在于,还包括根据与所述主控应用的虚拟机中的至少ー个有关的元数据执行所述动作。
3.如权利要求I所述的方法,其特征在于,还包括接收影响所执行的动作的策略。
4.如权利要求3所述的方法,其特征在于,还包括根据所述策略在网络协议栈层级解释所述消息。
5.如权利要求I所述的方法,其特征在干,执行动作包括根据所述消息确定所述虚拟机中的ー个或多个的放置。
6.一种便于虚拟应用管理的系统(100,900),包括 耦合到存储器(930)的处理器(920),所述处理器(920)被配置来执行存储在所述存储器(930)中的以下计算机可执行组件 第一组件(150),其被配置成观察在通过虚拟交換机(130)通信的分开的虚拟机(120)上执行的应用之间的消息;以及 第二组件(160),其被配置成根据所观察到的消息来执行动作。
7.如权利要求6所述的系统,其特征在干,所述第二组件被配置成根据与所述虚拟机中的至少ー个有关的元数据来执行所述动作。
8.如权利要求6所述的系统,其特征在于,所述消息提供指向由所述虚拟机中的两个或更多所共享的存储器的指针。
9.如权利要求6所述的系统,其特征在于,所述消息是由为ー个或多个本地虚拟机提供协议处理的专用虚拟设备所提供的。
10.如权利要求I所述的系统,其特征在于,还包括第三组件,其被配置成将监视应用执行的动作的结果从本地主机服务器传递到管理服务器。
全文摘要
通过观察主控应用的虚拟机外部的虚拟应用之间传递的消息来便于应用管理。在一个实例中,可观察来自主控虚拟机外部的虚拟交换机内的消息。随后根据消息可执行一个或多个动作,诸如但不限于应用监视以及消息路由、过滤、和/或转换。
文档编号G06F9/455GK102664786SQ201210029029
公开日2012年9月12日 申请日期2012年2月9日 优先权日2011年2月10日
发明者A·科埃略, A·萨格维, I·莱特卡 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1