用于计算机网络中的虚拟机迁移的方法与流程

文档序号:11450260阅读:379来源:国知局
用于计算机网络中的虚拟机迁移的方法与流程



背景技术:

计算机网络可以具有在底层网络中经由有线或者无线网络链路由路由器、交换机、网桥或者其它网络设备相互互连的大量物理服务器。每个物理服务器可以主控在由底层网络支持的一个或者多个虚拟覆盖网络中相互互连的多个虚拟化的服务器或者虚拟网络功能。虚拟覆盖网络的网络节点和网络端点可以根据一个或者多个网络协议经由覆盖网络来交换消息。



技术实现要素:

提供这一发明内容以用简化的形式介绍以下在具体实施方式中进一步描述的概念的选集。这一发明内容没有旨在于标识要求保护的主题内容的关键特征或者实质特征,它也没有旨在于用来限制要求保护的权利要求的范围。

与设计和操作计算机网络关联的一个难点是可缩放性。随着物理和/或虚拟化的服务器的数目增加,必需资源的数量以及操作复杂性迅速地增加。例如,可能由于功率系统故障、负荷平衡和/或其它原因而从一个物理服务器向另一物理服务器重定位虚拟机。重定位的虚拟机的新地址被更新到对应虚拟网络中的其它虚拟机。然而,随着虚拟机的数目达到数百万或者数千位,这样的地址更新可能涉及大量信息并且可能花费大量时间,在这大量时间期间,与重定位的虚拟机的通信可能不可靠。因此,服务中断或者甚至系统故障可能出现。

公开的技术的若干实施例可以通过将覆盖网络分割成具有可管理大小的覆盖分区来提高计算机网络的可缩放性。每个覆盖分区可以仅为具有覆盖分区中的至少一个端点的虚拟网络独立地管理和/或更新可达性信息。对于在覆盖分区中没有任何端点的虚拟网络,覆盖分区没有管理与这样的虚拟网络有关的任何可达性信息。因此,每个覆盖分区可以与其它覆盖分区独立地操作以实现虚拟机、虚拟网络功能和/或其它适当端点的快速可达性更新。

附图说明

图1是图示了根据公开的技术的实施例的具有覆盖网络分割的计算机网络的示意图。

图2是图示了根据公开的技术的实施例的对于图1的计算机网络而言适合的示例分级底层网络的示意图。

图3是图示了根据公开的技术的实施例的计算机网络的示例操作的示意图。为了清楚而省略了图1中的计算机网络的某些部分。

图4是图示了根据公开的技术的附加实施例的计算机网络的示例操作的示意图。为了清楚而省略了图1中的计算机网络的某些部分。

图5是图示了根据公开的技术的另外实施例的计算机网络的示例操作的示意图。为了清楚而省略了图1中的计算机网络的某些部分。

图6是图示了根据公开的技术的实施例的本地可达性接入门的软件部件的框图。

图7是图示了根据公开的技术的实施例的在图1的计算机网络中更新可达性信息的过程的流程图。

图8是图示了根据公开的技术的实施例的在图1的计算机网络中更新可达性信息的另一过程的流程图。

图9是图示了根据公开的技术的实施例的管理覆盖分区中的可达性信息的过程的流程图。

图10是图示了根据公开的技术的实施例的管理覆盖分区中的可达性信息的另一过程的流程图。

图11是图示了根据公开的技术的实施例的重定位虚拟租户端点的过程的流程图。

图12是对于图1中的计算机网络的某些部件而言适合的计算设备。

具体实施方式

以下描述用于分割、管理和/或更新覆盖网络的系统、设备、部件、模块、例程和过程的某些实施例。在以下描述中,部件的具体细节被包括以提供对公开的技术的某些实施例的透彻理解。本领域技术人员也将理解,该技术可以具有附加实施例。没有以下参照图1至图12描述的实施例的细节中的若干细节也可以实现该技术。

如这里所用,术语“计算机网络”一般地是指具有多个网络节点的互连网络,这些网络节点将多个端点连接到彼此和其它网络(例如,因特网)。术语“网络节点”一般地是指物理和/或软件模仿的(或者虚拟)的网络设备。示例网络节点包括路由器、交换机、集线器、网桥、负荷平衡器、安全网关、防火墙、网络名称翻译器或者名称服务器。

支持虚拟或者物理网络设备、网络节点和网络端点的计算机网络可以在概念上被划分成在底层网络之上被实施的覆盖网络。“覆盖网络”一般地是指在底层网络之上被实施的和在底层网络上面操作的抽象的网络,该底层网络可以包括与彼此和与物理端点互连的多个物理网络节点。例如,覆盖网络可以包括在底层网络之上被实施的一个或者多个虚拟网络。虚拟网络互连被主控在由底层网络中的物理网络节点互连的不同物理服务器上的多个物理服务器或者虚拟化的服务器。覆盖网络中的虚拟网络节点可以由与沿着底层网络中的一个或者多个物理网络节点的一个或者多个路径个体地对应的虚拟或者逻辑链路而被相互连接。

“虚拟网络”一般地是指覆盖网络中的底层网络的部分的抽象化。虚拟网络可以包括由用户或者“租户”个体地用来访问虚拟网络和关联的计算、存储或者其它适当资源的、被称为“租户站点”的一个或者多个虚拟端点。租户站点可以主控一个或者多个租户端点(“tep”),例如,虚拟机。租户站点也可以包括虚拟路由表(“vrt”),该vrt包含用于在特定虚拟网络中的tep之中路由消息的可达性信息。例如,可达性信息可以包括虚拟端点到虚拟端点当前驻留的底层网络中的网络节点的地址的映射。

“网络虚拟化边缘”或者“nve”一般地是指在底层网络的边缘的用于将一个或者多个租户站点连接到它们的相应虚拟网络的网络实体。在一个示例中,在基于多协议标签切换网络(“mpls”)的虚拟专有网络(“vpn”)中的网络虚拟化边缘是vpn提供方边缘。“虚拟化的网络功能”或者“vnf”一般地是指在底层网络中被实施的和驻留在服务器或者网络节点中的网络功能。示例vnf包括软件负荷平衡器、虚拟防火墙和虚拟网络名称翻译器。

术语“端点”一般地是指物理或者软件模仿的计算设备。示例端点包括网络服务器、网络存储设备、个人计算机、移动计算设备(例如,智能电话)、网络功能虚拟化或者虚拟机。每个端点可以与可以在计算机网络中具有独特值的端点关联。端点标识符(或者网络节点标识符)的示例可以包括在mpls网络中被使用的标签的至少部分、在mpls网络中被使用的标签栈、根据网际协议(“ip”)的一个或者多个地址、一个或者多个虚拟ip地址、在虚拟局域网中的一个或者多个标签、一个或者多个介质访问控制地址、一个或者多个lambda标识符、一个或者多个连接路径、一个或者多个物理接口标识符或者一个或者多个分组头部或者包络。

