首页> 中国专利> 有状态环境中的网络适配器硬件状态迁移发现

有状态环境中的网络适配器硬件状态迁移发现

摘要

本申请涉及有状态环境中的网络适配器硬件状态迁移发现。提供了一种方法,其中发现系统接收移动在第一系统上执行的虚拟机的迁移请求。该发现系统识别对应于第一系统的第一网络适配器,并且识别被第一网络适配器用于处理由虚拟机生成的数据分组的硬件状态数据。发现系统进而识别与该硬件状态数据的原生格式兼容的第二网络适配器,并且把虚拟机迁移到对应于所识别出的第二网络适配器的第二系统。

著录项

  • 公开/公告号CN103843302A

    专利类型发明专利

  • 公开/公告日2014-06-04

    原文格式PDF

  • 申请/专利权人 国际商业机器公司;

    申请/专利号CN201280048970.8

  • 申请日2012-09-26

  • 分类号H04L29/06(20060101);H04L12/28(20060101);

  • 代理机构中国国际贸易促进委员会专利商标事务所;

  • 代理人李玲

  • 地址 美国纽约

  • 入库时间 2023-12-17 00:30:37

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2017-07-21

    授权

    授权

  • 2014-07-02

    实质审查的生效 IPC(主分类):H04L29/06 申请日:20120926

    实质审查的生效

  • 2014-06-04

    公开

    公开

说明书

技术领域

本公开内容涉及识别根据有状态卸载格式处理处理分组的源网络 适配器的硬件属性,以及进而发现支持该硬件属性原生格式的等效目 的地网络适配器。

背景技术

现代通信网络适配器支持“有状态”卸载数据传输格式,其中网 络适配器执行特定的处理任务,以便减少主机系统的处理负荷。典型 的有状态卸载格式包括远程直接存储器存取(RDMA)、互联网广 域RDMA协议(iWARP)、Infiniband(IB)以及TCP卸载引擎 (TOE)。为了支持有状态卸载格式,网络适配器把用于任何给定 虚拟机连接的“状态”限定到对应于该虚拟机的网络适配器实例的上 下文。代表这种上下文的有状态卸载信息包括以每个虚拟机为基础描 述硬件属性的硬件状态数据,诸如对应于连接、寄存器、内存注册、 用于与虚拟机通信的结构(队列对、完成队列,等等)以及诸如地址 解析协议(ARP)表的其它各种数据结构的信息。

发明内容

根据本公开内容的一种实施例,提供了一种方法,其中发现系统 接收移动在第一系统上执行的虚拟机的迁移请求。该发现系统识别对 应于第一系统的第一网络适配器,并且识别由第一网络适配器用来处 理由虚拟机生成的数据分组的硬件状态数据。发现系统还识别与所述 硬件状态数据的原生格式兼容的第二网络适配器,并且把虚拟机迁移 到对应于所识别出的第二网络适配器的第二系统。

以上是概述并且因此必然包含细节的简化、一般化和忽略;因 此,本领域技术人员将认识到,本概述仅仅是说明性的而不是要以任 何方式进行限制。如只能由权利要求定义的本公开内容的其它方面、 发明性特征及优点将在以下阐述的非限制性具体描述中变得显然。

附图说明

通过参考附图,本公开内容可以得到更好的理解,并且其各种目 标、特征及优点将对本领域技术人员变得显然,其中:

图1是示出把逻辑分区从源系统迁移到目的地系统的迁移代理的 示例性图,其中逻辑分区包括虚拟机和原生网络适配器硬件状态数 据;

图2是示出发现合适目的地系统的图形表示的示例性图;

图3是包括主机属性以及对应的网络适配器属性表条目的示例性 候选表;

图4是示出在发现目的地系统和把虚拟机迁移到该目的地系统时 所采取的步骤的示例性流程图;

图5是示出在发现合适目的地系统时所采取的步骤的示例性流程 图,该目的地系统包括兼容主机以及与源系统相比而言等效的网络适 配器;

图6是示出在主机系统中准备要迁移的虚拟机时所采取的步骤的 示例性流程图;

图7是示出把逻辑分区从源系统迁移到目的地系统时所采取的步 骤的示例性流程图;

图8是示出跟踪并存储用于在虚拟机上执行的模块的硬件状态数 据的网络适配器的示例性图;

图9是示出硬件状态数据从源网络适配器到目的地网络适配器的 迁移的示例性图;

图10是示出访问候选表存储区域以便识别合适目的地系统的分 布式策略服务的示例性图;

