CN104704471A - 虚拟网络中的虚拟机多播/广播 - Google Patents

虚拟网络中的虚拟机多播/广播 Download PDF

Info

Publication number
CN104704471A
CN104704471A CN201380053148.5A CN201380053148A CN104704471A CN 104704471 A CN104704471 A CN 104704471A CN 201380053148 A CN201380053148 A CN 201380053148A CN 104704471 A CN104704471 A CN 104704471A
Authority
CN
China
Prior art keywords
network address
virtual machine
action
virtual
virtual network
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201380053148.5A
Other languages
English (en)
Other versions
CN104704471B (zh
Inventor
D·班塞尔
P·帕特尔
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of CN104704471A publication Critical patent/CN104704471A/zh
Application granted granted Critical
Publication of CN104704471B publication Critical patent/CN104704471B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/542Event management; Broadcasting; Multicasting; Notifications
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4641Virtual LANs, VLANs, e.g. virtual private networks [VPN]
    • H04L12/4645Details on frame tagging
    • H04L12/465Details on frame tagging wherein a single frame includes a plurality of VLAN tags
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network integration; Enabling network access in virtual machine instances

Abstract

虚拟机之间通过虚拟网络的多播和/或广播的性能。源管理程序访问源自源虚拟机的网络消息,并使用该网络消息确定与目的地虚拟机相关联的虚拟网络地址(在可能地解析群虚拟网络地址之后)。使用每一虚拟网络地址,管理程序确定支持目的地虚拟机的对应管理程序的物理网络地址,并且还确定目的地虚拟机的唯一性标识符。源管理程序随后可使用管理程序的物理网络地址通过物理网络将网络消息连同唯一性标识符分派给目的地管理程序。目的地管理程序将网络消息传递给唯一性标识符所标识的目的地虚拟机。

Description

虚拟网络中的虚拟机多播/广播
背景
虚拟机是执行操作系统的逻辑并且也可能执行一组一个或多个应用程序的代码。然而,这样的逻辑并非在实际上呈现相关联的用户界面的客户端计算系统(“客户端”)上执行,虚拟机在主机计算系统(“主机”)上执行。
在操作中,虚拟机生成表示要呈现在客户端上的用户界面(如,桌面或应用程序用户界面)图像和/或呈现指令,并使得主机将该图像和/或呈现指令传送给客户端。客户端接收该图像和/或呈现指令,并相应地呈现用户界面。客户端还接收用户输入并将该用户输入传送给主机。虚拟机处理输入并改变虚拟机状态。如果这样的状态改变造成对用户界面的改变,则这些改变被传送给客户端以供进一步呈现。这一过程重复得非常快,并且响应时间足够快,使得客户端的用户可能甚至不能区分操作系统以及可能的相关联的应用程序是在客户端上操作还是经由虚拟机操作。
主机通常能够运行多个虚拟机。主机通常确保虚拟机之间的隔离。因而,单个主机可为多个远程客户端提供操作系统逻辑。每一主机具有使用底层物理资源(诸如网络带宽、存储、存储器、处理)来向虚拟机提供如同该虚拟机具有专用物理资源的表象的管理程序。该表象被称为虚拟资源。因而,每一虚拟机可具有虚拟硬盘驱动器、虚拟处理器、虚拟网络带宽、虚拟RAM,等等。
虚拟网络也可由管理程序提供并向上提供给在主机上运行的虚拟机中的一者或多者,给出这些虚拟机连接到特定网络(即,虚拟网络)的表象。底层物理网络实际上促进正在通信的虚拟机的对应管理程序之间的通信。然而,这些细节被从正在通信的虚拟机的视图中抽象出来。
概述
本文描述的至少一个实施例涉及虚拟机之间通过虚拟网络的多播和/或广播的性能。源管理程序访问源自源虚拟机的网络消息,并访问与目的地虚拟机中的至少一些相关联的虚拟网络地址。
在一些实施例中,虚拟网络地址可被明确包括在网络消息中,并且可能已经与单个目的地地址相对应。作为替换或补充,网络消息内表达的群虚拟网络地址(诸如多播或广播虚拟网络地址)可被解析成多个单独的虚拟网络地址。群虚拟网络地址的解析可以使用外部地址查找服务来执行,但这不是必需的。
使用每一经解析的虚拟网络地址,管理程序确定支持目的地虚拟机的对应管理程序的物理网络地址,并且还确定目的地虚拟机的唯一性标识符。这也可以在外部地址查找服务的辅助下执行,但这不是必需的。
源管理程序随后可使用管理程序的物理网络地址通过物理网络将网络消息连同目的地虚拟机的唯一性标识符分派给目的地管理程序。例如,源管理程序可以将网络消息连同目的地虚拟机的唯一性标识符封装在一起。该封装可包括例如目的地管理程序的允许通信被路由到目的地管理程序的物理网络地址。
目的地管理程序接收该通信,解释唯一性标识符以标识目的地虚拟机,并将网络消息传递给目的地虚拟机。这可针对被解析成目的地虚拟机的每一虚拟网络地址来执行。
本发明内容并不旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用于帮助确定所要求保护的主题的范围。
附图说明
为了描述能够获得上述和其它优点和特征的方式,各实施例的更具体的描述将通过参考各附图来呈现。可以理解,这些附图只描绘了示例实施例,并且因此不被认为是对其范围的限制,将通过使用附图并利用附加特征和细节来描述和解释各实施例,在附图中:
图1抽象地示出可在其中采用本文描述的一些实施例的物理计算系统;
图2抽象地示出主存由管理程序和底层物理资源支持的多个虚拟机的主机计算系统;
图3抽象地示出通过虚拟网络通信的多个虚拟机;
图4抽象地示出网络消息的结构;
图5抽象地示出物理网络环境,该物理网络环境在物理网络环境中示出了图3的五个虚拟机;
图6示出了从分派多播网络消息的源管理程序的观点来看的执行网络消息的虚拟化多播的方法的流程图;
图7示出了从目的地管理程序来看的接收和递送网络消息的方法的流程图;
图8示出了用于访问与被网络消息至少间接寻址的多个目的地虚拟机中的每一个相关联的虚拟网络地址的方法的流程图;
图9示出了地址查找服务和可在其中表示的数据;
图10示出了用于更新多播群虚拟网络地址的方法的流程图;以及
图11示出示例云计算环境。
详细描述
根据本文描述的各实施例,描述了虚拟机之间通过虚拟网络的多播和/或广播的性能。源管理程序访问源自源虚拟机的网络消息,并使用该网络消息确定与目的地虚拟机相关联的虚拟网络地址(在可能地解析群虚拟网络地址之后)。
使用每一虚拟网络地址,管理程序确定支持目的地虚拟机的对应管理程序的物理网络地址,并且还确定目的地虚拟机的唯一性标识符。这一确定以及对群虚拟网络地址的可能解析可以使用外部地址查找服务来执行。
源管理程序随后可使用管理程序的物理网络地址通过物理网络将网络消息连同唯一性标识符分派给目的地管理程序。目的地管理程序将网络消息传递给唯一性标识符所标识的目的地虚拟机。
将参考图1来描述计算系统的一些介绍性讨论。接着,将参考图2描述虚拟机的操作。随后,将参考图3和后续附图描述虚拟机在虚拟网络中的多播和/或广播的原理。
计算系统现在越来越多地采取多种多样的形式。例如,计算系统可以是手持式设备、电器、膝上型计算机、台式计算机、大型机、分布式计算系统或甚至常规上不被认为是计算系统的设备。在本说明书以及权利要求书中,术语“计算系统”被广义地定义为包括任何设备或系统(或其组合),该设备或系统包含至少一个物理且有形的处理器以及其上能具有可由处理器执行的计算机可执行指令的物理且有形的存储器。存储器可以采取任何形式,并可以取决于计算系统的性质和形式。计算系统可以分布在网络环境中,并可包括多个组分计算系统。
如图1所示,在其最基本的配置中,计算系统100通常包括至少一个处理单元102和存储器104。存储器104可以是物理系统存储器,该物理系统存储器可以是易失性、非易失性、或两者的某种组合。术语“存储器”在此也可用来指诸如物理存储介质等非易失性大容量存储。如果计算系统是分布式的,则处理、存储器和/或存储能力也可以是分布式的。如此处所使用的那样,术语“模块”或“组件”可以指在计算系统上执行的软件对象或例程。此处所描述的不同组件、模块、引擎,以及服务可以实现为在计算系统上执行的对象或进程(例如,作为分开的线程)。
在随后的描述中,参考由一个或多个计算系统执行的动作描述了各实施例。如果这样的动作是以软件实现的,则执行动作的相关联计算系统的一个或多个处理器响应于已经执行了计算机可执行指令来引导计算系统的操作。例如,这样的计算机可执行指令可被实现在形成计算机程序产品的一个或多个计算机可读介质上。这样的操作的示例涉及对数据的操纵。计算机可执行指令(以及被操纵的数据)可被存储在计算系统100的存储器104中。计算系统100还可包含允许计算系统100例如通过网络110与其他消息处理器通信的通信信道108。
在此描述的各实施例可包括或利用专用或通用计算机,该专用或通用计算机包括诸如例如一个或多个处理器和系统存储器等计算机硬件,如以下更详细讨论的。在此描述的各实施例还包括用于承载或存储计算机可执行指令和/或数据结构的物理和其他计算机可读介质。这样的计算机可读介质可以是可由通用或专用计算机系统访问的任何可用介质。存储计算机可执行指令的计算机可读介质是物理存储介质。承载计算机可执行指令的计算机可读介质是传输介质。由此,作为示例而非限制,本发明的各实施例可包括至少两种显著不同的计算机可读介质:计算机存储介质和传输介质。
计算机存储介质包括RAM、ROM、EEPROM、CD-ROM或其他光盘存储、磁盘存储或其他磁存储设备、或可用于存储计算机可执行指令或数据结构形式的所需程序代码装置且可由通用或专用计算机访问的任何其他介质。
“网络”被定义为使得电子数据能够在计算机系统和/或模块和/或其它电子设备之间传输的一个或多个数据链路。当信息通过网络或另一个通信连接(硬连线、无线、或者硬连线或无线的组合)传输或提供给计算机时,该计算机将该连接适当地视为传输介质。传输介质可包括可用于携带计算机可执行指令或数据结构形式的所需程序代码装置且可由通用或专用计算机访问的网络和/或数据链路。上述的组合也应当包括在计算机可读介质的范围内。
此外,在到达各种计算机系统组件之后,计算机可执行指令或数据结构形式的程序代码资料可从传输介质自动传输到计算机存储介质(或反之亦然)。例如,通过网络或数据链路接收到的计算机可执行指令或数据结构可被缓存在网络接口模块(例如,“NIC”)内的RAM中,然后最终被传输到计算机系统RAM和/或计算机系统处的较不易失性的计算机存储介质。因而,应当理解,计算机存储介质可被包括在还利用(或甚至主要利用)传输介质的计算机系统组件中。
计算机可执行指令例如包括,当在处理器处执行时使通用计算机、专用计算机、或专用处理设备执行某一功能或某组功能的指令和数据。计算机可执行指令可以是例如二进制代码、诸如汇编语言之类的中间格式指令、或甚至源代码。尽管用结构特征和/或方法动作专用的语言描述了本主题,但可以理解,所附权利要求书中定义的主题不必限于上述特征或动作。更具体而言,上述特征和动作是作为实现权利要求的示例形式而公开的。
本领域的技术人员将理解,本发明可以在具有许多类型的计算机系统配置的网络计算环境中实践,这些计算机系统配置包括个人计算机、台式计算机、膝上型计算机、消息处理器、手持式设备、多处理器系统、基于微处理器的或可编程消费电子设备、网络PC、小型计算机、大型计算机、移动电话、PDA、寻呼机、路由器、交换机等等。本发明也可在其中通过网络链接(或者通过硬连线数据链路、无线数据链路,或者通过硬连线和无线数据链路的组合)的本地和远程计算机系统两者都执行任务的分布式系统环境中实施。在分布式系统环境中,程序模块可以位于本地和远程存储器存储设备二者中。
已经参考图1描述了物理计算系统(或物理机),现在将描述虚拟计算系统(或虚拟机)的概念。一种类型的物理计算系统被称为主机计算系统(或简称为“主机”)。每个主机能够运行一个或更多个且潜在地许多个虚拟机。例如,图2更详细地抽象地解说了主机200。在图2的示例中,主机200被解说为运行包括虚拟机210A、210B和210C在内的三个虚拟机210。然而,省略号210D再次表示本文描述的原理不受到运行在主机200上的虚拟机的数目的限制。可以由少至零个虚拟机运行在主机上,而且唯一的上限是受到主机200的物理能力的限定。
在操作期间,虚拟机模拟完全可操作的计算系统,包括至少一个操作系统并且也许还包括一个或多个其他应用。每个虚拟机被指派一个特定的客户端,并且负责支持该客户端的桌面环境。
虚拟机生成桌面镜像或其他表示桌面的当前状态的呈现指令,并接着将该镜像或指令传送到客户端以供桌面的呈现。在用户与客户端处的桌面进行交互时,用户输入从客户端被传送到虚拟机。虚拟机处理用户输入,并且如果合适,则改变桌面状态。如果桌面状态中这样的改变将导致在所呈现的桌面中的改变,则虚拟机更改镜像或呈现指令(如果合适的话),并将经更改的图像或呈现的指令传送到客户端计算系统以供合适的呈现。从用户的角度而言,就好像客户端计算系统本身在执行桌面处理。
主机200包括管理程序220,其使用从虚拟机210的视角抽象出的物理资源221来模拟虚拟机210的虚拟资源。管理程序221还提供虚拟机210之间的适当的隔离。因此,从任何给定的虚拟机的角度来看,管理程序220提供该虚拟机正与物理资源对接的错觉,即便该虚拟机仅仅与物理资源的表象(例如,虚拟资源)对接,而不是直接与物理资源对接。在图2中,物理资源221被抽象地表示为包括资源221A到221F。物理资源221的示例包括处理容量、存储器、盘空间、网络带宽、媒体驱动器等等。
图3示出标记为A到E的通过虚拟网络301通信的多个虚拟机。虚拟机A到E中的每一个具有虚拟机可以用来通过虚拟网络301通信的相关联的虚拟网络地址321到325。本文描述的虚拟网络地址可各自例如是虚拟因特网协议(IP)地址。
假定虚拟机A要将网络消息310多播给其他虚拟机B、C、D、E中的每一个(如多头箭头311所表示的)。图4更详细地示出网络消息300的示例400。虚拟机A可以构造网络消息300(例如,网络消息400),它包括表达虚拟网络地址411、412以及413中的每一个的目的地头部401。例如,目的地头部401可表达虚拟机B的虚拟网络地址(它是322)、虚拟机C的虚拟网络地址(它是323)、以及包括虚拟机D和E两者的群虚拟网络地址的网络地址(它是302)。虚拟机D与群虚拟网络地址302之间的关联由虚线303B表示。同样,虚拟机E与群虚拟网络地址302之间的关联由虚线303A表示。例如,群虚拟网络地址302可以是多播虚拟网络地址或可能是广播虚拟网络地址。
在一些实施例中,多播网络地址可以被订阅为虚拟机,通过向该多播网络地址注册以将该虚拟机添加作为在该多播网络地址处接收到的任何网络消息的成员。相关联的解除注册请求可将虚拟机从多播虚拟网络地址解除注册。广播虚拟网络地址与虚拟网络的特定集合(例如,子网)相关联。在广播虚拟网络地址处接收到的任何网络消息被广播给该子网内的虚拟机中的每一者。
虚拟网络301在以下意义上是“虚拟的”:底层物理网络架构(及相关联的物理地址)被从虚拟机A到E中的每一者的视图中抽象出来。例如,图5示出物理网络环境500,物理网络环境500示出其实际物理环境中的五个虚拟机A到E。
物理网络环境包括通过网络501通信的三个主机510、520以及530。每一主机具有物理网络地址,该物理网络地址的示例是用于物理网络501的实际IP地址。例如,主机510具有相关联的物理网络地址541,主机520具有相关联的物理网络地址542,且主机530具有相关联的物理网络地址543。主机510、520以及530中的每一者分别包括相关联的管理程序511、521以及531。
每一主机包括对应的虚拟机。例如,仅作为示例,主机510操作虚拟机512、513以及514;主机520操作虚拟机522、523以及524;且主机530操作虚拟机532、533以及534。每一虚拟机可具有唯一性标识符。例如,虚拟机513具有标识符D且对应于图3的虚拟机D,虚拟机514具有标识符A且对应于图3的虚拟机A,虚拟机523具有标识符E且对应于图3的虚拟机E,虚拟机532具有标识符B且对应于图3的虚拟机B,且虚拟机533具有标识符C且对应于图3的虚拟机C。
因而,物理网络500的实际物理配置与虚拟网络300上提供的抽象视图大不相同。网络地址在虚拟网络300中与物理网络500中不同,且进一步,虚拟机A到E不必关心支持虚拟网络300的基础物理网络。
物理网络环境500还包括可如下进一步描述地操作的地址查找服务502。地址查找服务502的实现对本文描述的更一般原理而言是不重要的。地址查找服务502可以是例如云服务,或可能是在主机510、520以及530中的每一个上可用的分布式应用。尽管物理网络环境示出了三个主机,每一主机上运行三个虚拟机,但这只是示例。本文描述的原理适用于不论物理网络环境具有多少主机、以及不论多少虚拟机在特定主机上操作。
图6示出了从分派多播网络消息的源管理程序的观点来看的执行网络消息的虚拟化多播的方法600的流程图。图7示出了从目的地管理程序来看的接收和递送网络消息的方法700的流程图。作为示例,方法600和700可被执行以促进网络消息310(例如,消息400)通过虚拟网络300的多播311,这当然涉及在图5的物理网络环境500的物理层处的操作。因此,现在将频繁参考图3到5来描述图6和7。
参考图6,源管理程序访问始发自源虚拟机的网络消息(动作601)。参考图3,源虚拟机可以是虚拟机A,且网络消息可以是网络消息310,其示例是图4的网络消息400。在参考图5的物理网络层处,源管理程序511从虚拟机514(即,虚拟机A)访问网络消息,如箭头551所表示的。
源管理程序随后访问与目的地虚拟机中的每一个相关联的虚拟网络地址(动作602)。例如,参考图4,目的地头部401中的虚拟网络地址指定单独的虚拟网络地址和群虚拟网络地址两者。单独的虚拟网络地址是被专门指派给单独虚拟机的地址(如图3中的虚拟机地址321到325)。群网络地址是可被指派给多个虚拟机的地址(如图3中的群虚拟网络地址302)。
图8示出了用于访问与被网络消息至少间接寻址的多个目的地虚拟机中的每一个相关联的虚拟网络地址的方法800的流程图。方法800可被执行以实现图6的动作602。方法800是递归的,但在第0层递归(在执行方法800的任何递归之前)处,方法800被针对网络消息中表达的虚拟网络地址中的每一个来执行。例如,在图4的情况下,在第0层递归处,方法800被针对网络消息400内表达的虚拟网络地址411到413中的每一个来执行。
以虚拟网络地址411开始,源管理程序511访问虚拟网络地址411(它是322——虚拟机B的虚拟网络地址)。这对应于图8的动作801。方法800随后取决于所访问的虚拟网络地址是否是群虚拟网络地址而分叉(判定框802)。在虚拟网络地址411的情况下,虚拟网络地址411是单独的虚拟网络地址(判定框802中的“否”)。因此,虚拟网络地址411被添加到列表(动作803)(例如,322被添加到该列表)。在第0层递归处,存在更多的虚拟网络地址要被评估(判定框804中的“是”),因为存在更多的在网络消息400内表达的虚拟网络地址。因此,方法800返回以访问网络消息400中表达的网络虚拟网络地址。
源管理程序511访问虚拟网络地址412(它是302)(动作801)。这是群虚拟网络地址(判定框802中的“是”),且因此,找出该群虚拟网络地址的各组成虚拟网络地址(动作806)。在一个实施例中,这可以通过使用图5的地址查找服务502来执行。图9示出了地址查找服务900和可在其中表示的数据。在此,存在将群虚拟网络地址302与其组成虚拟网络地址进行相关的群虚拟网络地址关系表902。在这一情况下,组成虚拟网络地址是虚拟网络地址324(对应于虚拟机D)和虚拟网络地址325(对应于虚拟机E)。方法800随后向上移动一层递归达到第1层递归(动作807)。
方法800随后在第1层递归处开始。当在第“n”层递归处操作时(其中n是正整数),方法800可以针对由造成更高层递归的群虚拟网络地址发现的各组成虚拟网络地址中的每一个来执行。换言之,对于该第1层递归,方法800是针对虚拟网络地址324和325中的每一个来执行的。
以虚拟网络消息324开始,源管理程序511访问虚拟网络地址324(动作801)。因为这是单独的虚拟网络地址(判定框802中的“否”),所以虚拟网络地址324被添加到列表(动作804)。因而,该列表现在包括地址322和324。在这一层递归处存在更多的虚拟网络地址要被评估(判定框804中的“是”),并且因此该方法返回动作801。
在该第1层递归处的下一虚拟网络地址被访问(动作801)。这将是虚拟网络地址325。这是单独的虚拟网络地址(判定框802中的“否”),并且因此该虚拟网络地址325也被添加到列表(动作803)。因而,在这一阶段,该列表包括虚拟网络地址322、324以及325。在该第1层递归处不存在更多的虚拟网络地址要评估(判定框804中的“否”),并且因此,递归向下移动一层到达第0层递归(动作805)。因此,方法800在第0层递归处继续,这是它在进入第1层递归之前最后离开的层。
以虚拟网络地址413继续,源管理程序511访问虚拟网络地址413(它是323——虚拟机C的虚拟网络地址)(动作801)。因为这是单独的虚拟网络地址(判定框802中的“否”),所以虚拟网络地址413被添加到列表(动作803)(例如,323被添加到列表)。因此,在这一阶段,列表中存在四个虚拟网络地址322到325。没有更多虚拟网络地址要评估(判定框805中的“否”),并且因此,递归向下移动一层(动作805),这意味着方法800在已经处于第0层递归处的情况下结束。
返回图6,通过针对网络消息400的地址头部411中表达的虚拟网络地址递归地执行方法800来实现的动作602使得虚拟网络地址322到325被标识(动作602)。虚线框610的内容随后被针对所标识的目的地虚拟机中的每一个来执行。然而,所描述的原理也适用于如下情况:框610的内容只针对所标识的虚拟网络地址的子集或甚至其中之一来执行。
对于每一虚拟网络地址,源管理程序511使用相关联的虚拟网络地址来确定支持目的地虚拟机的目的地管理程序的管理程序物理网络地址(动作611)。另外,相关联的虚拟网络地址可被用来确定相关联的目的地虚拟机的唯一性标识符(动作612)。尽管并非必需,这可以使用图5的地址查找服务502来确定。参考图9,单独的虚拟网络地址表901示出了各条目901A到901E,其中与虚拟网络地址中的每一个相关联的管理程序物理网络地址被揭示,并且其中与每一虚拟网络地址相关联的每一目的地虚拟机的唯一性标识符被揭示。
例如,对于虚拟网络地址322,管理程序物理网络地址是543且虚拟机唯一性标识符是B。对于虚拟网络地址323,管理程序物理网络地址同样是543且虚拟机唯一性标识符是C。对于虚拟网络地址324,管理程序物理网络地址是541(与源虚拟机的管理程序相同)且虚拟机唯一性标识符是D。对于虚拟网络地址325,管理程序物理网络地址是542且虚拟机唯一性标识符是E。
对于每一虚拟网络地址,源管理程序511随后使用管理程序物理网络地址来将网络消息连同目的地虚拟机的唯一性标识符一起分派给目的地管理程序(动作613)。
在虚拟网络地址324的情况下,源管理程序511可以简单地使用管理程序物理网络地址来识别出通过物理网络501的物理分派是不必要的。
在虚拟网络地址325的情况下,源管理程序511将通过物理网络501物理地分派通信,因为目的地管理程序521不同于源管理程序511。因此,通信被使用管理程序物理网络地址542来寻址,且包括原始网络消息(例如,网络消息400)以及唯一性标识符E。这一通信在图5中由箭头552和消息562表示。
在虚拟网络地址322和323的情况下,源管理程序511可通过物理网络501物理地分派单个通信,因为对于虚拟网络地址322和323两者所表示的虚拟机而言,目的地管理程序531是相同的。因此,通信被使用管理程序物理网络地址542来寻址,且包括原始网络消息(例如,网络消息400)以及唯一性标识符B和C。这一通信在图5中由箭头553和消息563表示。
图7示出用于目的地虚拟机路由网络消息的方法700的流程图。每一目的地管理程序将在接收到包括网络消息400以及唯一性地标识虚拟机的一个或多个唯一性标识符的通信时执行方法700。例如,对于虚拟机B和C,目的地管理程序531访问通信463,使用唯一性标识符B和C来标识目的地虚拟机532和533(动作702),并随后将网络消息400提供或传递给虚拟机532和533(动作703)。对于虚拟机D,在源管理程序511将它自己识别为目的地管理程序后(动作701),唯一性标识符D被用来将虚拟机513标识为目的地虚拟机(动作702),且消息400被传递给虚拟机D(动作703)。对于虚拟机E,目的地管理程序521访问通信462,使用唯一性标识符E来标识目的地虚拟机523(动作702),并随后将网络消息400提供或传递给虚拟机523(动作703)。
从图3的虚拟网络的观点来看,虚拟机A已经能够执行网络消息300的多播311,并且如何使用物理网络环境500实现这一点的复杂基础被从虚拟机A到E的视图中抽象出来。
如上所述,群虚拟网络地址302可以是多播虚拟网络地址。图10示出了用于更新多播群虚拟网络地址的方法1000的流程图。方法1000可以由接收到来自一个或它们的虚拟机的注册或解除注册请求的管理程序中的任一个来执行。
支持虚拟机的管理程序访问来自虚拟机的多播注册或解除注册多播注册请求(动作1001)。方法1000随后取决于该请求是注册请求还是解除注册请求而分叉(判定框1002)。
如果该请求是注册请求(判定框1002中的“注册”),则管理程序向群虚拟网络地址注册该虚拟网络地址(动作1003)。例如,管理程序将多播注册请求传递给地址查找服务502(动作1011)。地址查找服务接收多播注册请求(动作1012),并通过向多播虚拟网络地址注册与虚拟机相关联的虚拟网络地址来对该多播注册请求进行响应(动作1013)。
例如,为了使虚拟机D被添加到多播虚拟网络地址302(如虚线303B所表示的),虚拟机D将注册请求分派到虚拟网络301。这一注册请求被相关联的管理程序511截取,管理程序511将该注册请求路由到地址查找服务502。同样,为了使虚拟机E被添加到多播虚拟网络地址302(如虚线303A所表示的),虚拟机E将注册请求分派到虚拟网络301。这一注册请求被相关联的管理程序521截取,管理程序521将该注册请求路由到地址查找服务502。
如果该请求是解除注册请求(判定框1002中的“解除注册”),则管理程序向群虚拟网络地址解除注册该虚拟网络地址(动作1004)。例如,管理程序将多播解除注册请求传递给地址查找服务502(动作1021)。地址查找服务接收多播解除注册请求(动作1022),并通过解除关联于第二虚拟机的虚拟网络地址同多播虚拟网络地址的关联,来对该多播解除注册请求进行响应(动作1023)。
尽管并非必需,但在一个实施例中,物理网络环境500可被结构化为环境1100。环境1100包括使用接口1102与系统1110交互的多个客户端1101。环境1100被解说为具有三个客户端1101A、1101B和1101C,尽管省略号1101D表示本文描述的原理不限于通过接口1102与系统1110对接的客户端的数目。系统1110可按需向客户端1101提供服务,因此接收来自系统1110的服务的客户端1101的数目可随时间变化。
每个客户端1101可以例如被结构化成如以上针对图1的计算系统100所描述的那样。替代地或附加地,客户端可以是通过接口1102与系统1110对接的应用或其它软件模块。接口1102可以是应用程序接口,其用以下的方式来定义:能够使用该应用程序接口的任何计算系统或软件实体可与系统1110通信。
系统1110可以是分布式系统,但这并不是必须的。在一个实施例中,系统1110是云计算环境。云计算环境可以是分布式的(但这并不是必须的),并且甚至可以是国际性地分布的和/或具有由多个组织所拥有的组件。
在该描述和下面的权利要求书中,“云计算”被定义为用于允许对可配置计算资源(例如,网络、服务器、存储、应用和服务)的共享池的按需网络访问的模型。“云计算”的定义不限于可从这样的模型(在被合适地部署时)中获得的任何其他多个优点。
例如,云计算当前被用于市场,以便提供对可配置计算资源的共享池的普遍存在且方便的按需访问。此外,可配置计算资源的共享池可经由虚拟化而被快速地供应,并可利用低管理努力或服务提供商干预来发布,并随后因此被缩放。
云计算模型可由各种特性组成,诸如按需自服务、广泛网络访问、资源池、快速灵活性、测定的服务等。云计算模型还可形成各种服务模型,诸如例如软件即服务(SaaS)、平台即服务(PaaS)以及基础结构即服务(IaaS)。云计算模型还可以使用不同的部署模型来部署,诸如私有云、社区云、公共云和混合云等。在该描述和权利要求书中,“云计算环境”是其中采用了云计算的环境。
系统1110包括多个主机1111,每个主机都能够运行虚拟机。虽然系统1100可包括任意数目的主机1111,但在图11中解说了三个主机1111A、1111B和1111C,而省略号1111D表示本文所描述的原理不限于系统1110内的主机的该确切数目。可以少至一个,并且没有上限。此外,主机的数目可以是静态的,或者可以是随时间动态改变的,因为新的主机可被添加到系统1110,或者主机被从系统1110中移除。主机1111的每一个可以如上针对图1的计算系统100所述地被结构化。主机1111A、111B以及111C可以是例如图5的主机510、520以及530。
回到图11,系统1100还包括服务1112。在所示示例中,服务1100包括五个不同的服务1112A、1112B、1112C、1112D和1112E,但是省略号1112F表示本文中描述的原理并不受限于在系统1110中的服务的数目。服务协调系统1113与主机1111以及服务1112通信,由此提供客户端1101所请求的服务,以及是所请求的服务的先决条件的其它服务(诸如,认证、帐务等)。在一个实施例中,服务1112A是图5的地址查找服务502。因此,本文描述的原理可以但不一定在云计算环境中执行。
本发明可具体化为其它具体形式而不背离其精神或本质特征。所描述的实施例在所有方面都应被认为仅是说明性而非限制性的。因此,本发明的范围由所附权利要求书而非前述描述指示。落入权利要求书的等效方案的含义和范围内的所有改变都被权利要求书的范围所涵盖。

Claims (10)

1.一种执行网络消息的虚拟化多播的方法,所述方法包括:
源管理程序访问源自源虚拟机的网络消息的动作;
所述源管理程序访问与至少被所述网络消息间接寻址的多个目的地虚拟机中的每一个相关联的虚拟网络地址的动作;
对于所述多个目的地虚拟机中的至少一些中的每一个,所述源管理程序执行以下动作:
使用相关联的虚拟网络地址来确定支持所述目的地虚拟机的目的地管理程序的管理程序物理网络地址的动作;
使用相关联的虚拟网络地址来确定所述目的地虚拟机的唯一性标识符的动作;以及
使用所述管理程序物理网络地址来将所述网络消息连同所述目的地虚拟机的唯一性标识符一起分派给所述目的地管理程序的动作。
2.如权利要求1所述的方法,其特征在于,所述源管理程序和所述目的地管理程序是同一管理程序,且使用所述管理程序物理网络地址来将所述网络消息分派给所述目的地管理程序的动作包括:所述源管理程序识别出所述源管理程序是相对于相关联的目的地虚拟机的目的地管理程序的动作,所述方法还包括:
使用所述目的地虚拟机的唯一性标识符来将所述网络消息提供给所述目的地虚拟机的动作。
3.如权利要求1所述的方法,其特征在于,所述源管理程序和所述目的地管理程序是不同主机计算系统上的不同管理程序。
4.如权利要求1所述的方法,其特征在于,访问与至少被所述网络消息间接寻址的多个目的地虚拟机中的每一个相关联的虚拟网络地址的所述动作包括;
访问所述网络消息内表达的虚拟网络地址的动作,所述虚拟网络地址对应于单个目的地虚拟机。
5.如权利要求1所述的方法,其特征在于,访问与至少被所述网络消息间接寻址的多个目的地虚拟机中的每一个相关联的虚拟网络地址的所述动作包括;
访问所述网络消息内表达的群虚拟网络地址的动作,所述虚拟网络地址对应于多个目的地虚拟机;以及
使用所述群虚拟网络地址来确定与所述目的地虚拟机中的至少一个相关联的虚拟网络地址的动作。
6.如权利要求5所述的方法,其特征在于,使用所述群虚拟网络地址来确定与所述目的地虚拟机中的至少一个相关联的虚拟机地址的动作是通过地址查找服务来执行的,所述地址查找服务在操作所述源管理程序的主机计算系统的外部执行。
7.如权利要求6所述的方法,其特征在于,所述群虚拟网络地址是多播虚拟网络地址,所述方法还包括:
通过执行以下动作来保持所述多播虚拟网络地址更新的动作:
支持第一虚拟机的第一管理程序访问来自所述第一虚拟机的多播注册请求的动作;以及
所述第一管理程序将所述多播注册请求传递给所述地址查找服务的动作。
8.如权利要求7所述的方法,其特征在于,保持所述多播虚拟网络地址更新的动作还包括:
所述地址查找服务接收所述多播注册请求的动作;以及
所述地址查找服务通过向所述多播虚拟网络地址注册与所述第一虚拟机相关联的虚拟网络地址来对所述多播注册请求进行响应的动作。
9.如权利要求7所述的方法,其特征在于,保持所述多播虚拟网络地址更新的动作还包括:
支持第二虚拟机的第二管理程序访问来自所述第二虚拟机的多播解除注册请求的动作;以及
所述第二管理程序将所述多播解除注册请求传递给所述地址查找服务的动作。
10.一种包括其上具有计算机可执行指令的一个或多个计算机可读存储介质的计算机程序产品,所述计算机可执行指令可被结构化成使得在被主机计算系统的一个或多个处理器执行时,使所述主机计算系统执行一种执行网络消息的虚拟化多播的方法,所述方法包括:
源管理程序访问源自源虚拟机的网络消息的动作;
所述源管理程序访问与至少被所述网络消息间接寻址的多个目的地虚拟机中的每一个相关联的虚拟网络地址的动作;
对于所述多个目的地虚拟机中的至少一些中的每一个,所述源管理程序执行以下动作:
使用相关联的虚拟网络地址来确定支持所述目的地虚拟机的目的地管理程序的管理程序物理网络地址的动作;
使用相关联的虚拟网络地址来确定所述目的地虚拟机的唯一性标识符的动作;以及
使用所述管理程序物理网络地址来将所述网络消息连同所述目的地虚拟机的唯一性标识符一起分派给所述目的地管理程序的动作。
CN201380053148.5A 2012-10-10 2013-10-09 虚拟网络中的虚拟机多播/广播 Active CN104704471B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/649,036 US8989183B2 (en) 2012-10-10 2012-10-10 Virtual machine multicast/broadcast in virtual network
US13/649,036 2012-10-10
PCT/US2013/063958 WO2014058935A1 (en) 2012-10-10 2013-10-09 Virtual machine multicast/broadcast in virtual network

Publications (2)

Publication Number Publication Date
CN104704471A true CN104704471A (zh) 2015-06-10
CN104704471B CN104704471B (zh) 2019-04-19

Family

ID=49484451

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201380053148.5A Active CN104704471B (zh) 2012-10-10 2013-10-09 虚拟网络中的虚拟机多播/广播

Country Status (5)

Country Link
US (2) US8989183B2 (zh)
EP (1) EP2907028B1 (zh)
CN (1) CN104704471B (zh)
ES (1) ES2738124T3 (zh)
WO (1) WO2014058935A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017092554A1 (zh) * 2015-12-02 2017-06-08 中兴通讯股份有限公司 基于虚拟桌面的音视频组播播放方法、装置及系统
CN115398872A (zh) * 2020-04-06 2022-11-25 思科技术公司 管理程序和虚拟机之间的动态蜂窝连接

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8595378B1 (en) * 2009-03-30 2013-11-26 Amazon Technologies, Inc. Managing communications having multiple alternative destinations
US9432204B2 (en) * 2013-08-24 2016-08-30 Nicira, Inc. Distributed multicast by endpoints
US10904201B1 (en) * 2013-10-11 2021-01-26 Cisco Technology, Inc. Updating distributed caches in network devices in the event of virtual machine changes in a virtualized network environment
US9910686B2 (en) 2013-10-13 2018-03-06 Nicira, Inc. Bridging between network segments with a logical router
US9602392B2 (en) 2013-12-18 2017-03-21 Nicira, Inc. Connectivity segment coloring
US9602385B2 (en) 2013-12-18 2017-03-21 Nicira, Inc. Connectivity segment selection
US9893988B2 (en) 2014-03-27 2018-02-13 Nicira, Inc. Address resolution using multiple designated instances of a logical router
US9794079B2 (en) 2014-03-31 2017-10-17 Nicira, Inc. Replicating broadcast, unknown-unicast, and multicast traffic in overlay logical networks bridged with physical networks
US10581737B1 (en) * 2014-06-20 2020-03-03 Amazon Technologies, Inc. Acceleration of data routing in an application group
US9338092B1 (en) 2014-06-20 2016-05-10 Amazon Technologies, Inc. Overlay networks for application groups
US9768980B2 (en) 2014-09-30 2017-09-19 Nicira, Inc. Virtual distributed bridging
US10511458B2 (en) 2014-09-30 2019-12-17 Nicira, Inc. Virtual distributed bridging
US10020960B2 (en) 2014-09-30 2018-07-10 Nicira, Inc. Virtual distributed bridging
US10250443B2 (en) 2014-09-30 2019-04-02 Nicira, Inc. Using physical location to modify behavior of a distributed virtual network element
DE112014002771T5 (de) * 2014-12-24 2016-10-13 Intel Corporation Hybrid-on-Demand-Grafikübersetzungstabellen-Shadowing
US10469313B2 (en) * 2015-01-29 2019-11-05 Nec Corporation Data file registration management system, method, management apparatus, and recording medium
US10191757B2 (en) 2015-06-26 2019-01-29 Microsoft Technology Licensing Llc Seamless address reassignment via multi-tenant linkage
US10361952B2 (en) 2015-06-30 2019-07-23 Nicira, Inc. Intermediate logical interfaces in a virtual distributed router environment
US10630499B2 (en) 2017-03-24 2020-04-21 Oracle International Corporation System and method to provide path records derived from ARP responses and peer-to-peer negotiation based on homogeneous fabric attribute in a high performance computing environment
US10461947B2 (en) * 2017-03-24 2019-10-29 Oracle International Corporation System and method to provide default multicast lid values per partition as additional SMA attributes in a high performance computing environment
US10841199B2 (en) 2017-03-24 2020-11-17 Oracle International Corporation System and method for optimized path record handling in homogenous fabrics without host stack cooperation in a high performance computing environment
US10862694B2 (en) 2017-03-24 2020-12-08 Oracle International Corporation System and method to provide default multicast proxy for scalable forwarding of announcements and information request intercepting in a high performance computing environment
US10868686B2 (en) 2017-03-24 2020-12-15 Oracle International Corporation System and method to provide default multicast group (MCG) for announcements and discovery as extended port information in a high performance computing environment
US10693815B2 (en) 2017-03-24 2020-06-23 Oracle International Corporation System and method to use all incoming multicast packets as a basis for GUID to LID cache contents in a high performance computing environment
US10601765B2 (en) 2017-03-24 2020-03-24 Oracle International Corporation System and method to provide combined IB and IP address and name resolution schemes via default IB multicast groups in a high performance computing environment
US10868685B2 (en) 2017-03-24 2020-12-15 Oracle International Corporation System and method to provide explicit multicast local identifier assignment for per-partition default multicast local identifiers defined as subnet manager policy input in a high performance computing environment
US11968132B2 (en) 2017-03-24 2024-04-23 Oracle International Corporation System and method to use queue pair 1 for receiving multicast based announcements in multiple partitions in a high performance computing environment
US10511459B2 (en) 2017-11-14 2019-12-17 Nicira, Inc. Selection of managed forwarding element for bridge spanning multiple datacenters
US10374827B2 (en) 2017-11-14 2019-08-06 Nicira, Inc. Identifier that maps to different networks at different datacenters
US11184274B2 (en) 2019-05-31 2021-11-23 Microsoft Technology Licensing, Llc Multi-cast support for a virtual network
US10778457B1 (en) 2019-06-18 2020-09-15 Vmware, Inc. Traffic replication in overlay networks spanning multiple sites
US11784922B2 (en) 2021-07-03 2023-10-10 Vmware, Inc. Scalable overlay multicast routing in multi-tier edge gateways

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7802000B1 (en) * 2005-08-01 2010-09-21 Vmware Virtual network in server farm
US20100329253A1 (en) * 2009-06-30 2010-12-30 Sun Microsystems, Inc. Method and apparatus for packet classification and spreading in a virtualized system
US20110299537A1 (en) * 2010-06-04 2011-12-08 Nakul Pratap Saraiya Method and system of scaling a cloud computing network
CN102422267A (zh) * 2009-06-04 2012-04-18 国际商业机器公司 具有灵活网络连接性配置且具有子分区的被逻辑分区的系统

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6611872B1 (en) 1999-01-11 2003-08-26 Fastforward Networks, Inc. Performing multicast communication in computer networks by using overlay routing
GB2418326B (en) 2004-09-17 2007-04-11 Hewlett Packard Development Co Network vitrualization
FR2879385A1 (fr) 2004-12-09 2006-06-16 Thomson Licensing Sa Methode d'agregation de decouverte de service dans un reseau local et appareil implementant la methode
US8489701B2 (en) 2007-01-30 2013-07-16 Microsoft Corporation Private virtual LAN spanning a public network for connection of arbitrary hosts
US20080250407A1 (en) * 2007-04-05 2008-10-09 Microsoft Corporation Network group name for virtual machines
US8798056B2 (en) * 2007-09-24 2014-08-05 Intel Corporation Method and system for virtual port communications
GB2458154B (en) * 2008-03-07 2012-06-27 Hewlett Packard Development Co Routing across a virtual network
US20100034130A1 (en) 2008-08-01 2010-02-11 Tricci So Dynamic Discovery of Multicast Broadcast Services controller and Synchronization in Wireless Communication Systems
US9817695B2 (en) * 2009-04-01 2017-11-14 Vmware, Inc. Method and system for migrating processes between virtual machines
EP3432524B1 (en) * 2009-09-24 2024-05-01 Zoom Video Communications, Inc. System and method for identifying communication between virtual servers
US9183046B2 (en) * 2010-10-27 2015-11-10 Red Hat Israel, Ltd. Network address retrieval for live migration of a guest system in a virtual machine system
US8553690B2 (en) * 2010-12-15 2013-10-08 International Business Machines Corporation Processing multicast messages in a data processing system
US20130034094A1 (en) * 2011-08-05 2013-02-07 International Business Machines Corporation Virtual Switch Data Control In A Distributed Overlay Network
US8923149B2 (en) * 2012-04-09 2014-12-30 Futurewei Technologies, Inc. L3 gateway for VXLAN
US9813328B2 (en) * 2012-04-12 2017-11-07 Hewlett Packard Enterprise Development Lp Assigning selected groups to routing structures

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7802000B1 (en) * 2005-08-01 2010-09-21 Vmware Virtual network in server farm
CN102422267A (zh) * 2009-06-04 2012-04-18 国际商业机器公司 具有灵活网络连接性配置且具有子分区的被逻辑分区的系统
US20100329253A1 (en) * 2009-06-30 2010-12-30 Sun Microsystems, Inc. Method and apparatus for packet classification and spreading in a virtualized system
US20110299537A1 (en) * 2010-06-04 2011-12-08 Nakul Pratap Saraiya Method and system of scaling a cloud computing network

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017092554A1 (zh) * 2015-12-02 2017-06-08 中兴通讯股份有限公司 基于虚拟桌面的音视频组播播放方法、装置及系统
CN106817607A (zh) * 2015-12-02 2017-06-09 中兴通讯股份有限公司 基于虚拟桌面的音视频组播播放方法、装置及系统
CN106817607B (zh) * 2015-12-02 2020-09-08 南京中兴新软件有限责任公司 基于虚拟桌面的音视频组播播放方法、装置及系统
CN115398872A (zh) * 2020-04-06 2022-11-25 思科技术公司 管理程序和虚拟机之间的动态蜂窝连接
CN115398872B (zh) * 2020-04-06 2024-01-19 思科技术公司 管理程序和虚拟机之间的动态蜂窝连接
US11916698B2 (en) 2020-04-06 2024-02-27 Cisco Technology, Inc. Dynamic cellular connectivity between the hypervisors and virtual machines

Also Published As

Publication number Publication date
EP2907028A1 (en) 2015-08-19
EP2907028B1 (en) 2019-05-15
ES2738124T3 (es) 2020-01-20
WO2014058935A1 (en) 2014-04-17
BR112015007599A2 (pt) 2017-12-12
CN104704471B (zh) 2019-04-19
US8989183B2 (en) 2015-03-24
US20140098814A1 (en) 2014-04-10
US20150193255A1 (en) 2015-07-09
US9378042B2 (en) 2016-06-28

Similar Documents

Publication Publication Date Title
CN104704471A (zh) 虚拟网络中的虚拟机多播/广播
CN110535831B (zh) 基于Kubernetes和网络域的集群安全管理方法、装置及存储介质
CN101128807B (zh) 用于扩充中断控制器和合成中断来源的系统和方法
US10320674B2 (en) Independent network interfaces for virtual network environments
CN104395886A (zh) 多租户中间件云服务技术
US8448171B2 (en) Communications between virtual machines that have been migrated
CN101430649B (zh) 基于虚拟机的虚拟计算环境系统
US9854045B2 (en) Generic cloud enabling of stateful applications
CN104428752A (zh) 将虚拟机流卸载至物理队列
US11095716B2 (en) Data replication for a virtual networking system
CN104220988A (zh) 云服务器中的层3服务实现和方法
CN101924693A (zh) 用于在虚拟机间迁移进程的方法和系统
CN107707622A (zh) 一种访问桌面云虚拟机的方法、装置及桌面云控制器
CN103530167A (zh) 一种虚拟机内存数据的迁移方法及相关装置和集群系统
EP3051415A1 (en) Method, apparatus, and device for selecting protocol stack
CN103942087A (zh) 虚拟机热迁移方法及相关装置和集群系统
CN103425511A (zh) 云计算环境中应用软件安装部署的系统及方法
US10180852B2 (en) High-performance processing in a virtualization environment
CN108073423A (zh) 一种加速器加载方法、系统和加速器加载装置
CN104579889B (zh) 一种用于调用网络功能的方法及装置
US20220239632A1 (en) Load balancing and secure tunneling for cloud-based network controllers
CN108540408B (zh) 一种基于Openstack的分布式虚拟交换机的管理方法及系统
CN111262771B (zh) 虚拟私有云通信系统、系统配置方法及控制器
US20180189090A1 (en) Exposing Hardware Work Queues as Virtual Devices in Virtual Machines
US20130042012A1 (en) Multi-Headed Thin Client

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right

Effective date of registration: 20171016

Address after: Washington State

Applicant after: Micro soft technique license Co., Ltd

Address before: Washington State

Applicant before: Microsoft Corp.

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant