首页> 中国专利> 虚拟机迁移中的用户数据报协议分组迁移

虚拟机迁移中的用户数据报协议分组迁移

摘要

本发明的实施例涉及一种方法和装置,所述方法包括:包括处理器件的第一处理器接收要发生虚拟机从所述第一处理器迁移到第二处理器的指示;所述第一处理器基于所述指示,将意图用于所述虚拟机的用户数据报协议(UDP)分组传送到所述第二处理器;向所述虚拟机传送信号,以进入离线状态,其中,所述离线状态包括中央处理单元(CPU)状态和存储器状态中的至少一个的转移,并且,其中,所述虚拟机被配置为响应于接收到所述信号而停止所述UDP分组的处理;一旦完成了所述虚拟机从所述第一处理器向所述第二处理器的迁移,便重新激活所述虚拟机;以及指示所述虚拟机恢复所述UDP分组的处理。

著录项

  • 公开/公告号CN103856480A

    专利类型发明专利

  • 公开/公告日2014-06-11

    原文格式PDF

  • 申请/专利权人 国际商业机器公司;

    申请/专利号CN201310629812.8

  • 申请日2013-11-29

  • 分类号H04L29/06;H04L12/46;

  • 代理机构北京市柳沈律师事务所;

  • 代理人黄小临

  • 地址 美国纽约阿芒克

  • 入库时间 2023-12-17 00:01:10

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-01-12

    授权

    授权

  • 2014-07-09

    实质审查的生效 IPC(主分类):H04L29/06 申请日:20131129

    实质审查的生效

  • 2014-06-11

    公开

    公开

说明书

技术领域

本发明涉及虚拟机(VM)的管理,更具体地,涉及虚拟机(VM)迁移 中的用户数据报协议(UDP)分组迁移。

背景技术

云计算的提供方具有向消费者或终端用户提供期望性能、同时还有效分 配用来向消费者提供服务的资源的有竞争的任务。可由提供方动态分配资源, 以帮助实现这些目标。因而,硬件平台可驻留多个虚拟机,其中,每个虚拟 机对应于消费者。硬件平台资源的有效使用规定了:提供方在平台上放置尽 可能多的虚拟机,而损害虚拟机的消费者使用和体验。可能期望将虚拟机从 一个硬件平台移动或迁移到另一个,以确保消费者不会受到用于虚拟机的资 源的改变的不利影响。

基于传输控制协议(TCP)的环境能够通过迁移(migration)而继续工 作,这是因为,TCP窗通常比虚拟机迁移过程的“离线(offline)”部分更长, 该虚拟机迁移过程挂起所有输入/输出(I/O)和访客处理,同时将最终处理状 态和其它杂项数据发送到远程主机,随后在该远程主机中恢复执行。另一个 网络协议是用户数据报协议(UDP),与TCP相比,其不包括有关重试或排 序的保证。

发明内容

实施例针对于一种方法,包括:包括处理器件的第一处理器接收要发生 虚拟机从所述第一处理器迁移到第二处理器的指示。所述方法还包括所述第 一处理器基于所述指示,将意图用于所述虚拟机的用户数据报协议(UDP) 分组传送到所述第二处理器。所述方法还包括向所述虚拟机传送信号,以进 入离线状态,其中,所述离线状态包括中央处理单元(CPU)状态和存储器 状态中的至少一个的转移,并且,其中,所述虚拟机被配置为响应于接收到 所述信号而停止所述UDP分组的处理。所述方法还包括一旦完成了所述虚拟 机从所述第一处理器向所述第二处理器的迁移,便重新激活所述虚拟机。所 述方法还包括指示所述虚拟机恢复所述UDP分组的处理。