术语“域”一般地是指覆盖网络的物理或者逻辑分区。域可以包括与彼此和/或与底层网络中的多个端点互连的选择的数目的网络节点。域也可以被连接到包括多个附加网络节点的一个或者多个更高级域,这些附加网络节点将特定域连接到在域分级中的相同或者不同级的域。在某些实施例中,软件定义的网络(“sdn”)可以用来将覆盖网络划分成多个域。在其它实施例中,覆盖网络的域中的一个或者多个域可以至少部分地是使用分布式路由和/或转发协议的分布式计算机网络。

计算机网络、比如在大规模数据中心中被使用的计算机网络可能难以设计和/或操作。随着物理和/或虚拟化的服务器的数目增加,必需资源的数量或者操作复杂性迅速地增加。例如,更新启动、重定位或者终结的虚拟机的地址可能涉及大量信息并且可能在虚拟机的数目达到数百万或者数千万时花费大量时间。在这样的地址更新期间,去往重定位的虚拟机的消息可以仍然被路由到重定位的虚拟机的先前地址并且因此可能丢失。这样的不可靠通信可能造成服务中断或者甚至系统故障。公开的技术的若干实施例可以通过将覆盖网络分割成覆盖分区来解决前述缩放和/或更新缺陷中的至少一些缺陷。这样,可以通过包括各自独立地管理可达性信息的附加覆盖分区来按比例放大计算机网络。作为结果,可以比常规技术更迅速地完成或者“收敛”地址更新,并且因此减少通信中断的风险。

对覆盖网络中的可达性信息的管理也可能给支持覆盖网络的底层网络带来附加需求。通常地使用底层网络的控制平面来在每个虚拟网络中的端点之中传播虚拟网络路由和终端状态信息。例如,取代每物理服务器仅一个网络路由,底层网络的控制平面协议可能必须宣布用于被主控在该物理服务器上的所有虚拟网络的所有虚拟网络路由。在计算机网络被缩放以支持附着到大量虚拟网络的数百或者甚至数百万个虚拟机时,待维护和传播的可达性信息的绝对体量构成重大挑战。

图1是图示了根据公开的技术的实施例的具有覆盖网络分割的计算机网络100的示意图。如图1中所示,计算机网络100可以包括底层网络120以及在底层网络120之上被实施的和在底层网络120上面操作的覆盖网络121。在所图示的实施例中,覆盖网络121出于示例目的而被示出为包括第一虚拟网络112a、第二虚拟网络112b和第三虚拟网络112c。在其它实施例中,覆盖网络121可以包括任何其它适当数目的虚拟网络和/或虚拟网络功能(未示出)。

如图1中所示,底层网络120可以包括互连多个服务器102(分别被示出为第一服务器、第二服务器和第三服务器102a-102c)的多个网络节点111(出于示例目的而示出了三个)。服务器102可以个体地包括被耦合到存储器106和输入/输出部件108的处理器104。处理器102可以包括微处理器、现场可编程门阵列和/或其它适当逻辑器件。存储器104可以包括被配置为存储从处理器102接收的数据以及用于处理器102的指令(例如,用于执行以下参照图7至图11而被讨论的方法的指令)的非瞬态易失性和/或非易失性介质(例如,rom;ram;磁盘存储介质;光存储介质;闪存设备和/或其它适当存储介质)和/或其它类型的计算机可读存储介质。输入/输出部件108可以包括被配置为从操作者和/或自动化的软件控制器(未示出)接受输入和向操作者和/或自动化的软件控制器提供输出的显示器、触屏、键盘、鼠标、打印机和/或其它适当类型的输入/输出设备。尽管在图1中底层网络120被示出为具有平面网络结构,但是在某些实施例中,底层网络120可以如以下参照图2更详细地描述的那样被组织成多个分级域。在另外的实施例中,可以按照其它适当方式组织底层网络120。

服务器102可以个体地在存储器106中包含指令,这些指令在由处理器102执行时使得个体处理器102提供管理程序107和nve109。管理程序107可以个体地被配置为生成、监视、终止和/或以别的方式管理被组织成租户站点110的一个或者多个虚拟机114。例如,如图1中所示,第一服务器102a可以提供分别管理第一租户站点110a和第二租户站点110b的第一管理程序107a。第二服务器102b可以提供分别管理第二租户站点110b’和第三租户站点110c的第二管理程序107b。第三服务器102c可以提供分别管理第一租户站点110a’和第三租户站点110c’的管理程序107c。租户站点110可以各自包括一个或者多个虚拟机114和/或虚拟网络功能(未示出)。在图1中管理程序107被个体地示出为软件部件。然而,在其它实施例中,管理程序107可以各自是固件和/或硬件部件。nve109可以被配置为将一个或者多个租户站点110连接到它们的相应虚拟网络122。尽管在图1中nve109被示出为分离的软件部件,但是在另外的实施例中,nve109可以被集成到对应管理程序107或者形成对应管理程序107的部分。

如图1中所示,不同服务器102可以个体地主控租户站点110,租户站点110包括用于特定租户101(被分别标识为第一租户101a、第二租户101b和第三租户101c)的多个虚拟机114。例如,第一服务器102a和第三服务器102c可以均主控用于第一租户101a的租户站点110a和110a’。第一服务器102a和第二服务器102b可以均主控用于第二租户101b的租户站点110b和110b’。第二服务器102b和第三服务器102c可以均主控用于第三租户101c的租户站点110c和110c’。每个虚拟机114可以执行对应操作系统、中间件和/或应用。

覆盖网络121可以包括跨多个服务器102互连特定租户101的租户站点110的一个或者多个虚拟网络122。例如,第一虚拟网络122a互连在第一服务器102a和在第三服务器102c的第一租户站点110a和110a’。第二虚拟网络122b互连在第一服务器102a和在第二服务器102b的第二租户站点110b和110b’。第三虚拟网络122c互连在第二服务器102b和在第三服务器102c的第三租户站点110c和110c’。尽管一个虚拟网络122被示出为对应于一个租户101,但是在其它实施例中,多个虚拟网络122可以被指派为对应于单个租户101。

