CN103927216A - 用于管理虚拟装置的方法和系统 - Google Patents
用于管理虚拟装置的方法和系统 Download PDFInfo
- Publication number
- CN103927216A CN103927216A CN201410017292.XA CN201410017292A CN103927216A CN 103927216 A CN103927216 A CN 103927216A CN 201410017292 A CN201410017292 A CN 201410017292A CN 103927216 A CN103927216 A CN 103927216A
- Authority
- CN
- China
- Prior art keywords
- virtual
- bench
- virtual bench
- packet
- benchs
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/64—Hybrid switching systems
- H04L12/6418—Hybrid transport
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/02—Standardisation; Integration
- H04L41/022—Multivendor or multi-standard integration
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明提供用于管理虚拟装置的方法、系统以及虚拟机和网络服务器。可以通过用公共可执行软件服务互连多个虚拟装置来提供对虚拟资源的管理。如果在相应虚拟装置内存储的规则对应于数据分组中的对于服务的请求,则可以通过多个虚拟装置发送数据分组,这些虚拟装置调用每个虚拟装置内的服务。可以在向管理程序返回之前通过多个虚拟装置传递数据分组。
Description
技术领域
本发明涉及网络资源管理,并且更具体地涉及虚拟装置链接和管理。
背景技术
虚拟装置是一种可以用来在虚拟化服务器环境中部署软件服务的机制。每个软件服务通常与操作系统捆绑以构造称为虚拟装置的软件包。通常可以将单个软件服务捆绑到虚拟装置中用于部署。
在常规部署方案中,管理程序可以管理多个虚拟机。管理程序可以向每个虚拟机发送与服务有关的分组。通常,管理程序向虚拟机一次发送单个虚拟装置以用于执行在装置中捆绑的服务。一旦执行与服务有关的动作,带有对服务的上下文的修改的分组答复被返回给管理程序,并且发送和答复的过程针对虚拟机需要的每个服务而继续。
在具有多个虚拟机的服务器中,分组延时可能由于多个分组交换和在分组内的服务上下文的改变而积累。在需要多个服务的虚拟机中,对不同服务的管理可能需要来自单独控制台的单独控制。此外,每个虚拟装置可以使用它自己的资源集。例如虚拟装置可以引发单独的日志文件、输出和结果文件、配置文件、基础结构库以及操作系统抽象调用。这可能造成环境内的资源需求增加。此外,在异构虚拟装置中,管理员可能需要调试装置之间的各种不兼容服务指令。
发明内容
根据本发明的一个实施例,一种用于管理虚拟装置的计算机程序产品,包括计算机可读存储介质,计算机可读存储介质具有利用其具体化的计算机可读程序代码。计算机可读程序代码被配置用于:互连多个虚拟装置;提供能够在虚拟装置中的每个虚拟装置内执行的多个软件服务;为每个虚拟装置提供与多个软件服务对应的规则模块;以及为经过多个虚拟装置传递的数据分组确定接收该数据分组的第一虚拟装置应当根据规则模块执行该一个或者多个软件服务还是将数据分组传递到第二虚拟装置。
根据本发明的另一实施例,一种虚拟机,包括多个互连的虚拟装置。虚拟机可以包括配置为能够在虚拟装置中的每个虚拟装置内执行的多个软件服务。虚拟机也可以包括计算机可读存储介质,计算机可读存储介质具有利用其具体化的计算机可读程序代码,计算机可读程序代码被配置用于:分析由虚拟装置中的第一虚拟装置接收的数据分组,以及确定多个软件服务中的一个或者多个软件服务应当在第一虚拟装置内被执行还是将接收的数据分组传递到下一虚拟装置。
根据本发明的另一实施例,一种网络服务器,包括多个互连的虚拟装置。每个虚拟装置可以包括能够在相应虚拟装置内执行的软件服务的捆绑集合。网络服务器也可以包括配置用于向多个互连的虚拟装置提供数据分组的管理程序。数据分组可以包括规则集,规则集控制相应虚拟装置是否执行软件服务中的一个或者多个软件服务或者相应虚拟装置是否将一个或者多个软件服务的执行旁路(bypass)到在多个互连的虚拟装置内的下一虚拟装置。
附图说明
图1描绘根据本发明的一个实施例的云计算节点。
图2描绘根据本发明的另一实施例的云计算环境。
图3描绘根据本发明的又一实施例的抽象模型层。
图4是根据本发明的另一实施例的虚拟服务器的框图。
图5是根据本发明的另一实施例的虚拟机的框图,该虚拟机采用虚拟装置的链接。
图6是根据本发明的另一实施例的图5的虚拟机中运用的规则表。
图7是根据本发明的另一实施例的图5的虚拟机内的处理服务的方法的流程图。
具体实施方式
所属技术领域的技术人员知道,本发明的各个方面可以实现为系统、方法或计算机程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、驻留软件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。此外,在一些实施例中,本发明的各个方面还可以实现为在一个或多个计算机可读介质中的计算机程序产品的形式,该计算机可读介质中包含计算机可读的程序代码。
可以采用一个或多个计算机可读介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的示例(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
下面将参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述本发明。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机程序指令实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些计算机程序指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。
也可以把这些计算机程序指令存储在计算机可读介质中,这些指令使得计算机、其它可编程数据处理装置、或其他设备以特定方式工作,从而,存储在计算机可读介质中的指令就产生出包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的指令的制造品(article of manufacture)。
也可以把计算机程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机或其它可编程装置上执行的指令提供实现流程图和/或框图中的一个或多个方框中规定的功能/动作的过程。
首先应当明白,尽管本公开包括关于云计算的详细描述,此处记载的教导的实现却不限于云计算环境。而是,本发明的实施例能够结合现在已知的或以后开发的任何其它类型的计算环境而实现。
云计算是一种服务交付模型,用于对共享的可配置计算资源池进行方便、按需的网络访问。可配置计算资源例如是网络、网络带宽、服务器、处理、内存、存储、应用、虚拟机和服务,是以最小的管理成本或者最少的与服务提供者的交互就能快速提供和释放的资源。这种云模型可以包括至少五个特征,至少三个服务模型和至少四个部署模型。
特征可以包括:
按需自助式服务:云消费者能单方面自动地按需提供计算能力,诸如服务器时间和网络存储,而无需与服务提供者进行人工交互。
广泛的网络接入:云计算能力可在网络上获取,并且是通过标准机制获取的,标准机制促进通过不同种类瘦客户机平台或厚客户机平台(例如移动电话、膝上型电脑、个人数字助理PDA)对云的使用。
资源池:将提供者的计算资源归入资源池,通过多租户(munti-tenant)模式服务于多重消费者,不同的实体资源和虚拟资源按照需要被动态地分配和再分配。因为消费者一般不控制甚至不知道所提供的资源的确切位置,但是可能在较高的抽象程度上指定位置(例如国家、州或数据中心),所以有一种位置独立感。
迅速的弹性:能迅速和有弹性地(有时是自动地)提供计算资源,以实现快速地扩展并且能快速地释放。对于消费者来说,可用的计算资源常常显得是无限的,在任何时候都能获取任何数量的计算资源。
可测量的服务:云系统通过利用适于服务(例如存储、处理、带宽和活动用户帐号)类型的某种抽象程度的计量能力,自动地控制和优化资源效用。可以监测、控制和报告资源使用情况,为服务提供者和消费者双方提供透明度。
服务模型如下:
软件即服务(SaaS):给予消费者使用提供者在云基础架构上运行的应用的能力。应用是可通过诸如网络浏览器的瘦客户机接口从各种客户机设备访问的(例如基于网络的电子邮件)。
可能除了是有限的特定于用户的应用配置设置外,消费者既不管理也不控制底层的云基础架构,包括网络、服务器、操作系统、存储、乃至单个应用能力。
平台即服务(PaaS):向消费者提供的能力是在云基础架构上部署消费者创建的或获得的应用,这些应用是用提供者所支持的程序设计语言和工具创建的。消费者不管理或控制底层的云基础架构,包括网络、服务器、操作系统或存储,但是对所部署的应用具有控制权,对托管环境配置的应用也可能有控制权。
基础架构即服务(IaaS):给予消费者提供处理、存储、网络和消费者能在其中部署和运行任意软件的基础计算资源的能力,其中软件可包括操作系统和应用程序。
消费者既不管理也不控制底层的云基础架构,但是对操作系统、存储和所部署的应用具有控制权,对选择的网络部件(例如主机防火墙)也可能拥有有限的控制权。
部署模型如下:
私有云:云基础架构是单独为某个组织运行的。云基础架构可以由该组织管理,也可以由第三方管理,可以存在于组织内,也可以存在于组织外。
共同体云:云基础架构被若干个组织共享,支持有共同利害关系(例如使命、安全要求、政策和合规考虑)的特定共同体。共同体云可以由共同体内的多个组织或第三方管理,可以存在于组织内,也可以存在于组织外。
公共云:云基础架构向公众或大型产业群提供,并由出售云服务的组织拥有。
混合云:云基础架构是两个或更多的云(私有云、共同体云或公共云)的合成,这些云依然是独特的实体,但是通过使数据和应用能够移植的标准化技术或私有技术(例如用于云之间的负载平衡的云突发流量分担技术)绑定在一起。
云计算环境是面向服务的,特点集中在无状态性、低耦合性、模块性和语意的互操作性。云计算的核心是包含互连节点网络的基础结构。
现在参考图1,图中显示了一个云计算节点10的例子。云计算节点10仅仅是合适的云计算节点的一个示例,而并不意味着对本发明的实施例的功能和使用的范围的任何限制。总之,云计算节点10能够被实现和/或执行以上所述的任何功能。
在云计算节点10中有一个计算机系统/服务器12,其可与众多其它通用或专用计算系统环境或配置一起操作。适于与计算机系统/服务器12一起使用的众所周知的计算系统、环境和/或配置的例子包括但不限于:个人计算机系统、服务器计算机系统、瘦客户机、厚客户机、手持或膝上设备、多处理器系统、基于微处理器的系统、机顶盒、可编程消费电子产品、网络个人电脑、小型计算机系统﹑大型计算机系统和包括上述任何系统或设备的分布式云计算环境,等等。
计算机系统/服务器12可以在由计算机系统执行的计算机系统可执行指令(诸如程序模块)的一般语境下描述。通常,程序模块可以包括例程、程序、目标程序、组件、逻辑、数据结构等等,它们执行特定的任务或者实现特定的抽象数据类型。计算机系统/服务器12可以在分布式云计算环境中实施,分布式云计算环境中,任务是由通过通信网络链接的远程处理设备执行的。在分布式云计算环境中,程序模块可以位于包括存储设备的本地或远程计算系统存储介质上。
如图1所示,云计算节点10中的计算机系统/服务器12是以通用计算设备的形式表现的。计算机系统/服务器12的部件可以包括但不限于:一个或者多个处理器或者处理单元16,系统存储器28,连接不同系统部件(包括系统存储器28和处理单元16)的总线18。
总线18表示几种类型的总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任何总线结构的局域总线。举例(但不限于这些示例)来说,这些体系结构包括工业标准体系结构(ISA)总线,微通道体系结构(MCA)总线,增强型ISA(EISA)总线、视频电子标准协会(VESA)局域总线以及外围部件互连(PCI)总线。
计算机系统/服务器12典型地可以包括多种计算机系统可读介质。这些介质可以选自可被计算机系统/服务器12访问的任何可获得的介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
系统存储器28可以包括易失性存储器形式的一个或多个计算机系统可读介质,例如随机存取存储器(RAM)30和/或高速缓存存储器32。计算机系统/服务器12可以进一步包括其它可以移动的/不可移动的,易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34可以被提供用于读出和写入不可移动的、非易失性磁介质(未示出,通常称为“硬盘驱动器”)。尽管图中未示出,可以提供用于对可移动的非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动的非易失性光盘——诸如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提供云消费者无需在本地计算设备上维护资源就能请求的基础架构即服务、平台即服务和/或软件即服务。应当明白,图2示出的各类计算设备54A-N仅仅是示意性的,计算节点10以及云计算环境50可以与任何类型的网络上的和/或网络可寻址的连接上的任何类型的计算设备(例如使用网络浏览器)通信。
现在参考图3,该图示出了云计算环境50(图2)提供的一组功能抽象层。首先应当明白,图3所示的部件、层以及功能都仅仅是示意性的,本发明的实施例不限于此。如图所示,提供了下列层和对应功能:
硬件和软件层60可以包括硬件和软件部件。硬件部件的例子包括:主机——例如系统;基于RISC(精简指令集计算机)体系结构的服务器——例如IBM系统;IBM系统;IBM系统;存储设备;网络和网络部件。软件部件的例子包括:网络应用服务器软件——例如IBM应用服务器软件;数据库软件——例如IBM数据库软件。(IBM,zSeries,pSeries,xSeries,BladeCenter,WebSphere以及DB2是国际商业机器公司在全世界各地注册的商标)。
虚拟层62提供一个抽象层,该层可以提供下列虚拟实体的例子:虚拟服务器、虚拟存储、虚拟网络(包括虚拟私有网络)、虚拟应用和操作系统,以及虚拟客户端。
在一个示例中,管理层64可以提供下述功能:资源供应功能提供用于在云计算环境中执行任务的计算资源和其它资源的动态获取;计量和定价功能在云计算环境内资源被使用时进行成本跟踪,并为这些资源的消费提供帐单和发票。在一个例子中,这些资源可以包括应用软件许可。安全功能为云消费者和任务提供身份认证,为数据和其它资源提供保护。用户门户为消费者和系统管理员提供对云计算环境的访问。服务水平管理功能提供云计算资源的分配和管理,以满足必需的服务水平。服务水平协议(SLA)计划和履行功能为根据SLA的预测了未来需求的云计算资源提供预先安排和供应。
工作负载层66提供了云计算环境可能实现的功能的示例。在该层中,可提供的工作负载或功能的示例包括:地图绘制与导航;软件开发及生命周期管理;虚拟教室的教育递送;数据分析处理;交易处理;以及管理虚拟机。
现在参照图4,示出根据本发明的一个示例实施例的网络服务器100。服务器100可以包括在前述服务器12中描述的单元中的任何单元,但是为了示例,未重复这些单元。服务器100可以包括管理程序110以及一个或者多个虚拟机1201-120n和125。虚拟机125可以包括互连的虚拟装置135的集合。将理解,在一些实施例中,虚拟机1201-120n可以包括互连的虚拟装置135的集合,然而为了示例,将在虚拟机125的背景中描述本发明的实施例。管理程序110可以被配置用于向互连的虚拟装置135的集合提供数据分组(箭头代表)。以下进一步具体描述分组流、分组处理和互连的虚拟装置135的集合的细节。
现在参照图5,根据本发明的一个示例实施例更具体示出虚拟机125。一般而言,虚拟机125可以包括多个虚拟机(1350-虚拟机1354)、规则模块137、软件服务145的集合和操作系统抽象库。尽管个别地示出为虚拟装置1350-虚拟装置1354,但是装置可以共同并且一般称为虚拟装置135。在本发明的实施例中,虚拟装置135可以串联链接在一起用于依次处理数据分组150。例如数据分组150可以发送到虚拟机125、由虚拟装置1350接收、处理、然后传递到虚拟装置1351并且以此类推经过虚拟机125中的每个虚拟装置135直至数据分组150从虚拟装置1354传出和从虚拟机125传出。因此,数据分组150可以直至数据分组150传递穿过多个虚拟装置135才返回到管理程序110(图4)。
在示例实施例中,数据分组150可以被构造用于包括一个或者多个规则。规则可以提供由虚拟装置135中的每个虚拟装置解释的指令。规则可以对于接收数据分组150的每个虚拟装置135指示是否应当执行一个或者多个动作。确定数据分组150中的规则是否适用于给定的虚拟装置135可以依赖于在规则模块137中存在的规则。在一些情况下,在规则模块137确定数据分组150包括可执行请求时,可以处理并且向下一虚拟装置135传递数据分组150(箭头140代表的动作)。在规则模块确定数据分组150不包括可执行请求的情况下,数据分组150可以被旁路到下一虚拟装置135(箭头145代表的动作)。
虚拟装置135可以包括捆绑的软件服务145的集合。软件服务145可以是可执行以在虚拟装置135上使用。软件服务145的集合可以是多个虚拟装置135之中公共的。确定是否执行软件服务145集合内的特定软件服务可以由在数据分组150中存在的指令并且根据规则模块137来确定。在一些实施例中,不是在每个虚拟装置135内都需要每个软件服务145。如以上描述的那样,如果数据分组150请求执行不适用于虚拟装置135之一的软件服务,则该装置可以将数据分组150传递到下一虚拟装置135。然而运用软件服务145的公共集合可以在每个虚拟装置135的设置配置中提供更大灵活性和简易性。也可以在每个虚拟装置135内包括公共操作系统抽象库155。因此,可以有助于设置每个虚拟装置135,并且可以避免在虚拟装置135之间的兼容问题。
可以配置虚拟装置135使得装置操作的帧缓冲器具有相同格式并且所有虚拟装置135可以符合该格式以用于处理。另外,可以在零复制缓冲器中存储帧缓冲器,在这些帧缓冲器中可以存储数据分组150以供处理。缓冲器无需从一个地方复制到另一地方仅为了改变过程上下文。缓冲器可以在内核上下文中存储于全局缓冲存储器中。存储器可以在用户空间中映射以供所有虚拟装置135工作。因此,帧(数据分组150)处理可以更快而无与在虚拟装置135之间复制帧相关联的开销。
参照图5和图6,关于规则模块137更具体描述虚拟机125。规则模块137可以包括规则表200。规则可以是流和关联动作的集合。流可以是来自网络数据分组150报头的元组集合。流可以由以下各项中的一项或者多项标识:目的地MAC地址;源MAC地址;以太类型;s标签;c标签;源IP地址;目的地IP地址;协议类型;源端口;目的地端口;IP选项等。如果流匹配用于旁路处理的动作并且指向下一虚拟装置135,则处理虚拟装置135可以使帧指针在用于下一虚拟装置135的队列中排队。
表200可以包括用于调用与在数据分组150中存在的规则有关的动作的引用类别,这些引用类别标识:规则标识号210、规则220、动作230、下一虚拟装置标识240、虚拟机标识250和虚拟机MAC地址260。虚拟装置135可以具有不同的表200,该表具有用于每个装置的不同规则。规则标识号210可以将可以附着到数据分组150的每个规则与标识号相关联。为了示例,仅示出两个规则,然而将理解可以在表200内包括不止两个规则。
规则类别220可以列举可以附着到数据分组150的各种规则。动作类别230可以列举在虚拟机135接收到数据分组150时将采取的与在数据分组150中包括的规则关联的动作。例如可以在这一虚拟装置135内服务于标示为规则ID“1”的规则,因此指示例如执行与规则关联的软件服务145。例如标示为规则ID“2”的规则可以包括指示规则的执行应当被旁路到下一虚拟装置135的动作。
在确定服务于或者旁路规则之后,表200可以根据下一虚拟装置标识240类别来指示哪个虚拟装置135应当接着接收数据分组150。在一些实施例中,例如链接的虚拟装置135,下一虚拟装置标识240类别可以在整个表200内是相同的。在一些实施例中,下一虚拟装置标识240类别可以根据服务于规则还是旁路规则而在不同规则之中不同。
可以根据在每个虚拟装置135中的规则表200来处理装置链接。在链中插入新虚拟装置135时,可能仅有必要改变在前虚拟装置135中的规则表。添加的新虚拟装置135应当具有规则表200,该规则表通知数据分组150在链中的下一虚拟装置135停止。
在本发明的一些实施例中,计算型虚拟机125可以从一个物理服务器(未示出)移向另一物理服务器。在一些实施例中,每个规则可以关联到一个或者多个虚拟机125。这可以通过将虚拟机标识250和虚拟机MAC地址260与每个规则相关联来实现。这可以实现在计算虚拟机125移动时容易将规则和虚拟装置135实例从一个物理服务器移向另一物理服务器。例如在计算虚拟机125移动时,虚拟装置135的新实例——其可以保持用于计算虚拟机125的规则——可以被创建并且可以与计算虚拟机125一起从一个服务器移向另一服务器。新虚拟装置135链可以带有对于移动的计算虚拟机125而言重要的功能。因此,新虚拟装置135链可以是原有虚拟装置135链的子集,并且用于新虚拟机的规则集可以是来自计算虚拟机125的规则子集。
如果更多虚拟机125移向与先前计算虚拟机125相同的物理服务器,则移动可以不创建全新的装置虚拟机。取而代之,它可以使用先前创建的装置机器并且连同与移动的计算虚拟机125关联的规则一起在链中添加所有新装置服务。因此,可以使管理装置服务更容易,并且可以无停止地提供服务。
现在参照图7,根据本发明的一个示例实施例示出管理虚拟装置的过程300。虚拟装置管理器可以构造(310)具有规则的数据分组,这些规则与用于在一个或者多个互连的虚拟装置内执行的服务有关。在互连的虚拟装置内的第一虚拟装置可以接收(320)数据分组。虚拟装置可以解析(330)数据分组获得规则。虚拟装置可以引用(340)规则模块。虚拟装置可以确定(350)数据分组是否包括调用虚拟装置中的服务的规则。如果不是,则虚拟装置可以旁路(360)数据分组中的规则并且将分组传递到在互连的虚拟装置之中的下一虚拟装置。如果数据分组确实包括调用虚拟装置中的服务的规则,则虚拟装置可以提供(370)服务请求。虚拟装置可以将数据分组传递(380)到下一虚拟装置。
附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
这里所用术语仅为了描述具体实施例而未旨在于限制本发明。如这里所用,除非上下文另有明示,单数形式“一”、“一个”和“该”旨在于也包括复数形式。还将理解术语“包括”在说明书中使用时指定存在陈述的特征、整件、步骤、操作、单元和/或部件、但是未排除存在或者添加一个或者多个其它特征、整件、步骤、操作、单元、部件和/或其组合。
所附权利要求中的所有装置或者步骤加上功能要素的对应结构、材料、动作和等效物旨在于包括用于与如具体要求保护的其它权利要求要素组合执行功能的任何结构、材料或者动作。已经出于示例和描述的目的而呈现本发明的描述,但是该描述未旨在于穷举本发明或者使本发明限于公开的形式。许多修改和变化将为本领域普通技术人员所清楚而未脱离本发明的范围和精神实质。选择和描述实施例以便最好地说明本发明的原理和实际应用并且使本领域其他普通技术人员能够对于具有如与设想的特定使用相配的各种修改的各种实施例理解本发明。
Claims (19)
1.一种用于管理虚拟装置的方法,所述方法包括:
互连多个虚拟装置;
提供能够在所述虚拟装置中的每个虚拟装置内执行的多个软件服务;
为每个虚拟装置提供与所述多个软件服务对应的规则模块;以及
为经过所述多个虚拟装置传递的数据分组确定接收所述数据分组的第一虚拟装置应当根据所述规则模块执行一个或者多个所述软件服务还是将所述数据分组传递到第二虚拟装置。
2.根据权利要求1所述的方法,其中所述多个虚拟装置以通信链互连。
3.根据权利要求1所述的方法,其中所述多个虚拟装置中的每个虚拟装置包括公共操作系统抽象库。
4.根据权利要求1所述的方法,其中在所述多个虚拟装置中的每个虚拟装置中的所述规则模块包括用于接收所述数据分组的下一虚拟装置的标识。
5.根据权利要求1所述的方法,其中所述规则模块包括用于在接收所述数据分组时旁路所述多个虚拟装置中的当前虚拟装置的动作。
6.根据权利要求1所述的方法,其中所述多个虚拟装置被配置为虚拟机。
7.根据权利要求6所述的方法,其中所述数据分组由在所述虚拟机中的所述虚拟装置中的每个虚拟装置接收或者旁路每个虚拟装置。
8.一种虚拟机,包括:
多个互连的虚拟装置;
多个软件服务,配置为能够在所述虚拟装置中的每个虚拟装置内执行;以及
计算机可读存储介质,具有利用其具体化的计算机可读程序代码,所述计算机可读程序代码被配置用于:
分析由所述虚拟装置中的第一虚拟装置接收的数据分组,以及
确定所述多个软件服务中的一个或者多个软件服务应当在所述第一虚拟装置内被执行还是将所述接收的数据分组传递到下一虚拟装置。
9.根据权利要求8所述的虚拟机,其中所述多个虚拟装置以通信链互连。
10.根据权利要求8所述的虚拟机,其中所述多个虚拟装置中的每个虚拟装置包括公共操作系统抽象库。
11.根据权利要求8所述的虚拟机,其中所述计算机可读程序被配置用于引用所述多个虚拟装置中的每个虚拟装置中的规则模块来进行所述确定。
12.根据权利要求11所述的虚拟机,其中所述规则模块包括用于在接收所述数据分组时旁路所述多个虚拟装置中的当前虚拟装置的动作。
13.一种网络服务器,包括:
多个互连的虚拟装置,其中每个虚拟装置包括能够在相应虚拟装置内执行的软件服务的捆绑集合;以及
管理程序,被配置用于向所述多个互连的虚拟装置提供数据分组,其中所述数据分组包括规则集,所述规则集控制相应虚拟装置是否执行所述软件服务中的一个或者多个软件服务或者相应虚拟装置是否将所述一个或者多个软件服务的执行旁路到所述多个互连的虚拟装置中的下一虚拟装置。
14.根据权利要求13所述的网络服务器,其中所述多个虚拟装置以通信链串行互连。
15.根据权利要求13所述的网络服务器,其中所述多个虚拟装置中的每个虚拟装置包括公共操作系统抽象库。
16.根据权利要求13所述的网络服务器,其中所述多个虚拟装置被配置为虚拟机。
17.根据权利要求13所述的网络服务器,包括在所述多个虚拟装置中的每个虚拟装置内的规则模块,其中所述规则模块被配置用于确定与匹配所述数据分组的所述规则集对应的动作。
18.根据权利要求17所述的网络服务器,其中所述规则模块被配置用于如果所述规则集不包括在用于所述虚拟装置的所述一个或者多个软件服务之中的可执行软件服务,则确定所述数据分组是否应当旁路所述多个虚拟装置之一。
19.一种用于管理虚拟装置的系统,所述系统包括:
用于实施根据权利要求1-7所述的任一方法的任一步骤的装置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/743,025 | 2013-01-16 | ||
US13/743,025 US9400669B2 (en) | 2013-01-16 | 2013-01-16 | Virtual appliance chaining and management |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103927216A true CN103927216A (zh) | 2014-07-16 |
CN103927216B CN103927216B (zh) | 2018-02-23 |
Family
ID=51145445
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410017292.XA Active CN103927216B (zh) | 2013-01-16 | 2014-01-15 | 用于管理虚拟装置的方法和系统 |
Country Status (2)
Country | Link |
---|---|
US (1) | US9400669B2 (zh) |
CN (1) | CN103927216B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105938525A (zh) * | 2015-03-04 | 2016-09-14 | 国际商业机器公司 | 虚拟机设备的基于目录的发现 |
CN110347473A (zh) * | 2018-04-02 | 2019-10-18 | 中国移动通信有限公司研究院 | 一种跨数据中心分布的虚拟化网元虚拟机分配方法及装置 |
CN111404730A (zh) * | 2020-03-04 | 2020-07-10 | 无锡华云数据技术服务有限公司 | 一种虚拟路由器的状态同步方法、装置、电子设备及存储介质 |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9882787B2 (en) * | 2014-01-09 | 2018-01-30 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd. | Service management in appliance-based solutions |
US9819699B1 (en) * | 2016-10-13 | 2017-11-14 | Fortress Cyber Security, LLC | Systems and methods for network security memory reduction via distributed rulesets |
KR102423755B1 (ko) | 2017-12-14 | 2022-07-21 | 삼성전자주식회사 | 패킷 전송을 제어하는 서버 및 방법 |
CN111865558A (zh) * | 2019-05-19 | 2020-10-30 | 北京骑胜科技有限公司 | 服务数据处理方法、装置、电子设备及存储介质 |
US11663064B1 (en) * | 2019-09-02 | 2023-05-30 | Virtuozzo International Gmbh | System and method for generating a guest operating system crash dump |
CN113760886B (zh) * | 2020-10-26 | 2023-09-01 | 北京京东振世信息技术有限公司 | 提供数据服务的方法、装置、设备和计算机可读介质 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8429630B2 (en) * | 2005-09-15 | 2013-04-23 | Ca, Inc. | Globally distributed utility computing cloud |
WO2008002419A2 (en) | 2006-06-19 | 2008-01-03 | Xensource, Inc. | Open virtual appliance |
US8171301B2 (en) * | 2007-10-07 | 2012-05-01 | Embotics Corporation | Method and system for integrated securing and managing of virtual machines and virtual appliances |
US20110004676A1 (en) * | 2008-02-04 | 2011-01-06 | Masahiro Kawato | Virtual appliance deploying system |
US8479209B2 (en) * | 2008-02-27 | 2013-07-02 | Sap Ag | Automated execution of virtual appliances |
US10108460B2 (en) | 2008-02-28 | 2018-10-23 | International Business Machines Corporation | Method and system for integrated deployment planning for virtual appliances |
US8543998B2 (en) | 2008-05-30 | 2013-09-24 | Oracle International Corporation | System and method for building virtual appliances using a repository metadata server and a dependency resolution service |
US8037180B2 (en) * | 2008-08-27 | 2011-10-11 | Cisco Technology, Inc. | Centralized control plane appliance for virtual infrastructure |
US7805516B2 (en) | 2008-10-14 | 2010-09-28 | Dell Products L.P. | Enabling throttling of resources on a virtualization enabled information handling system |
US20110246899A1 (en) * | 2010-03-31 | 2011-10-06 | Brocade Communications Systems, Inc. | Simplified distribution of software to networked devices |
TWI505189B (zh) | 2010-08-27 | 2015-10-21 | Ibm | 用於虛擬裝置之自動升級之方法、電腦程式及系統 |
US9223635B2 (en) * | 2012-10-28 | 2015-12-29 | Citrix Systems, Inc. | Network offering in cloud computing environment |
-
2013
- 2013-01-16 US US13/743,025 patent/US9400669B2/en active Active
-
2014
- 2014-01-15 CN CN201410017292.XA patent/CN103927216B/zh active Active
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105938525A (zh) * | 2015-03-04 | 2016-09-14 | 国际商业机器公司 | 虚拟机设备的基于目录的发现 |
CN105938525B (zh) * | 2015-03-04 | 2019-04-09 | 国际商业机器公司 | 虚拟机设备的基于目录的发现 |
CN110347473A (zh) * | 2018-04-02 | 2019-10-18 | 中国移动通信有限公司研究院 | 一种跨数据中心分布的虚拟化网元虚拟机分配方法及装置 |
CN111404730A (zh) * | 2020-03-04 | 2020-07-10 | 无锡华云数据技术服务有限公司 | 一种虚拟路由器的状态同步方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
US9400669B2 (en) | 2016-07-26 |
US20140201348A1 (en) | 2014-07-17 |
CN103927216B (zh) | 2018-02-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103927216A (zh) | 用于管理虚拟装置的方法和系统 | |
CN104052789B (zh) | 用于虚拟联网系统的负载平衡的方法和系统 | |
US9811370B2 (en) | Determining an optimal datacenter for placing a resource instance in a cloud that would benefit an intended set of end users in a geographical region | |
US9129052B2 (en) | Metering resource usage in a cloud computing environment | |
CN103299274B (zh) | 确定运行图像的最佳计算环境的系统和方法 | |
CN103365725B (zh) | 在多个云之间动态分配工作负荷部署单元的方法和系统 | |
CN103853596B (zh) | 用于在工作组之间迁移虚拟机的方法和系统 | |
US8843621B2 (en) | Event prediction and preemptive action identification in a networked computing environment | |
CN103856480B (zh) | 虚拟机迁移中的用户数据报协议分组迁移方法和装置 | |
US20110145153A1 (en) | Negotiating agreements within a cloud computing environment | |
CN104067265A (zh) | 用于支持在云中的安全应用部署的系统和方法 | |
US10972586B2 (en) | Reusable message flow between applications of a message broker integrated systems environment | |
CN103238138A (zh) | 用于云环境中的分区部署/重部署的网络接口 | |
CN104424013A (zh) | 在计算环境中部署虚拟机的方法和设备 | |
CN105359088B (zh) | 使用动态生成的虚拟磁盘内容优化供应时间的方法 | |
US20110314164A1 (en) | Intelligent network storage planning within a clustered computing environment | |
CN103259742B (zh) | 在联网计算环境中进行基于活动的虚拟机可用性控制的方法与系统 | |
CN103226518A (zh) | 一种在存储管理系统中进行卷扩展的方法和装置 | |
CN103677998A (zh) | 虚拟化计算环境中的资源分配方法和系统 | |
CN103294556B (zh) | 用于主机系统准入控制的方法和系统 | |
CN104516773A (zh) | 用于物理机的数据分配方法和数据分配装置 | |
CN104516730A (zh) | 一种数据处理方法和装置 | |
US20120323821A1 (en) | Methods for billing for data storage in a tiered data storage system | |
CN107678752A (zh) | 一种面向异构集群的任务处理方法及装置 | |
US9317328B2 (en) | Strategic placement of jobs for spatial elasticity in a high-performance computing environment |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20211108 Address after: USA New York Patentee after: Qindarui Co. Address before: Armank, New York, USA Patentee before: International Business Machines Corp. |
|
TR01 | Transfer of patent right |