实施例针对于一种装置,其包括至少一个处理器件、以及其上存储了指 令的存储器。当由至少一个处理器件执行所述指令时,使所述装置接收要发 生虚拟机从所述装置迁移到处理器的指示。当由至少一个处理器件执行所述 指令时,使所述装置基于所述指示,将意图用于所述虚拟机的用户数据报协 议(UDP)分组传送到所述处理器。当由至少一个处理器件执行所述指令时, 使所述装置向所述虚拟机传送信号,以进入离线状态,其中,所述离线状态 包括与所述虚拟机相关联的中央处理单元(CPU)状态和存储器状态中的至 少一个的转移,并且,其中,所述虚拟机被配置为响应于接收到所述信号而 停止所述UDP分组的处理。当由至少一个处理器件执行所述指令时,使所述 装置接收指示所述虚拟机从所述装置到所述处理器的迁移完成的第二信号。 当由至少一个处理器件执行所述指令时,使所述装置基于所述第二信号指示 所述虚拟机恢复所述UDP分组的处理。

实施例针对于一种计算机程序产品,其包括其上实现了计算机可读程序 代码的计算机可读存储介质。计算机可读程序代码包括计算机可读程序代码, 其被配置用于:与第一处理器相关联的第一管理程序接收要发生虚拟机从第 一处理器迁移到第二处理器的指示。计算机可读程序代码被配置用于:第一 管理程序使第一处理器基于所述指示,将意图用于所述虚拟机的用户数据报 协议(UDP)分组传送到与第二处理器相关联的第二管理程序。计算机可读 程序代码被配置用于:第一管理程序使第一处理器向虚拟机传送信号,以进 入离线状态,其中,离线状态包括中央处理单元(CPU)状态和存储器状态 中的至少一个的转移,并且,其中,虚拟机被配置为响应于接收到所述信号 而停止UDP分组的处理。计算机可读程序代码被配置用于:一旦完成了虚拟 机从第一处理器迁移到第二处理器,便重新激活虚拟机。计算机可读程序代 码被配置用于:指示虚拟机恢复UDP分组的处理。

通过本发明的技术实现了附加特征和优点。这里详细描述了本发明的其 它实施例和方面,并且,其被视为要求权利的发明的一部分。为了更好地理 解本发明的优点和特征,参照描述和附图。

附图说明

在所附权利要求中特别指出和清楚地主张了被视为本发明的主题。结合 附图,从以下的详细说明中,本发明的前面的和其它的特征和优点将变得清 楚,其中:

图1表示根据本发明一实施例的云计算节点;

图2表示根据本发明一实施例的云计算环境;

图3表示根据本发明一实施例的抽象模型层;

图4表示根据本发明一实施例的用于迁移虚拟机的计算系统;以及

图5表示根据一实施例的用于向迁移的虚拟机提供数据分组的处理的流 程图。

具体实施方式

这里描述的实施例针对于利用用户数据报协议(UDP)作为传送或接收 数据的基础的计算环境中的虚拟机(VM)迁移。在实施例中,在VM从第 一处理器迁移到第二处理器的期间,管理程序(hypervisor)将意图用于已被 置于离线状态的VM的UDP分组缓冲。当完成VM的迁移时,管理程序将 缓冲的UDP分组转发到在第二处理器上执行的管理程序,以由迁移的VM处 理。这样,UDP分组在迁移期间不会丢失,或者不会由于迁移而丢失。

在实施例中,将指示VM即将迁移的信号发送到管理程序。基于接收到 该信号,管理程序执行可在线执行的任何迁移,其中,VM保持对外部世界 的响应。在管理程序或VM确定VM必须进入迁移的离线阶段(例如,VM 不执行计算、且正在转移诸如中央处理单元或“CPU”状态和/或存储器状态的 关键执行状态)的时间点,管理程序将进入的(inbound)意图用于迁移的 VM的UDP分组缓冲。在实施例中,在进入迁移的离线状态之前,管理程序 将信号(例如,带内或带外)传送到在迁移中的VM,以停止UDP分组的处 理。当已完成迁移时,管理程序随后将意图用于VM的UDP分组重新传送到 执行经迁移的VM的新管理程序。随后,在远程端重新激活VM,其中,其 恢复执行,并递交重新传送的UDP分组。在VM已被指示来缓冲UDP分组 而不处理它们的实施例中,管理程序指示VM(例如,使用带内或带外信号) 以在可选地在处理之前重排序其当前缓冲器之后,正常对UDP分组操作。可 将UDP分组缓冲在访客(guest)或管理程序的内核(kernel)或用户空间存 储器中。

