一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

由托管的操作系统进行的虚拟机迁移检测的制作方法

2022-07-10 15:54:40 来源:中国专利 TAG:


1.本发明一般涉及用于虚拟机迁移的方法、系统和计算机程序产品。更具体地说,本发明涉及一种用于由托管操作系统进行虚拟机迁移检测的方法、系统和计算机程序产品。


背景技术:

2.虚拟机(vm)是运行在操作其自己的主机os的主机系统上的软件定义的计算机和访客os。通常,vm提供软件执行环境,并且可以具有虚拟处理器、虚拟系统存储器、虚拟存储装置和各种虚拟设备。vm表示通过一些管理功能(通常是管理程序技术)实现的一种形式的系统虚拟化。管理程序,也称为虚拟机管理器(vmm),使用软件或固件中的薄代码层来实现细粒度的动态资源共享。因为管理程序在如何定义和管理虚拟资源方面提供了最大程度的灵活性,所以它们通常是系统虚拟化的主要技术。
3.vm可以在通过网络连接的源主机计算平台(“源主机”)和目标主机计算平台(“目标主机”)之间迁移,所述网络可以是局域网或可以包括因特网的广域网。迁移允许硬件和软件之间的完全分离,从而改进设施故障管理、负载平衡和低级系统维护。动态迁移允许管理员在不同物理机器之间移动运行中的vm,而不断开运行中的客户端或应用程序。


技术实现要素:

4.示例性实施例提供了通过在vm上运行的访客操作系统(os)来检测vm迁移。实施例包括由访客os将由vm提供的vm标识符(vmid)和由主机计算机系统提供的第一主机标识符(hid)存储在计算机存储器中。该实施例还包括由访客os确定vm执行对访客os透明的迁移。该实施例还包括由访客os基于第一hid与响应于来自访客os的hid请求而提供给访客os的第二hid的比较来检测vm已经被迁移。
5.实施例包括计算机可用程序产品。计算机可用程序产品包括计算机可读存储介质和存储在存储介质上的程序指令。
6.实施例包括计算机系统。该计算机系统包括处理器、计算机可读存储器、计算机可读存储介质以及存储在存储介质上以供处理器经由存储器执行的程序指令。
7.根据一个方面,提供了一种计算机实现的方法,包括:由在虚拟机(vm)上运行的访客操作系统(os)将由所述vm提供的vm标识符(vmid)和由第一主机计算机系统提供的第一主机标识符(hid)存储在计算机存储器中;由所述访客os确定所述vm执行对所述访客os透明的迁移;由所述访客os基于所述第一hid与响应于来自所述访客os的hid请求而提供给所述访客os的第二hid的比较来检测所述vm已被迁移;以及由访客os响应于检测到vm已经迁移而更新访客os的配置设置。
8.根据另一方面,提供了一种用于检测vm迁移的计算机程序产品,所述计算机程序产品包括一个或多个计算机可读存储介质以及共同存储在所述一个或多个计算机可读存储介质上的程序指令,所述程序指令可由控制器电路执行以使所述控制器电路执行操作,所述操作包括:由在vm上运行的访客os将由所述vm提供的vm标识符(vmid)和由第一主机计
算机系统提供的第一主机标识符(hid)存储在计算机存储器中;由所述访客os确定所述vm执行对所述访客os透明的迁移;由所述访客os基于所述第一hid与响应于来自所述访客os的hid请求而提供给所述访客os的第二hid的比较来检测所述vm已被迁移;以及由访客os响应于检测到vm已经迁移而更新访客os的配置设置。
9.根据另一方面,提供了一种计算机系统,包括处理器和一个或多个计算机可读存储介质,以及共同存储在所述一个或多个计算机可读存储介质上的程序指令,所述程序指令可由所述处理器执行以使所述处理器执行操作,所述操作包括:由在vm上运行的访客os将由所述vm提供的vm标识符(vmid)和由第一主机计算机系统提供的第一主机标识符(hid)存储在计算机存储器中;由所述访客os确定所述vm执行对所述访客os透明的迁移;由所述访客os基于所述第一hid与响应于来自所述访客os的hid请求而提供给所述访客os的第二hid的比较来检测所述vm已被迁移;以及由访客os响应于检测到vm已经迁移而更新访客os的配置设置。
附图说明
10.在所附权利要求中阐述了被认为是本发明的特性的新颖特征。
11.现在将仅通过示例的方式并参考以下附图来描述本发明的优选实施例:
12.图1描述了可以实现示例性实施例的数据处理系统的网络的框图;
13.图2描绘了可以实现示例性实施例的数据处理系统的框图;
14.图3描绘了根据示例性实施例的用于托管vm和支持动态迁移的示例计算系统环境配置的框图;以及
15.图4描述了根据示例性实施例的用于检测由访客os进行的vm迁移的示例过程的流程图。
具体实施方式
16.动态迁移是一种便于将整个运行的vm从一个物理机器移动到另一个的技术。在整个vm级别的动态vm迁移意味着活动存储器和执行状态从源转移到目标。结果,动态vm迁移允许vm移动到另一物理机器,而不会中断vm内部的工作负载。vm的动态迁移和物理服务器的待机模式由算法引擎自动地编排。
17.基于无论何时发生或已经发生vm迁移时vm都提供给访客os的认知范围,动态vm迁移所需的支持和框架可以被分成多个模型。这些模型是协作的、仅通知的和透明的。在协作模型中,vm向访客os提供关于vm迁移活动的通知,并确认访客os接收到了该通知。在仅通知模型中,vm仅向访客os提供关于vm迁移发生之前和/或之后的vm迁移活动的通知。在透明模型中,vm不向访客os通知发生的vm迁移,而是寻求执行对访客os透明的迁移,这意味着访客os不知道迁移正在发生或已经发生。
18.便于vm的创建和使用的虚拟化技术使得vm硬件不可知(agnostic),这意味着vm可以在各种硬件配置上运行。然而,vm的不可知性质具有局限性。例如,取决于在动态vm迁移的源和目标处的硬件配置,在迁移vm上运行的访客os在没有对os组件的配置调整的情况下将不会最优地操作。一旦访客os知道硬件变化,它就可以进行配置调整。然而,当访客os不知道硬件改变时,例如当访客os运行在被配置为执行对访客os透明的迁移的vm上时,问题
出现了。
19.示例性实施例认识到,需要改进在vm上运行的访客os的硬件检测,包括需要或将受益于诸如cpu或gpu之类的某些硬件组件的配置改变的访客os。当前为特定硬件配置来配置os的方法涉及用户干预,通常是在注意到和排除访客os中发生的错误时,这是低效且耗时的。
20.示例性实施例认识到,目前可用的工具或解决方案没有解决这些需要或为这些需要提供足够的解决方案。示例性实施例总体上解决和处理上述问题以及与由于未检测到或未声明的vm迁移而在访客os中出现的错误有关的其他问题。在一些实施例中,在vm上运行的访客os检测具有不同迁移通知模型的各种vm的vm迁移,包括透明模型,其中vm被配置为从一个主机计算机系统迁移到另一个主机计算机系统而不通知访客os。在一个实施例中,访客os通过监视主机标识符(hid)并识别出对hid的改变意味着对运行vm的硬件已经改变,从而意味着vm迁移已经发生,来检测vm已经从源计算机系统迁移到目标计算机系统。
21.如本文所使用的,“标识符”是指与一些硬件或软件唯一地相关联的任何信息,并且取决于实施例,可以与特定的一件硬件唯一地相关联,诸如序列号或许可信息,或者可以与硬件或软件的一些更广泛的方面唯一地相关联,其非限制性示例包括与硬件或软件的型号、类别、类型、版本、品牌或修订版唯一地相关联的信息。在一些实施例中,访客os的迁移检测主要涉及对主机计算机系统和/或vm的某些改变,使得访客os对到具有相同硬件的另一主机计算机系统的vm迁移不感兴趣,因此忽略该迁移。
22.实施例可以被实现为软件应用。实现实施例的应用可以被配置为现有系统的修改、作为结合现有系统操作的单独应用、独立应用或其某种组合。
23.在一个实施例中,在vm上运行的访客os确定在vm迁移的情况下vm是否将通知访客os。在确定vm不向访客os通知vm迁移,而是执行对访客os透明的迁移时,访客os启动包括监视hid的迁移检测例程。访客os通过检测hid中的变化来检测vm迁移。
24.在一个实施例中,响应于访客os的一个或多个查询,向在vm上运行的访客os提供vmid和hid。在一个实施例中,访客os的查询包括轮询中央处理单元(cpu)寄存器以获得关于运行vm的主机计算机系统的信息。例如,在一个实施例中,主机计算机系统包括cpu,该cpu包括在处理器核心上实现的专用寄存器(spr),该寄存器服务于各种用途,诸如调试、定时器、存储器管理和中断。在一些实施例中,spr包括存储关于cpu的标识信息的寄存器,诸如处理器版本寄存器(pvr)、系统版本寄存器(svr)和/或芯片标识寄存器(cir)。在一些实施例中,pvr存储关于cpu的各种信息,诸如制造商的id、核心类型、核心版本和核心修订。pvr或cir在处理器核心之间进行区分,这些处理器核心在可能影响软件的属性方面不同,并且pvr值允许软件在多个处理器核心类型之间进行区分。在集成设备中,pvr标识核心,svr标识ic。
25.在一个实施例中,访客os查询存储器中存储的固件或数据,所述固件或数据包括与主机计算机系统和/或vm关联的硬件组件的描述。例如,在一个实施例中,访客os查询设备树或配置文件,以便识别关于vm和/或主机计算机系统的信息。在一些实施例中,响应于诸如对设备树的查询之类的单个查询,向访客os提供vmid和hid。在一些实施例中,响应于一个请求,向访客os提供vmid,并且响应于另一个请求,向访客os提供hid。
26.在一个实施例中,在vm上运行的访客os通过将响应于访客os的hid查询而接收的
hid与先前存储的hid进行比较并检测hid已经改变,来检测vm正在或已经从源计算机系统迁移到目标计算机系统的vm迁移。在一个实施例中,hid查询是从访客os到当前主机计算机系统的多个周期性hid查询之一。在一些实施例中,以固定间隔进行从访客os到当前主机计算机系统的多个周期性hid查询。在一些实施例中,固定间隔可以是当前硬件能力内的任何期望的时间段。
27.在一些实施例中,可以选择固定间隔以防止迁移后错误发生。例如,在一些实施例中,如果vm迁移到某些硬件,则在访客os中在某个时间段t之后发生错误。在这样的实施例中,访客os选择固定间隔i<t,以便通过在没有检测到迁移并且进行配置改变以防止错误的情况下从不允许经过时间段t,来防止错误发生。
28.在一个实施例中,在vm上运行的访客os通过将响应于访客os的hid查询而接收的hid与先前存储的hid进行比较并检测hid已经改变,来检测vm正在或已经从源计算机系统迁移到目标计算机系统的vm迁移。在一个实施例中,hid查询是从访客os到当前主机计算机系统的多个周期性hid查询之一。在一些实施例中,以变化的间隔进行从访客os到当前主机计算机系统的多个周期性hid查询。在一些实施例中,变化的间隔可以是当前硬件能力内的任何期望的时间段。在一些实施例中,变化的间隔取决于系统资源的可用性。例如,在一些实施例中,查询被设置为低优先级,并且在发出下一个查询之前,将等待其他系统进程完成或者等待系统资源变为可用。
29.在一个实施例中,在vm上运行的访客os在响应于对主机计算机系统的查询而接收到新的hid之后检测从源计算机系统到目标计算机系统的vm迁移,其中新的hid与目标计算机系统相关联,并且其中访客os基于与先前存储的与源计算机系统相关联的hid的比较来检测新的hid。在一个实施例中,访客os将新的hid存储在计算机存储器中,并且使用新的hid来基于对主机计算机系统的hid的另一改变而检测未来的vm迁移。在一个实施例中,当在存储器中存储新的hid时,访客os覆写先前存储的hid。在一个实施例中,访客os除了存储当前hid之外,还在计算机存储器中存储多个先前主机系统hid。
30.在一个实施例中,在vm上运行的访客os至少部分地基于先前接收的hid与最近接收的hid的比较来检测从源计算机系统到目标计算机系统的vm迁移。在此类实施例中,访客os基于最近接收的hid来检测对访客os的配置改变是合乎需要的。在这样的实施例中,访客os对访客os进行配置改变。在实施例中,配置改变包括调整性能测量设置。
31.为了描述的清楚起见,并且不暗示对其的任何限制,使用一些示例配置来描述示例性实施例。根据本公开,本领域的普通技术人员将能够构思出用于实现所述目的的所述构造的许多变更、适应和修改,并且这些都被认为在示例性实施例的范围内。
32.此外,在附图和示例性实施例中使用了数据处理环境的简化图。在实际计算环境中,可以存在未在此示出或描述的附加结构或组件,或者与所示出的结构或组件不同但用于与在此描述的功能类似的结构或组件,而不脱离示例性实施例的范围。
33.此外,仅作为示例,关于具体的实际或假设的组件来描述示例性实施例。由各种示例性实施例描述的步骤可以适于提供对由机器学习分类器模型做出的决定的解释,例如:
34.这些和其他类似的人为因素的任何特定表现形式不是要限制本发明。可以在示例性实施例的范围内选择这些和其他类似产物的任何适当表现。
35.本公开中的示例仅用于清楚描述,而不是限制于示例性实施例。本文列出的任何
优点仅是示例,并且不旨在限制示例性实施例。通过特定的示例性实施例可以实现附加的或不同的优点。此外,特定示例性实施例可具有上文所列优点中的一些、全部或不具有上文所列优点。
36.此外,可以针对任何类型的数据、数据源或通过数据网络对数据源的访问来实现示例性实施例。在本发明的范围内,任何类型的数据存储设备可以在本地在数据处理系统处或通过数据网络向本发明的实施例提供数据。在使用移动设备描述实施例的情况下,在示例性实施例的范围内,适于与移动设备一起使用的任何类型的数据存储设备可以在移动设备处本地地或者通过数据网络向这样的实施例提供数据。
37.使用特定代码、对比解释、计算机可读存储介质、高级特征、历史数据、设计、架构、协议、布局、示意图和工具来描述示例性实施例,这些仅作为示例,而不是对示例性实施例的限制。此外,为了描述的清楚,在一些示例中使用特定软件、工具和数据处理环境仅作为示例来描述示例性实施例。示例性实施例可以结合其他相当或类似目的结构、系统、应用或架构来使用。例如,在本发明的范围内,其他可比较的移动设备、结构、系统、应用或其架构可以与本发明的这种实施例结合使用。示例性实施例可以以硬件、软件或其组合来实现。
38.本公开中的示例仅用于清楚描述,而不是限制于示例性实施例。从本公开可以想到附加的数据、操作、动作、任务、活动和操纵,并且在示例性实施例的范围内可以设想这些附加的数据、操作、动作、任务、活动和操纵。
39.本文列出的任何优点仅是示例,并且不旨在限制示例性实施例。通过特定的示例性实施例可以实现附加的或不同的优点。此外,特定示例性实施例可具有上文所列优点中的一些、全部或不具有上文所列优点。
40.参考附图,并且具体参考图1和2,这些附图是可以实现示例性实施例的数据处理环境的示例图。图1和2仅仅是示例,并且不旨在断言或暗示关于其中可以实现不同实施例的环境的任何限制。特定实现可以基于以下描述对所描绘的环境进行许多修改。
41.图1描述了可以实现示例性实施例的数据处理系统的网络的框图。数据处理环境100是其中可以实现示例性实施例的计算机网络。数据处理环境100包括网络102。网络102是用于在数据处理环境100内连接在一起的各种设备和计算机之间提供通信链路的介质。网络102可以包括诸如有线、无线通信链路或光纤电缆的连接。
42.客户端或服务器仅是连接到网络102的某些数据处理系统的示例角色,并且不旨在排除这些数据处理系统的其他配置或角色。数据处理系统104耦合到网络102。软件应用程序可以在数据处理环境100中的任何数据处理系统上执行。被描述为在图1中的处理系统104中执行的任何软件应用程序可以被配置成以类似的方式在另一数据处理系统中执行。在图1中的数据处理系统104中存储或产生的任何数据或信息可以被配置为以类似的方式在另一数据处理系统中存储或产生。诸如数据处理系统104的数据处理系统可以包含数据,并且可以具有在其上执行计算处理的软件应用或软件工具。在一个实施例中,数据处理系统104包括存储器124,其包括可以被配置为实现根据一个或多个实施例的本文描述的一个或多个数据处理器功能的应用105a。
43.服务器106与存储单元108一起耦合到网络102。存储单元108包括数据库109,其被配置为存储如本文关于各种实施例所描述的数据,例如图像数据和属性数据。服务器106是常规的数据处理系统。在一个实施例中,服务器106包括vm应用105b,其包括访客os,并且可
被配置为实现根据一个或多个实施例的本文所述的一个或多个处理器功能。
44.客户机110、112和114也耦合到网络102。诸如服务器106或客户机110、112或114的常规数据处理系统可包含数据,并可具有在其上执行常规计算过程的软件应用程序或软件工具。
45.仅作为示例,而不暗示对这样的体系结构的任何限制,图1描绘了可在实施例的示例实现中使用的某些组件。例如,服务器106和客户端110、112、114被描绘为服务器和客户端,仅作为示例,并不暗示对客户端-服务器架构的限制。作为另一个例子,一个实施例可以分布在几个数据处理系统和如图所示的数据网络上,而另一个实施例可以在示例性实施例的范围内的单个数据处理系统上实现。常规数据处理系统106、110、112和114还表示适于实现实施例的集群、分区和其他配置中的示例节点。
46.设备132是本文描述的常规计算设备的示例。例如,设备132可以采取智能电话、平板计算机、膝上型计算机、固定或便携式形式的客户端110、可穿戴计算设备或任何其他合适的设备的形式。在一个实施例中,设备132向服务器106发送请求以由vm应用105b执行一个或多个数据处理任务,例如启动本文所述的由vm托管的访客os的进程。被描述为在图1中的另一常规数据处理系统中执行的任何软件应用程序可以被配置为以类似的方式在设备132中执行。在图1中的另一常规数据处理系统中存储或产生的任何数据或信息可以被配置为以类似的方式在设备132中存储或产生。
47.服务器106、存储单元108、数据处理系统104、客户端110、112和114以及设备132可以使用有线连接、无线通信协议或其他合适的数据连接耦合到网络102。客户机110、112和114可以是例如个人计算机或网络计算机。
48.在所描述的例子中,服务器106可以向客户端110、112和114提供数据,例如引导文件、os映像和应用。在该示例中,客户端110、112和114可以是服务器106的客户端。客户端110、112、114或其某种组合可以包括它们自己的数据、引导文件、os映像和应用。数据处理环境100可以包括未示出的附加服务器、客户端和其他设备。
49.在所描述的例子中,存储器124可以向处理器122提供数据,例如引导文件、os映像和应用。处理器122可以包括其自己的数据、引导文件、os映像和应用。数据处理环境100可以包括未示出的附加存储器、处理器和其他设备。
50.在一个实施例中,数据处理系统104的vm应用105a和服务器106的vm应用105b中的一个或多个实现了如本文所述的运行访客os的vm的实施例。在特定实施例中,运行访客os的vm使用单个服务器或处理系统内的网络应用105a和网络应用105b之一来实现。在另一特定实施例中,运行访客os的vm使用单个服务器或处理系统内的网络应用105a和网络应用105b两者来实现。服务器106包括多个gpu 107,其包括多个节点,其中每个节点可以包括一个或多个如本文所述的gpu。
51.在所描述的示例中,数据处理环境100可以是因特网。网络102可以表示使用传输控制协议/网际协议(tcp/ip)和其他协议来彼此通信的网络和网关的集合。在因特网的核心是主节点或主机计算机之间的数据通信链路的主干,主节点或主机计算机包括路由数据和消息的数千个商业、政府、教育和其他计算机系统。当然,数据处理环境100也可以实现为许多不同类型的网络,例如内联网、局域网(lan)或广域网(wan)。图1旨在作为示例,而不是作为对不同示例性实施例的架构限制。
52.除了其他用途之外,数据处理环境100可以用于实现其中可以实现示例性实施例的客户端-服务器环境。客户机-服务器环境使得软件应用程序和数据能够分布在网络上,以便应用通过使用常规客户机数据处理系统和常规服务器数据处理系统之间的交互性来工作。数据处理环境100还可以采用面向服务的体系结构,其中分布在网络上的可互操作的软件组件可以被打包在一起作为一致的业务应用。数据处理环境100还可以采取云的形式,并且采用服务递送的云计算模型以实现对可配置计算资源(例如,网络、网络带宽、服务器、处理、存储器、存储、应用、虚拟机和服务)的共享池的方便的按需网络访问,所述可配置计算资源可以以最小的管理努力或与服务的提供者的交互来快速供应和释放。
53.参考图2,该图描述了可以实现示例性实施例的数据处理系统的框图。数据处理系统200是常规计算机的示例,诸如图1中的数据处理系统104、服务器106或客户端110、112和114或另一类型的设备,其中实现这些过程的计算机可用程序代码或指令可以位于其中,用于示例性实施例。
54.数据处理系统200还代表常规的数据处理系统或其中的配置,例如图1中的常规数据处理系统132,其中可以放置实现示例性实施例的处理的计算机可用程序代码或指令。数据处理系统200仅作为示例被描述为计算机,而不限于此。在不脱离这里描述的数据处理系统200的操作和功能的一般描述的情况下,以诸如图1中的设备132的其他设备的形式的实现可以诸如通过添加触摸接口来修改数据处理系统200,并且甚至从数据处理系统200中去除某些描绘的组件。
55.在所描述的例子中,数据处理系统200采用集线器体系结构,包括北桥和存储器控制器集线器(nb/mch)202以及南桥和输入/输出(i/o)控制器集线器(sb/ich)204。处理单元206、主存储器208和图形处理器210耦合到北桥和存储器控制器集线器(nb/mch)202。处理单元206可以包含一个或多个处理器、一个或多个专用寄存器(spr),例如处理器版本寄存器(pvr)、系统版本寄存器(svr)和/或芯片标识寄存器(cir),并且可以使用一个或多个异构处理器系统来实现。处理单元206可以是多核处理器。在某些实现中,图形处理器210可以通过加速图形端口(agp)耦合到nb/mch 202。
56.在所描述的例子中,局域网(lan)适配器212耦合到南桥和i/o控制器集线器(sb/ich)204。音频适配器216、键盘和鼠标适配器220、调制解调器222、只读存储器(rom)224、通用串行总线(usb)和其他端口232、以及pci/pcie设备234通过总线238耦合到南桥和i/o控制器集线器204。硬盘驱动器(hdd)或固态驱动器(ssd)226和cd-rom 230通过总线240耦合到南桥和i/o控制器集线器204。pci/pcie设备234可以包括例如用于笔记本计算机的以太网适配器、附加卡和pc卡。pci使用卡总线控制器,而pcie不使用。rom 224可以是例如闪存二进制输入/输出系统(bios)。硬盘驱动器226和cd-rom 230可使用例如集成驱动电子(ide)、串行高级技术附件(sata)接口或诸如外部sata(esata)和微sata(msata)的变体。超级i/o(sio)设备236可以通过总线238耦合到南桥和i/o控制器集线器(sb/ich)204。
57.存储器,例如主存储器208、rom 224或闪存(未示出),是计算机可用存储设备的一些示例。硬盘驱动器或固态驱动器226、cd-rom 230和其他类似的可用设备是包括计算机可用存储介质的计算机可用存储设备的一些示例。
58.os运行在处理单元206上。os协调并提供对图2中的数据处理系统200内的各种组件的控制。os可以是用于任何类型的计算平台的商业上可获得的os,包括但不限于服务器
系统、个人计算机和移动设备。面向对象或其他类型的编程系统可以与os结合操作,并且提供从在数据处理系统200上执行的程序或应用对os的调用。
59.用于os、面向对象的编程系统以及诸如图1中的应用105之类的应用或程序的指令位于存储设备上,诸如以硬盘驱动器226上的代码226a的形式,并且可以被加载到诸如主存储器208之类的一个或多个存储器中的至少一个中,以便由处理单元206执行。示例性实施例的过程可以由处理单元206使用计算机实现的指令来执行,所述指令可以位于存储器中,例如主存储器208、只读存储器224,或者位于一个或多个外围设备中。
60.此外,在一种情况下,代码226a可以通过网络201a从远程系统201b下载,其中类似的代码201c存储在存储设备201d上。在另一种情况下,代码226a可以通过网络201a下载到远程系统201b,其中下载的代码201c存储在存储设备201d上。
61.图1-图2中的硬件可以根据实现而变化。除了图1-图2中描述的硬件之外,或者作为其替代,可以使用诸如闪存、等效的非易失性存储器或光盘驱动器等的其他内部硬件或外围设备。另外,示例性实施例的过程可以应用到多处理器数据处理系统。
62.在一些说明性示例中,数据处理系统200可以是个人数字助理(pda),其通常配置有闪存以提供用于存储os文件和/或用户生成的数据的非易失性存储器。总线系统可以包括一个或多个总线,例如系统总线、i/o总线和pci总线。当然,总线系统可以使用任何类型的通信结构或体系结构来实现,所述通信结构或体系结构提供在附接到该结构或体系结构的不同组件或设备之间的数据传输。
63.通信单元可以包括一个或多个用于发送和接收数据的设备,例如调制解调器或网络适配器。存储器可以是例如主存储器208或高速缓存,诸如在北桥和存储器控制器集线器202中找到的高速缓存。处理单元可以包括一个或多个处理器或cpu。
64.图1-图2中所描述的例子和上述例子不意味着暗示体系结构限制。例如,数据处理系统200还可以是平板计算机、膝上型计算机或电话设备,以及采取移动或可穿戴设备的形式。
65.在计算机或数据处理系统被描述为虚拟机、虚拟设备或虚拟组件的情况下,虚拟机、虚拟设备或虚拟组件使用数据处理系统200中所描绘的一些或所有组件的虚拟化表现来以数据处理系统200的方式操作。例如,在虚拟机、虚拟设备或虚拟组件中,处理单元206被表现为主机数据处理系统中可用的所有或一些数量的硬件处理单元206的虚拟化实例,主存储器208被表现为主机数据处理系统中可用的主存储器208的所有或一些部分的虚拟化实例,并且盘226被表现为主机数据处理系统中可用的盘226的所有或一些部分的虚拟化实例。在这种情况下,主机数据处理系统由数据处理系统200表示。
66.参考图3,该图描绘了根据示例性实施例的示例计算系统环境300的框图。示例实施例包括运行访客os 314的虚拟机304。在特定实施例中,运行访客os 314的虚拟机304是图1的应用105a/105b的示例。
67.在所示实施例中,被配置用于动态迁移的计算系统环境300包括通过例如lan、wan或因特网的计算机通信网络通信地耦合到目标计算机系统316的源计算机系统302。源计算机系统302包括主机计算机硬件312,其是图2所示的数据处理系统200的示例,并且其运行支持管理程序308的操作的主机os 310。管理程序308继而可以管理vm 304的迁移前版本的操作,并且vm 304托管具有迁移检测模块306的访客os 314的操作。
68.在所示实施例中,计算系统环境300还包括目标计算机系统316。目标计算机系统316包括主机计算机硬件322,其是图2所示的数据处理系统200的示例,并且其运行支持系统管理程序318的操作的主机os 310。管理程序318继而可管理vm 304