图11是示出覆盖到物理网络空间上的虚拟网络抽象的示例性 图;

图12是其中可以实现本文所述方法的数据处理系统的示例性框 图;以及

图13提供了图12中所示信息处理系统环境的扩展,以说明本文 所述的方法可以在联网环境中操作的各种各样的信息处理系统上执 行。

具体实施方式

本文所使用的术语仅仅是为了描述特定的实施例而不是要作为本 公开内容的限制。所本文所使用的,除非上下文明确地另外指出,否 则单数形式“一”、“一个”和“这个”是要也包括复数形式。还应 当理解,当在本说明书使用时,术语“包括”和/或“包含”规定所 述特征、整数、步骤、操作、元素和/或部件的存在,但是并不排除 一个或多个其它特征、整数、步骤、操作、元素、部件和/或其组的 存在或添加。

以下权利要求中所有方式或步骤加功能元素的对应结构、材料、 动作及等价物都是要包括用于结合具体所述的其它所述元素执行所述 功能的任何结构、材料或行为。已经为了说明和描述给出了本公开内 容的描述,但这不是详尽的或者要把本公开内容限定到所公开的形 式。在不背离本公开内容范围与主旨的情况下,许多修改和变化对本 领域普通技术人员都将是显而易见的。实施例的选择和描述是为了最 好地解释本公开内容的原理和实践应用,并使本领域普通技术人员能 够理解本公开内容具有适于预期特定使用的各种修改的各种实施例。

所属技术领域的技术人员知道,本公开内容的各个方面可以实现 为系统、方法或计算机程序产品。因此,本公开内容的各个方面可以 具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方 式(包括固件、驻留软件、微代码等),或硬件和软件方面结合的实 施方式,这里可以统称为“电路”、“模块”或“系统”。此外,在 一些实施例中,本公开内容的各个方面还可以实现为在一个或多个计 算机可读介质中的计算机程序产品的形式,该计算机可读介质中包含 计算机可读的程序代码。

可以采用一个或多个计算机可读介质的任意组合。计算机可读介 质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读 存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、 或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存 储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线 的电连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只 读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光 纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器 件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质 可以是任何包含或存储程序的有形介质,该程序可以被指令执行系 统、装置或者器件使用或者与其结合使用。

计算机可读的信号介质可以包括在基带中或者作为载波一部分传 播的数据信号,其中承载了计算机可读的程序代码。这种传播的信号 可以采用多种形式,包括——但不限于——电磁信号、光信号或上述 的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储 介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播 或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用 的程序。

计算机可读介质上包含的程序代码可以用任何适当的介质传输, 包括——但不限于——无线、有线、光缆、RF等等,或者上述的任 意合适的组合。

可以以一种或多种程序设计语言的任意组合来编写用于执行本发 明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设 计语言—诸如Java、Smalltalk、C++等,还包括常规的过程式程序 设计语言—诸如“C”程序设计语言或类似的程序设计语言。程序代 码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作 为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上 执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的 情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN) 或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算 机(例如利用因特网服务提供商来通过因特网连接)。

下面将参照根据本发明实施例的方法、装置(系统)和计算机程 序产品的流程图和/或框图描述本发明。应当理解,流程图和/或框图 的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机 程序指令实现。这些计算机程序指令可以提供给通用计算机、专用计 算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使 得这些计算机程序指令在通过计算机或其它可编程数据处理装置的处 理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规 定的功能/动作的装置。

也可以把这些计算机程序指令存储在计算机可读介质中,这些指 令使得计算机、其它可编程数据处理装置、或其他设备以特定方式工 作,从而,存储在计算机可读介质中的指令就产生出包括实现流程图 和/或框图中的一个或多个方框中规定的功能/动作的指令的制造品 (article of manufacture)。

这些计算机程序指令也可以加载到计算机、其它可编程数据处理 装置或者其它设备上,使得一系列操作步骤在计算机、其它可编程装 置或者其它设备上执行,产生一种计算机实现的过程,使得在所述计 算机或者其它可编程装置上执行的指令提供用于实现在所述流程图和 /或框图中的一个或多个方框中所指定的功能/动作的过程。

以下的具体描述将总体上遵循如上所述本公开内容的概述,根据 需要进一步解释和扩展本公开内容各方面和实施例的定义。

本公开内容描述了用于发现合适目的地系统的方法,基于有状态 卸载格式经计算机网络发送数据分组的虚拟机要迁移到所述目的地系 统。因此,系统管理员具有,在需要的时候,诸如由于安全问题或网 络带宽问题,把虚拟机迁移到不同目的地系统的灵活性。