即使在不同服务器102上主控特定虚拟网络122上的虚拟机114,虚拟机114也仍然可以经由虚拟网络122相互通信。例如,第一服务器102a上的第一租户站点110a的虚拟机114可以至少部分基于用于第一虚拟网络122a的第一vrt112a来与第三服务器102c上的第一租户站点110a’的其它虚拟机114通信。在另一示例中,第一服务器102a上的第二租户站点110b的虚拟机114可以至少部分基于用于第二虚拟网络122b的第二vrt112b来与第二服务器102b上的第二租户站点110b’的其它虚拟机114通信。可以将虚拟网络122中的每个虚拟网络的通信与其它虚拟网络122隔离。在某些实施例中,可以允许通信以受控方式通过安全网关或者以别的方式从一个虚拟网络122穿越到另一虚拟网络122。vrt112可以个体地包含租户地址,每个租户地址包括与特定虚拟网络122中的虚拟化的端点或者网络节点对应的虚拟网络标识符。因此,不同虚拟网络122可以使用一个或者多个相同虚拟网络标识符和/或标识符值。作为结果,租户可以在每个虚拟网络中使用他/她自己的地址空间,该地址空间可能与其它租户的地址空间和/或与在数据中心内由数据中心提供方使用的地址空间重叠。示例虚拟网络标识符可以包括ip地址、mac地址和/或其它适当地址。在其它实施例中,可以用其它适当方式隔离不同虚拟网络122的通信。

虚拟网络122中的每个虚拟网络也可以允许个体租户101经由底层网络120和/或其它适当网络(例如,因特网)来访问对应租户站点110。例如,第一租户101a可以访问在分别由第一服务器102a或者第三服务器102c主控的第一租户站点110a或者110a’的虚拟机114之一。第二租户101b可以访问在分别由第一服务器102a或者第二服务器102b主控的第二租户站点110b或者110b’的虚拟机114之一。第三租户101c可以访问在分别由第二服务器102b或者第三服务器102c主控的第三租户站点110c或者110c’的虚拟机114之一。

在操作期间,在特定租户站点110的虚拟机114可能需要被重定位并且由不同服务器102主控。例如,在第一租户站点110a的一个或者多个虚拟机114可能由于第一服务器102a的系统维护或者其它适当原因而需要被重定位到第三服务器102c。在重定位期间,重定位的虚拟机114可以维护第一虚拟网络122a中的它们的相应虚拟网络标识符(例如,ip地址或者mac地址)。然而,这些虚拟机114的如例如由底层网络地址标识的物理位置需要从第一服务器102a被更新到第三服务器102c。如以上讨论的那样,用重定位的虚拟机114的新网络地址更新相同虚拟网络122中的其它虚拟机144可能耗费时间,并且可能造成通信和/或系统故障。

公开的技术的若干实施例可以通过(1)逻辑地分割覆盖网络121和(2)在逐个分区的基础上独立地更新可达性信息,来减少为了更新重定位的虚拟机114、启动的新虚拟机、终止的虚拟机、新配置的虚拟机或者其它虚拟网络功能(未示出)的网络地址而需要的时间量。例如,如图1中所示,基于服务器102将覆盖网络121分割成各自包括指派的本地可达性接入网关(“lrag”)124的覆盖分区125(分别被个体地标识为第一、第二和第三覆盖分区125a-125c)。例如,第一服务器102a与有第一lrag124a的第一分区125a关联。第二服务器102a与有第二lrag124b的第二分区125b关联。第三服务器102a与有第三lrag124c的第三分区125c关联。

尽管基于服务器102来划分图1中所示的覆盖分区125,但是在其它实施例中,也可以基于服务器102、虚拟网络122、虚拟机114的子集、租户站点110、前述各项的组合中的一项或者多项的物理位置或者可以基于其它适当物理和/或逻辑实体来划分覆盖分区125。以下参照图5更具体地讨论划分覆盖网络121的另一示例模式。

lrag124可以被配置为仅为具有对应覆盖分区125中的至少一个端点(例如,虚拟机114)的虚拟网络122来独立地填充、更新和/或以别的方式操纵租户站点110中的vrt112。例如,第一lrag124a可以被配置为操纵分别与由第一虚拟网络122a和第二虚拟网络122b互连的第一租户101a和第二租户101b关联的第一vrt112a和第二vrt112b。第二lrag124b可以被配置为操纵与分别由第二虚拟网络122b和第三虚拟网络122c互连的第二租户101a和第三租户101b关联的第二vrt112b和第三vrt112c。第三lrag124c可以被配置为操纵与分别由第一虚拟网络122a和第三虚拟网络122c互连的第一租户101a和第三租户101c关联的第一vrt112a和第三vrt112c。这样,每个lrag124被配置为管理和更新用于有限数目的虚拟网络122的vrt112。可以选择与每个lrag124对应的虚拟网络122的数目以具有可管理的大小。例如,在图1中所示的实施例中,每个lrag124对应于两个虚拟网络122。在其它实施例中,每个lrag124可以对应于一个、三个、四个、五个、六个或者任何其它适当数目的虚拟网络122。在前述实施例中,lrag124可以被配置为直接地、通过管理程序107、通过服务器102中的分离的代理或者通过服务器102中的分布式协议和对应过程的组合来操纵vrt112。

在某些实施例中,lrag124也可以被配置为与对应管理程序107配合来实例化、修改、终止和/或以别的方式管理对应覆盖分区125中的虚拟机114。例如,第一lrag124a可以使得第一管理程序107a实例化用于第一租户站点110a、用于第二租户站点110b或者二者的一个或者多个虚拟机114。在另一示例中,第一lrag124a也可以使得第一管理程序107终止用于第一租户站点110a、用于第二租户站点110b或者二者的一个或者多个虚拟机114。在其它实施例中,前述功能可以由对应服务器102的其它适当软件、固件和/或硬件部件执行。

在所图示的实施例中,lrag124被示出为与对应服务器102独立的软件部件。在其它实施例中,lrag124也可以包括固件和/或硬件部件。在某些实施例中,lrag124可以由计算机网络100的一个或者多个附加服务器(未示出)主控。在其它实施例中,至少一个lrag124(例如,第一lrag124a)可以由对应服务器102(例如,第一服务器102a)主控。在另外的实施例中,lrag124可以由底层网络120的网络节点111和/或其它适当部件中的一项或者多项主控。在再另外的实施例中,lrag124可以在适当布置中具有前述实施例和/或其它适当部件的任何组合。

计算机网络100也可以包括被操作地耦合到lrag124的覆盖网络资源管理器126。覆盖网络资源管理器126可以被配置为向特定虚拟机114、租户站点110、虚拟网络122、前述各项的组合或者其它适当实体分配计算机网络100的物理资源。例如,在一个实施例中,覆盖网络资源管理器126可以向与第一租户站点110a关联的一个或者多个虚拟机114分配第一服务器102a的资源。在另一示例中,覆盖网络资源管理器126可以向相同的一个或者多个虚拟机114分配第二服务器102a的资源。