首先应当理解,尽管本公开包括关于云计算的详细描述,但其中记载的 技术方案的实现却不限于云计算环境,而是能够结合现在已知或以后开发的 任何其它类型的计算环境(例如,任何客户服务器模型)而实现。

云计算是一种服务交付模式,用于对共享的可配置计算资源池进行方便、 按需的网络访问。可配置计算资源是能够以最小的管理成本或与服务提供者 进行最少的交互就能快速部署和释放的资源,例如可以是网络、网络带宽、 服务器、处理、内存、存储、应用、虚拟机和服务。这种云模式可以包括至 少五个特征、至少三个服务模型和至少四个部署模型。

特征如下:

按需自助式服务:云的消费者在无需与服务提供者进行人为交互的情况 下能够单方面自动地按需部署诸如服务器时间和网络存储等的计算能力。

广泛的网络接入:计算能力可以通过标准机制在网络上获取,这种标准 机制促进了通过不同种类的瘦客户机平台或厚客户机平台(例如移动电话、 膝上型电脑、个人数字助理PDA)对云的使用。

资源池:提供者的计算资源被归入资源池并通过多租户(multi-tenant) 模式服务于多重消费者,其中按需将不同的实体资源和虚拟资源动态地分配 和再分配。一般情况下,消费者不能控制或甚至并不知晓所提供的资源的确 切位置,但可以在较高抽象程度上指定位置(例如国家、州或数据中心),因 此具有位置无关性。

迅速弹性:能够迅速、有弹性地(有时是自动地)部署计算能力,以实 现快速扩展,并且能迅速释放来快速缩小。在消费者看来,用于部署的可用 计算能力往往显得是无限的,并能在任意时候都能获取任意数量的计算能力。

可测量的服务:云系统通过利用适于服务类型(例如存储、处理、带宽 和活跃用户帐号)的某种抽象程度的计量能力,自动地控制和优化资源效用。 可以监测、控制和报告资源使用情况,为服务提供者和消费者双方提供透明 度。

服务模型如下:

软件即服务(SaaS):向消费者提供的能力是使用提供者在云基础架构上运 行的应用。可以通过诸如网络浏览器的瘦客户机接口(例如基于网络的电子 邮件)从各种客户机设备访问应用。除了有限的特定于用户的应用配置设置 外,消费者既不管理也不控制包括网络、服务器、操作系统、存储、乃至单 个应用能力等的底层云基础架构。

平台即服务(PaaS):向消费者提供的能力是在云基础架构上部署消费者创 建或获得的应用,这些应用利用提供者支持的程序设计语言和工具创建。消 费者既不管理也不控制包括网络、服务器、操作系统或存储的底层云基础架 构,但对其部署的应用具有控制权,对应用托管环境配置可能也具有控制权。

基础架构即服务(IaaS):向消费者提供的能力是消费者能够在其中部署 并运行包括操作系统和应用的任意软件的处理、存储、网络和其他基础计算 资源。消费者既不管理也不控制底层的云基础架构,但是对操作系统、存储 和其部署的应用具有控制权,对选择的网络组件(例如主机防火墙)可能具 有有限的控制权。

部署模型如下:

私有云:云基础架构单独为某个组织运行。云基础架构可以由该组织或 第三方管理并且可以存在于该组织内部或外部。

共同体云:云基础架构被若干组织共享并支持有共同利害关系(例如任 务使命、安全要求、政策和合规考虑)的特定共同体。共同体云可以由共同 体内的多个组织或第三方管理并且可以存在于该共同体内部或外部。

公共云:云基础架构向公众或大型产业群提供并由出售云服务的组织拥 有。

混合云:云基础架构由两个或更多部署模型的云(私有云、共同体云或 公共云)组成,这些云依然是独特的实体,但是通过使数据和应用能够移植 的标准化技术或私有技术(例如用于云之间的负载平衡的云突发流量分担技 术)绑定在一起。

云计算环境是面向服务的,特点集中在无状态性、低耦合性、模块性和 语意的互操作性。云计算的核心是包含互连节点网络的基础架构。

现在参考图1,其中显示了云计算节点的一个例子。图1显示的云计算 节点10仅仅是适合的云计算节点的一个示例,不应对本发明实施例的功能和 使用范围带来任何限制。总之,云计算节点10能够被用来实现和/或执行以 上所述的任何功能。

