CN101828170A - 创建包含第三方代码的虚拟机 - Google Patents

创建包含第三方代码的虚拟机 Download PDF

Info

Publication number
CN101828170A
CN101828170A CN200880111665A CN200880111665A CN101828170A CN 101828170 A CN101828170 A CN 101828170A CN 200880111665 A CN200880111665 A CN 200880111665A CN 200880111665 A CN200880111665 A CN 200880111665A CN 101828170 A CN101828170 A CN 101828170A
Authority
CN
China
Prior art keywords
virtual
virtual machine
dish
file
application
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
Application number
CN200880111665A
Other languages
English (en)
Other versions
CN101828170B (zh
Inventor
R·E·威尔伯格
王庆波
S·J·施密特
R·P·多伊勒
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN101828170A publication Critical patent/CN101828170A/zh
Application granted granted Critical
Publication of CN101828170B publication Critical patent/CN101828170B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45562Creating, deleting, cloning virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0662Virtualisation aspects
    • G06F3/0664Virtualisation aspects at device level, e.g. emulation of a storage device or system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0662Virtualisation aspects
    • G06F3/0665Virtualisation aspects at area level, e.g. provisioning of virtual or logical volumes

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Storage Device Security (AREA)

Abstract

使用虚拟操作系统(OS)盘和虚拟应用盘创建虚拟机(VM),每个虚拟应用盘可以来自不同的第三方。然后将虚拟应用盘中的一个或更多个文件链接到虚拟OS盘中的特定文件系统位置(节点)。

Description

创建包含第三方代码的虚拟机
技术领域
本发明涉及计算机领域,并且具体地涉及软件。更具体地,本发明涉及虚拟机(VM)。
背景技术
虚拟机(VM)已经作为软件的新型分发媒介显现,VM的特定实例被称为使用虚拟映像(Visual Image)的虚拟装置。每个VM通常由诸如开源的
Figure GPA00001098900600011
的固定操作系统(OS)构成,该操作系统在(纯粹基于软件的)虚拟容器内运行一个或更多个应用。
发明内容
利用虚拟操作系统(OS)盘和虚拟应用盘创建虚拟机(VM),所述虚拟应用盘中的每一个可以来自完全不同的第三方提供者。在VM中根据VM简档(profile)使用可被从多个应用中选择并且可以在VM中相互交换的虚拟应用盘。虚拟应用盘中的一个或更多个文件被链接到虚拟OS盘内的特定文件系统位置(节点)。
根据下面的详细书面描述,将明了本发明的上述以及附加目的、特征和优点。
附图说明
现在将仅以示例的方式参考下面的附图描述本发明的优选实施例,附图中:
图1示出了可以实现本发明的实施例的示例物理计算机;
图2示出了由本发明的优选实施例创建的示例虚拟机(VM);
图3示出了由图2所示的VM使用的虚拟应用盘的附加细节;以及
图4是本发明的优选实施例使用来自第三方供应商的代码创建VM的所采取的示例步骤的高层流程图。
具体实施方式
本领域的技术人员会明了,本发明可被实施为方法、系统或计算机程序产品。因此,本发明可以采取完全硬件实施例、完全软件实施例(包括固件、驻留软件、微代码等)或组合软件和硬件方面的实施例的形式,此处,所有这些实施例可被通称为“电路”、“模块”或“系统”。另外,本发明可被实施为计算机可用存储介质上的计算机程序产品,所述计算机可用存储介质内包含有计算机可用的程序代码。
可以使用任意适合的计算机可用或计算机可读介质。计算机可用或计算机可读介质例如可以是(但不限于)电子的、磁的、光学的、电磁的、红外的或半导体的系统、装置、设备或传播介质。计算机可读介质的更具体的例子(非穷尽的列表)可包括如下:具有一条或更多条导线的电连接件、便携计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或闪存)、光纤、便携压缩盘只读存储器(CD-ROM)、光学存储设备、传输介质(诸如支持互联网或内联网的传输介质)、或磁存储设备。注意,计算机可用或计算机可读介质甚至可以是其上打印有程序的纸或另一种适合的介质,这是由于可以通过例如对纸或其它介质的光学扫描电子地获取该程序,然后在必要的情况下,以适当的方式对该程序进行编译、解释或其它处理,并且然后存储在计算机存储器内。在本文档的上下文中,计算机可用或计算机可读介质可以是可以包含、存储、传送、传播或传输由指令执行系统、装置或设备使用或结合指令执行系统、装置或设备使用的程序的任意介质。计算机可用介质可以包括在基带中或作为载波的一部分的传播的数据信号,该数据信号包含有计算机可用程序代码。可以使用任意适合的介质传输计算机可用程序代码,包括但不限于Internet、导线、光纤缆线、RF等。
用于执行本发明的实施例的操作的计算机程序代码可被以诸如Java、Smalltalk、C++等的面向对象编程语言编写。然而,用于执行本发明的实施例的操作的计算机程序代码还可被以传统的过程编程语言(诸如“C”编程语言或类似的编程语言)编写。所述程序代码可以完全在用户的计算机上执行、部分地在用户的计算机上执行、作为独立的软件包执行、部分在用户的计算机上并且部分在远程计算机上执行、或完全在远程计算机或服务器上执行。在后者情况下,远程计算机可被通过局域网(LAN)或广域网(WAN)连接到用户的计算机,或者可以连接到外部计算机(例如,使用Internet服务提供商通过Internet)。
下面参考方法、装置(系统)和计算机程序产品的流程图和/或方框图描述本发明的实施例。应当理解,可以用计算机程序指令实现流程图和/或方框图中的每个方框,以及流程图和/或方框图中的方框的组合。这些计算机程序指令可被提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,以便产生一种机器,从而经由计算机或其它可编程数据处理装置的处理器执行的指令创建用于执行在这些流程图和/或方框图的一个或更多个方框中指定的功能/动作的装置。
这些计算机程序指令还可被存储在计算机可读存储器内,该计算机可读存储器其可以指示计算机或其它可编程数据处理装置以特定方式运行,从而存储在计算机可读存储器内的指令产生一种制品,所述制品包括实现在这些流程图和/或方框图的一个或更多个方框中指定的功能/动作的指令装置。
计算机程序指令还可被装到计算机或其它可编程数据处理装置上,以便使得在该计算机或其它可编程装置上执行一系列操作步骤来产生以计算机实现的处理,从而在该计算机或其它可编程装置上执行的指令提供用于实现在这些流程图和/或方框图的一个或更多个方框中指定的功能/动作的步骤。
现在参考图1,图1示出了可以使用本发明的实施例的示例计算机100的方框图。计算机100包括耦接到系统总线106的处理器单元104。驱动/支持显示器110的视频适配器108也耦接到系统总线106。系统总线106通过总线桥112耦接到输入/输出(I/O)总线114。I/O接口116耦接到I/O总线114。I/O接口116提供与各种I/O设备的通信,所述I/O设备包括键盘118、鼠标120、压缩盘-只读存储器(CD-ROM)驱动器122和闪存驱动器126。连接到I/O接口116的端口的格式可以是计算机体系结构领域的技术人员已知的任意格式,包括但不限于通用串行总线(USB)端口。
计算机100能够使用网络接口130通过网络128与服务器150通信,网络接口130耦接到系统总线106。网络128可以是外部网络(诸如Internet)或内部网络(诸如内联网或虚拟专用网络(VPN))。可以用以计算机100示出的方式在体系结构上配置服务器150。
硬盘驱动器接口132也耦接到系统总线106。硬盘驱动器接口132与硬盘驱动器134接口连接。在一个实施例中,硬盘驱动器134填充(populate)系统存储器136,系统存储器136也耦接到系统总线106。系统存储器136被定义为计算机100中的最低层的易失存储器。这种易失存储器可以包括附加的更高层的易失存储器(未示出),包括但不限于高速缓存存储器、寄存器和缓冲器。填充系统存储器136的代码包括操作系统(OS)138和应用程序144。
OS138包括用于提供对诸如应用程序144的资源的透明用户访问的外壳(shell)140。一般地,外壳140(如在
Figure GPA00001098900600041
中所称呼的)是提供用户和操作系统之间的解释器和接口的程序。外壳140提供系统提示(system prompt),解释通过键盘118、鼠标120或其它用户输入介质输入的命令,并且将解释后的一个或更多个命令发送到操作系统的适当下层(例如,内核142)以便进行处理。如图所示,OS138还包括内核142,内核142包括OS138的下层功能。内核142提供OS138的其它部分和应用程序144所需的基本服务。由内核142提供的服务包括存储器管理、进程和任务管理、盘管理和I/O设备管理。
应用程序144包括浏览器146。浏览器146包括使得万维网(WWW)客户机(即,计算机100)能够向Internet发送和接收网络消息的程序模块和指令。计算机100可以使用超文本传输协议(HTTP)进行消息发送,以便能够与服务器150通信。系统存储器136中的应用程序144还包括虚拟机汇编器(VMA)148,其执行在下面图2-4中描述的步骤中创建的虚拟机(VM)。注意,虽然VMA148可以包括管理和监管多个操作系统的管理程序(也称为虚拟机管理器-VMM)的功能,但这种管理程序的用户不是必需的。即,在本发明的实施例中,此处描述的VM的操作中是否涉及管理程序是无关紧要的。另外,对本发明的实施例的使用不限于任意特定的虚拟机实现,只要该VM使用此处描述的特征将应用链接到虚拟OS盘中的特定节点即可。
在一个实施例中,计算机100能够(优选地基于“按需”方式)从服务提供商服务器150下载VMA 148。
在计算机100中示出的硬件元件意图不是穷尽性的,而是代表性的,以便突出本发明的实施例所需的基本组件。例如,计算机100可以包括替代的存储器存储设备,诸如磁带盒、数字通用盘(DVD)、伯努里盒式磁带等。这些和其它变体在本发明的实施例中也是可行的。注意,服务器提供商服务器150的硬件体系结构可以大体类似于对于计算机100所示的硬件体系结构。
现在参考图2,图2给出了虚拟机(VM)202的概述,通过以下述方式汇编来自不同提供商的代码和文件创建虚拟机(VM)202。由图1所示的VMA148创建并且成为VMA148的一部分的VM202是用于以独立于硬件的(hardware-agnostic)方式执行软件的以软件创建的虚拟环境,并且包括虚拟操作系统(OS)盘204和一个或更多个虚拟应用盘206a-206b。注意,OS盘204和应用盘206a-206b都是逻辑盘,它们被定义为存储在一个或更多个物理盘218上的逻辑数据分组。VM简档208具有来自位于物理盘218上的多个可用的应用系统的虚拟应用盘206a-206b的参考实例。在一个实施例中,虚拟应用盘206a是与可见于虚拟应用盘206b中的应用不同的应用,并且因此可以来自不同的供应商/提供商/来源。因此,每个虚拟应用盘206a-206b由可以在一个或更多个物理盘218上的分区构成。
注意,从文件系统的观点看,在相应虚拟OS盘204和虚拟应用盘206中运行的OS和应用可被组织为具有节点的树。为了正确地执行应用,每个虚拟应用盘206中的一个或更多个目录节点被映射到(文件链接到)虚拟OS盘204内的OS中的目录节点。例如,假设虚拟应用盘206b用于名为
Figure GPA00001098900600061
的应用服务,并且节点220处的文件目录(例如,/WebSphere)必须存在于可见于节点222处的Linux OS目录之下(例如,/opt/IBM/WebSphere)。因此节点220被映射到节点222。以到虚拟应用盘的系统符号链接执行这种映射。对此而言,对于OS来说表现为存在于/opt/IBM/WebSphere下的程序实际上存在于应用逻辑盘206b上。
现在参考图3,图3给出了虚拟应用盘302(等同于图2所示的虚拟应用盘206a或206b)的附加细节。虚拟应用盘302内具有代理304。代理304是智能代理,其可以配置安全性(包括:创建与链接到系统内的应用盘有关的新用户,或修改与新的或已有的系统用户有关的文件级安全设置),并且为存在于虚拟应用盘302内的文件创建到其它虚拟盘(其它虚拟应用盘和虚拟OS盘两者)的链接。代理304具有将虚拟应用盘302内的文件链接到上面图2所示的OS虚拟盘204的特定路径或目录的灵活性。
现在参考图4,图4给出了创建虚拟机(VM)所采取的示例步骤的流程图。启动方框402表示虚拟机的输入状态,所述输入状态包括包含OS逻辑盘的VM简档。如上所述,VM是用于以独立于硬件的方式执行软件的以软件创建的虚拟环境。VM简档定义将在VM中启动的OS逻辑盘。然后将新的应用逻辑盘配置到VM简档内(方框404),使得它们对于VM是可见的。然后将虚拟应用盘中的一个或更多个文件和/或目录链接(映射)到VM内的虚拟OS盘中的特定文件系统位置(例如,节点)(方框406)。因此,VM包括虚拟OS盘和至少一个虚拟应用盘,使得包含在一个或更多个虚拟应用盘内的一个或更多个应用对于该VM可用。然后配置适当的安全性(如方框408所示并且如上面在图3中所述),并且当虚拟OS盘和链接的一个或更多个虚拟应用盘的输出被作为VM202传递时,处理在终止方框410结束。
如此处所述,本发明的实施例提供了汇编包含来自不同组织的逻辑虚拟应用盘的单个虚拟映像的能力。例如,一种
Figure GPA00001098900600071
发行可被与包含
Figure GPA00001098900600072
Figure GPA00001098900600073
应用的第二逻辑虚拟盘聚合在一起。每个逻辑应用盘的安装仅执行一次,并且可以被使用文件链接汇编在一起。因此,可以为VM中的特定OS单独选择、分发和维护每个应用。
本发明的实施例提供的优点包括(但不限于):
1.灵活性-装置(例如,VM)提供商具有关于可以使用的操作系统发行的更多选择。他们可以选择可被独立创建和提供的完全受支持的发行(例如,
Figure GPA00001098900600075
)。在现有技术中,用户不能使用可选的另一种OS,这是因为特定OS被内建到VM内并且被作为VM的一部分分发。本发明的实施例提供了一种用于将OS维护和分发与应用维护和分发相分离的方法。另外,VM的用户(顾客)不必再依赖VM的提供商分发用于OS的维护(提供补丁、服务包、更新等)。
2.一次安装/配置-操作系统以及中间件和应用都仅被安装一次。存在简单的汇编步骤,并且然后可以多次使用该映像。
3.OS以及中间件和应用之间的清楚分离。操作系统和任意中间件和应用之间存在清楚的分离,允许通过完全更换或打补丁自动地、独立地更新操作系统或应用。这去除了顾客关于运行具有与顾客当前系统上所运行的OS不同的OS的VM的顾虑。
注意,图中的流程图和方框图示出了根据本发明的各种实施例的系统、方法和计算机程序产品的可能实现的体系结构、功能和操作。对此而言,流程图和方框图中的每个方框可以表示包括用于实现指定的一个或更多个逻辑功能的一条或更多条可执行指令的代码模块、代码段或代码部分。还应当注意,在某些替换实现中,方框中标注的功能可以不按图中标注的顺序发生。例如,连续示出的两个方框事实上可被大体并发地执行,或者,这些方框有时可被以相反顺序执行,这取决于所涉及的功能。还应当注意,可由执行指定功能或动作的基于专用硬件的系统或者专用硬件和计算机指令的组合实现方框图和/或流程图的每个方框以及方框图和/或流程图中的方框的组合。
此处使用的术语仅用于描述特定实施例的目的,并非旨在限制本发明。如此处使用的,除非上下文清楚地指出例外情况,单数形式“一”和“该”旨在也包括复数形式。还应当理解,当被在本说明书中使用时,术语“包括”和/或“包含”指示所陈述的特征、整体、步骤、操作、元件和/或组件的存在,但不排除存在或添加一个或更多个其它特征、整体、步骤、操作、元件、组件和/或它们的组。
下面的权利要求中的所有装置或步骤加功能元素的相应结构、材料、动作和等同物旨在包括用于与特别要求保护的其它主张要素组合执行该功能的任意结构、材料或动作。已经出于说明和描述目的给出本发明的实施例的描述,但是意图不是穷尽性的或将本发明局限于所公开的形式。本领域的普通技术人员将明了许多修改和变形。选择并且描述这些实施例,以便最好地解释本发明的原理和实际应用,并且使得其它本领域的普通技术人员能够理解具有适合于构想的特定用途的各种修改的本发明的各种实施例。
因此,已经通过参考优选实施例详细地描述了本申请的发明,应当明了,其修改和变形也是可行的。