覆盖网络资源管理器126也可以被配置为与关联于某些覆盖分区125的lrag124传达可达性信息。示例可达性信息可以例如包括标识虚拟机114’被主控于其上的、底层网络120的物理服务器(例如,第一服务器102a)和/或网络设备111的底层位置标识符或者底层网络地址。底层位置标识符或者底层网络地址可以包括mpls标签或者mpls标签的部分、排序的mpls标签的栈、一个或者多个ipv4地址、一个或者多个ipv6地址、一个或者多个虚拟ip地址、一个或者多个vlan标记、一个或者多个mac地址、一个或者多个lambda标识符、通向端点的一个或者多个连接路径、一个或者多个物理接口标识符、一个或者多个位集合、一个或者多个分组头部或者包络或者其它适当位置标识符中的至少一项(或者它们的组合)。

可达性信息也可以包括第一虚拟网络122a上的虚拟机114’的虚拟网络标识符、经过底层网络120到达虚拟机114’的路由和/或其它适当传输信息。在某些实施例中,传输信息可以包括服务质量信息,比如分组如何在底层网络120的网络设备111处被处理或者排队。在其它实施例中,传输信息可以包括关于分组是否将经受深度分组检查、经受与服务链化关联的网络功能(例如,防火墙、负荷平衡器等)的信息。基于可达性信息、lrag124可以按照及时方式填充和/或更新对应vrt112中的条目,并且因此减少通信中断和/或系统故障的风险。以下参照图3至图5更具体地描述覆盖网络资源管理器126和lrag124的操作的若干示例。在其它实施例中,lrag124可以仅用在覆盖网络121中被使用的地址、路由和标识符来填充和/或更新对应vrt112中的条目。这样的地址、路由和标识符到在底层网络120中被用来标识目的地虚拟机114驻留的物理主机的地址和标识符的映射可以由在服务器102中驻留或者与服务器102分离的分离软件、固件和/或硬件实体执行。在某些实施例中,lrag124可以用映射信息来配置这样的分离的实体。在其它实施例中,这样的分离的实体可以由不同管理实体(未示出)配置。

图2是图示了根据公开的技术的实施例的对于图1的计算机网络100而言适合的示例分级底层网络120的示意图。尽管在图2中示出了底层网络120的特定布置,但是分割覆盖网络121(图1)的各种技术可以被应用于具有与图2中所示的不同的网络节点和/或端点的布置的其它底层网络。对底层网络120的分割一般地可以独立于覆盖网络121被分割的方式和/或如何指派lrag124。如图2中所示,底层网络120可以包括具有一个或者多个网络节点111的核心域131。底层网络120也可以包括一个或者多个一级域133。两个一级域133出于说明目的而在图2中被示出并且被个体地标识为域d1-1和d1-2。在所图示的实施例中,一级域d1-1包括两个二级域135(被个体地标识为d2-1和d2-2)。一级域d1-2包括一个二级域d2-3。在其它实施例中,一级域104可以包括其它适当数目的域和/或端点。

二级域106可以个体地包括一个或者多个端点141(比如服务器102)、一个或者多个边缘节点137和将端点108连接到边缘节点137的一个或者多个网络节点111。在一个实施例中,网络节点111可以个体地包括架顶(“tor”)路由器或者交换机。在其它实施例中,网络节点111可以包括网桥、网关或者其它适当通信设备。在所图示的实施例中,二级域135中的每个二级域包括形成边缘节点组的两个边缘节点137(例如,边缘节点en2-1和en2-1’)。在某些实施例中,例如对于非流量工程类型分组,可以随机地访问边缘节点组中的边缘节点137。在其它实施例中,可以具体地标识和指定边缘节点组中的边缘节点136之一以处置例如流量工程类型分组。在另外的实施例中,可以基于任何其它适当标准来按照其它适当方式访问边缘节点137。

图2中所示的分级划分可以按照各种方式被应用于一个或者多个数据中心。例如,在某些实施例中,图2中所示的分级划分可以被应用于具有核心域131的一个数据中心,核心域131包括数据中心的一个或者多个t3宽带交换机。一级域133可以包括被连接到具有t1和/或tor交换机的二级域135的t2交换机。在其它实施例中,一级域133可以包括t2和t1交换机二者而二级域135包括tor交换机。在另一示例中,图2中所示的分级划分也可以被应用于多个数据中心。例如,核心域131可以包括互连多个数据中心和t3宽带交换机的核心网络。在每个数据中心内,一级域133可以包括t2交换机而二级域可以包括t1和/或tor交换机。在另外的示例中,底层网络120的划分可以包括附加和/或不同域级。

在前述实施例中的任何实施例中,边缘节点137可以被配置为沿着一个或者多个网络路径或者隧道143向/从更高级或者更低级域路由通信。例如,可以经由从网络节点111’开始的隧道143路由从二级域d2-1中的服务器102’到二级域d2-3中的服务器102”的消息到边缘节点en2-1或者en2-1’,并且然后到一级域d1-1。一级域d1-1的边缘节点en1-1可以经由核心域131的网络节点111中的一个或者多个网络节点向一级域d1-2转发消息。一级域d1-2然后可以经由边缘节点en1-2向二级域d2-3的边缘节点en2-3或者en2-3’转发消息,边缘节点en2-3或者en2-3’转而经由网络节点111’向服务器102”转发消息。在某些实施例中,可以例如用根据例如mpls协议、基于底层网络120中的源或者目的地地址中的至少一个地址而被预先计算出的网络路由来预先建立隧道143。在其它实施例中,可以在自组织(adhoc)基础上或者以其它适当方式计算、建立和/或以别的方式形成隧道143。

图3是图示了根据公开的技术的实施例的计算机网络100的示例操作的示意图。为了清楚而从图3省略了计算机网络100的某些部件。如图3中所示,覆盖网络资源管理器126可以被配置为向lrag124传达关于任何资源分配(例,如向虚拟机114分配资源、重定位任何虚拟机114和/或虚拟网络功能或者其它适当资源分配操作)的信息。基于这样的信息,个体lrag124然后可以仅为具有对应覆盖分区125中的至少一个端点的虚拟网络122配置、更新和/或以别的方式操纵对应虚拟网络122中的虚拟机114、虚拟网络功能和/或vrt。

为了举例说明,覆盖网络资源管理器126可以被配置为通知第一lrag124a以实例化新虚拟机114’并且将实例化的虚拟机114’附着到第一虚拟机网络122a。在一个实施例中,覆盖网络资源管理器126通过传输可达性信息132来通知第一lrag124a。在其它实施例中,覆盖网络资源管理器126也可以经由应用编程接口和/或其它适当接口来通知第一lrag124a。响应于可达性信息132,第一lrag124a(在图1中具有第一管理程序107a)可以实例化请求的虚拟机114’并且将虚拟机114’附着到第一虚拟网络122a。第一lrag124a然后可以向覆盖网络资源管理器126传输状态通知134以报告对虚拟机114’的实例化被完成并且虚拟机114’被附着到第一虚拟网络122a。

覆盖网络资源管理器126然后可以确定哪个(些)覆盖分区125受报告的资源分配影响并且向受影响的覆盖分区125中的对应lrag124传达关于资源分配的适当可达性信息。例如,在上例中,实例化的虚拟机114’被附着到第一虚拟网络122a,并且因此第一覆盖分区125a和第三覆盖分区125c受影响,因为它们包含第一虚拟网络122a的至少一个端点。对照而言,第二覆盖分区125b未受影响,因为它没有包括第一虚拟网络122a的任何端点。覆盖网络资源管理器126然后可以仅向受影响的覆盖分区125中的那些lrag124(例如,第一lrag124a和第三lrag124c)传输关于实例化的虚拟机114’的可达性信息132,而没有向未受影响的覆盖分区中的lrag124(例如,第二lrag124b)传输相同信息。

基于传输的可达性信息,第一lrag124a和第三lrag124c然后可以更新第一vrt112a和第三vrt112b以具有用于实例化的虚拟机114’的新的或者更新的条目。例如,第一vrt112a中的条目可以包括用于第一虚拟网络122a上的实例化的虚拟机114’的租户地址(例如,虚拟网络地址),因为虚拟机114’是本地的。第三vrt112c中的对应条目可以包括租户地址和例如标识例如用于虚拟机114’的第一服务器102a的关联的底层位置标识符。

覆盖网络资源管理器126和lrag124也可以配合以将一个或者多个虚拟机114从一个服务器102无缝地重定位到另一服务器。例如,可以决定将被主控在第一服务器102a上的虚拟机114’(以下被称为始发虚拟机114’)从第一服务器102a重定位到第三服务器102c。用于这样的重定位的原因可以包括负荷平衡、系统升级和/或维护、用户请求、服务器故障和/或其它适当原因。

作为初始操作,覆盖网络资源管理器126通过向第三lrag124c传输可达性信息132来预备在第三服务器102c处的目标虚拟机114”。基于可达性信息,第三lrag124c配置第一虚拟网络122a的nve109c(图1)中的vrt112c。第三lrag124c然后与第三管理程序107c(图1)通信以设立和启动目标虚拟机114’‘。如果第三nve109c不包括用于第一虚拟网络122a的任何端点,则可以创建用于目标虚拟机114”的新租户站点110和vrt112。然后可以基于由第三lrag124c从覆盖网络资源管理器126接收的信息来向vrt112填充信息(例如,地址和/或网络路由)。如果第三nve109c已经包括第一虚拟网络122a的至少一个端点,则第一租户站点110a’中的目标虚拟机114”可以被附着到第一虚拟网络122a。

第三lrag124c然后可以向覆盖网络资源管理器126传输状态通知134并且向它通知用于目标虚拟机114”的预备被完成。作为响应,覆盖网络资源管理器126通知第一lrag124a以开始向被主控在第三服务器102c上的目标虚拟机114”迁移始发虚拟机114’。在某些实施例中,对虚拟机114’的重定位可以包括从始发虚拟机114’向目标虚拟机114”传输配置、数据和/或其它适当信息。

对始发虚拟机114’的重定位可以根据这里被称为热、暖或者冷重定位的三个场景。在热重定位中,始发虚拟机114’从一个服务器102被重定位到另一服务器102而又继续运行并且没有被关停和在新位置被重启。在暖重定位中,用被保存在存储器或者盘文件中的关联的配置挂起始发虚拟机114’,并且以后一旦重定位被完成就恢复虚拟机114。在冷重定位中,始发虚拟机114’被关停而关联的配置被移动到新主机中的管理程序107,并且虚拟机114’然后在新位置中被重启。

在这样的重定位期间,始发虚拟机114’可以维护它的网络状态和连通信息(例如,它的租户地址(例如,第一虚拟网络122a中的ip地址)和/或它的mac地址)以防止或者至少减少中断和需要重启现有tcp会话的风险。然而,底层网络120(图1)中的新主机(即,第三服务器102c)的ip地址在始发虚拟机114’被重定位到第三服务器102c时必然地改变。

为了维护第一虚拟网络122a中的始发虚拟机114’的ip地址,覆盖网络121中的虚拟机114’的地址从底层网络120中的相同虚拟机114的地址被去耦合。例如,在某些实施例中,始发虚拟机114’可以由包括租户虚拟网络标识符(“tvni”)、租户地址(“tn”)和底层网络地址(“una”)的端点标识符标识为tvni/ta→una。tvni标识虚拟机114’被附着到的虚拟网络(例如,第一虚拟网络122a)。租户地址可以例如包括标识第一虚拟网络122a上的虚拟机114’的ip地址。底层网络地址标识虚拟机114’被主控在其上的在底层网络120(图1)中的网络节点。在其它实施例中,可以按照其它适当方式标识虚拟机114’。

响应于重定位,可以维护虚拟机114’的端点标识符的部分并且可以调整另一部分。例如,在一个实施例中,可以维护虚拟机114’的tvni/ta,从而使得虚拟机114’在第一虚拟网络122a上具有相同地址。然而,可以调整una以对应于主控目标虚拟机114”的第三服务器102c。因此,虚拟机114’的端点标识符可以从tvni/ta→una被调整成tvni/ta→una’,其中una和una’分别对应于第一服务器102a和第三服务器102c的地址。

继续上例,响应于来自第三lrag124c的状态通知134,覆盖网络资源管理器126可以向受虚拟机114’的再定位所影响的在覆盖分区125中的lrag传输更新后的可达性信息。与不包含受影响的虚拟网络122的覆盖分区125关联的lrag124没有接收任何更新后的可达性信息。基于更新后的可达性信息132,每个受影响的lrag124然后可以并行、串行或者按照其它适当方式来配置nve109中的对应vrt112。每个lrag124与所有其它lrag124独立地操作并且负责仅向被包含在关联的覆盖分区125中的相关端点散播可达性信息132。

在某些实施例中,始发lrag(例如,第一lrag124a)也可以将经过底层网络120(图2)的过渡隧道143的始发点配置成目标点以用于减少或者甚至避免在重定位期间的分组丢失。目标lrag124(例如,第三lrag124c)可以配置过渡隧道的目标端点。过渡隧道可以包括一个或者多个网络节点111(图10的底层网络120,虚拟机114’的配置、数据和/或其它适当信息可以通过该底层网络120从始发主机(例如,第一服务器102a)被传输到目标主机(例如,第三服务器102c))。在其它实施例中,过渡隧道可以由其它适当实体建立。

在一个实施例中,可以预建立过渡隧道143。例如,预建立的隧道可以包括从始发主机到目标主机的网络路径。在底层网络120中的网络节点中的转发表中建立该路径。底层网络120如果比如图2中所示的那样被分级地分割,则可以按照例如mpls协议来在底层网络120中预建立从服务器102到任何其它服务器102的过渡隧道。在一个实施例中,利用底层网络地址以标识底层网络120中的希望的网络路径。标识的网络路径可以不同于按照对应路由协议而被计算出的最短网络路径。在另一实施例中,底层网络地址可以用来标识可以被使用的网络路径。在其它实施例中,可以利用租户虚拟网络标识符、租户地址或者底层网络地址中的至少一些的组合以标识底层网络120中的希望的网络路径。

在底层网络地址被用来标识网络路径时,如果需要,则相同底层网络地址可以标识用于由底层网络120转发的分组的服务链化。可能要求在通过底层网络120被传送时的覆盖网络分组经受过一个或者多个物理和/或虚拟化的网络功能的序列。这样的网络功能的示例可以包括防火墙、名称服务器、负荷平衡器和/或其它适当功能,并且被统称为服务链化。由于底层网络地址标识经过底层网络120的具体路径,所以相同底层网络地址也可以被用来选择或者标识具体路径,该路径在希望的序列中穿越实施某些网络功能的网络节点。

覆盖网络资源管理器126可以确定将用于过渡隧道143的底层网络地址和/或网络路径并且向与始发主机关联的第一lrag124a传达底层网络地址和/或网络路径。在某些实施例中,覆盖网络资源管理器126可以通过向始发主机传输目标主机的某些可达性信息(例如,它的底层网络地址)来标识网络路径。在其它实施例中,可以按照其它适当方式来标识网络路径。一旦底层网络地址和/或网络路径被确定,在始发主机(例如,第一服务器102a)处的隧道操作就可以开始。在某些实施例中,第一服务器102a可以使用底层网络地址来封装与重定位的虚拟机114’(或者vnf)关联的分组,并且通过底层网络120向目标虚拟机114”转发封装的分组。这样可以减少或者甚至避免在虚拟机重定位期间的分组丢失。

最终地,可能不再需要过渡隧道,因为受影响的虚拟网络122(例如,第一虚拟网络122a)的vrt112都用新端点标识符值诶独立地更新。因此,可以向目标虚拟机114”直接地传输去往重定位的虚拟机114’的消息。过渡隧道可以在始发nve109处在虚拟网络122的vrt112中包括条目。因此,可以在选择的时间段之后例如通过使用定时器来消除过渡隧道以消除vrt中112中的条目。

尽管以上描述的虚拟机重定位仅涉及一个虚拟机114’,但是在其它实施例中,可以执行大体地相似或者相同的操作以在批量模式中移动多个虚拟机和/或虚拟网络功能。例如,可以重复前述操作以将多个或者所有虚拟机114从一个物理服务器102重定位到另一物理服务器102、从物理位置中的服务器102重定位到不同物理位置中的服务器102或者从数据中心中的服务器102重定位到不同数据中心中的服务器102。在另一示例中,多个或者所有虚拟机114可以被关联为去往物理或者虚拟化的网络功能(比如软件负荷平衡器)的组。在这样的示例中,如果软件负荷平衡器被,则可能希望与软件负荷平衡器一起移动多个或者所有关联的虚拟机114以例如保持驻留在服务器102中的虚拟机114物理地接近软件负荷平衡器。在其它示例中,可以按照其它适当方式执行前述操作以实现对虚拟机和/或虚拟网络功能的批量重定位。

在以上参照图3的描述中,覆盖网络资源管理器126向个体受影响的lrag124散播关于对虚拟机114的重定位的更新后的可达性信息132。然而,在其它实施例中,这样的散播可以由其它适当实体执行。例如,如图4中所示,一旦lrag124已经在主控虚拟机114或者虚拟网络功能的适当服务器102中配置了vrt112,每个lrag124就可以使用路由协议(比如边界网关协议(“bgp”))来向其它lrag124宣布更新后的可达性信息132。在某些实施例中,可以通过在lrag124之中使用路由过滤来仅向与如下覆盖分区125关联的那些lrag124宣布新路由,这些覆盖分区125包含用于虚拟机114或者虚拟网络功能被附着到的虚拟网络122的端点。始发lrag124(例如,第一lrag124a)可以例如使用路由过滤技术(比如bgp中的路由目标(rt)特征)来确定受重定位影响的其它lrag124。始发lrag124然后可以向那些受影响的lrag124传输更新后的可达性信息132。每个lrag124也可以向对应覆盖分区125中的其它nve109宣布新可达性信息,这些覆盖分区包含虚拟机114或者虚拟网络功能被附着到的虚拟网络122的端点(如果有的话)。nve109可以被逻辑地互连到对应lrag124作为客户端,并且lrag124仅能够基于路由过滤或者其它适当技术来宣布路由。在其它实施例中,始发lrag124可以向所有其它lrag124广播更新后的可达性信息132。其它lrag124转而可以个体地确定更新后的可达性信息132是否影响被包含在对应覆盖分区125中的任何端点。基于确定,其它lrag124可以相应地更新对应vrt112和/或nve109(图1)。

在图1至图4中,服务器102中的每个服务器被示出为在具有对应lrag124的对应覆盖分区125中。然而,如以上讨论的那样,可以在其它适当基础上划分覆盖分区125。例如,如图5中所示,第一覆盖分区125a可以包括备互连到第一服务器102a和第三服务器102c二者的第一lrag124a。第二覆盖分区125b可以包括被互连到第二服务器102b的第二lrag124b。在另外的实施例中,服务器102和/或lrag124可以具有其它适当布置和/或配置。尽管以上在覆盖分区125的上下文中描述了参照图3至图5对虚拟机114的迁移,但是在其它实施例中,也可以在不包括分割的覆盖网络、包括部分地分割的覆盖网络或者包括覆盖和/或底层网络中的其它适当布置的计算机网络中实施利用过渡隧道143的前述迁移技术。

图6是图示了根据公开的技术的实施例的对于图1的计算机网络100而言适合的lrag124的示例软件部件的框图。如图6中所示,lrag124可以包括被相互互连的配置部件142、控制部件144和可选更新部件146。部件142、144和146中的每个部件可以是在常规编程语言中被编写为源代码的计算机程序、过程或者例程,或者一个或者多个模块可以是硬件模块。尽管在图6中仅示出了前述部件,但是在其它实施例中,lrag124也可以包括输入部件、输出部件、网络部件和/或其它适当部件中的一个或者多个部件。

配置部件142可以被配置为基于从覆盖网络资源管理器126接收的可达性信息来填充、更新和/或以别的方式管理对应覆盖分区125(图1)中的vrt112。例如,如图6中所示,配置模块142可以基于可达性信息132中的网络节点的映射来生成、更新或者以别的方式管理vrt112中的转发表148中的条目。在某些实施例中,转发表148中的条目可以个体地包括源网络节点的源地址、目的地网络节点的目的地地址和/或例如经由图2的底层网络120的在源和目的地网络节点之间的一个或者多个网络路径。在其它实施例中,转发表148中的条目可以包括网络节点111(图2)、边缘节点137(图2)、域133或者135(图2)和/或其它适当网络实体的标识,这些网络实体形成从源到目的地网络节点的路由的至少部分。

控制部件144可以被配置为在管理虚拟机114时控制管理程序107。例如,在一个实施例中,控制部件144可以指令管理程序107基于接收的可达性信息132来实例化新虚拟机114并且将实例化的虚拟机114附着到虚拟网络122(图1)。在另一示例中,控制部件144可以指令管理程序107基于接收的可达性信息132来挂起、终止和/或以别的方式操纵虚拟机114之一。在另外的示例中,控制部件144可以使得管理程序107执行前述操作和/或其它适当操作的组合。

在一个实施例中,更新部件146可以被配置为向覆盖网络资源管理器126提供状态通知134。状态通知134可以包括如下信息,该信息向覆盖网络资源管理器126通知关于与虚拟机114有关的实例化、挂起、终止和/或其它适当操作的完成。在其它实施例中,更新部件146也可以向其它lrag124’(为了清楚而用虚线示出)宣布更新后的可达性信息132。

在操作中,覆盖网络资源管理器126可以向lrag124传输可达性信息132。基于接收的可达性信息132,配置部件142可以配置vrt112中的转发表148。在某些实施例中,控制部件144也可以基于接收的可达性信息132来实例化、挂起、终止或者以别的方式操纵被主控在服务器102上的虚拟机114中的一个或者多个虚拟机。一旦控制部件144完成了对虚拟机114的操纵,更新部件146就可以向覆盖网络资源管理器126传输向它通知完成的状态通知134。作为响应,在某些实施例中,覆盖网络资源管理器126然后可以向其它受影响的lrag124’传输更新后的可达性信息132。在其它实施例中,lrag124可以向其它lrag124’直接地宣布更新后的可达性信息132。

图7是图示了根据公开的技术的实施例的更新图1的计算机网络100中的可达性信息的过程200的流程图。如图7中所示,过程200可以包括在阶段202接收可达性信息。在一个实施例中,可以从数据库接收可达性信息,该数据库包含在虚拟和对应物理网络节点之间的映射的记录。在其它实施例中,可以按照其它适当方式获得可达性信息。

在某些实施例中,过程200可以包括可选阶段204,在可选阶段204中确定用于覆盖网络的每个覆盖分区的适当可达性信息的子集。在一个实施例中,可达性信息的子集包括与虚拟网络有关的可达性信息,该虚拟网络包括对应覆盖分区中的至少一个端点。对于不包括对应覆盖分区中的至少一个端点的虚拟网络,从子集排除与这样的虚拟网络有关的可达性信息。过程200然后可以包括在阶段206向每个覆盖分区中的lrag传输确定的适当可达性信息。作为响应,每个覆盖分区中的lrag然后可以更新与具有特定覆盖分区中的至少一个端点的虚拟网络有关的一个或者多个虚拟路由表。在其它实施例中,可以省略可选阶段204,并且可以向所有覆盖分区传输相同可达性信息。作为响应,每个覆盖分区可以确定用于具有每个覆盖分区中的至少一个端点的虚拟网络的可达性信息的子集。在更多其它实施例中,每个lrag可以例如向图1的覆盖网络资源管理器126预订接收与一个或者多个虚拟网络对应的适当可达性信息。在另外的实施例中,可以例如通过在传输之前确定第一子集并且在每个覆盖分区处从第一子集确定第二子集来利用前述确定操作的组合。过程200也可以包括如以下参照图8被更具体描述的那样在阶段208更新可达性信息。

图8是图示了根据公开的技术的实施例的更新图1的计算机网络100中的可达性信息的过程220的流程图。如图8中所示,过程200可以包括在阶段222从覆盖分区接收状态更新。更新可以包括虚拟机和/或虚拟网络功能的实例化、启动、挂起、终止和/或其它适当操作的完成通知中的一项或者多项。过程220然后可以包括确定受接收的状态更新影响的一个或者多个其它覆盖分区。在一个实施例中,如果覆盖分区包括具有受更新影响的至少一个端点的虚拟网络,则覆盖分区受影响。在其它实施例中,可以基于其它适当标准来确定受影响的覆盖分区。过程220然后可以包括在阶段226仅向受影响的覆盖分区传输可达性更新。未受影响的其它覆盖分区不接收可达性更新。

图9是图示了根据公开的技术的实施例的管理覆盖分区中的可达性信息的过程300的流程图。如图9中所示,过程300包括在阶段302接收可达性信息。接收的可达性信息仅用于具有覆盖分区中的至少一个端点的虚拟网络。过程300然后可以包括在阶段304为覆盖分区中的虚拟网络配置虚拟路由表。可选地,过程300也可以包括向图1的覆盖网络资源管理器126、其它覆盖分区(未示出)和/或其它适当实体宣布可达性更新。

图10是图示了根据公开的技术的实施例的管理覆盖分区中的可达性信息的另一过程301的流程图。过程301的操作可以与图9中的过程300的操作大体地相似,不同在于过程301包括在阶段303确定用于当前覆盖分区的适当可达性信息。适当可达性信息可以包括仅与具有覆盖分区中的至少一个端点的虚拟网络有关的信息。在其它实施例中,过程301也可以包括确定用于其它覆盖分区的适当可达性信息并且例如按照适当路由协议来散播确定的适当可达性信息。

图11是图示了根据公开的技术的实施例的重定位虚拟租户端点(“tep”)的过程400的流程图。如图11中所示,过程400包括在阶段402接收用于重定位始发tep的指示。始发tep可以包括虚拟机、虚拟网络功能和/或其它适当实体。过程400然后可以包括在阶段404预备目标tep。可以通过实例化、启动和/或以别的方式生成被附着到包含始发tep的虚拟网络的目标tep来预备目标tep。过程400可以包括用于确定目标tep是否准备好的决定阶段406。如果目标tep没有准备好,则过程400恢复在阶段404预备目标tep。