图1是示出把包括原生网络适配器硬件状态数据的虚拟机从源系 统迁移到目的地系统的迁移代理的示例性图。覆盖网络环境100覆盖 到物理网络上并且利用逻辑策略经虚拟网络在虚拟机之间发送数据。 因此,虚拟网络独立于物理网络的物理拓扑结构约束(对于进一步的 细节,见图11和对应的文字)。

覆盖网络环境100包括源系统105。源系统105包括主机110和 源网络适配器150。主机110包括规定虚拟机135和设备驱动器140 的管理程序145。虚拟机135利用设备驱动器140向源网络适配器 150发送有状态卸载数据分组。例如,有状态卸载数据分组可以遵守 诸如远程直接存储器存取(RDMA)、互联网广域RDMA协议 (iWARP)、Infiniband(IB)或TCP卸载引擎(TOE)的有状态 卸载格式。

源网络适配器150进而利用硬件状态数据152处理数据分组并且 经覆盖网络环境100把数据分组发送到目的地虚拟机。硬件状态数据 152包括代表源网络适配器150的上下文的有状态信息,诸如关于用 于与虚拟机135通信的连接和结构的数据(例如,队列对、完成队列 等),并且还可以包括寄存器信息、内存注册以及其它各种数据结构 (例如,ARP表、序列号、重发信息等)。

在一种实施例中,硬件状态数据152包括(OSI模型的)层4连 接状态信息,该信息允许源网络适配器150执行重发和分组确认,这 减轻了主机110执行这种琐碎的任务。例如,iWARP经标准的以太 网架构提供RDMA能力,它利用映射到底层以太网适配器的应用缓 冲区。当通信启动时,与启动TCP连接的网络适配器进行连接。一 旦处于活动状态,在分组建立时,应用的传出缓冲区上的数据就被网 络适配器封装为TCP段。

系统管理员可能希望把虚拟机135从源系统105迁移到不同的系 统,诸如为了安全目的或者网络带宽管理目的。因此,系统管理员可 以向(包括在分布式策略服务165中的)迁移代理160发送迁移命 令,该迁移代理负责发现包括兼容主机以及支持覆盖网络环境100的 等效网络适配器的合适目的地系统。在一种实施例中,兼容主机是满 足迁移虚拟机的系统需求的主机,其中所述需求是诸如CPU需求、 存储器需求、带宽需求等。在一种实施例中,等效的网络适配器是对 应于与源网络适配器150相同供应商标识符和相同版本标识符的网络 适配器。

迁移代理160通过一系列发现步骤把目的地系统115识别为合适 的目的地系统。在一种实施例中,迁移代理160利用包括主机属性和 网络适配器属性的候选表,据其识别合适的目的地系统(对于进一步 的细节,见图3、5以及对应的文字)。在这种实施例中,迁移代理 160确定主机120支持虚拟机135的系统需求并且目的地网络适配器 190与源网络适配器150等效(例如,包括匹配的设备id、固件版本 及其它相关的适配器属性)。

为了迁移虚拟机135,硬件状态数据152也必须迁移。但是,硬 件状态数据152对于设备驱动器140和虚拟机135来说是部分或完全 不透明的。因此,迁移代理160指示源网络适配器150(通过设备驱 动器140、管理程序145或者其它驱动代理)提取硬件状态数据 152。源网络适配器150停顿I/O和存储器活动,以避免提取过程中 的状态变化或讹误,并且经设备驱动器140把硬件状态数据152拷贝 到共享存储器142指定的存储器块起始地址。该存储器块起始地址可 以作为其初始化的一部分来协商或者作为提取命令中的一个参数提供 给源网络适配器150。

迁移代理160向源系统105和目的地系统115发送迁移虚拟机 135的迁移请求。进而,管理程序145和185建立连接,以便把虚拟 机135(包括共享存储器142)流传输到主机120、结果是流传输到 虚拟机175和共享存储器182。此外,管理程序185把设备驱动器 180分配给逻辑分区170,并且把状态插入命令发送到目的地网络适 配器190。该状态插入命令指示目的地网络适配器190从共享存储器 182所述存储器块起始地址检索硬件状态数据,并且把硬件状态数据 152加载到网络适配器190上。因此,当存储在目的地网络适配器 190中时,硬件状态数据152维持其原生形式,从而排除了地址转换 步骤。

在一种实施例中,目的地网络适配器190执行校验和来证实硬件 状态数据。在另一种实施例中,目的地网络适配器190可以利用首部 或单独的标记有效地设置上下文。在还有另一种实施例中,当源网络 适配器150在迁移过程中保持活动时,迁移代理160可以方便源网络 适配器150和目的地网络适配器190之间的一个或多个事务,以验证 它们状态的等效性。

图2是示出发现合适的目的地系统的图形表示的示例性图。在一 种实施例中,迁移代理160基于可用主机、兼容主机及等效的网络适 配器迭代地选择合适的目的地系统。在另一种实施例中,迁移代理 160使用候选表,诸如图3中所示的候选表,执行这种迭代步骤。

迁移代理识别覆盖网络环境100中包括的可用的主机220。可用 的主机220包括主机250-290,每个主机使用各种不同的网络适配 器。图2中的例子显示迁移代理确定主机250-268不满足迁移虚拟机 的主机需求(例如,没有足够的存储器或带宽可用性)。因此,迁移 代理把主机272-290识别为满足或超过迁移虚拟机的主机需求的“兼 容”主机230。

接下来,迁移代理分析对应于兼容主机230的网络适配器274、 285和295,以便识别等效于由迁移虚拟机所使用的网络适配器的网 络适配器。在一种实施例中,等效的网络适配器是设备ID和供应商 ID都与迁移虚拟机的网络适配器匹配的网络适配器。图2中所示的 例子显示网络适配器295等效于迁移虚拟机的网络适配器。因此,迁 移代理向源和目的地系统的管理程序发送建立连接并且把虚拟机从源 系统迁移到目的地系统的消息。

图3是包括主机属性和对应的网络适配器属性表条目的示例性候 选表。迁移代理(作为分布式策略服务的一部分)管理候选表300, 以便为执行有状态卸载数据传输的虚拟机跟踪主机需求和网络适配器 需求。在一种实施例中,本地分布式策略服务器可以管理候选表 300,该表将包括处于本地虚拟网络水平的表条目。在另一种实施例 中,根分布式策略服务器可以管理候选表300,该表将包括处于全局 覆盖网络环境水平的表条目(对于进一步的细节,见图10及对应的 文字)。

候选表300包括表条目的列表,这包括主机名称(列310)和主 机属性(列320)。例如,主机系统可以针对虚拟机规定处理能力、 存储器和带宽的特定量。在一种实施例中,列320可以包括最小化、 额定和/或最大化主机属性。

表条目还包括用于由对应主机系统使用的网络适配器的网络适配 器信息。列330包括网络适配器标识符以及列340包括网络适配器属 性。在一种实施例中,网络适配器属性识别网络适配器的供应商ID 和设备ID。因此,迁移代理可以发现等效的(匹配的)网络适配 器,以便把处于其原生格式的硬件状态数据迁移到不同的网络适配 器。

图4是示出在发现目的地系统并且把虚拟机从源系统迁移到目的 地系统时所采取的步骤的示例性流程图。迁移代理处理在400开始, 随后迁移代理从管理员415接收迁移在源系统上执行的虚拟机的请求 (步骤410)。虚拟机发送穿越网络适配器的有状态卸载数据分组 (例如,RDMA),其中网络适配器利用硬件状态数据处理数据分 组。

在步骤420,迁移代理识别虚拟机的数据分组穿越的源网络适配 器(例如,包括在请求中或者经候选表识别)。作出关于网络适配器 的硬件状态是否可移动的判定(例如,适配器支持提取,判定 430)。如果网络适配器的硬件状态是不可移动的,则判定430分支 到“否”分支,随后迁移代理在步骤435向管理员415返回错误,并 且在步骤438结束。

另一方面,如果网络适配器的硬件状态是可移动的,则判定430 分支到“是”分支,随后迁移代理通过一系列步骤发现其网络适配器 支持由源网络适配器使用的硬件状态数据的合适目的地系统(预定义 的过程块440,对于进一步的细节,见图5和对应的文字)。

在步骤450,迁移代理向源网络适配器发布提取命令(例如,通 过其设备驱动器或管理程序),以停顿I/O和存储器活动,并且把硬 件状态数据拷贝到共享存储器位置(对于进一步的细节,见图6和对 应的文字)。

源系统105进而向迁移代理发送硬件状态数据已经拷贝到共享存 储器的指示(在步骤470接收)。迁移代理向源系统和目的地系统发 送建立连接并且把虚拟机(包括硬件状态数据)从源系统105迁移到 目的地系统115的迁移请求(预定义的过程块480,对于进一步的细 节,见图7和对应的文字)。一旦被迁移,目的地系统115的管理程 序就根据迁移后的硬件状态数据配置其目的地网络适配器。在步骤 490,虚拟机在目的地系统115上恢复操作,并且迁移代理处理在 495结束。

图5是示出迁移代理在发现包括兼容主机和等效网络适配器的合 适目的地系统时所采取的步骤的示例性流程图。在一种实施例中,等 效的网络适配器是能够以其原生硬件格式(例如,不需要地址转换) 利用源网络适配器的硬件状态数据的适配器。

目的地发现处理在500开始,随后在步骤520(包括在分布式策 略服务中的)迁移代理识别对应于迁移虚拟机的系统需求。例如,虚 拟机系统需求可以包括处理速度、存储器需求、网络带宽需求等。在 步骤530,迁移代理访问候选表525并且识别满足主机系统需求的兼 容主机系统。在一种实施例中,当主机系统能够满足或超过虚拟机系 统需求时,该主机系统就是兼容的。例如,虚拟机可能需要4GB的 系统存储器,而主机系统可能能够向虚拟机提供6GB的系统存储 器。

在步骤540,迁移代理识别包括在候选表525中的源网络适配器 的原生硬件属性。在一种实施例中,源网络适配器的原生硬件属性包 括源网络适配器的设备id、固件版本及其它相关的适配器属性。接 下来,迁移代理识别由(来自步骤530的)兼容主机系统使用的、与 源网络适配器的原生硬件属性等效的一个或多个网络适配器(步骤 550)。

在步骤560,迁移代理进而选择等效网络适配器当中的一个。在 一种实施例中,迁移代理向网络管理员发送消息并且允许网络管理员 选择等效网络适配器当中的一个。处理在580返回。

图6是示出在主机系统准备要迁移的虚拟机时所采取的步骤的示 例性流程图。源系统处理在600开始,随后源系统从迁移代理160接 收状态提取命令,以便迁移在源主机系统上执行的特定虚拟机(步骤 610)。在步骤620,源系统(例如,经设备驱动器或管理程序)停 顿源网络适配器150上的I/O和存储器活动,以避免虚拟机迁移过程 中的状态变化或讹误。

在步骤630,源系统指示源网络适配器150提取关于迁移虚拟机 的硬件状态数据,并且在步骤640,源系统把硬件状态数据拷贝到共 享存储器142,该共享存储器142是系统存储器并且是迁移到目的地 系统的虚拟机的一部分。在步骤650,源系统通知迁移代理160虚拟 机已经准备好迁移,并且源系统处理在660结束。

图7是示出把虚拟机从源系统迁移到目的地系统时所采取的步骤 的示例性流程图。源系统处理在700开始,随后源系统从迁移代理 160接收从源系统迁移到目的地系统的请求。目的地系统处理开始, 随后目的地系统在755接收对应的请求。

在步骤710,源系统的管理程序与目的地系统的管理程序建立连 接并请求目的地系统储备用于迁移虚拟机的资源。在一种实施例中, 请求包括远程适配器配置参数,该参数指示迁移虚拟机的共享存储器 中存储硬件状态数据的存储器块起始地址(步骤710)。

在步骤760,目的地系统的管理程序分配用于虚拟机的空间。在 步骤710和765,管理程序把虚拟机从源系统迁移到目的地系统,并 且在一种实施例中,目的地系统通过诸如校验和计算来验证迁移。目 的地系统的管理程序进而在步骤770把设备驱动器分配给被迁移的逻 辑分区,以便让虚拟机与目的地网络适配器通信。

在步骤775,目的地系统的管理程序向目的地网络适配器发送 “状态插入”命令,该命令指示目的地网络适配器从共享存储器中的 存储器块起始地址检索硬件状态数据并且相应地配置目的地网络适配 器。在一种实施例中,存储器块起始地址包括在由源系统的管理程序 发送的资源请求中(以上讨论的步骤710)。在另一种实施例中,源 管理程序向目的地管理程序发送包括该存储器块起始地址的独立消 息。一旦被配置,目的地管理程序就在步骤789向源管理程序发送迁 移确认,并且目的地管理程序处理在790结束。

源管理程序在步骤720接收成功迁移确认,并且在步骤730释放 源系统的资源(虚拟机、设备驱动器、共享存储器等)。源管理程序 处理在735结束。

图8是示出跟踪和存储用于在虚拟机上执行的模块的硬件状态数 据的网络适配器的示例性图。虚拟机135使用模块800-850通过源网 络适配器150向其它虚拟机发送/从其它虚拟机接收有状态卸载数据 分组。模块800-850中每一个都具有关于源网络适配器150的“状 态”,该状态存储在硬件状态数据152中。在一种实施例中,硬件状 态数据152包括代表连接/数据报状态的一组状态信息。例如,硬件 状态数据152可以包括以下:

·资源的保护域分组

·保护域设备统计数据

·队列对发送队列硬件生产者索引

·队列对发送队列软件消费者索引

·队列对接收队列硬件生产者索引

·队列对接收队列软件消费者索引

·关联的存储器区域

·关联的地址句柄(handle)

·完成队列硬件生产者索引

·完成队列软件消费者索引

·完成队列硬件设备统计数据

·虚拟到逻辑/总线地址映射

当虚拟机135迁移到目的地系统时,硬件状态数据152拷贝到共 享存储器区域并且与虚拟机135一起迁移到目的地系统。目的地系统 进而根据迁移后的硬件状态数据152配置其目的地网络适配器。在一 种实施例中,源网络适配器150可以管理数千个硬件状态数据152, 每个硬件状态数据都对应于一个不同的虚拟机。在这种实施例中,只 有对应于迁移虚拟机的硬件状态数据152才拷贝到目的地系统。

图9是示出硬件状态数据从源网络适配器到目的地网络适配器的 迁移的示例性图。源网络适配器150利用硬件状态数据152把有状态 卸载数据分组从源虚拟机发送到目的地虚拟机。在迁移到目的地网络 适配器190的过程中,硬件状态数据152拷贝到共享存储器142中存 储器块起始地址800。当虚拟机135作为虚拟机175拷贝到目的地系 统时,硬件状态数据152进而以其原生硬件格式拷贝并且在共享存储 器182上仍然存储在存储器块起始地址800。由于目的地网络适配器 190与源网络适配器150等效的事实,硬件状态数据152进而以其原 生硬件格式拷贝到目的地网络适配器190。

由于目的地网络适配器190与源网络适配器150等效的事实,目 的地网络适配器190以其原生格式利用硬件状态数据,由此不需要地 址转换。

图10是示出访问候选表存储区域以便识别合适目的地系统的分 布式策略服务的示例性图。迁移代理160与本地网络策略服务器接 口,以识别合适的目的地系统。在一种实施例中,本地网络策略服务 器1000管理关于源系统的覆盖网络(例如,覆盖网络环境100)的 策略和物理路径转换。在另一种实施例中,用于不同覆盖网络的策略 服务器共同定位并且根据它们对应的覆盖网络标识符区分来自不同迁 移代理的策略请求。

分布式策略服务165是分层构造的,并且当本地网络策略服务器 1000不能定位合适的目的地系统时,本地网络策略服务器1000查询 根策略服务器1010,以搜索合适的目的地系统。根策略服务器1010 进而访问候选表仓库1015并且把合适的目的地系统标识符发送到本 地网络策略服务器1000,本地网络策略服务器1000进而把其发送到 迁移代理160。在一种实施例中,根策略服务器1010可以向本地网 络策略服务器1000发送向本地网络策略服务器1030查询合适的目的 地系统的消息,其中本地网络策略服务器1030管理与本地网络策略 服务器1000所管理的主机系统不同的其它主机系统。

图11是示出覆盖到物理网络空间上的虚拟网络抽象的示例性 图。虚拟网络1100是覆盖网络环境的一部分并且包括在虚拟机(例 如,虚拟机1102-1110)之间提供端到端虚拟连接的策略(例如,策 略1103-1113)。虚拟网络1100中每一个都对应于一个唯一的虚拟 标识符,这允许多个虚拟网络在物理空间1120上的并发操作。如本 领域技术人员可以认识到的,虚拟网络1100中的一些可以包括虚拟 机1102-1110的一部分,而其它虚拟网络1100可以包括与图11中所 示不同的虚拟机和不同的策略。

当“源”虚拟机向“目的地”虚拟机发送数据时,对应于这两个 虚拟机的策略描述数据在其上行进的逻辑路径(例如,通过防火墙、 通过加速器,等等)。换句话说,策略1103-1113定义不同的虚拟机 如何彼此(或者与外部网络)通信。例如,策略可以定义一组虚拟机 之间的服务质量(QoS)需求;与特定虚拟机关联的访问控制;或者 当发送或接收数据时穿越的一组虚拟或物理设备(装备)。此外,有 些设备可以包括诸如压缩、IP安全(IPsec)、SSL的加速器,或者 诸如防火墙或入侵检测系统的安全设备。此外,策略可以配置为禁止 源虚拟机和目的地虚拟机之间的通信。