Claims (20)

1.一种用于创建包含第三方代码的虚拟机的方法,该方法包括以下步骤:
配置用于虚拟机的虚拟机简档和虚拟机文件系统,其中所述虚拟机是用于以独立于硬件的方式执行软件的以软件创建的虚拟环境,并且其中所述虚拟机简档定义虚拟机使用哪个操作系统,并且其中所述虚拟机文件系统定义至少一个虚拟应用盘中的虚拟文件和至少一个物理盘中的物理文件之间的映射关系;和
将所述至少一个虚拟应用盘中的文件链接到虚拟机中的虚拟操作系统盘内的特定文件系统位置,其中所述虚拟机包含虚拟操作系统盘和所述至少一个虚拟应用盘,并且其中来自所述至少一个虚拟应用盘的文件内的指令被链接到位于所述虚拟操作系统盘内的所述特定文件系统位置的操作系统指令,并且被结合该操作系统指令执行。
2.如权利要求1所述的方法,还包括以下步骤:
配置所述至少一个虚拟应用盘的安全性。
3.如权利要求2所述的方法,其中所配置的安全性控制哪些用户被授权使用虚拟机内的所述至少一个虚拟应用盘和所述虚拟操作系统盘之间新链接的应用。
4.如权利要求3所述的方法,其中所配置的安全性控制哪些用户被授权改变所述至少一个虚拟应用盘中的文件的文件设置。
5.如权利要求4所述的方法,其中由所述至少一个虚拟应用盘中的代理执行所配置的安全性和所述至少一个虚拟应用盘中的文件到虚拟操作系统盘中的特定文件系统位置的文件链接。
6.如权利要求5所述的方法,其中响应于虚拟机被激活,作为系统服务自动运行所述代理。
7.如权利要求6所述的方法,其中由管理程序激活所述虚拟机,其中所述管理程序是允许多个操作系统在相同主计算机上运行的虚拟化平台。
8.如权利要求5所述的方法,其中由所述虚拟机的用户手动调用所述代理。
9.如权利要求1所述的方法,其中所述虚拟机包括多个虚拟应用盘,其中所述多个虚拟应用盘中的每个来自不同的供应商。
10.一种系统,包括:
处理器;
耦接到所述处理器的数据总线;
耦接到所述数据总线的存储器;和
包含有计算机程序代码的计算机可用介质,所述计算机程序代码包含可由处理器执行的指令,并且被配置为通过执行如下步骤创建虚拟机:
配置用于虚拟机的虚拟机简档和虚拟机文件系统,其中所述虚拟机是用于以独立于硬件的方式执行软件的以软件创建的虚拟环境,并且其中所述虚拟机简档定义虚拟机使用哪个操作系统,并且其中所述虚拟机文件系统定义至少一个虚拟应用盘中的虚拟文件和至少一个物理盘中的物理文件之间的映射关系;和
将所述至少一个虚拟应用盘中的文件链接到虚拟机中的虚拟操作系统盘内的特定文件系统位置,其中所述虚拟机包含所述虚拟操作系统盘和所述至少一个虚拟应用盘,并且其中来自所述至少一个虚拟应用盘的文件内的指令被链接到位于所述虚拟操作系统盘内的所述特定文件系统位置的操作系统指令,并且被结合该操作系统指令执行。
11.如权利要求10所述的系统,其中所述指令还配置用于:
配置所述至少一个虚拟应用盘的安全性。
12.如权利要求11所述的系统,其中所配置的安全性控制哪些用户被授权使用所述虚拟机。
13.如权利要求12所述的系统,其中所配置的安全性控制哪些用户被授权改变所述至少一个虚拟应用盘中的文件的文件设置。
14.如权利要求10所述的系统,其中所述虚拟机包括多个虚拟应用盘,其中所述多个虚拟应用盘中的每个来自不同的供应商。
15.一种用于创建虚拟机的计算机程序产品,该计算机程序产品包括:
其上包含有计算机可用程序代码的计算机可用介质,该计算机可用程序代码包括:
配置为用于配置用于虚拟机的虚拟机简档和虚拟机文件系统的计算机可用程序代码,其中所述虚拟机是用于以独立于硬件的方式执行软件的以软件创建的虚拟环境,并且其中所述虚拟机简档定义虚拟机使用哪个操作系统,并且其中所述虚拟机文件系统定义至少一个虚拟应用盘中的虚拟文件和至少一个物理盘中的物理文件之间的映射关系;和
配置为用于将所述至少一个虚拟应用盘中的文件链接到虚拟机中的虚拟操作系统盘内的特定文件系统位置的计算机可用程序代码,其中所述虚拟机包含所述虚拟操作系统盘和所述至少一个虚拟应用盘,并且其中来自所述至少一个虚拟应用盘的文件内的指令被链接到位于所述虚拟操作系统盘内的所述特定文件系统位置的操作系统指令,并且被结合该操作系统指令执行。
16.如权利要求15所述的计算机程序产品,还包括:
被配置为用于配置所述至少一个虚拟应用盘的安全性的计算机可用程序代码。
17.如权利要求16所述的计算机程序产品,其中所配置的安全性控制哪些用户被授权使用所述虚拟机。
18.如权利要求17所述的计算机程序产品,其中所配置的安全性控制哪些用户被授权改变所述至少一个虚拟应用盘中的文件的文件设置。
19.如权利要求15所述的计算机程序产品,其中所述计算机可用介质是远程服务器的组件,并且其中所述计算机可执行指令能够被从所述远程服务器部署到本地计算机。
20.如权利要求15所述的计算机程序产品,其中所述计算机可执行指令能够被服务提供商基于按需的方式提供给顾客。
CN2008801116652A 2007-10-16 2008-10-15 用于创建包含第三方代码的虚拟机的方法和系统 Active CN101828170B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/872,793 2007-10-16
US11/872,793 US8276137B2 (en) 2007-10-16 2007-10-16 Creating a virtual machine containing third party code
PCT/EP2008/063889 WO2009050206A2 (en) 2007-10-16 2008-10-15 Creating a virtual machine containing third party code

