虚拟网络中的虚拟机多播/广播的制作方法

文档序号:8385923阅读:1037来源:国知局
虚拟网络中的虚拟机多播/广播的制作方法
【专利说明】虚拟网络中的虚拟机多播/广播
[0001]背景
[0002]虚拟机是执行操作系统的逻辑并且也可能执行一组一个或多个应用程序的代码。然而,这样的逻辑并非在实际上呈现相关联的用户界面的客户端计算系统(“客户端”)上执行,虚拟机在主机计算系统(“主机”)上执行。
[0003]在操作中,虚拟机生成表示要呈现在客户端上的用户界面(如,桌面或应用程序用户界面)图像和/或呈现指令,并使得主机将该图像和/或呈现指令传送给客户端。客户端接收该图像和/或呈现指令,并相应地呈现用户界面。客户端还接收用户输入并将该用户输入传送给主机。虚拟机处理输入并改变虚拟机状态。如果这样的状态改变造成对用户界面的改变,则这些改变被传送给客户端以供进一步呈现。这一过程重复得非常快,并且响应时间足够快,使得客户端的用户可能甚至不能区分操作系统以及可能的相关联的应用程序是在客户端上操作还是经由虚拟机操作。
[0004]主机通常能够运行多个虚拟机。主机通常确保虚拟机之间的隔离。因而,单个主机可为多个远程客户端提供操作系统逻辑。每一主机具有使用底层物理资源(诸如网络带宽、存储、存储器、处理)来向虚拟机提供如同该虚拟机具有专用物理资源的表象的管理程序。该表象被称为虚拟资源。因而,每一虚拟机可具有虚拟硬盘驱动器、虚拟处理器、虚拟网络带宽、虚拟RAM,等等。
[0005]虚拟网络也可由管理程序提供并向上提供给在主机上运行的虚拟机中的一者或多者,给出这些虚拟机连接到特定网络(即,虚拟网络)的表象。底层物理网络实际上促进正在通信的虚拟机的对应管理程序之间的通信。然而,这些细节被从正在通信的虚拟机的视图中抽象出来。
[0006]概述
[0007]本文描述的至少一个实施例涉及虚拟机之间通过虚拟网络的多播和/或广播的性能。源管理程序访问源自源虚拟机的网络消息,并访问与目的地虚拟机中的至少一些相关联的虚拟网络地址。
[0008]在一些实施例中,虚拟网络地址可被明确包括在网络消息中,并且可能已经与单个目的地地址相对应。作为替换或补充,网络消息内表达的群虚拟网络地址(诸如多播或广播虚拟网络地址)可被解析成多个单独的虚拟网络地址。群虚拟网络地址的解析可以使用外部地址查找服务来执行,但这不是必需的。
[0009]使用每一经解析的虚拟网络地址,管理程序确定支持目的地虚拟机的对应管理程序的物理网络地址,并且还确定目的地虚拟机的唯一性标识符。这也可以在外部地址查找服务的辅助下执行,但这不是必需的。
[0010]源管理程序随后可使用管理程序的物理网络地址通过物理网络将网络消息连同目的地虚拟机的唯一性标识符分派给目的地管理程序。例如,源管理程序可以将网络消息连同目的地虚拟机的唯一性标识符封装在一起。该封装可包括例如目的地管理程序的允许通信被路由到目的地管理程序的物理网络地址。
[0011]目的地管理程序接收该通信,解释唯一性标识符以标识目的地虚拟机,并将网络消息传递给目的地虚拟机。这可针对被解析成目的地虚拟机的每一虚拟网络地址来执行。
[0012]本
【发明内容】
并不旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用于帮助确定所要求保护的主题的范围。
【附图说明】
[0013]为了描述能够获得上述和其它优点和特征的方式,各实施例的更具体的描述将通过参考各附图来呈现。可以理解,这些附图只描绘了示例实施例,并且因此不被认为是对其范围的限制,将通过使用附图并利用附加特征和细节来描述和解释各实施例,在附图中:
[0014]图1抽象地示出可在其中采用本文描述的一些实施例的物理计算系统;
[0015]图2抽象地示出主存由管理程序和底层物理资源支持的多个虚拟机的主机计算系统;
[0016]图3抽象地示出通过虚拟网络通信的多个虚拟机;
[0017]图4抽象地示出网络消息的结构;
[0018]图5抽象地示出物理网络环境,该物理网络环境在物理网络环境中示出了图3的五个虚拟机;
[0019]图6示出了从分派多播网络消息的源管理程序的观点来看的执行网络消息的虚拟化多播的方法的流程图;
[0020]图7示出了从目的地管理程序来看的接收和递送网络消息的方法的流程图;
[0021]图8示出了用于访问与被网络消息至少间接寻址的多个目的地虚拟机中的每一个相关联的虚拟网络地址的方法的流程图;
[0022]图9示出了地址查找服务和可在其中表示的数据;
[0023]图10示出了用于更新多播群虚拟网络地址的方法的流程图;以及
[0024]图11示出示例云计算环境。
[0025]详细描述
[0026]根据本文描述的各实施例,描述了虚拟机之间通过虚拟网络的多播和/或广播的性能。源管理程序访问源自源虚拟机的网络消息,并使用该网络消息确定与目的地虚拟机相关联的虚拟网络地址(在可能地解析群虚拟网络地址之后)。
[0027]使用每一虚拟网络地址,管理程序确定支持目的地虚拟机的对应管理程序的物理网络地址,并且还确定目的地虚拟机的唯一性标识符。这一确定以及对群虚拟网络地址的可能解析可以使用外部地址查找服务来执行。
[0028]源管理程序随后可使用管理程序的物理网络地址通过物理网络将网络消息连同唯一性标识符分派给目的地管理程序。目的地管理程序将网络消息传递给唯一性标识符所标识的目的地虚拟机。
[0029]将参考图1来描述计算系统的一些介绍性讨论。接着,将参考图2描述虚拟机的操作。随后,将参考图3和后续附图描述虚拟机在虚拟网络中的多播和/或广播的原理。
[0030]计算系统现在越来越多地采取多种多样的形式。例如,计算系统可以是手持式设备、电器、膝上型计算机、台式计算机、大型机、分布式计算系统或甚至常规上不被认为是计算系统的设备。在本说明书以及权利要求书中,术语“计算系统”被广义地定义为包括任何设备或系统(或其组合),该设备或系统包含至少一个物理且有形的处理器以及其上能具有可由处理器执行的计算机可执行指令的物理且有形的存储器。存储器可以采取任何形式,并可以取决于计算系统的性质和形式。计算系统可以分布在网络环境中,并可包括多个组分计算系统。
[0031]如图1所示,在其最基本的配置中,计算系统100通常包括至少一个处理单元102和存储器104。存储器104可以是物理系统存储器,该物理系统存储器可以是易失性、非易失性、或两者的某种组合。术语“存储器”在此也可用来指诸如物理存储介质等非易失性大容量存储。如果计算系统是分布式的,则处理、存储器和/或存储能力也可以是分布式的。如此处所使用的那样,术语“模块”或“组件”可以指在计算系统上执行的软件对象或例程。此处所描述的不同组件、模块、引擎,以及服务可以实现为在计算系统上执行的对象或进程(例如,作为分开的线程)。
[0032]在随后的描述中,参考由一个或多个计算系统执行的动作描述了各实施例。如果这样的动作是以软件实现的,则执行动作的相关联计算系统的一个或多个处理器响应于已经执行了计算机可执行指令来引导计算系统的操作。例如,这样的计算机可执行指令可被实现在形成计算机程序产品的一个或多个计算机可读介质上。这样的操作的示例涉及对数据的操纵。计算机可执行指令(以及被操纵的数据)可被存储在计算系统100的存储器104中。计算系统100还可包含允许计算系统100例如通过网络110与其他消息处理器通信的通信信道108。
[0033]在此描述的各实施例可包括或利用专用或通用计算机,该专用或通用计算机包括诸如例如一个或多个处理器和系统存储器等计算机硬件,如以下更详细讨论的。在此描述的各实施例还包括用于承载或存储计算机可执行指令和/或数据结构的物理和其他计算机可读介质。这样的计算机可读介质可以是可由通用或专用计算机系统访问的任何可用介质。存储计算机可执行指令的计算机可读介质是物理存储介质。承载计算机可执行指令的计算机可读介质是传输介质。由此,作为示例而非限制,本发明的各实施例可包括至少两种显著不同的计算机可读介质:计算机存储介质和传输介质。
[0034]计算机存储介质包括RAM、ROM、EEPROM、CD-ROM或其他光盘存储、磁盘存储或其他磁存储设备、或可用于存储计算机可执行指令或数据结构形式的所需程序代码装置且可由通用或专用计算机访问的任何其他介质。
[0035]“网络”被定义为使得电子数据能够在计算机系统和/或模块和/或其它电子设备之间传输的一个或多个数据链路。当信息通过网络或另一个通信连接(硬连线、无线、或者硬连线或无线的组合)传输或提供给计算机时,该计算机将该连接适当地视为传输介质。传输介质可包括可用于携带计算机可执行指令或数据结构形式的所需程序代码装置且可由通用或专用计算机访问的网络和/或数据链路。上述的组合也应当包括在计算机可读介质的范围内。
[0
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1