如果目标tep准备好,则过程400前进到在阶段408建立在始发和目标tep之间的隧道。在某些实施例中,可以例如通过预先确定在与始发和目标tep对应的网络节点之间的一个或者多个网络路径来预建立隧道。例如,可以根据mpls协议、基于主控目标tep的网络节点的网络地址来预先确定隧道。在其它实施例中,可以例如通过基于始发和/或目标tep地址计算网络路径来在自组织基础上建立隧道。

过程400然后可以包括在阶段410经由隧道将始发tep重定位到目标tep。在一个实施例中,将始发tep重定位到目标tep可以包括对虚拟机的热、暖或者冷迁移。在其它实施例中,重定位可以包括其它适当类型的迁移。过程400也可以包括在阶段412向其它覆盖分区更新重定位的始发tep的可达性信息。在某些实施例中,更新后的可达性信息由与目标tep关联的覆盖分区中的lrag、由图1的覆盖网络资源管理器126、前述部件的组合或者计算机网络100(图1)的其它适当部件仅传输到其它覆盖分区,这些其它覆盖分区具有包含始发tep的虚拟网络的至少一个端点。在其它实施例中,向所有其它覆盖分区传输更新后的可达性信息。过程400然后包括在阶段416独立地更新虚拟分区中的每个虚拟分区中的虚拟路由表,这些虚拟分区具有包含始发tep的虚拟网络的至少一个端点。

过程400也可以包括在阶段414经由建立的隧道向目标tep转发去往始发tep的通信持续至少一个时间段,并且在时间段已经到期之后终止转发。在所图示的实施例中,阶段410、412和414被示出为相互并行。在其它实施例中,可以串行或者以其它适当方式来执行前述操作。

图12是对于图1中的计算机网络100的某些部件而言适合的计算设备600。例如,计算设备600可以对于图1的服务器102、覆盖网络资源管理器126或者lrag124而言适合。在很基本配置602中,计算设备600通常地包括一个或者多个处理器604和系统存储器606。存储器总线608可以被用于在处理器604与系统存储器606之间通信。

根据希望的配置,处理器604可以是任何类型,包括但不限于微处理器(μp)、微控制器(μc)、数字信号处理器(dsp)或者这些的任何组合。处理器604可以包括一级或者多级高速缓存(比如1级高速缓存610和2级高速缓存612)、处理器核614和寄存器616。示例处理器核614可以包括算术逻辑单元(alu)、浮点单元(fpu)、数字信号处理核(dsp核)或者这些的任何组合。示例存储器控制器618也可以与处理器604一起被使用,或者在一些实现方式中,存储器控制器618可以是处理器604的内部部分。

根据希望的配置,系统存储器606可以是任何类型,包括但不限于易失性存储器(比如ram)、非易失性存储器(比如rom、闪存等)或者这些的任何组合。系统存储器606可以包括操作系统620、一个或者多个应用622和程序数据624。如图12中所示,操作系统620可以包括用于管理一个或者多个虚拟机114的管理程序107。在图12中由在内虚线内的那些部件图示了这一描述的基本配置602。

计算设备600可以具有用于有助于在基本配置602与任何其它设备和接口之间的通信的附加特征或者功能和附加接口。例如,总线/接口控制器630可以被用来有助于经由存储接口总线634在基本配置602与一个或者多个数据存储设备632之间的通信。数据存储设备632可以是可去除存储设备636、非可去除存储设备638或者这些的组合。可去除存储和非可去除存储设备的示例聊举数例包括磁盘设备(比如软盘驱动和硬盘驱动(hdd))、光盘驱动(比如紧致盘(cd)驱动或者数字万用盘(dvd)驱动)、固态驱动(ssd)和带驱动。示例计算机存储介质可以包括在用于信息(比如计算机可读指令、数据结构、程序模块或者其它数据)的存储的任何方法或者技术中被实施的易失性和非易失性、可去除和非可去除介质。术语“计算机可读存储介质”或者“计算机可读存储设备”排除传播的信号和通信介质。

系统存储器606、可去除存储设备636和非可去除存储设备638是计算机可读存储介质的示例。计算机可读存储介质包括但不限于ram、rom、eeprom、闪存或者其它存储器技术、cd-rom、数字万用盘(dvd)或者其它光存储装置、磁盒、磁带、磁盘存储装置或者其它磁存储设备或者可以被用来存储希望的信息并且可以由计算设备600访问的任何其它介质。任何这样的计算机可读存储介质可以是计算设备600的部分。术语“计算机可读存储介质”排除传播的信号和通信介质。

计算设备600也可以包括用于有助于经由总线/接口控制器630从各种接口设备(例如,输出设备642、外围接口644和通信设备646)到基本配置602的通信的接口总线640。示例输出设备642包括可以被配置为经由一个或者多个a/v端口652与各种外部设备(比如显示器或者扬声器)通信的图形处理单元648和音频处理单元650。示例外围接口644包括可以被配置为经由一个或者多个i/o端口658与外部设备(比如输入设备(例如,键盘、鼠标、笔、语音输入设备、触摸输入设备等))或者其它外围设备(例如,打印机、扫描仪等)通信的串行接口控制器654或者并行接口控制器656。示例通信设备646包括可以被布置为有助于经由一个或者多个通信端口664通过网络通信链路与一个或者多个其它计算设备662的通信的网络控制器660。

网络通信链路可以是通信介质的一个示例。通信介质通常地可以由在调制的数据信号(比如载波或者其它传送机制)中的计算机可读指令、数据结构、程序模块或者其它数据体现并且可以包括任何信息递送介质。“调制的数据信号”可以是如下信号,该信号让它的特性中的一个或者多个特性以对信号中的信息进行编码这样的方式而被设置或者改变。举例而言而非限制,通信介质可以包括有线介质(比如有线网络或者直接接线连接)以及无线介质(比如声、射频(rf)、微波、红外线(ir)和其它无线介质)。如这里所用的术语计算机可读介质可以包括存储介质和通信介质二者。

计算设备600可以被实施为小型规格便携(或者移动)电子设备(比如蜂窝电话、个人数据助理(pda)、个人媒体播放器设备、无线网守设备、个人头戴式耳机设备、专用设备或者包括以上功能中的任何功能的混合设备)的部分。计算设备600也可以被实施为包括膝上型计算机和非膝上型计算机配置二者的个人计算机。

以上已经出于示例的目的而描述了本技术的具体实施例。然而,可以做出各种修改而没有脱离前述公开内容。此外,一个实施例的单元中的许多单元可以加上或者取代其它实施例的单元而被与其它实施例组合。因而,本技术除了受所附权利要求限制之外不受限制。

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