Publications (2)

Publication Number Publication Date
CN101828170A true CN101828170A (zh) 2010-09-08
CN101828170B CN101828170B (zh) 2013-04-03

Family

ID=40532578

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2008801116652A Active CN101828170B (zh) 2007-10-16 2008-10-15 用于创建包含第三方代码的虚拟机的方法和系统

Country Status (6)

Country Link
US (2) US8276137B2 (zh)
EP (1) EP2212781A2 (zh)
JP (1) JP5201696B2 (zh)
KR (1) KR101159435B1 (zh)
CN (1) CN101828170B (zh)
WO (1) WO2009050206A2 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103309690A (zh) * 2012-03-12 2013-09-18 联想(北京)有限公司 处理数据的方法和电子设备
WO2015109593A1 (zh) * 2014-01-27 2015-07-30 华为技术有限公司 虚拟化方法和装置及计算机设备
CN104981783A (zh) * 2013-03-07 2015-10-14 思杰系统有限公司 在云计算环境中的动态配置
US11157296B2 (en) 2007-10-16 2021-10-26 International Business Machines Corporation Creating a virtual machine containing third party code

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8266578B2 (en) * 2007-01-10 2012-09-11 Angela Bazigos Virtual validation of software systems
US8276186B2 (en) * 2008-01-22 2012-09-25 Honeywell International Inc. System and method for synchronizing security settings of control systems
US8365274B2 (en) * 2008-09-11 2013-01-29 International Business Machines Corporation Method for creating multiple virtualized operating system environments
US9514089B1 (en) 2010-03-31 2016-12-06 EMC IP Holding Company LLC Mobile device network data synchronization
US9152650B1 (en) 2010-03-31 2015-10-06 Emc Corporation Mobile device data recovery
US8489708B2 (en) 2010-04-06 2013-07-16 Microsoft Corporation Virtual application extension points
US20110258624A1 (en) * 2010-04-19 2011-10-20 Fuat Bahadir Virtual machine based secure operating system
US9239860B1 (en) * 2010-06-30 2016-01-19 Emc Corporation Augmenting virtual directories
KR101493828B1 (ko) * 2012-05-31 2015-02-16 주식회사 케이티 가상머신 초기 설정 자동화 방법 및 가상머신 초기 설정 자동화 서비스 제공 방법
US20140052558A1 (en) * 2012-06-18 2014-02-20 Redigi, Inc. Methods and apparatus for sharing digital books and other digital media objects
CN102932408B (zh) * 2012-09-21 2016-02-03 中国电信股份有限公司 一种服务器集群的管理方法和平台
US9292318B2 (en) * 2012-11-26 2016-03-22 International Business Machines Corporation Initiating software applications requiring different processor architectures in respective isolated execution environment of an operating system
US9456003B2 (en) 2013-07-24 2016-09-27 At&T Intellectual Property I, L.P. Decoupling hardware and software components of network security devices to provide security software as a service in a distributed computing environment
US9537932B2 (en) * 2013-10-23 2017-01-03 Microsoft Technology Licensing, Llc Emulating test distributed application on server
GB2522677A (en) 2014-02-03 2015-08-05 Ibm Updating software products on virtual machines with software images of new levels thereof
CN106126303B (zh) * 2016-07-01 2019-09-17 合一信息技术(北京)有限公司 Linux操作系统的安装方法、装置及系统
US10616327B2 (en) 2016-09-20 2020-04-07 Microsoft Technology Licensing, Llc Policy based hydration behavior in cloud storage synchronization
US11368528B2 (en) 2016-09-20 2022-06-21 Microsoft Technology Licensing, Llc Dynamic storage management in cloud storage synchronization
US11321114B2 (en) * 2019-07-19 2022-05-03 Vmware, Inc. Hypervisor assisted application virtualization

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6467007B1 (en) * 1999-05-19 2002-10-15 International Business Machines Corporation Processor reset generated via memory access interrupt
US6195650B1 (en) * 2000-02-02 2001-02-27 Hewlett-Packard Company Method and apparatus for virtualizing file access operations and other I/O operations
US6594745B2 (en) * 2001-01-31 2003-07-15 Hewlett-Packard Development Company, L.P. Mirroring agent accessible to remote host computers, and accessing remote data-storage devices, via a communcations medium
JP2002288255A (ja) * 2001-03-26 2002-10-04 Toshiba Corp ハードウェア記述言語で記述されたシステムlsiの回路部品、及びその検証方法、検証支援回路、システムlsiの製造方法
CN1241124C (zh) * 2001-09-14 2006-02-08 北京瑞星科技股份有限公司 一种在计算机系统中完全控制文件的方法
CN100389408C (zh) * 2001-11-08 2008-05-21 联想(北京)有限公司 硬盘数据加密备份及还原方法
IL147560A0 (en) * 2002-01-10 2002-08-14 Sphera Technologies Ltd A method and system for hosting a plurality of dedicated servers
US7886291B1 (en) * 2003-06-11 2011-02-08 Symantec Corporation Layer typed prioritizing application layered systems
US7421533B2 (en) * 2004-04-19 2008-09-02 Intel Corporation Method to manage memory in a platform with virtual machines
US7506170B2 (en) * 2004-05-28 2009-03-17 Microsoft Corporation Method for secure access to multiple secure networks
GB2419703A (en) * 2004-10-29 2006-05-03 Hewlett Packard Development Co Isolated virtual overlay infrastructures each having an interface to control interaction with others
JP4845467B2 (ja) 2004-11-08 2011-12-28 株式会社エヌ・ティ・ティ・ドコモ デバイス管理装置、デバイス及びデバイス管理方法
US20060184935A1 (en) * 2005-02-11 2006-08-17 Timothy Abels System and method using virtual machines for decoupling software from users and services
US8370819B2 (en) * 2005-03-25 2013-02-05 Microsoft Corporation Mechanism to store information describing a virtual machine in a virtual disk image
US7779389B2 (en) * 2005-12-30 2010-08-17 Sap Ag System and method for dynamic VM settings
US8234640B1 (en) * 2006-10-17 2012-07-31 Manageiq, Inc. Compliance-based adaptations in managed virtual systems
JP5446860B2 (ja) * 2007-03-27 2014-03-19 日本電気株式会社 仮想マシン運用システム、仮想マシン運用方法およびプログラム
US8245217B2 (en) * 2007-10-12 2012-08-14 Microsoft Corporation Management of software and operating system updates required for the process of creating a virtual machine facsimile of an existing physical or virtual machine
US8276137B2 (en) 2007-10-16 2012-09-25 International Business Machines Corporation Creating a virtual machine containing third party code

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11157296B2 (en) 2007-10-16 2021-10-26 International Business Machines Corporation Creating a virtual machine containing third party code
CN103309690A (zh) * 2012-03-12 2013-09-18 联想(北京)有限公司 处理数据的方法和电子设备
CN104981783A (zh) * 2013-03-07 2015-10-14 思杰系统有限公司 在云计算环境中的动态配置
CN104981783B (zh) * 2013-03-07 2018-02-16 思杰系统有限公司 在云计算环境中的动态配置
US10263842B2 (en) 2013-03-07 2019-04-16 Citrix Systems, Inc. Dynamic configuration in cloud computing environments
US11140030B2 (en) 2013-03-07 2021-10-05 Citrix Systems, Inc. Dynamic configuration in cloud computing environments
US11792070B2 (en) 2013-03-07 2023-10-17 Citrix Systems, Inc. Dynamic configuration in cloud computing environments
WO2015109593A1 (zh) * 2014-01-27 2015-07-30 华为技术有限公司 虚拟化方法和装置及计算机设备
CN105190545A (zh) * 2014-01-27 2015-12-23 华为技术有限公司 虚拟化方法和装置及计算机设备
CN105190545B (zh) * 2014-01-27 2018-12-14 华为技术有限公司 虚拟化方法和装置及计算机设备