的迁移后版本的操作,并且vm 304

的迁移后版本托管具有迁移检测模块306

的访客os 304

的操作。不同的虚拟化计算环境210b还可以包括支持管理程序240b的操作的至少一个主机服务器230b。管理程序240b继而可以管理多个不同vm 260b的操作,并且每个vm 260b可以托管被组合以提供计算应用的一个或多个应用组件(未示出)的执行。注意,动态迁移逻辑300可以耦合到安全虚拟化计算环境210a和不同虚拟化计算环境210b。动态迁移逻辑300可以包括能够将vm 260a中的选定的一个从安全虚拟化计算环境210a动态迁移到不同虚拟化计算环境210b、同时保持其间的数据通信的安全性的程序代码。
69.在所示实施例中,具有迁移检测模块306/306

的程序代码可被使能以检测vm迁移。在一些实施例中,在vm 304上运行的访客os 306检测具有不同迁移通知模型的各种vm的vm迁移,包括透明模型,其中vm被配置为从一个主机计算机系统迁移到另一个主机计算机系统而不通知访客os 314。在一个实施例中,访客os 314通过监视主机标识符(hid)并识别出对hid的改变意味着对操作vm的硬件已经改变、从而意味着vm迁移已经发生,来检测vm已经从源计算机系统302迁移到目标计算机系统316。
70.参考图4,该图描述了根据示例性实施例的用于检测由访客os进行的vm迁移的示例过程400的流程图。在特定实施例中,访客os 314和/或迁移检测模块306执行过程400。
71.在一个实施例中,在框402,应用向主机vm和/或主机os查询主机标识符和vm迁移类。在一些实施例中,应用检测vm是否执行对访客os透明的迁移。接下来,在一个实施例中,在块404,应用创建包括响应于请求而接收的主机标识符的主机环境简档。接下来,在框406,应用启动迁移检测服务,用于周期性地向主机vm和/或os查询标识符,并将响应与存储在环境简档中的标识符进行比较。接下来,在框408,应用通过检测查询响应中的标识符不同于存储在环境简档中的标识符来确定vm已经被迁移。最后,在框410,应用通过用与查询响应一起接收的新标识符替换标识符来更新环境简档。
72.以下定义和缩写用于解释权利要求和说明书。如本文所用,术语“包含”、“包括”、“具有”、“含有”或其任何其他变型旨在涵盖非排他性的包括。例如,包括一系列要素的组合物、混合物、工艺、方法、制品或装置不一定仅限于那些要素,而是可以包括未明确列出的或此类组合物、混合物、工艺、方法、制品或装置固有的其他要素。
73.另外,术语“说明性”在本文中用于表示“充当示例、例子或说明”。在此描述为“说明性”的任何实施例或设计不一定被解释为比其他实施例或设计更优选或有利。术语“至少一个”和“一个或多个”被理解为包括大于或等于一的任何整数,即一、二、三、四等。术语“多个”应理解为包括大于或等于二的任何整数,即二、三、四、五等。术语“连接”可以包括间接“连接”和直接“连接”。
74.说明书中对”一个实施例“、”示例实施例“等的引用指示所描述的实施例可以包括特定特征、结构或特性,但是每个实施例可以包括或者可以不包括该特定特征、结构或特性。此外,这些短语不一定是指相同的实施例。此外,当结合实施例描述特定特征、结构或特性时,认为结合其他实施例来影响这种特征、结构或特性是在本领域技术人员的知识范围内的,而不管是否明确描述。
75.术语”约“、”基本上“、”大约“及其变体旨在包括与基于提交本技术时可用的设备的特定量的测量相关联的误差度。例如,“约”可以包括给定值的
±
8%或5%或2%的范围。
76.已经出于说明的目的给出了本发明的各种实施例的描述,但是其不旨在是穷尽的或限于所公开的实施例。在不背离所描述的实施例的范围和精神的情况下,许多修改和变化对于本领域的普通技术人员将是显而易见的。选择本文所使用的术语以最好地解释实施例的原理、实际应用或对市场上存在的技术改进,或使本领域的其他普通技术人员能够理解本文所描述的实施例。
77.已经出于说明的目的给出了本发明的各种实施例的描述,但是其不旨在是穷尽的或限于所公开的实施例。在不背离所描述的实施例的范围和精神的情况下,许多修改和变化对于本领域的普通技术人员将是显而易见的。选择本文所使用的术语以最好地解释实施例的原理、实际应用或对市场上存在的技术改进,或使本领域的其他普通技术人员能够理解本文所描述的实施例。
78.因此,在示例性实施例中提供了一种计算机实现的方法、系统或装置以及计算机程序产品,用于管理在线社区的参与以及其他相关特征、功能或操作。在关于一种类型的设备描述实施例或其一部分的情况下,计算机实现的方法、系统或装置、计算机程序产品或其一部分被适配或配置成与该类型的设备的适当且可比较的表现一起使用。
79.在实施例被描述为在应用中实现的情况下,在示例性实施例的范围内,可以设想在软件即服务(saas)模型中的应用的递送。在saas模型中,通过在云基础设施中执行应用,向用户提供实现实施例的应用的能力。用户可以通过诸如web浏览器(例如,基于web的电子邮件)或其他轻量客户端应用之类的瘦客户端接口使用各种客户端设备来访问应用。用户不管理或控制底层云基础设施,包括网络、服务器、os或云基础设施的存储。在一些情况下,用户甚至可能不管理或控制saas应用的能力。在一些其他情况下,应用程序的saas实施方案可允许有限的用户特定应用配置设定的可能例外。
80.本发明可以是任何可能的技术细节集成水平的系统、方法和/或计算机程序产品。计算机程序产品可以包括其上具有计算机可读程序指令的计算机可读存储介质(或多个介质),所述计算机可读程序指令用于使处理器执行本发明的各方面。
81.计算机可读存储介质可以是能够保留和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质可以是例如但不限于电子存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或前述的任何合适的组合。计算机可读存储介质的更具体示例的非穷举列表包括以下:便携式计算机磁盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或闪存)、静态随机存取存储器(sram)、便携式光盘只读存储器(cd-rom)、数字多功能盘(dvd)、记忆棒、软盘、诸如上面记录有指令的打孔卡或凹槽中的凸起结构的机械编码装置,以及上述的任何适当组合。如本文所使用的计算机可读存储介质不应被解释为暂时性信号本身,诸如无线电波或其他自由传播的电磁波、通过波导或其他传输介质传播的电磁波(例如,通过光纤线缆的光脉冲)、或通过导线传输的电信号。
82.本文描述的计算机可读程序指令可以从计算机可读存储介质下载到相应的计算/处理设备,或者经由网络,例如因特网、局域网、广域网和/或无线网络,下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光传输光纤、无线传输、路由器、防火墙、交换
机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或网络接口从网络接收计算机可读程序指令,并转发计算机可读程序指令以存储在相应计算/处理设备内的计算机可读存储介质中。
83.用于执行本发明的操作的计算机可读程序指令可以是汇编指令、指令集架构(isa)指令、机器相关指令、微代码、固件指令、状态设置数据、集成电路的配置数据,或者以一种或多种编程语言(包括面向对象的编程语言,例如smalltalk、c 等)和过程编程语言(例如“c”编程语言或类似的编程语言)的任意组合编写的源代码或目标代码。计算机可读程序指令可以完全在用户的计算机上执行,部分在用户的计算机上执行,作为独立的软件包执行,部分在用户的计算机上并且部分在远程计算机上执行,或者完全在远程计算机或服务器上执行。在后一种情况下,远程计算机可以通过任何类型的网络连接到用户的计算机,包括局域网(lan)或广域网(wan),或者可以连接到外部计算机(例如,使用因特网服务提供商通过因特网)。在一些实施例中,为了执行本发明的各方面,包括例如可编程逻辑电路、现场可编程门阵列(fpga)或可编程逻辑阵列(pla)的电子电路可以通过利用计算机可读程序指令的状态信息来执行计算机可读程序指令以使电子电路个性化。
84.在此参考根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述本发明的各方面。将理解,流程图和/或框图的每个框以及流程图和/或框图中的框的组合可以由计算机可读程序指令来实现。
85.这些计算机可读程序指令可以被提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器以产生机器,使得经由计算机或其他可编程数据处理装置的处理器执行的指令创建用于实现流程图和/或框图的一个或多个框中指定的功能/动作的装置。这些计算机可读程序指令还可以存储在计算机可读存储介质中,其可以引导计算机、可编程数据处理装置和/或其他设备以特定方式工作,使得其中存储有指令的计算机可读存储介质包括制品,该制品包括实现流程图和/或框图的一个或多个框中指定的功能/动作的各方面的指令。
86.计算机可读程序指令还可以被加载到计算机、其他可编程数据处理装置或其他设备上,以使得在计算机、其他可编程装置或其他设备上执行一系列操作步骤,以产生计算机实现的过程,使得在计算机、其他可编程装置或其他设备上执行的指令实现流程图和/或框图的一个或多个框中指定的功能/动作。
87.附图中的流程图和框图示出了根据本发明的各种实施例的系统、方法和计算机程序产品的可能实现的架构、功能和操作。在这点上,流程图或框图中的每个框可以表示指令的模块、段或部分,其包括用于实现指定的逻辑功能的一个或多个可执行指令。在一些替代实施方案中,框中所注明的功能可不按图中所注明的次序发生。例如,连续示出的两个框实际上可以基本上同时执行,或者这些框有时可以以相反的顺序执行,这取决于所涉及的功能。还将注意,框图和/或流程图图示的每个框以及框图和/或流程图图示中的框的组合可以由执行指定功能或动作或执行专用硬件和计算机指令的组合的专用的基于硬件的系统来实现。
88.本发明的实施例还可以作为与客户公司、非盈利组织、政府实体、内部组织结构等的服务约定的一部分来交付。这些实施例的方面可以包括配置计算机系统以执行,以及部署实现本文描述的方法中的一些或全部的软件、硬件和web服务。这些实施例的方面还可以
包括分析客户的操作、响应于分析创建推荐、构建实现推荐的部分的系统、将系统集成到现有过程和基础设施中、计量系统的使用、向系统的用户分配费用以及为系统的使用计费。尽管已经通过分别陈述它们各自的优点描述了本发明的上述实施例,但是本发明不限于其特定组合。相反,根据本发明的预期部署,这些实施例还可以以任何方式和数量组合,而不会失去其有益效果。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献