必需,但在一个实施例中,物理网络环境500可被结构化为环境1100。环境1100包括使用接口 1102与系统1110交互的多个客户端1101。环境1100被解说为具有三个客户端1101A、1101B和1101C,尽管省略号1101D表示本文描述的原理不限于通过接口 1102与系统1110对接的客户端的数目。系统1110可按需向客户端1101提供服务,因此接收来自系统1110的服务的客户端1101的数目可随时间变化。
[0076]每个客户端1101可以例如被结构化成如以上针对图1的计算系统100所描述的那样。替代地或附加地,客户端可以是通过接口 1102与系统1110对接的应用或其它软件模块。接口 1102可以是应用程序接口,其用以下的方式来定义:能够使用该应用程序接口的任何计算系统或软件实体可与系统1110通信。
[0077]系统1110可以是分布式系统,但这并不是必须的。在一个实施例中,系统1110是云计算环境。云计算环境可以是分布式的(但这并不是必须的),并且甚至可以是国际性地分布的和/或具有由多个组织所拥有的组件。
[0078]在该描述和下面的权利要求书中,“云计算”被定义为用于允许对可配置计算资源(例如,网络、服务器、存储、应用和服务)的共享池的按需网络访问的模型。“云计算”的定义不限于可从这样的模型(在被合适地部署时)中获得的任何其他多个优点。
[0079]例如,云计算当前被用于市场,以便提供对可配置计算资源的共享池的普遍存在且方便的按需访问。此外,可配置计算资源的共享池可经由虚拟化而被快速地供应,并可利用低管理努力或服务提供商干预来发布,并随后因此被缩放。
[0080]云计算模型可由各种特性组成,诸如按需自服务、广泛网络访问、资源池、快速灵活性、测定的服务等。云计算模型还可形成各种服务模型,诸如例如软件即服务(SaaS)、平台即服务(PaaS)以及基础结构即服务(IaaS)。云计算模型还可以使用不同的部署模型来部署,诸如私有云、社区云、公共云和混合云等。在该描述和权利要求书中,“云计算环境”是其中采用了云计算的环境。
[0081]系统1110包括多个主机1111,每个主机都能够运行虚拟机。虽然系统1100可包括任意数目的主机1111,但在图11中解说了三个主机1111A、1111B和1111C,而省略号IlllD表示本文所描述的原理不限于系统1110内的主机的该确切数目。可以少至一个,并且没有上限。此外,主机的数目可以是静态的,或者可以是随时间动态改变的,因为新的主机可被添加到系统1110,或者主机被从系统1110中移除。主机1111的每一个可以如上针对图1的计算系统100所述地被结构化。主机1111A、111B以及IllC可以是例如图5的主机 510、520 以及 530。
[0082]回到图11,系统1100还包括服务1112。在所示示例中,服务1100包括五个不同的服务1112A、1112B、1112C、1112D和1112E,但是省略号1112F表示本文中描述的原理并不受限于在系统1110中的服务的数目。服务协调系统1113与主机1111以及服务1112通信,由此提供客户端1101所请求的服务,以及是所请求的服务的先决条件的其它服务(诸如,认证、帐务等)。在一个实施例中,服务1112A是图5的地址查找服务502。因此,本文描述的原理可以但不一定在云计算环境中执行。
[0083]本发明可具体化为其它具体形式而不背离其精神或本质特征。所描述的实施例在所有方面都应被认为仅是说明性而非限制性的。因此,本发明的范围由所附权利要求书而非前述描述指示。落入权利要求书的等效方案的含义和范围内的所有改变都被权利要求书的范围所涵盖。
【主权项】
1.一种执行网络消息的虚拟化多播的方法,所述方法包括: 源管理程序访问源自源虚拟机的网络消息的动作; 所述源管理程序访问与至少被所述网络消息间接寻址的多个目的地虚拟机中的每一个相关联的虚拟网络地址的动作; 对于所述多个目的地虚拟机中的至少一些中的每一个,所述源管理程序执行以下动作: 使用相关联的虚拟网络地址来确定支持所述目的地虚拟机的目的地管理程序的管理程序物理网络地址的动作; 使用相关联的虚拟网络地址来确定所述目的地虚拟机的唯一性标识符的动作;以及使用所述管理程序物理网络地址来将所述网络消息连同所述目的地虚拟机的唯一性标识符一起分派给所述目的地管理程序的动作。
2.如权利要求1所述的方法,其特征在于,所述源管理程序和所述目的地管理程序是同一管理程序,且使用所述管理程序物理网络地址来将所述网络消息分派给所述目的地管理程序的动作包括:所述源管理程序识别出所述源管理程序是相对于相关联的目的地虚拟机的目的地管理程序的动作,所述方法还包括: 使用所述目的地虚拟机的唯一性标识符来将所述网络消息提供给所述目的地虚拟机的动作。
3.如权利要求1所述的方法,其特征在于,所述源管理程序和所述目的地管理程序是不同主机计算系统上的不同管理程序。
4.如权利要求1所述的方法,其特征在于,访问与至少被所述网络消息间接寻址的多个目的地虚拟机中的每一个相关联的虚拟网络地址的所述动作包括; 访问所述网络消息内表达的虚拟网络地址的动作,所述虚拟网络地址对应于单个目的地虚拟机。
5.如权利要求1所述的方法,其特征在于,访问与至少被所述网络消息间接寻址的多个目的地虚拟机中的每一个相关联的虚拟网络地址的所述动作包括; 访问所述网络消息内表达的群虚拟网络地址的动作,所述虚拟网络地址对应于多个目的地虚拟机;以及 使用所述群虚拟网络地址来确定与所述目的地虚拟机中的至少一个相关联的虚拟网络地址的动作。
6.如权利要求5所述的方法,其特征在于,使用所述群虚拟网络地址来确定与所述目的地虚拟机中的至少一个相关联的虚拟机地址的动作是通过地址查找服务来执行的,所述地址查找服务在操作所述源管理程序的主机计算系统的外部执行。
7.如权利要求6所述的方法,其特征在于,所述群虚拟网络地址是多播虚拟网络地址,所述方法还包括: 通过执行以下动作来保持所述多播虚拟网络地址更新的动作: 支持第一虚拟机的第一管理程序访问来自所述第一虚拟机的多播注册请求的动作;以及 所述第一管理程序将所述多播注册请求传递给所述地址查找服务的动作。
8.如权利要求7所述的方法,其特征在于,保持所述多播虚拟网络地址更新的动作还包括: 所述地址查找服务接收所述多播注册请求的动作;以及 所述地址查找服务通过向所述多播虚拟网络地址注册与所述第一虚拟机相关联的虚拟网络地址来对所述多播注册请求进行响应的动作。
9.如权利要求7所述的方法,其特征在于,保持所述多播虚拟网络地址更新的动作还包括: 支持第二虚拟机的第二管理程序访问来自所述第二虚拟机的多播解除注册请求的动作;以及 所述第二管理程序将所述多播解除注册请求传递给所述地址查找服务的动作。
10.一种包括其上具有计算机可执行指令的一个或多个计算机可读存储介质的计算机程序产品,所述计算机可执行指令可被结构化成使得在被主机计算系统的一个或多个处理器执行时,使所述主机计算系统执行一种执行网络消息的虚拟化多播的方法,所述方法包括: 源管理程序访问源自源虚拟机的网络消息的动作; 所述源管理程序访问与至少被所述网络消息间接寻址的多个目的地虚拟机中的每一个相关联的虚拟网络地址的动作; 对于所述多个目的地虚拟机中的至少一些中的每一个,所述源管理程序执行以下动作: 使用相关联的虚拟网络地址来确定支持所述目的地虚拟机的目的地管理程序的管理程序物理网络地址的动作; 使用相关联的虚拟网络地址来确定所述目的地虚拟机的唯一性标识符的动作;以及使用所述管理程序物理网络地址来将所述网络消息连同所述目的地虚拟机的唯一性标识符一起分派给所述目的地管理程序的动作。
【专利摘要】虚拟机之间通过虚拟网络的多播和/或广播的性能。源管理程序访问源自源虚拟机的网络消息,并使用该网络消息确定与目的地虚拟机相关联的虚拟网络地址(在可能地解析群虚拟网络地址之后)。使用每一虚拟网络地址,管理程序确定支持目的地虚拟机的对应管理程序的物理网络地址,并且还确定目的地虚拟机的唯一性标识符。源管理程序随后可使用管理程序的物理网络地址通过物理网络将网络消息连同唯一性标识符分派给目的地管理程序。目的地管理程序将网络消息传递给唯一性标识符所标识的目的地虚拟机。
【IPC分类】G06F9-54
【公开号】CN104704471
【申请号】CN201380053148
【发明人】D·班塞尔, P·帕特尔
【申请人】微软公司
【公开日】2015年6月10日
【申请日】2013年10月9日
【公告号】EP2907028A1, US8989183, US20140098814, US20150193255, WO2014058935A1