当前位置: 首页 > 专利查询>BEA系统公司专利>正文

在虚拟机环境中提供硬件虚拟化的系统和方法技术方案

技术编号:5437770 阅读:241 留言:0更新日期:2012-04-11 18:40
用于在虚拟机环境中提供硬件虚拟化和资源管理的系统和方 法。根据一个实施例,应用程序服务器环境包括计算机系统、应用 程序服务器,和虚拟机(例如,Java虚拟机或JVM)。根据一个实 施例,虚拟化层被设置在每一物理机处,包括用于在机器上划分多 个虚拟机的管理程序。执行层运行单一的基于Java的应用程序,尽 可能高效集中运行该应用程序。根据另一个实施例,该系统包括两 个主要部件:第一,代替常用操作系统的低级执行环境;以及第二, 高级资源代理,用于负责将各新的虚拟机分发给上述各层,并用于 监控正在运行的虚拟机的当前资源的使用。

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术大体涉及操作系统、应用程序服务器、和虚拟机,更具 体地涉及用于在虚拟才几环境中才是供石更件虚拟化和资源管理的系统 和方法。
技术介绍
当今的许多任务关键商业应用程序已经被开发出来并被部署在基于Java的应用程序服务器(包括,例如,符合Java 2企业版或 J2EE规格的应用程序服务器)上。这些应用程序通常被部署在单售 主RISC计算机和服务器上,以及其他昂贵的硬件平台上。由于缺 乏竟争力,不认为易于得到且低成本的基于PC的服务器适于替代 能以这些构造使用的高性能Java虚拟机(JVM )。最新的虚拟机环 境,诸如BEA系统公司的JRockit产品,能够解决这个问题就在于 可以优化这些虚拟机以用于4吏Java应用程序能够在低成本、基于标 准的平台上以提高的可靠性和性能来运行的各种环境(包括基于PC 的环境)。JRockit虚拟机是为功率需求服务器侧Java应用程序、提 供较好性能、可管理性、和可靠性特别优良设计的虚拟机的一个实 例。然而,尽管当前虚拟才几产品(product offering)善于4是供软件 虚拟化,但是,至今很少能够以低层硬件或操作系统水平支持虚拟 化,或在虚拟机水平对资源进行管理,然而,仍然允许应用程序月l 务器控制或参与虚拟化进程。
技术实现思路
本文中公开了用于在虚拟机环境中提供硬化虚拟化和资源管 理的系统和方法。才艮据实施例,包括计算冲几系统、应用程序月l务器、 及虚拟机(例如,Java虚拟机或JVM)的应用程序月良务器环境被扩 展为提供从应用程序服务器环境中的较高层到系统实际处理能力 (power)的接口,从而可以以才几器独立的方式来进行处理的分配。 專欠件层辆j文置在虚拟才几和才是高虚拟化Java ^U亍系统的效率的石更件 之间。根据该实施例,该系统包括两个主要部件第一,低级执行 环境,其代替常用才喿作系统;以及第二,高级资源代理,用于负责9将各新的虚拟机分发给上面的层,并用于监控正在运行的虚拟机的 当前资源的使用。以此方式,低层物理机可以被划分来支持多个JVM。》匕夕卜,关于CPU和其4也资源分配,可以在系统内部i殳置目 标,并且该系统可以适当地分配多个JVM。附图说明图1示出了根据本专利技术一个实施例的包括虚拟机的应用程序服 务器环境的示例。图2示出了根据本专利技术一个实施例的分层虚拟机构造的示例。图3示出了根据本专利技术一个实施例的多层域环境的示例。图4示出了根据本专利技术一个实施例的可以如何将虚拟层用于共 用计算环境中的示例。图5示出了才艮据本专利技术一个实施例的连同资源代理的^果才几 (bare metal)域的示例。图6示出了根据本专利技术一个实施例的连同JVM代理服务器的 净果才几域的示例。图7示出了4艮据本专利技术一个实施例的虚拟才几环境部件的逻辑图。图8示出了根据本专利技术一个实施例的用于使用虚拟化的方法的流程图。10具体实施例方式本文中公开了用于在虚拟机环境中提供硬件虚拟化和资源管 理的系统和方法。才艮据实施例,包4舌计算才几系统、应用程序月良务器、及虚拟机(例如,Java虛拟机或JVM)的应用程序服务器环境被扩 展为提供从应用程序服务器环境中的较高层到系统实际处理能力 的接口,从而可以以机器独立的方式来进行进程的分配。软件层被 放置在虚拟机和提高虚拟化Java执行系统的效率的硬件之间。才艮据 该实施例,该系统包括两个主要部件第一,低级执行环境,其代 替常用操作系统;以及第二,高级资源代理,用于负责将各新的虚 拟才几分发给上面的层,并用于监控正在运行的虚拟4几的当前资源的 使用。以此方式,低层物理机可以被划分来支持多个JVM。此夕卜, 关于CPU和其他资源分配,可以在系统内部设置目标,并且该系 统可以适当地分配多个JVM。术语本文中4吏用了下列术语。域运行在管理程序层顶部的4喿作系统实例。多个域可以4皮此 不知道地运行在同 一机器上。域在本文中还可以称作客户操作系统 (OS)、客户(guest )、或VM。棵机域根据本专利技术一个实施例的运行虚拟层、虚拟机和应用 程序的域。(例如,在一个实施例中,棵机域包括棵机操作系统(OS) 层力口诸如JRockit JVM的JVM,力口应用程序)。棵机域在本文中还 可以称作BMi或。节点网全各中的物理才几或物理计算才几。网格计算 一组一起工作一解决一个计算问题的多个节点。共用计算允许多个应用程序在多个物理机上有效运行的系统 或环境。共用计算环境允许对各应用程序指定高级策略以帮助系统 决定将哪个(些)特定应用程序列入优先地位。共用计算环境还允 许用户为系统部署新的应用程序;为每个应用程序提供高级策略和 /或保证;监控应用程序和机器的状态;处理指定应用程序的资源使 用的快速增长;供应系统升级;以及才是供高可用性。图1示出了包括虚拟机的且可以以本专利技术一个实施例的方式来 使用应用程序月良务器环境的示例。如图l所示,应用程序服务器环 境10包括应用程序月良务器14 (例如,由BEA系统7>司开发的 WebLogic服务器产品,或其他类型的应用程序服务器),以及虚拟 机16 (例如,还是由BEA系统公司开发的JRockit JVM,或其他类 型的虚拟机)。图1还示出了常用在应用程序服务器环境中的可选 部件,例如,开发环境18、用户集成部件20、或线程集成部件22。 后面这些可选部4牛分别包4舌WebLogic Workshop、 \VebLogic Portal、 和WebLogic集成部件,其中的每一个都是由BEA系统公司开发的。 需要的话,还可以将其他部件添加至该环境。图2示出了根据本专利技术一个实施例的虚拟机构造的更详细的示 例。如图2所示,诸如JRockit JVM的典型的虚拟机16包括用于管 理系统中运行的线程的线程管理部件;用于管理诸如垃;及收集的过 程的存储管理部件18;代码生成部件22;以及Java模型部件24。 典型的虚拟机还提供外部接口 28用于对虚拟机进行管理。尽管图2 示出了 JRockit产品,但是很显然,在本专利技术的精神和范围内,还 可以〗吏用除了 JRockit实现以外的其他虚拟才几。为了能够有效的进行应用程序虚拟化,就需要相应的有效硬件 资源虚拟化。这使得4是供诸如挂起、动态配置(live provisioning )、1220和动态迁移的功能是可能的。根据本专利技术的一个实施例,添加了抽 象的额外层。这使得虚拟机被移动至相对更接近下层硬件。图3示出了根据本专利技术一个实施例的多层域环境的示例。如图 3所示,计算环境30包括物理计算枳^更件或计算才几32。该计算枳』 可以是物理服务器、计算机、网络设备、或等同类型的计算或处理 设备。计算环境包括代替典型的操作系统而在逻辑上位于处理设备 顶部的虚拟化层34。根据一个实施例,虚拟化层包括执行层部件 38 (本文中也称作净果才几层,,),和管理程序层部件40或管理程序 层。当前可得到的管理程序层部件的实例包4舌Xen管理禾呈序和 VMWare管理程序。根据其他的实施例,还可以使用其他的管理程 序层和管理程序层部件。管理程序层插入在服务器的硬件和才乘作系统之间。这提供了允 许每个物理力l务器运行一个或多个虚拟力良务器的抽象层,并有效地 将操作系统及其应用程序与下层物理服务器分离。 本文档来自技高网...

【技术保护点】
一种用于在虚拟机环境中提供硬件虚拟化的系统,包括: 机器或计算机,进一步包括虚拟化层,所述虚拟化层包括用于在所述机器上划分划分多个虚拟机的管理程序; 执行层,适于运行单一的基于Java的应用程序;以及 Java虚拟机,其运 行在所述执行层上,用于运行多个基于Java的应用程序。

【技术特征摘要】
【国外来华专利技术】2006.8.7 US 60/821,673;2007.8.7 US 11/835,3071. 一种用于在虚拟机环境中提供硬件虚拟化的系统,包括机器或计算机,进一步包括虚拟化层,所述虚拟化层包括用于在所述机器上划分划分多个虚拟机的管理程序;执行层,适于运行单一的基于Java的应用程序;以及Java虚拟机,其运行在所述执行层上,用于运行多个基于Java的应用程序。2. 根据权利要求1所述的系统,进一步包括多个机器和位于每个 所述才几器处的虚拟化层。3. 根据权利要求1所述的系统,其中,所述执行层适于在特定时 间只集中运行所述单一的基于Java的应用程序,而不能运行 任^可其他应用程序。4. 根据权利要求3所述的系统,其中,所述执行层适于尽可能高 效的运^f亍所述单一的基于Java的应用程序。5. 根据权利要求1所述的系统,进一步包括多个执行层,其中的 每一 个所述才丸行层均适于在 一 时间尽可能高效地只运4亍单一一 的基于Java的应用禾呈序。6. 根据权利要求5所述的系统,其中,多个所述执行层中的每一 个均适于集中于所述单一的基于Java的应用程序,而不能运 行任何其他应用程序。7. 根据权利要求5所述的系统,其中,多个执行层位于管理程序、 虚拟化层、和才几器的相同组合上。8. —种用于在虚拟才几环境中提供石更件虚拟化的系统,包括才几器,包4舌虚拟化层,所述虚拟化层包4舌用于在所述物 理才几上划分多个虚拟才几的管理程序;多个Java虚拟才几,其运4亍在所述冲几器上;以及多个执行层,包括用于多个所述Java虚拟机中的每一个 的独立的l丸行层,其中,多个所述4丸4亍层中的每一个都4吏其自 己的Java虚拟才几的有岁丈运4亍、其中在该Java虚拟才几上运4亍有 Java应用禾呈序。9. 根据权利要求8所述的系统,其中,多个所述执行层中的每一 个都提供其自己Java虚拟机的有效运行,以及4吏单一的Java 应用程序运4亍其上,而不能运^M壬〗可其他应用程序。10. 根据权利要求8所述的系统,其中,每个所述执行层被提供作 为才喿作系统(OS),所述4喿作系统只对作为单一线程的JVM 线程进行处理,其中,所述JVM线程运4亍所述Java应用程序。11. 才艮据4又利要求8所述的系统,其中,所述管理程序允许在两个12. 根据权利要求8所述的系统,其中,用于每个Java虚拟机的 所述冲丸4亍层通知所述管理禾呈序层存在不同Java虚拟才几之间共 享的相同页。13. 根据权利要求12所述的系统,其中,所述管理程序允许使用 写时复制将所述相同页映射到相同的物理页。14. 根据权利要求8所述的系统,所述管理程序是Xen管理程序。15. 才艮据权利要求8所述的方法,所述管理程序是VMware管理 程序。16. —种用于在虚拟机环境中提供硬件虚拟化的系统,包括一个或多个机器或计算机,进一步包括在一个或多个所 述才几器上运4亍的多个虚拟冲几;虚拟化层,位于每个所述机器处,其中,所述虚拟化层 包括用于在所述机器上划分多个虚拟机的管理程序;以及资源代理服务模块,用于接收来自应用程序的对虚拟枳4是供的资源的访问请求,确定多个所述虚拟才几中的哪一个最适于处理所述i青 求,以及经由所述虚拟化层将所述请求传送至所选择的虚拟机。17. 根据...

【专利技术属性】
技术研发人员:乔基姆·达尔斯泰特
申请(专利权)人:BEA系统公司
类型:发明
国别省市:US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1