虚拟网络1100逻辑地覆盖到物理空间1120上,该物理空间包括 物理实体1135至1188(主机、交换机和路由器)。虽然策略在系统 中实施的途径影响并依赖于物理空间1120,但是虚拟网络1100更依 赖于策略中的逻辑描述。因此,多个虚拟网络1100可以覆盖到物理 空间1120上。如可以看到的,物理空间1120被分成子网X1125和 子网Y1130。子网经路由器1135和1140结合。虚拟网络1100独立 于物理空间1120的物理约束(例如,子网内的L2层约束)。因 此,虚拟网络可以包括既包括在子网X1125中又包括在子网Y1130 中的物理实体。

在一种实施例中,虚拟网络抽象支持不同虚拟网络1100之间的 地址独立性。例如,在两个不同虚拟网络中运行的两个不同虚拟机可 以具有相同的IP地址。作为另一个例子,虚拟网络抽象支持把属于 同一虚拟网络的虚拟机部署到位于不同物理子网(包括物理实体之间 的交换机和/或路由器)中的不同主机上。在另一种实施例中,属于 不同虚拟网络的虚拟机可以在同一物理主机上托管。在还有另一种实 施例中,虚拟网络抽象支持在数据中心中任何地方的虚拟机迁移,而 不改变该虚拟机的网络地址也不会丢失其网络连接。

对于关于这种体系架构的进一步细节,见2011年8月5日提交 的序列#13/204,211“Virtual Switch Data Control in a Distributed  Overlay Network”,该申请在此引入作为参考。

图12说明了信息处理系统1200,该系统是能够执行本文所述计 算操作的计算机系统的简化例子。信息处理系统1200包括耦合到处 理器接口总线1212的一个或多个处理器1210。处理器接口总线1212 把处理器1210连接到也称为存储器控制器集线器(MCH)的北桥 1215。北桥1215连接到系统存储器1220并且为处理器1210提供访 问系统存储器的手段。图形控制器1225也连接到北桥1215。在一种 实施例中,PCI Express总线1218把北桥1215连接到图形控制器 1225。图形控制器1225连接到显示设备1230,诸如计算机监视器。

北桥1215和南桥1235利用总线1219彼此连接。在一种实施例 中,总线是在北桥1215和南桥1235之间每个方向以高速传输数据的 直接媒体接口(DMI)总线。在另一种实施例中,外围组件互连 (PCI)总线连接北桥和南桥。南桥1235,也称为I/O控制器集线器 (ICH),是总体上实现以比北桥所提供的能力更低速度操作的能力 的芯片。南桥1235通常提供用于连接各种部件的各种总线。这些总 线包括,例如PCI和PCI Express总线、ISA总线、系统管理总线 (SMBus或SMB)、和/或低引脚数(LPC)总线。LPC总线常常 连接低带宽设备,诸如引导ROM1296和“传统”I/O设备(利用 “超I/O”芯片)。“传统”I/O设备(1298)可以包括,例如串行 和并行端口、键盘、鼠标和/或软盘控制器。LPC总线还把南桥1235 连接到可信平台模块(TPM)1295。南桥1235中常常包括的其它部 件包括直接存储器存取(DMA)控制器、可编程中断控制器 (PIC)以及利用总线1284把南桥1235连接到诸如硬盘驱动器的非 易失性存储设备1285的存储设备控制器。

ExpressCard1255是把热插拔设备连接到信息处理系统的一个 插槽。ExpressCard1255既支持PCI Express又支持USB连接性, 因为它既利用通用串行总线(USB)又利用PCI Express总线连接到 南桥1235。南桥1235包括向连接到USB的设备提供USB连接性的 USB控制器1240。这些设备包括摄像头(相机)1250、红外线 (IR)接收器1248、键盘和触控板1244、以及提供无线个人区域网 络(PAN)的蓝牙设备1246。USB控制器1240还向其它各种USB 连接的设备1242,诸如鼠标、可移动的非易失性存储设备1245、调 制解调器、网卡、ISDN连接器、传真机、打印机、USB集线器及许 多其它类型的USB连接设备,提供USB连接性。虽然可移动的非易 失性存储设备1245示为USB连接的设备,但是可移动的非易失性存 储设备1245也可以利用不同的接口连接,诸如Firewire接口等。

无线局域网(LAN)设备1275经PCI或PCI Express总线1272 连接到南桥1235。LAN设备1275通常实现全都使用相同的协议在 信息处理系统1200和另一个计算机系统或设备之间无线地通信的无 线(over-the-air)调制技术的IEEE801.11标准当中的一个。光学存 储设备1290利用串行ATA(SATA)总线1288连接到南桥1235。 串行ATA适配器和设备经高速串行链路通信。串行ATA总线还把 南桥1235连接到其它形式的存储设备,诸如硬盘驱动器。音频电路 系统1260,诸如声卡,经总线1258连接到南桥1235。音频电路系统 1260还提供诸如音频线路输入和光学数字音频输入端口1262、光学 数字输出和耳机插孔1264、内部扬声器1266和内部麦克风1268的 功能性。以太网控制器1270利用总线,诸如PCI或PCI Express总 线,连接到南桥1235。以太网控制器1270把信息处理系统1200连 接到计算机系统,诸如局域网(LAN)、互联网及其它公共和私有 的计算机网络。

虽然图12示出了一个信息处理系统,但是信息处理系统可以采 取许多形式。例如信息处理系统可以采取台式、服务器、便携式、膝 上型、笔记本或者其它形状因子的计算机或数据处理系统。此外,信 息处理系统可以采取其它形状因子,诸如个人数字助理(PDA)、游 戏设备、ATM机、便携式电话设备、通信设备或者包括处理器和存 储器的其它设备。

图12中所示并且在本文中描述为提供安全功能的可信平台模块 (TPM1295)仅仅是硬件安全模块(HSM)的一个例子。因此,本 文所描述和阐述的TPM包括任何类型的HSM,包括但不限于遵循 命名为“可信平台模块(TPM)规范版本1.2”的可信计算组 (TCG)标准的硬件安全设备。TPM是可以结合到任意数量的信息 处理系统,诸如在图13中略述的那些,当中的硬件安全子系统。

图13提供了图12中所示信息处理系统环境的扩展,以说明本文 所述的方法可以在联网环境中操作的各种各样的信息处理系统上执 行。信息处理系统的类型从小型手持式设备,诸如手持式计算机/移 动电话1310,到大型主机系统,诸如大型计算机1310,变化。手持 式计算机1310的例子包括个人数字助理(PDA)、个人娱乐设备, 诸如MP3播放器、便携式电视机以及光盘播放器。信息处理系统的 其它例子包括笔输入或平板计算机1320、膝上型或笔记本计算机 1330、工作站1340、个人计算机系统1350、以及服务器1360。在图 13未单独示出的其它类型的信息处理系统由信息处理系统1380表 示。如所示出的,各种信息处理系统可以利用计算机网络1300联网 到一起。可以用于互连各种信息处理系统的计算机网络类型包括局域 网(LAN)、无线局域网(WLAN)、互联网、公共交换电话网 (PSTN)、其它无线网络、以及可用于互连信息处理系统的任何其 它网络拓扑结构。许多信息处理系统都包括非易失性数据仓库,诸如 硬驱和/或非易失性存储器。图13中示出的有些信息处理系统绘出了 独立的非易失性数据仓库(服务器1360使用非易失性数据仓库 1365,大型计算机1370使用非易失性数据仓库1375,而信息处理系 统1380使用非易失性数据仓库1385)。非易失性数据仓库可以是在 各种信息处理系统外部的一个部件或者可以在一个信息处理系统内 部。此外,可移动的非易失性存储设备1245可以利用各种技术在两 个或更多个信息处理系统之间共享,诸如把可移动的非易失性存储设 备1245连接到USB端口或者信息处理系统的另一连接器。

虽然本公开内容的特定实施例已经示出并进行了描述,但是对本 领域技术人员来说很显然,基于本文的教导,在不背离本公开内容及 其更广泛方面的情况下可以进行改变和修改。因此,所附权利要求是 要在其范围内涵盖所有属于本公开内容真正主旨与范围的这种改变和 修改。此外,应当理解,本公开内容只能由所附权利要求来定义。本 领域技术人员应当理解,如果预期具体数量的所介绍权利要求元素, 则这种意图将在权利要求中明确地书面陈述,并且在缺少这种书面陈 述的情况下就不存在这种限制。对于非限制性例子,为了帮助理解, 以下所附权利要求包含使用介绍性短语“至少一个”和“一个或多 个”来介绍权利要求元素。但是,即使当同一个权利要求包括介绍性 短语“一个或多个”或“至少一个”以及诸如“一”、“一个”的不 定冠词时,这种短语的使用也不应当认为是暗示由不定冠词“一”、 “一个”对权利要求元素的介绍把包含这种被介绍权利要求元素的任 何特定权利要求限定到只包含一个这种元素的公开内容;对于定冠词 在权利要求中的使用,这也同样适用。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号