专利名称:用于虚拟机的动态服务注册中心的制作方法
技术领域:
本发明一般涉及服务注册中心(registry),更具体地,涉及响应于虚拟机(VM)的创建以及中止或删除而提供动态服务注册中心,其中所述虚拟机提供或者需要在注册中心中公告的服务。
背景技术:
网络可以包括有线和/或无线内部网、因特网、广域网(WAN)、局域网(LAN)等,它可以具有很多提供和/或寻求其他设备的服务、能力和/或资源的附接设备。定位提供具体服务的设备总是很困难的。为了便于定位及跟踪设备及它们的服务,已经采用了各种各样的“万维网服务”或“目录服务”技术。
术语“万维网服务”描述了一种在网络上使用开放的标准来描述、发现并集成来自不同企业的网络应用、服务和资源的标准化的方式,所述开放的标准例如是“世界范围万维网联盟(W3C)”和“因特网工程任务组(IETF)”标准,包括XML(扩展置标语言)、SOAP(简单对象访问协议)、WSDL(万维网服务描述语言)、UDDI(通用描述、发现和集成)等。万维网服务是可以与其他万维网服务、应用或系统软件直接通信的自含式模块化应用。
UDDI是一种产业首创,它利用独立于平台的开放框架实现一组全球注册中心,其允许企业(business)定义它们的服务,发现其他企业和服务,并且共享有关企业如何交互的信息。不幸的是,虽然UDDI的全球特性为定位已有服务提供了一个源,但是UDDI缺少自动识别并清除陈旧条目的能力。UDDI允许设备很容易地进行自我注册并且公告所提供或者所需要的服务、能力和资源,但是UDDI期望上述设备表现良好,并且当不再提供所述服务时从数据库中清除其数据。不幸的是,如果设备突然变得不可用了,则陈旧的注册中心条目可能继续保持与该设备相关联。
因此,传统的注册中心环境不适于暂时性设备,例如可以随意创建并且中止或销毁的虚拟机(VM),因为中止或销毁等同于设备在没有适当地处置其注册项的情况下突然从网络中消失。
从以下对本发明的详细描述中将会清楚本发明的特征和优点,其中图1图示了一种示例性的系统,该系统支持将VM集成到常见的注册中心环境中,同时允许VM被任意中止或销毁而不必预先警告。
图2图示了图1中设备102的一种示例性实施方案。
图3图示了图1中设备102的另一种实施方案。
图4图示了图1中设备102的另一种实施方案。
图5图示了基于VM的状态,自动地注册VM服务以及撤销VM服务的注册的示例性流程图。
图6图示了其中可以实现本发明的某些方面的一种适合的计算环境。
具体实施例方式
注册中心协助公告、发现以及提供/使用服务和资源(此后统一称为“注册项(registration)”)。由于资源可以被封装、公告以及作为服务来使用,所以除非直接或通过上下文特别指出,术语“服务”意在包括“资源”。在图示的实施方案中,在网络中可能存在很多注册中心,其中一些注册中心与其他注册中心完全同步地(即,一致地)保存,而其他注册中心可以选择将一些注册项保存为私有。本发明可以与各种目录服务、万维网服务、UDDI注册中心、微软公司的.NET服务等一起使用。在权利要求书中,术语“注册中心”意在总地指代各种注册中心的可能性及其等同物。然而,为了公开方便,以下的详细描述集中于UDDI注册中心。本领域的技术人员将认识到,随着时间的改变,将会出现可替代的注册中心或服务,而这里的教导仍将适用。
在网络环境中,由于各种原因,设备可能在该网络中突然出现、消失并且再次出现。这样的设备在说明书和所附的权利要求书中被称为“暂时性设备”。短语“暂时性设备”意在广泛地包括物理上完全不同的机器以及逻辑或虚拟设备,所述物理上完全不同的机器例如是常见的移动设备,包括便携式计算机、个人数字助手(PDA),所述逻辑或虚拟设备例如是硬件处理器仿真、软件机器仿真或者虚拟机(VM)。以下描述集中于虚拟机(VM)和注册中心(例如UDDI注册中心)之间的交互。本领域的技术人员将认识到,以下描述适用于其他暂时性设备和注册中心环境。
VM可以是硬件中的仿真机或仿真平台,例如作为处理器的一种操作模式,或者是软件中的仿真机或仿真平台,例如在运行时环境中。VM可以包括指令集和其他平台资源和/或设备。VM可被串行化(例如状态检验点)到共享的文件系统,或者可以通过网络运送以迁移到一个不同的机器,在该机器上解串行化(例如,从检验点状态复原)并由该机器容宿。单个物理设备可以具有(即,容宿)多个VM。VM也可以利用虚拟网络来取代物理网络连接或者与其一起使用。VM可以在网络上出现或再次出现,因为它的VMM(虚拟机监控器或虚拟机管理器)已实例化或恢复了该VM。如果VMM关闭VM,解实例化(中止)它,或者以其他方式使其不可用,则VM可能从网络中消失。对于一个VM来说,为了允许其他VM执行(例如访问)宿主的处理器、存储器或存储设备等,或者在该VM不再有用的时候(例如,它已结束处理,或者不再需要它所提供的服务),中止、销毁或者以其他方式使该VM不可用是很常见的。
将认识到,VM可以与同一物理设备中的其他VM,与其他物理设备上的VM,或者就是与其他物理设备进行通信。在一种实施方案中,容宿在特定物理设备上的多个VM可以在私有虚拟(优化)网上相互通信。在后面的这种情形中,虚拟化软件(通常是VMM或宿主操作系统,取决于实现方式)可以以一种不同的方式来运行,例如通过在容宿设备之外外部不可见的虚拟局部网更有效率地实现VM间通信。
图1图示了一种示例性的系统100,该系统支持将VM集成到注册中心环境(例如UDDI)中,同时允许VM被任意中止、销毁或以其他方式变得不可用,而不必预先警告。示出了容宿(hosting)一个或多个VM的设备102,还有常见的可连网设备106-108,例如服务器、工作站、移动设备、PDA等,以及局部注册中心110。这些设备102、106-110借助网络114与全局注册中心112(例如微软公司的UDDI服务器)相互通信耦合。注意,虽然局部注册中心被示为与其他网络设备相互分离,但是它也可以被合并到网络设备之一中,无论该网络设备是物理的还是虚拟的,例如参见图2的设备200。
还将认识到,除了局部注册中心110和全局注册中心112之外,还可以有很多其他注册中心(未示出)分布在公共和私有网络中,每个注册中心为本地和/或远程设备存储服务注册项数据。多个注册中心可以保持同步,使得一方可以向一个注册中心进行注册,随后从另一个注册中心取得注册项数据。可替换地,一些注册中心(例如局部注册中心110)可以选择使它们的全部或部分注册项相对于其他注册中心(例如全局注册中心112)保持私有。例如,假设通信路径116是一个一般不能被网络114访问的私有局部网,例如内部网,如果已知该局部网上的设备主要是暂时性设备,那么将这些设备的注册项限制在局部注册中心110中,以免将暂时性的注册项不必要地传播到全局注册中心112,这可能是有益的。通常私有的网络将容宿私有服务,这些服务不应被公告给该网络领域之外的实体,也不应由这些实体来访问。很多公司企业和小型办公室、家庭办公室的网络配置就是这个样子的。
在一个实施方案中,一个或多个注册中心可以联合起来用作单个逻辑注册中心。在这种情形中,例如出于效率的目的,一些注册中心条目可以被复制,而其他条目只是驻留在单个注册中心中。例如,被复制的条目可能对应于持续存在于网络上经常被使用的服务。暂态或不常使用的服务可能仅存在于特定注册中心中。
图2图示了图1中设备102的一个示例性实施方案200。如图所示,设备具有操作系统202,并且该设备可以包括动态可更新注册中心204,其用于存储该设备的虚拟机(VM)206-210所提供和/或所需的服务的注册项。可以用硬件、软件或者两者的某种组合来实现VM。VM对于其他网络设备而言可以看上去是网络上的物理设备。就常见的VM环境而言,VM与VMM 218(虚拟机管理器或监控器)一同工作,其中VMM 218具有进入宿主设备102的硬件和操作系统202中的挂钩(hook)222。例如,VMM可以使用一些宿主操作系统服务。每个VM也可以具有操作系统(未示出)。
当用在这里以及所附的权利要求书中时,术语“挂钩”是指以下机制,例如无源或有源接口(例如轮询API、存储位置或子例程回调)、通知、消息、中断以及它们的关联处理程序等。它们中的每一个都提供了对整体系统设计很重要的不同折衷,但是可被本领域的技术人员合并起来。例如,当VMM销毁VM时,它可以通知注册中心代理清除与该VM相关联的所有服务条目,或者将这些条目标记为不可用。通常这可能是VM的IP地址或宿主名。
就常规的设备而言,所图示的VM 206-210可以包括提供服务(例如万维网服务)的软件服务器或其他硬件或软件组件,并且VM也可以有其自身或其他VM所需的服务。这些所提供的和/或所需的服务被统一地标识为服务212-216。这些服务可以根据例如UDDI协议,以常见的方式向内部注册中心204或其他注册中心(例如图1中的110和112项)进行注册。在一个实施方案中,VM可以容宿它自己的注册中心。VM中的服务器可以提供同一服务(例如,如果宿主是使用VM技术来以某种方式将性能“切片(slice)”的服务器)或不同服务(例如,如果宿主向分别实现它们所需服务的不同用户提供VM环境)的多个实例(instance)。也可以有一组由宿主102自身提供的万维网服务。
将认识到,宿主102以及VM 206-210可能希望公告、发现、并且提供和/或使用服务和资源。动态更新的注册中心204将注册项汇集到一起,并且在服务/资源的生产者和使用者之间起到媒介的作用。虽然宿主操作系统被图示为容宿注册中心,但是在一个实施方案中,VM在宿主的操作系统之外容宿注册中心,但与宿主的操作系统保持通信,从而将宿主操作系统与注册中心可能的不稳定性相隔离。注册中心可被保留在设备之外,例如通过使用图1的局部注册中心110。通过识别内部204,局部注册中心或全局注册中心112中的注册项,可以满足所需的服务。由于VM是很好的隔离容器,所以一些复杂的应用可被分割到多个VM中,这些VM中的每一个都象完全不同的机器一样为一项工作分工协作。将认识到,内部204或局部的110注册中心可以被配置为提供不同的益处,例如故障检测、故障转移、负载平衡等,因而注册中心可以在各个VM上提供这样的服务。
如本领域中所理解的那样,VM与VMM 218协同工作。VMM操作上面的设备硬件220,并且调控/仲裁VM对物理设备硬件的访问。在图示的实施方案中,VMM还调控VM对宿主操作系统202的访问。VMM可被配置为允许VM 206-210的完全隔离,或者允许数据根据所需的安全策略在一些或全部VM之间共享。将认识到,可以在宿主上用各种方式实现VMM,包括软件、硬件或者其组合。例如,VMM可被实现为应用程序和设备驱动程序等(例如,由加利福尼亚州的VMware公司提供的VMWare),被实现为操作系统202的一部分,或者被实现为芯片组或微处理器的一部分。
与常见的VMM形成对比,在图示的实施方案中,VMM 218被配置为监控VM的状态并且自动地向注册中心发出通知,导致基于所监控状态的VM服务212-216的注册和撤销注册(例如参见图5)。通过监控关于VM或者VMM到VM协议(例如VM状态转移)的VMM状态而使内部注册中心204或局部注册中心110成为动态的,以确定适当的注册中心更新。在一个实施方案中,VMM 218至少监控VM创建、销毁、中止请求,以及注册中心公告/撤销注册请求(例如UDDI请求),以识别其注册中心注册项受到VM状态改变的影响的VM。在一个实施方案中,操作系统挂钩222被用来监控和公告/撤销注册请求相关的操作系统调用,并且实现注册中心注册项变更。假定操作系统202和注册中心204响应于VMM发出的注册服务或撤销服务注册的通知。在进一步的实施方案(未示出)中,VM自身可以容宿其他的VM(从属VM),这些从属VM公告由从属VM提供或者为它们所需的服务和/或资源。这样的实施方案可以包括任意深度的VM递归。
通过基于VM状态改变而提供对注册项的自动处理,例如可以便于VM迁移,其中VM及其内容可被串行化到一个文件系统或者网络,然后在另一个物理端口上(可能是在不同的物理宿主或远程位置)上被重新实例化。一旦中止,VM的注册项就被自动撤销注册,而当恢复时,所述注册项可被自动重新注册。
虽然图2假定VM利用宿主操作系统202的资源,但是图3、4、5图示了可替换的示例性实施方案。
图3图示了VM/VMM实施方案300,在该实施方案中宿主没有专门的操作系统,相反,每个VM 302-308具有该VM所需或者所提供的服务310-316以及它们自己的操作系统318-324。这些操作系统可以每一个都是相同的,相互类似的,或者相互不同的。在这个实施方案中,VMM运行在宿主设备的硬件328之上,并且VMM管理着每个VM及其操作系统对宿主设备硬件的访问。
在这个实施方案中,VMM 326和各个VM操作系统318-324(或服务模块310-316)之间的挂钩允许VMM监控VM 302-308所提供或所需服务310-316的注册项。基于所述监控操作可以实现动态注册中心,例如参考图2所讨论的那样。
图4图示了另一个实施方案,其中和图3一样,宿主没有专门的操作系统,相反存在独立的VM 402-408,每个VM具有该VM所需或所提供的服务410-416,并且每个VM具有它们自己的操作系统418-424。
在这个实施方案中,有一个运行在宿主设备的硬件428之上的“薄(thin)”VMM 426,它管理着对所述硬件的VM访问。出于效率、可靠性以及可证实性的考虑,可能需要一个薄VMM。可能驻留在VM、操作系统容宿的驱动程序或者相关联的管理硬件(例如插件板、计算机、处理器等)中的管理分区430与VMM之间具有特殊的关系、许可或接口。该管理分区从VMM获得有关VM状态的信息,并且采取适当的动作来通知注册中心。假设管理分区协同VMM一起具有启动、停止以及配置VMM的能力。
VMM越简单,它的实现会具有以下错误的可能性越小,所述错误将导致在多个VM上可能间歇发生的难以识别的问题。因此,VMM可以通过管理分区430卸载或增加某些操作。举例来说,管理分区可以实行更复杂的策略。因此,VMM可以向管理分区提供要产生服务注册中心更新所需的信息,其中基本机制(例如检测器、触发器等)位于VMM中,而用于采取行动的代码位于管理分区中。简单VMM的一种额外益处在于由于不太可能需要频繁的更新,所以能够更容易地用硬件实现VMM。
和图3一样,在这个实施方案中,管理分区430和各个VM操作系统418-424之间的挂钩允许管理分区协同薄VMM 426一起来监控VM 402-408所提供和/或所需服务410-416的注册项。基于所述监控操作可以实现动态注册中心,例如参考图2所讨论的那样。
图5图示了根据图2实施方案而运行的VMM所执行的操作的示例性流程图。将会认识到,该流程图可适用于其他公开的实施方案。
在一个实施方案中,VMM对与VM的状态有关的事件进行监控500。VMM直接控制给定VM的全局执行状态以及这个VM对设备的物理和虚拟(例如仿真的)资源和服务的访问。将会认识到,可以由宿主的组件或VM操作系统,或者在其他某个地方来添加或执行所述监控。在这个图示的实施方案中,VMM正在对实例化502、销毁514、中止506或者指示出VM的运行状态改变的其他事件进行监控。例如,如果在502处所述VMM实例化一个VM,则VMM将该VM所提供和/或所需的任何服务都写入日志504。也就是说,当VM被实例化时,它可以启动一个万维网服务服务器,然后向注册中心(例如图2中的内部注册中心204)注册所提供和/或所需的服务。写入日志504的服务被用来在VMM检测到VM不可用时,从注册中心中正确地撤销服务的注册。
例如,在UDDI的环境中,公布请求可被监控并被写入日志。监控操作可以引发透明地监视网络流量,从而识别UDDI公布请求。对于VM所使用的任何虚拟的设备上(on-device)网络以及物理连网结构,VMM具有可观察性和可控性,因为它安排对这些网络资源的访问。可替换地,万维网服务服务器或其他服务器可被配置来直接通知监控器,例如VMM,或者当中间件(例如.NET或Java类)被调用来公布服务可用性时,该中间件可被配置来通知监控器,或者监控器可以周期性地轮询注册中心以找到已知VM所提供的服务,或者监控器不能跟踪公布请求,但是相反,当使VM不活动(中止或销毁)时,可以盲目地通知注册中心删除“由该VM所公布的所有服务”。
因此,如果在506、512,VMM检测到中止事件,或者某种使得VM不可用的其他事件(例如VM进入休眠,被交换出去等),那么这可以导致VMM通知508注册中心删除由该VM提供的服务,从而保持注册中心中所列举的一组服务为当前状态并且绝不过时。在一个实施方案中,在撤销VM的注册前,VMM可被配置来首先检查510VM注册项是否被标记为保持。即,可能希望的是即使VM看起来不可用,也要允许用于暂时性设备的一些注册项保留在注册中心中。例如,VM可以被保持在中止状态直到其服务被请求。处于中止状态的VM可以驻留在存储器中,或者它可能已被存储到非易失性存储设备(例如图6中的存储设备608)中。在这种情况中,希望保留VM的注册项,除非例如该VM正在被销毁。
如果在514处VMM检测到销毁事件,则在图示的实施方案中假定与销毁的VM相关联的注册项现在是无效的。VMM因此通知508注册中心对VM的服务撤销注册。然而,将会认识到,类似于保持注册项的状态,一种状态可以与VM注册项相关联,使得已销毁VM的注册项将被保留下来。如果在510处注册项未被保持,或者如果在514处还未检测到销毁事件,则处理可以继续进行监控虚拟机500。
注意,虽然以上描述假设VMM被配置来指示注册中心对用于VM的服务撤销注册,无论注册中心位于设备内部还是一个局部注册中心(例如图1中的局部注册中心110),但是监控操作可以由注册中心自身或者与VMM一同工作的操作系统组件来执行,而不是严格地由VMM单独来执行。例如,不是由VMM来通知注册中心,相反局部注册中心可以监控VMM(或者VMM的代理,例如管理模块)/与VMM通信,并据此进行自我更新。对于内部注册中心(例如注册中心204)而言,挂钩222可被注册中心204用来监控和/或查询VMM以跟踪VM状态。对于外部注册中心(例如局部注册中心110)而言,在一个实施方案中,在宿主设备(或者虚拟机)上可能存在软件用于监控VM所发出的公布/删除消息,并且与VMM交互作用以确定VM的运行状态,其中所述软件通知注册中心来据此进行自我更新。
图6和以下描述想要对其中可以实现图示发明的某些方面的适当环境提供简要的总体描述。
用在下面,短语“主机”想要广泛地包括单个机器、或者由相互以通信方式耦合的机器或一起工作的设备组成的系统。示例性的主机包括图1中的物理设备102、106-110以及个人计算机、工作站、服务器等。主机硬件可以由虚拟机104、206-210、302-308、402-408根据VMM和/或VM管理模块的操作和策略来访问。
一般地,主机600包括系统总线602,附接到该总线的有处理器604、存储器606、存储设备608、视频接口610和输入/输出接口端口612,其中存储器606例如是随机访问存储器(RAM)、只读存储器(ROM)或其他状态保存介质。主机和/或它的虚拟机至少可以部分地由从常见的输入设备而来的输入进行控制,所述输入设备例如是键盘、鼠标等,还可以由接收自另一台机器的指示、与虚拟现实(VR)环境之间的交互、生物测量反馈或者其他输入源或信号来控制。
主机可以包括嵌入式控制器,例如可编程或不可编程的逻辑设备或阵列、专用集成电路、嵌入式计算机、智能卡等。主机和/或它的虚拟机例如可以通过网络接口618、调制解调器620或其他通信式耦合,使用一个或多个连接到达一个或多个远程机器614、616。主机和/或它的虚拟机可以通过物理网络和/或逻辑网络622而互连,例如图1中的网络114,其可以包括内部网、因特网、局域网、广域网等。本领域的技术人员将认识到,与网络622之间的通信可以利用各种有线和/或无线的短距离或长距离的载体和协议,包括射频(RF)、卫星、微波、电子电气工程师协会(IEEE)802.11、蓝牙、光载体、红外线、线缆、激光等。
可以参考或者结合关联数据来描述本发明,这些数据包括函数、过程、数据结构、应用程序等,它们在被主机600和/或其虚拟机访问时导致主机和/或其虚拟机执行任务或者定义抽象数据类型或低层硬件环境。关联数据可被存储在例如易失性和/或非易失性存储器606中,或者被存储在存储设备608及其关联存储介质中,包括硬盘驱动器、软盘、光存储设备、磁带、闪存、存储棒、数字视频盘、生物存储设备等。关联数据可以以分组(packet)、串行数据、并行数据、传播信号等形式,通过传输环境(包括网络622)来传递,并且可以以压缩或加密格式来使用。关联数据可被用在分布式环境中,并且被本地和/或远程存储,以供单处理器或多处理器机器访问。
因此,例如,参考图示的实施方案,假设主机600实现了图2的动态注册中心,该注册中心为图2中的虚拟机206-210存储了注册项,那么远程机器614可以是服务器、显示设备、打印机等,提供了可供主机及其虚拟机使用的资源,而远程机器616可以是一台寻求正由虚拟机206-210之一提供的服务的设备。将会认识到,远程机器614、616可以包括针对机器600或其虚拟机所讨论的很多元件或所有元件,并且暂态设备和永久设备可能全都希望公告、发现以及提供/使用其他设备的服务和资源。动态更新的注册中心可被用来汇集服务/资源,并且匹配服务/资源的生产者与使用者。
已经参考图示的实施方案描述并图示说明了本发明的原理,将会认识到,在不偏离这些原理的情况下,可以有序并且详细地修改所图示的实施方案。并且,虽然前面的讨论集中于具体的实施方案,但是也可以设想出其他配置。具体地说,虽然在这里使用了诸如“在一个实施方案中”、“在另一个实施方案中”等表达方式,但是这些短语意图总地代表多种可能的实施方案,并且不想将本发明限制到具体的实施方案配置。用在这里,这些术语可以指可组合成其他实施方案的相同或不同实施方案。
因此,考虑到这里所描述的实施方案的多种排列组合,这份详细的说明书仅仅是示意性的,不应被视为限制了本发明的范围。因此,本发明所要求保护的是落入所附权利要求书及其等同物的范围和精神之内的所有这些修改。
权利要求
1.一种用于向第一注册中心注册虚拟机的方法,所述第一注册中心可被搜索以找到公告服务或资源的注册者,所述方法包括对虚拟机的实例化进行监控;确定由所述虚拟机公告的服务或资源;自动向所述第一注册中心注册所述虚拟机的服务或资源,所述注册操作包括为标识出所公告的服务或资源的设备创建注册项。
2.如权利要求1所述的方法,还包括如果所述虚拟机变为不可用,则自动地将所述虚拟机的服务或资源从所述第一注册中心中撤销注册。
3.如权利要求2所述的方法,还包括监控所述虚拟机,以发现指示出该虚拟机不可用的运行状态的改变;响应于所述运行状态的改变,执行自动地将所述虚拟机的服务或资源从所述第一注册中心中撤销注册的操作。
4.如权利要求3所述的方法,其中所述运行状态的改变是所述虚拟机被中止或销毁中选出的一个。
5.如权利要求1所述的方法,还包括为虚拟机的注册中心注册项关联一个存活时间;监控由所述虚拟机或其中的服务提供者所进行的通信;以及如果所述虚拟机或其中的服务提供者未在所述存活时间内进行通信,则自动地将所述虚拟机从所述第一注册中心中撤销注册。
6.如权利要求5所述的方法,其中所述注册中心保留所述存活时间,所述方法还包括所述注册中心接收来自所述虚拟机的通信,并且响应于此,所述注册中心复位所述存活时间。
7.如权利要求1所述的方法,还包括将所述注册中心和所述虚拟机放置在单个设备中。
8.如权利要求7所述的方法,其中所述单个设备包括管理部分、虚拟机监控器和挂钩,所述挂钩允许所述管理部分查询所述虚拟机监控器,以获知它的虚拟机的运行状态。
9.如权利要求1所述的方法,还包括将所述注册中心和所述虚拟机放置在具有操作系统、虚拟机监控器和通信挂钩的单个设备中,所述通信挂钩允许所述操作系统查询所述虚拟机监控器,以获知它的虚拟机的运行状态。
10.如权利要求1所述的方法,还包括将所述注册中心和所述虚拟机放置在具有操作系统、虚拟机监控器和通信挂钩的单个设备中,所述通信挂钩允许所述虚拟机监控器向所述操作系统通知它的虚拟机的运行状态。
11.如权利要求1所述的方法,还包括将所述注册中心和所述虚拟机放置在具有宿主操作系统、虚拟机监控器和通信挂钩的单个设备中,所述通信挂钩允许所述虚拟机查询所述宿主操作系统,以找到由所述虚拟机向所述注册中心进行注册的服务;在所述虚拟设备实例化之后,由所述虚拟机监控器将由所述虚拟机向所述注册中心进行注册的服务写入日志;以及由所述虚拟机监控器确定所述虚拟机的不可用性;以及通知所述宿主操作系统撤销所述虚拟机的注册。
12.如权利要求1所述的方法,还包括将所述虚拟机的服务或资源从所述第一注册中心中撤销注册;将所述虚拟机迁移到新的宿主设备;以及相对于所述新的宿主设备,向所述第一注册中心重新注册所述虚拟机的服务或资源。
13.一种系统,包括其中放置有注册中心的第一设备;其中放置有第一虚拟机和虚拟机监控器的第二设备,所述第一虚拟机可运行来公告服务或资源用于向所述注册中心进行注册,并且所述虚拟机监控器被配置为如果所述虚拟机不可用,则通知所述注册中心撤销所述虚拟机的注册。
14.如权利要求13所述的系统,其中所述虚拟机在被中止或销毁时是不可用的。
15.一种系统,包括其中放置有注册中心、第一虚拟机和第一虚拟机监控器的第一设备;其中放置有第二虚拟机和第二虚拟机监控器的第二设备;以及其中,所述第一和第二虚拟机可运行来公告服务或资源用于向所述注册中心进行注册,并且其中所述第一和第二虚拟机监控器可运行来如果它们各自的第一或第二虚拟机变得不可用,则通知所述注册中心撤销该虚拟机的注册。
16.如权利要求15所述的系统,其中当所述第一和第二虚拟机被它们的虚拟机监控器中止或销毁时,所述第一和第二虚拟机被视为不可用。
17.一种包括机器可访问介质的制品,所述机器可访问介质具有关联数据,其中所述数据在被访问时导致机器执行对虚拟机的实例化进行监控;确定由所述虚拟机公告的服务或资源;自动向所述第一注册中心注册所述虚拟机,所述注册操作包括为标识出所公告的服务或资源的设备创建注册项。
18.如权利要求17所述的制品,其中所述机器可访问介质还包括在被访问时导致所述机器执行以下操作的数据如果所述虚拟机变为不可用,则自动地将所述虚拟机从所述第一注册中心中撤销注册。
19.如权利要求17所述的制品,其中所述机器可访问介质还包括在被访问时导致所述机器执行以下操作的数据监控所述虚拟机,以发现指示出该虚拟机不可用的运行状态的改变;以及响应于所述运行状态的改变,执行自动地将所述虚拟机从所述第一注册中心中撤销注册的操作。
20.如权利要求19所述的制品,其中所述运行状态的改变是所述虚拟机被中止或销毁中选出的一个。
21.如权利要求17所述的制品,其中所述机器可访问介质还包括在被访问时导致所述机器执行以下操作的数据为虚拟机的注册中心注册项关联一个存活时间;监控所述虚拟机的通信;以及如果所述虚拟机未在所述存活时间内进行通信,则自动地将所述虚拟机从所述第一注册中心中撤销注册。
全文摘要
传统的注册中心,例如全局UDDI服务器未被设计为适应暂时性的设备,例如可能频繁地附接到网络并从网络中分离的那些设备,而且时常是在没有警告的情况下发生的,比如被周期性地实例化,然后被中止或销毁的提供或需求服务的虚拟机。为了适应这些暂时性的设备,可以采用动态资源/服务注册中心,它影响低层协议或状态以确定适当的注册中心更新,所述更新使注册中心状态与当前活动的虚拟机保持一致。例如,虚拟机监控器(VMM)可以跟踪虚拟机(VM)的创建以及中止或删除,以及该VM所公告的资源,其中VMM在VM的状态改变时适当地添加或清除该VM的注册中心条目,或者基于所述状态或协议来提供挂钩(例如通知)或其他工具,以使得其他关联模块或代理(例如管理模块或注册中心)能够采取适当的动作。
文档编号H04L29/08GK1761944SQ200480007064
公开日2006年4月19日 申请日期2004年2月25日 优先权日2003年3月21日
发明者罗伯特·克瑙尔黑斯, 斯科特·鲁滨逊 申请人:英特尔公司