云计算节点10具有计算机系统/服务器12,其可与众多其它通用或专用 计算系统环境或配置一起操作。众所周知,适于与计算机系统/服务器12一 起操作的计算系统、环境和/或配置的例子包括但不限于:个人计算机系统、 服务器计算机系统、瘦客户机、厚客户机、手持或膝上设备、基于微处理器 的系统、机顶盒、可编程消费电子产品、网络个人电脑、小型计算机系统﹑ 大型计算机系统和包括上述任意系统的分布式云计算技术环境,等等。

计算机系统/服务器12可以在由计算机系统执行的计算机系统可执行指 令(诸如程序模块)的一般语境下描述。通常,程序模块可以包括执行特定 的任务或者实现特定的抽象数据类型的例程、程序、目标程序、组件、逻辑、 数据结构等。计算机系统/服务器12可以在通过通信网络链接的远程处理设 备执行任务的分布式云计算环境中实施。在分布式云计算环境中,程序模块 可以位于包括存储设备的本地或远程计算系统存储介质上。

如图1所示,云计算节点10中的计算机系统/服务器12以通用计算设备 的形式表现。计算机系统/服务器12的组件可以包括但不限于:一个或者多 个处理器或者处理单元16,系统存储器28,连接不同系统组件(包括系统存 储器28和处理单元16)的总线18。

总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器 控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意 总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系 结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频 电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。

计算机系统/服务器12典型地包括多种计算机系统可读介质。这些介质 可以是能够被计算机系统/服务器12访问的任意可获得的介质,包括易失性 和非易失性介质,可移动的和不可移动的介质。

系统存储器28可以包括易失性存储器形式的计算机系统可读介质,例如 随机存取存储器(RAM)30和/或高速缓存存储器32。计算机系统/服务器12 可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介 质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(图 1未显示,通常称为“硬盘驱动器”)。尽管图1中未示出,可以提供用于对可 移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失 性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。 在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相 连。存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少 一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。

具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在存 储器28中,这样的程序模块42包括但不限于操作系统、一个或者多个应用 程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能 包括网络环境的实现。程序模块42通常执行本发明所描述的实施例中的功能 和/或方法。

计算机系统/服务器12也可以与一个或多个外部设备14(例如键盘、指 向设备、显示器24等)通信,还可与一个或者多个使得用户能与该计算机系 统/服务器12交互的设备通信,和/或与使得该计算机系统/服务器12能与一 个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等) 通信。这种通信可以通过输入/输出(I/O)接口22进行。并且,计算机系统/ 服务器12还可以通过网络适配器20与一个或者多个网络(例如局域网 (LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示, 网络适配器20通过总线18与计算机系统/服务器12的其它模块通信。应当 明白,尽管图中未示出,其它硬件和/或软件模块可以与计算机系统/服务器 12一起操作,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁 盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。

现在参考图2,其中显示了示例性的云计算环境50。如图所示,云计算 环境50包括云计算消费者使用的本地计算设备可以与其相通信的一个或者 多个云计算节点10,本地计算设备例如可以是个人数字助理(PDA)或移动 电话54A,台式电脑54B、笔记本电脑54C和/或汽车计算机系统54N。云计 算节点10之间可以相互通信。可以在包括但不限于如上所述的私有云、共同 体云、公共云或混合云或者它们的组合的一个或者多个网络中将云计算节点 10进行物理或虚拟分组(图中未显示)。这样,云的消费者无需在本地计算 设备上维护资源就能请求云计算环境50提供的基础架构即服务(IaaS)、平 台即服务(PaaS)和/或软件即服务(SaaS)。应当理解,图2显示的各类计 算设备54A-N仅仅是示意性的,云计算节点10以及云计算环境50可以与任 意类型网络上和/或网络可寻址连接的任意类型的计算设备(例如使用网络浏 览器)通信。

现在参考图3,其中显示了云计算环境50(图2)提供的一组功能抽象 层。首先应当理解,图3所示的组件、层以及功能都仅仅是示意性的,本发 明的实施例不限于此。如图3所示,提供下列层和对应功能:

硬件和软件层60包括硬件和软件组件。硬件组件的例子包括:主机,例 如系统;基于RISC(精简指令集计算机)体系结构的服务器, 例如系统;系统;系统;存储 设备;网络和网络组件。软件组件的例子包括:网络应用服务器软件,例如 应用服务器软件;数据库软件,例如数据库软 件。(IBM,zSeries,pSeries,xSeries,BladeCenter,WebSphere以及DB2是国际 商业机器公司在全世界各地的注册商标)。

虚拟层62提供一个抽象层,该层可以提供下列虚拟实体的例子:虚拟服 务器、虚拟存储、虚拟网络(包括虚拟私有网络)、虚拟应用和操作系统,以 及虚拟客户端。

在一个示例中,管理层64可以提供下述功能:资源供应功能:提供用于 在云计算环境中执行任务的计算资源和其它资源的动态获取;计量和定价功 能:在云计算环境内对资源的使用进行成本跟踪,并为此提供账单和发票。 在一个例子中,该资源可以包括应用软件许可。安全功能(未显示):为云的 消费者和任务提供身份认证,为数据和其它资源提供保护。用户门户功能: 为消费者和系统管理员提供对云计算环境的访问。服务水平管理功能:提供 云计算资源的分配和管理,以满足必需的服务水平。服务水平协议(SLA) 计划和履行功能:为根据SLA预测的对云计算资源未来需求提供预先安排和 供应。

工作负载层66提供云计算环境可能实现的功能的示例。在该层中,可提 供的工作负载或功能的示例包括:地图绘制与导航;软件开发及生命周期管 理;虚拟教室的教学提供;数据分析处理;交易处理;以及移动装置(例如, 54A、54C、以及54N、以及云计算环境50中的移动节点10)的移动桌面访 问云计算服务。

在一个实施例中,硬件和软件层60和虚拟层62中的一个或两者可包括 边缘组件,如web服务器前端和图像高速缓存、以及图像库存储器,例如, 在高性能RAID存储域网络(SAN)中。在示例性实施例中,虚拟层62中的 诸如虚拟机监视应用70的应用可实现用于迁移一个或多个虚拟机的处理或 方法;然而,将理解,应用70可在任意层中实现。在一些实施例中,应用 70可缓冲意图用于迁移的虚拟机的分组,并可在一旦完成了迁移时便递交缓 冲的分组。

现在,转到图4,示出了根据实施例的计算系统或环境400。系统400可 表示集群(cluster)或工作组。

系统400包括三个设备,即设备1402、设备2404、以及设备3406。设 备402、404、406可被配置用来彼此通信。例如,设备402、404、406可被 配置用来在有线或无线连接上彼此通信。尽管将系统400显示为包括三个设 备,但在一些实施例中,可包括多于或少于三个设备。在一些实施例中,设 备402、404、406中的一个或多个可包括、或与上面结合图1描述的一个或 多个实体相关联。

设备402、404、406中的一个或多个可包括一个或多个组件。例如,设 备402在图4中被示出为包括处理器408和存储器410。存储器410可被配 置用来存储数据或信息。存储器410上可存储指令,当由处理器408执行所 述指令时,使设备402执行一个或多个方法动作,如这里描述的那些。在一 些实施例中,设备402可包括多于一个处理器408。设备402可包括图4中 未示出的附加组件。例如,设备402可包括收发器,以帮助与设备404和406 的通信。

图4中将设备402示出为经由链路412耦接到设备404。图4中将设备 404示出为经由链路414耦接(couple)到设备406。设备406被示出为经由 链路416耦接到设备402。在一些实施例中,所述链路中的一个或多个可为 可选的。例如,如果省略链路416,则设备402和406可能不能彼此通信, 或可经由用作设备402和406之间的通信中介或路由器的设备404而彼此通 信。

链路412、414和416中的一个或多个可对应于用于分组(例如,UDP 分组)的传送路径。链路412、414和416可被用来从第一设备到第二设备共 享或传输信息或数据。这样的传输可响应于或基于机器迁移(例如,虚拟机 迁移)而发生。

在一些实施例中,设备或机器402、404和406中的一个或多个可包括管 理程序。例如,如图4所示,设备404包括管理程序418,设备406包括管 理程序420。

假定诸如与虚拟机(VM)或访客422相关联的数据和/或处理状态的迁 移的迁移从设备404到设备406,管理程序418可接收指示VM422即将迁移 的信号。管理程序418可选择执行可被视为“在线”的任意迁移,在“在线” 中,VM422保持对外部世界的响应。

在管理程序418或VM422确定VM422必须进入迁移的离线阶段(其 中,迁移的离线阶段可对应于VM422不执行计算和/或转移诸如CPU状态或 存储器状态的执行状态)时,管理程序418可缓冲意图用于VM422的进入 分组(例如,UDP分组)。在一些实施例中,管理程序418可在进入离线阶 段之前,将带内或带外信号发送到迁移中的VM422,以停止分组(例如, UDP分组)的处理。

在一些实施例中,可提供分组的排序。例如,如果代表迁移的VM422 缓冲了分组,则可以这样的顺序对分组排序,使得当VM422在迁移之后恢 复操作或返回在线时,分组被依次呈献给VM422。这样,可通过最小化或消 除VM422需要承担的分组重新排序的工作量,来增加效率。

当已完成迁移时,管理程序418可将意图用于VM422的经缓冲的分组 重传送到管理程序420,用于递交。可替换地,当VM422从设备404迁移到 设备406正在发生,可将所述分组提供到管理程序420。

可在远程机器(例如,设备406)上重新激活VM422,由此,VM422 可恢复执行,并且,可将被缓冲的分组(如果有)提供到VM422用于处理。 如果VM422在进入离线阶段之前已被指示不处理分组,则管理程序418可 向管理程序420和/或VM422发信号或指示(带内或带外),以对这样的分组 正常操作,潜在地,在已对所述分组重新排序之后。

在一些实施例中,可将分组缓冲在VM/访客(例如VM/访客422)或管 理程序(例如,管理程序418)的内核或用户空间存储器中。

现在,转到图5,示出了示例方法500的流程图。可结合诸如在这里描 述的一个或多个系统、设备或组件来执行方法500。在一些实施例中,可结 合图3的应用70来执行方法500。可执行方法500,以便将VM或访客从第 一位置(例如,第一设备或机器)迁移到第二位置(例如,第二设备或机器)。

在块502,可接收迁移指示。例如,可由与第一位置相关联的管理程序 接收迁移指示。可为了任何数目的原因而接收迁移指示。例如,可确定第二 位置提供更可靠或较不昂贵的计算资源,为了负载平衡的目的而,等等。

在块504,可选地基于块502的指示,与第一位置相关联的管理程序可 执行被视为在线的任意迁移,其中,VM保持对外部世界或一个或多个输入 的响应。

在块506,与第一位置相关联的管理程序可将VM置于离线状态。作为 块506的一部分,与第一位置相关联的管理程序可缓冲意图用于VM的进入 分组。作为块506的一部分,与第一位置相关联的管理程序可指示VM停止 处理分组。作为块506的一部分,可发生VM的迁移。

在块508,与第一位置相关联的管理程序可转发或传送可能已经作为块 506的一部分而缓冲的任意分组。与第一位置相关联的管理程序可以:(1)将 分组转发给第二位置的VM;或(2)将分组转发给与第二位置相关联的管理程 序,用于转发到VM。

在块510,一旦完成了迁移,便可在第二位置重新激活VM。作为块510 的一部分,与第一位置相关联的管理程序可指示与第二位置相关联的管理程 序或VM来处理可能已为块506的“停止”的对象的任意分组。

方法500是说明性的。在一些实施例中,所述块中的一个或多个(或其 一部分)可以是可选的。在一些实施例中,所述块可以与图5中示出的次序 不同的次序或顺序执行。在一些实施例中,可包括未示出的一个或多个附加 块。

技术效果和优点包括:在虚拟平台上运行时,增大或增强一个或多个计 算设备(诸如基于UDP的服务器)的弹性(resiliency)。这样的服务器可与 例如网络时间协议(NTP)、动态主机配置协议(DHCP)、基于因特网协议的 语音(VoIP)等结合操作。

本公开的方面可结合高性能网络、或在性能超过用于数据分组的严格排 序的需要的环境中实现。可在服务器经受大量负载(例如,大量客户端计算 机和/或大量数据)或服务器频繁迁移的环境中,采用或实现本公开的方面。 例如,在负载平衡或其它迁移操作期间,这样的迁移可在云数据中心中发生, 这可通过将计算活动移动到计算不昂贵的位置而减小成本。

可结合例如销售点(POS)系统、记账系统、数据库系统、电话和VoIP 系统等,来实现本公开的方面。

这里使用的术语仅用于描述特定实施例的目的,且不意欲限制本发明。 如在这里使用的,单数形式的“一(a)”、“一个(an)”以及“该(the)”旨 在也包括复数形式,除非上下文明确指定不是如此。还应该理解,在本说 明书中使用术语“包括”和/或“包含”,说明阐述的特征、整体、步骤、操作、 元件和/或组件的出现,但不排除一个或多个其他特征、整体、步骤、操作、 元件、组件和/或这些构成的组出现或增加。

权利要求中的所有手段或步骤加上功能元素的对应的结构、材料、动作 和等价物意欲包括与特别主张的其它主张的元素组合而执行功能的任何结 构、材料、或动作。此说明书中公开的实施例的描述已被呈现用于说明和描 述的目的,而不意欲是穷举、或限制公开的形式。在不偏离所描述的实施例 的范围和精神的情况下,对于本领域的技术人员而言,许多修改和变化都将 是显而易见的。选择和描述实施例是为了最佳地解释本发明的原理、实际应 用、或者使本领域的其他技术人员能够对于具有适于所想到的特定使用的各 种修改的各种实施例理解本发明。

此外,所属技术领域的技术人员知道,本发明的各个方面可以实现为系 统、方法或计算机程序产品。因此,本发明的各个方面可以具体实现为以下 形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、驻留软 件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、 “模块”或“系统”。此外,本发明的各个方面还可以实现为在一个或多个计算 机可读介质中的计算机程序产品的形式,该计算机可读介质中包含计算机可 读的程序代码。

可以采用一个或多个计算机可读介质的任意组合。计算机可读介质可以 是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如 可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装 置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非 穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机盘、硬盘、 随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器 (EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、 磁存储器件、或者上述的任意合适的组合。在本文件的上下文中,计算机可 读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行 系统、装置或者器件使用或者与其结合使用。

计算机可读的信号介质可以包括例如在基带中或者作为载波一部分传播 的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以 采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适 的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计 算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行 系统、装置或者器件使用或者与其结合使用的程序。

计算机可读介质上包含的程序代码可以用任何适当的介质传输,包 括——但不限于——无线、有线、光缆、RF等等,或者上述的任意合适的组 合。

可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作 的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如 Java、Smalltalk、C++等,还包括常规的过程式程序设计语言—诸如“C”语言 或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地 在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部 分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远 程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网 (LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例 如利用因特网服务提供商来通过因特网连接)。

上面参照根据本发明实施例的方法、装置(系统)和计算机程序产品的 流程图和/或框图描述本发明的方面。应当理解,流程图和/或框图的每个方框 以及流程图和/或框图中各方框的组合,都可以由计算机程序指令实现。这些 计算机程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理 装置的处理器,从而生产出一种机器,使得这些计算机程序指令在通过计算 机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图 中的一个或多个方框中规定的功能/动作的装置。

也可以把这些计算机程序指令存储在计算机可读介质中,这些指令使得 计算机、其它可编程数据处理装置、或其他设备以特定方式工作,从而,存 储在计算机可读介质中的指令就产生出包括实现流程图和/或框图中的一个 或多个方框中规定的功能/动作的指令的制造品(article of manufacture)。

还可将这些计算机程序指令加载到计算机、其它可编程数据处理装置或 其它设备,以在计算机、其它可编程数据处理装置或其它设备上执行一系列 操作步骤,以产生计算机实现的处理,使得在计算机、或其它可编程数据处 理装置上执行的指令提供用于在流程图和/或框图框中的指明的功能/动作的 处理。

附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和 计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或 框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、 程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指 令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以 不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并 行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也 要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框 的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或 者可以用专用硬件与计算机指令的组合来实现。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号