Also Published As

Publication number Publication date
KR101159435B1 (ko) 2012-07-13
WO2009050206A3 (en) 2009-07-09
JP2011501846A (ja) 2011-01-13
EP2212781A2 (en) 2010-08-04
KR20100080527A (ko) 2010-07-08
WO2009050206A2 (en) 2009-04-23
US20130014110A1 (en) 2013-01-10
JP5201696B2 (ja) 2013-06-05
US11157296B2 (en) 2021-10-26
CN101828170B (zh) 2013-04-03
US20090100423A1 (en) 2009-04-16
US8276137B2 (en) 2012-09-25

Similar Documents

Publication Publication Date Title
CN101828170B (zh) 用于创建包含第三方代码的虚拟机的方法和系统
CN101661398B (zh) 引导无状态客户端的方法及装置
CN103368767B (zh) 用于在容许故障的因特网云上部署软件应用的方法和系统
US10708135B1 (en) Unified and automated installation, deployment, configuration, and management of software-defined storage assets
US9715380B2 (en) Techniques for enabling dynamic update of device data models
US9578088B2 (en) Globally distributed utility computing cloud
US8099720B2 (en) Translating declarative models
US9934069B2 (en) Managing provisioning of storage resources
EP3374857B1 (en) Dashboard as remote computing services
CN104040525B (zh) 通过网络连接访问覆盖介质
US10951469B2 (en) Consumption-based elastic deployment and reconfiguration of hyper-converged software-defined storage
WO2015060833A1 (en) Sandboxed application data redirection to datacenters
CN103297493A (zh) 有分区意识服务质量特征
JP6951442B2 (ja) シブリング・コール処理のためのコンピュータ・プログラム製品、コンピュータ・システムおよびコンピュータによって実施される方法
US8510707B1 (en) Mainframe-based web service development accelerator
JP2023512153A (ja) セキュリティ・モジュールの予約方法、システム
US8555239B1 (en) Mainframe-based web service development accelerator
US8370195B1 (en) Methods and systems for dynamically reallocating shared computing resources among hosted business applications
US8141072B2 (en) Customized software documentation based on actual configuration values
EP3624027A1 (en) Decision tables and flow engine for building automated flows within a cloud based development platform
WO2023046478A1 (en) Open-source container cluster
JP2022105295A (ja) マイクロサービスのシーケンスをアップグレードするための、コンピュータ実装方法システム、およびコンピュータ・プログラム(クラウド・コンピューティング環境におけるマイクロサービスのシーケンスのアップグレード)
US8650506B2 (en) Use of extensible object data to represent a fully qualified solution order
Rajendran Getting Started with VMware Virtual SAN
US20240168932A1 (en) System and Method for Integrated Multiple Pluggable Systems

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant