CN102413167A - 虚拟和物理企业系统映像 - Google Patents

虚拟和物理企业系统映像 Download PDF

Info

Publication number
CN102413167A
CN102413167A CN2011102889346A CN201110288934A CN102413167A CN 102413167 A CN102413167 A CN 102413167A CN 2011102889346 A CN2011102889346 A CN 2011102889346A CN 201110288934 A CN201110288934 A CN 201110288934A CN 102413167 A CN102413167 A CN 102413167A
Authority
CN
China
Prior art keywords
reflection
workflow
machine
job step
job
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
CN2011102889346A
Other languages
English (en)
Other versions
CN102413167B (zh
Inventor
D·阿勒-阿齐兹
M·卡拉图特鲁
D·伊万诺夫
M·佩里
K·麦吉尼斯
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.)
Ivalley Holding Co Ltd
Original Assignee
Microsoft 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 Microsoft Corp filed Critical Microsoft Corp
Publication of CN102413167A publication Critical patent/CN102413167A/zh
Application granted granted Critical
Publication of CN102413167B publication Critical patent/CN102413167B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • H04L67/306User profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)
  • Stored Programmes (AREA)

Abstract

本发明公开了虚拟和物理企业系统映像。在呈现的网页上提供的网页行为增强(WPBE)控制元件,允许用户在网页内容的至少一部分上执行操作,诸如定制、编辑、分析、转发,和/或注释内容。所处理的内容可被呈现在原始网页上、在网页的本地存储版本上,或从后续使用中获得,其中对原始网页内容的任何改变可被跟踪,并且将改变通知用户。基于诸如web应用程序能力、浏览器能力、用户偏好、使用模式等,可在源web应用程序或在本地浏览器将WPBE控制元件嵌入网页。

Description

虚拟和物理企业系统映像
技术领域
本发明涉及映像,尤其涉及虚拟和物理企业系统映像。
背景技术
现代网络化系统中的软件分发与以前的方法大不相同,以前的方法通常使用诸如软盘或CD-ROM的可移动存储介质来将诸如操作系统、应用程序等的软件安装在各计算设备上。在一些现代网络中,不同软件可供用户下载。在受管计算设备的情况下,当软件的新版本变得可用时,管理员可用软件的新版本重新映像计算设备。
然而,即使使用重新映像,软件的部署可能需要相当长的时间。在具有复杂的分布式网络(诸如数据中心、测试实验室,和/或构建实验室)的企业系统中,大量机器可能相对频繁地需要软件的新版本,耗费在部署软件上的时间可能对于总体效率和性能具有负面影响。此外,一些系统可能包括物理机和虚拟机,其中对于两种类型的映像部署可能不被支持或需要相当多的定制。遍布不同地理区域的大量设施可能在部署和控制映像部署过程中呈现复杂性。此外,在一些情况中整个部署可能不是统一的,也就是一些用户可能需要软件包的经定制版本。
发明内容
提供本发明内容是为了以简化的形式介绍将在以下具体实施方式中进一步描述的一些概念。本发明内容并非旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用于帮助确定所要求保护的主题的范围。
各实施例用于全局-可缩放映像/重新映像方法,通过提供集中式地主存的虚拟化环境来允许虚拟和物理机映像的部署、激活,和准备,迅速地减少硬件(诸如测试计算设备)的利用成本以及特定物理硬件的成本。根据一些实施例,提供可扩展受管开发平台,用于缩放虚拟化解决方案并用于提供可编程性(例如虚拟化应用编程接口API),用于开发自定义情形、脚本,和工具。
通过阅读下面的详细描述并参考相关联的附图,这些及其他特点和优点将变得显而易见。可以理解,前述一般描述和以下具体实施方式均仅是说明性的,且不限制所要求保护的各方面。
附图说明
图1示出了可实现各实施例的具有物理和虚拟机的示例软件部署系统;
图2示出了根据各实施例,在映像系统中的物理和虚拟计算设备时可如何采用虚拟化API的不同的层。
图3是示出了根据一些实施例,可在映像虚拟和物理计算设备时采用的有限状态机管理器(FSM)系统的操作的图示;
图4示出了创建虚拟机的示例高速缓存树;
图5示出了与虚拟和物理计算设备映像相关联的活动的工作流执行中工作流主机的过程步骤;
图6示出了根据各实施例可在映像系统中实现的虚拟化API的三层结构;
图7是其中可实现根据各实施例的系统的联网环境;
图8是其中可实现各实施例的示例计算操作环境的框图;以及
图9示出根据各实施例的虚拟和物理企业系统映像的过程的逻辑流程图。
具体实施方式
如前简述,全局-可缩放映像/重新映像系统,通过提供集中式地主存的虚拟化环境来允许虚拟和物理机映像的部署、激活,和准备,迅速地减少硬件(诸如测试计算设备)的利用成本以及特定物理硬件的成本。在以下详细描述中,参考了构成详细描述的一部分并作为说明示出各具体实施例或示例的附图。可组合这些方面,可利用其他方面,并且可以做出结构上的改变而不背离本发明的精神或范围。因此,以下具体实施方式并不旨在限制,并且本发明的范围由所附权利要求及其等效方案来限定。
虽然在结合在个人计算机上的操作系统上运行的应用程序执行的程序模块的一般上下文中描述了各实施方式,但是本领域技术人员会认识到各方面也可以结合其他程序模块实现。
一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、组件、数据结构和其它类型的结构。此外,如本领域技术人员理解的,各实施例可以用其他计算机系统配置来实施,包括手持式设备、多处理器系统、基于微处理器或可编程消费者电子产品、小型计算机、大型计算机以及类似计算设备。各实施方式还能在任务由通过通信网络链接的远程处理设备来执行的分布式计算环境中实现。在分布式计算环境中,程序模块可位于本地和远程存储器存储设备两者中。
各实施例可被实现为计算机实现的过程(方法)、计算系统、或者如计算机程序产品或计算机可读介质等制品。计算机程序产品可以是计算机系统可读并且编码包括用于使得计算机或计算系统执行示例过程的指令的计算机程序的计算机存储介质。计算机可读存储介质可例如通过易失性计算机存储器、非易失性存储器、硬盘驱动器、闪存驱动器、软盘或紧致盘以及类似存储介质中的一个或多个来实现。
贯穿本说明书,术语“平台”可以是用于通过映像的软件分发的软件和硬件组件的组合。平台的示例包括但不限于,在多个服务器上执行的托管服务、在单个服务器上执行的应用程序以及类似系统。术语“服务器”一般指通常在联网环境中执行一个或多个软件程序的计算设备。然而,服务器还可被实现为视作网络上的服务器的、在一个或多个计算设备上执行的虚拟服务器(软件程序)。术语“客户机”和“机器”指计算设备,根据各实施例从系统接收新的映像。这样的设备可包括台式计算机、膝上型计算机、移动计算机、手持计算机、专用计算机,以及类似设备。关于这些技术和示例操作的更多细节在以下提供。
图1示出了可实现各实施例的具有物理和虚拟机的示例软件部署系统。各实施例允许在诸如数据中心、测试实验室、软件构建实验室,和用户桌面的复杂的分布式网络中,以可缩放形式高效方式的计算设备映像的快速部署。通常,基于非面向对象语言的系统存在高的代码维护成本和调试成本,而缺少可靠的稳定性、类型安全,和可扩展性。采用API的内置受管代码接口级别兼容性和自动代码生成,根据各实施例的重新映像系统允许为软件的新版本快速重新生成代码。
此外,根据各实施例的系统支持利用高速缓存树方法的混合的物理和虚拟映像部署。通过分层设计以及工作流主机的多机器设计,系统允许任意可缩放性。此外,映像部署可集中式地在设施和在用户的桌面机器上被管理,允许开发者、测试者,和操作者快速地定制部署他们的虚拟映像。此外,根据某些实施例的系统也支持自动域加入和基于角色的安全。其他实施例,通过将高速缓存树方法用于映像还原(将部署时间从分钟或小时减少为秒)、与存储区域网络“SAN”克隆集成、去重复,以及面向对象的可扩展性,可支持大规模设计(例如,上千的虚拟机和控制器)。
图100示出了示例性系统,其中服务器102管理到各物理和虚拟机的软件分发。这样的机器的示例包括,但不限于,台式计算机104、膝上型计算机106、手持计算机108、虚拟计算机110和112。机器可能是测试环境、软件构建环境,或类似计算设备分组的一部分,其中各种配置的软件构建以集中式受管方式分发。
图2示出了根据各实施例,在映像系统中的物理和虚拟计算设备时可如何采用虚拟化API的不同的层。如图200所示,虚拟化API结构,包括受管API包装器的层1(260)、接口以及标准类实现的层2(254)连同层2接口的定制实现(258),以及虚拟或物理的机器的每个池的堆叠服务(例如作业步(job step)、任务等)的层3(252)连同可插入的作业步256。
消费者220可通过云层222发送请求,该请求被路由到实现层3(224)的服务器226。服务器226可创建工作流并且与(228和236分别地)实现层3的服务器230和238进行交互,其与各机器池交互(计算机232和234用于服务器230;计算机242、246,和250用于服务器236)。计算机242、246,和250示为(240、244,和248分别地)实现层1和2。
根据各实施例的系统可包括机器管理服务,提供标准和定制作业步的中央存储库(存储)。机器管理服务可初始化主操作系统并部署创建和运行虚拟机所需的相关部件。主机可在预初始化阶段被设置。也可以结合主机初始化提供网络初始化。
可通过安全组来提供对到有限状态机管理(FSM)、主机,和客户机的凭证的安全通信的支持,其可被添加到允许来自客户机的访问控制和作业提交的机器组。用户可被允许通过中央站点添加他们自己,并且组所有者可决定是否将许可给予特定用户以在组要被添加到的机器上部署映像。
图3是示出了根据一些实施例,可在映像虚拟和物理计算设备时采用的有限状态机管理器(FSM)系统的操作的图示。图300中示出的FSM系统提供对当前运行在映像系统中的作业的作业步执行、跟踪、日志记录,以及状态报告的机器状态串行化/去串行化功能。
一旦请求从任何客户机376经由web服务374而来,FSM需要处理作业提交的工作流。Web服务374是与系统的单点通信,用于客户机与控制器368、370或数据库384进行通信。机器管理和作业工作流组件的数据访问层可被用来启动通信。FSM控制器368、370可通过web服务374与数据库384进行通信,使得数据库可从另一机器物理地解耦合。系统可适应几个FSM服务器控制器,如所示,为可缩放性而提供。系统也可适应几个可连接到FSM服务器的松散耦合的FSM客户机。诸如客户机376的一些映像系统客户机可通过服务器连接器插件372连接到服务器。
FSM可基于由用户从客户机发送到web服务的请求来选择工作流,获取作业步需要在其上运行的机器上的元数据,并向FSM客户机发送工作流用于执行。FSM客户机(362,364)创建独立的工作流。对于过多的作业请求抵达服务器并被发送到FSM客户机的情况,系统也提供在几个客户机之间分发工作流的功能。每个应用域366被用于运行单个工作流。FSM不将任务发送到具有WMI的单个客户机。相反,作业步它们本身可在FSM客户机362、364上运行,并且远程地执行在要被映像的机器388上的任务。SAN存储设备378可被用于存储已高速缓存的虚拟映像。
工作流执行可根据请求停止/暂停/以及恢复。进行中的作业步可在它们开始时被串行化,因此数据库384也被用于保证存留。如果在任何点,基础架构中的一个机器停机、重启,或被替换,作业需要能够停止并且一旦故障被解决就恢复。根据各实施例的系统提供删除作业和销毁还没有运行的作业步的功能。在用户已经错误地发送了映像作业并选择了错误的应用程序版本或组件,并且当作业正在运行时意识到错误的情况中,用户需要能够删除部署。如果部署针对虚拟机并且需要重新映像,虚拟机可被删除。如果目标是物理机,操作系统部署可能需要被完成,并且机器再次带回操作状态。如果作业步需要映像传输,在该映像的部分先前已经下载到机器的情况下,该映像的相关部分可被发现并传输。可利用压缩算法来便于数据传输。根据其他实施例,系统可将每个作业步的状态(382)(诸如通过/失败和/或详细信息)报告回客户机。
Web服务器374是客户机、FSM控制器和存留之间的高级别接口。如果数据库384需要被改变,例如,改变为文本文件,FSM控制器、客户机和web服务可以不需要任何改变。对应的客户机库可被替换并且指向另一数据源。需要安装者凭证的作业步可通过来自FSM服务器的调用接收凭证。系统帐户的帐号和密码可被加密并存储在服务器(或数据库384)上。高速缓存树结构也存储于数据库384上。
图4示出了创建虚拟机的示例高速缓存树。对于最佳映像还原性能、盘空间利用、补丁/版本管理,以及可缩放性,根据一些实施例的系统可对SAN和对桌面部署两者实现映像高速缓存。可将具有相同操作系统和不同配置(例如不同的已安装应用程序、应用程序配置、自动化部件等)的映像创建为一系列差异盘文件。当被部署时,这些可根据作业步一个接一个地添加。
一个作业包含一个或多个作业步。如图400中示出的高速缓存树可被用来跨作业共享这些作业步的状态,由于这些作业步的一些或全部可被预高速缓存,执行作业所需的时间减少。相同的方法也可被用来减少在中央SAN虚拟场部署中使用的盘空间的量以及I/O足迹。
如果作业包含非可高速缓存作业步接着可高速缓存步,在非可高速缓存作业步之后运行的可高速缓存步可被当做非可高速缓存作业步来对待。换言之,如果一作业步被标注为可高速缓存并且在它前面没有执行过非可高速缓存步,则该作业步可被高速缓存。
如果新的软件构建进入,在特定任务的第一执行期间可按需创建新的根映像并且重新构建树分枝。老的分可被移除(“修剪”)。在树修剪之后,最近使用的映像可被自动创建。高速缓存功能可被实现为包含通用接口的单独组件。树结构可被存储在结构化数据库中。为确保数据库和SAN内容之间的一致性,可实现受限许可配置,使得仅允许高速缓存引擎向高速缓存添加映像。可采用附加的工具来确保一致性,并且如果数据变坏则重新构建树。
图400中的示例高速缓存树被用来创建3个虚拟机。这三个机器全都接收相同的操作系统402和操作系统配置,诸如语言、版本等。这些机器也接收相同的框架404(例如华盛顿州雷蒙德市的微软公司的NET框架)。框架向通用编程问题以及管理专门为框架所写的程序的执行的虚拟机提供已编码方案的库。框架的库可提供一定范围的特征,包括用户接口、数据访问、数据库连接、密码技术、web应用程序开发、数字算法,以及网络通信。因此,三个机器的映像作业包括安装相同的操作系统和框架的通用作业步,为使用该树的全部作业高速缓存了该作业步。
虚拟机之一要用图形用户界面部件412和其他应用程序414的版本1来映像,而其他两个虚拟机接收图形用户界面部件422和其他应用程序424的版本2。因此,即使全部三个机器接收相同的设置工具,作业步被拆分成作业树分支上的针对第一机器和第二/第三机器的两个分开的节点(416,426)。非高速缓存步418、428,和430,诸如改变机器的名称、加入域等分别安排在每个机器的高速缓存步之后。由于虚拟机二和三共享相同的已高速缓存组件和配置,它们的分支仅在非高速缓存步之前被拆分。
在根据各实施例的系统中,执行这些步的第一机器成功执行可高速缓存步。第二机器找到上一个可用的已高速缓存的步并执行最后的非可高速缓存步。
图5示出了与虚拟和物理计算设备映像相关联的活动的工作流执行中工作流主机的处理步骤。工作流主机提供对当前正在运行的作业的作业步执行、跟踪、日志记录,以及状态报告的机器状态串行化/去串行化功能。
由虚拟化服务使用的有限状态机管理器(FSM)来部署、配置,以及更新虚拟主机。FSM提供可定制的安全、通用工作流管理,以及对特定作业步的支持。FSM可利用与其客户机的安全通信并允许对工作流的完全控制。
工作流包可包括基础FSM工作流库、要被实现的任何定制作业步、工作流需要的任何定制工具,以及描述该过程的工作流定义文件。FSM客户机与FSM主机松散地耦合,因此,任何开发者可开发定制客户机(532)并将其与FSM主机(534)集成。FSM客户机需要使用安全的远程信道与主机通信,并且如果使用“看门人”(其是FSM主机中用于认证和授权客户机的额外的部件),FSM客户机需要运行在可被主机(536)认证的用户帐号下,和/或具有主机知晓的IP。如果看门人部件被启动,主机可使用来自它的配置文件的信息来认证客户机和用户凭证。主机可确保工作流定义是有效的(542),并且所需类型可被解析,以防止在执行工作流时(540)的进一步问题。工作流开始,并且当事件发生时它们被发回客户机(538),直到捕捉到异常或工作流结束(544)。主机可解除用于执行工作流的资源分配(544)。
图6示出了根据各实施例可在映像系统中实现的虚拟化API的三层结构。此处描述的由映像系统使用的虚拟化API可包括两层659和658。第三层654可被用于将虚拟化API展示在云层用于第四层652(消费者)来消费。
第一层658是虚拟化受管API,使用强类型化的包装器来减轻程序性错误并将错误推入编译时。第一层658通过互操作性系统管理层660与操作系统接口662交互。操作系统接口可包括华盛顿州雷蒙德市的微软公司的Windows管理工具
Figure BSA00000581976900081
(WMI),它是到驱动程序模型的扩展集,提供了操作系统接口用于规范化组件以提供信息和提示。此外,更多的操作系统接口的通用示例包括基于web的企业管理(WBEM),其定义了一组环境无关的规范,允许管理信息在管理应用程序之间共享。WMI模型表示受管环境,通过该受管环境来自任何源的管理数据可以以常规方式来访问,以便统一分布式计算环境的管理。
第二层656是类结构层,将框架命名空间包装为更内聚的类结构,并实现可扩展性类。第二层656可将类以逻辑方式展示给开发者,允许开发者更有效地指向虚拟化自动化,并且无需类关系的先验知识。
服务提供者级别层(即“云层”)集成客户机并且具有用于作业步的接口。第三层654定义传输类(例如,用于“拉”布局的web服务,用于“推”布局的TCP等)。由第四层652表示的消费者通过云层与系统交互。
总而言之,虚拟化API创建强类型化的受管API包装器用于WMI类实现,向开发者提供受管框架来对虚拟化API进行设计,用错误代码处理来解决问题,消除对引用WMI文档的需求,提供类结构用于构建虚拟化部署应用程序,并创建可扩展框架供开发者使用。
图1到6中的示例系统、组件和交互是用于示例的目的,并且不构成对各实施方式的限制。虚拟和物理企业系统映像可用使用此处描述的原理的其他组件、交互、数据处理/存储方法,以及配置来实现。
图7是可以实现各实施例的示例联网环境。提供虚拟和物理企业系统映像的平台可通过在一个或多个服务器774或诸如主存服务的单个服务器776上执行的软件来实现。该平台可以通过网络770与诸如手持计算机773、膝上型计算机772、或台式计算机771(“客户机设备”)等客户机计算设备进行通信。
如上所讨论,根据各实施例的用于虚拟和物理机器映像的快速部署、激活和准备的全局映像/重新映像平台提供集中式地主存的虚拟化环境。可扩展受管开发平台允许可缩放虚拟化解决方案,并通过虚拟化API提供可编程性,用于开发定制环境、脚本,和工具。平台可直接或通过数据库服务器778,在数据存储779存储映像数据和从数据存储779检索映像数据。
网络770可包括服务器、客户端、因特网服务供应商、以及通信介质的任何拓扑结构。根据各实施例的系统可具有静态或动态拓扑结构。网络770可包括诸如企业网络等安全网络、诸如无线开放网络等非安全网络、或因特网。网络770还可通过诸如公共交换电话网络(PSTN)或蜂窝网络等其他网络来协调通信。此外,网络770可包括诸如蓝牙或类似网络等短程无线网络。网络770提供此处描述的节点之间的通信。作为示例而非限制,网络770可包括诸如声学、RF、红外线和其他无线介质等无线介质。
可以采用计算设备、应用程序、数据源和数据分发系统的许多其它配置来实现虚拟和物理企业映像。此外,图7中所讨论的联网环境仅用于说明目的。各实施方式不限于示例应用程序、模块、或过程。
图8及相关联的讨论旨在提供对其中可实现各实施方式的合适计算环境的简要概括描述。参考图8,示出了根据各实施例的、诸如计算设备800等用于应用程序的示例计算操作环境的框图。在基本配置中,计算设备800可以是提供映像服务的服务器并且包括至少一个处理单元802和系统存储器804。计算设备800还可包括协作执行程序的多个处理单元。取决于计算设备的确切配置和类型,系统存储器804可以是易失性的(如RAM)、非易失性的(如ROM、闪存等)或是两者的某种组合。系统存储器804通常包括适于控制平台的操作的操作系统805,例如来自华盛顿州雷德蒙市的微软公司的WINDOWS
Figure BSA00000581976900101
操作系统。系统存储器804还可以包括一个或多个软件应用程序,诸如程序模块806和映像服务822。
映像服务822可以是应用程序或维持不同的配置的主存的服务,包括软件包的已定制版本,用于通过映像或重新映像分发到计算设备。映像服务822可利用多层的虚拟化和高速缓存树,以如前所述地高效地分发软件包。该基本配置在图8中由虚线808内的那些组件示出。
计算设备800可以具有附加特征或功能。例如,计算设备800还可包括附加数据存储设备(可移动和/或不可移动),例如磁盘、光盘或磁带。在图8中通过可移动存储809和不可移动存储810示出这种附加存储。计算机可读介质可包括以用于存储诸如计算机可读指令、数据结构、程序模块或其它数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。系统存储器804、可移动存储809和不可移动存储810都是计算机可读介质的示例。计算机可读存储介质包括但不限于,RAM、ROM、EEPROM、闪存或其它存储器技术,CD-ROM、数字多功能盘(DVD)或其它光学存储,磁带盒、磁带、磁盘存储或其它磁存储设备,或能用于存储所需信息且能够由计算设备800访问的任何其它介质。任何这样的计算机可读介质都可以是计算设备800的一部分。计算设备800也可具有输入设备812,诸如键盘、鼠标、笔、语音输入设备、触摸输入设备和类似输入设备。还可包括输出设备814,诸如显示器、扬声器、打印机和其他类型的输出设备。这些设备在本领域中公知并且无需在此处详细讨论。
计算设备800还可以包含允许该设备与其他设备816通信的通信连接818,诸如通过分布式计算环境中的无线网络、卫星链接、蜂窝链接和类似机制。其他设备818可包括接收软件的新的/已更新的版本的映像的计算机设备。通信连接816是通信介质的一个示例。通信介质包括计算机可读指令、数据结构、程序模块和已调制数据信号中的其他数据,例如载波或其它传输机制,并且包含任何信息传递介质。术语“已调制数据信号”是指一个或多个特征以在信号中编码信息的方式被设定或改变的信号。作为示例而非限制,通信介质包括诸如有线网络或直接线连接之类的有线介质,以及诸如声学、RF、红外及其他无线介质之类的无线介质。
各示例实施例还包括各种方法。这些方法可以用任何数量的方式,包括本文中所描述的结构来实现。一种此类方式是通过本文中描述的类型的设备的机器操作。
另一可任选方式是结合一个或多个人类操作者执行该方法的各个操作中的某一些来执行该方法的一个或多个操作。这些人类操作者无需彼此同在一处,而是其每一个可以仅与执行程序的一部分的机器同在一处。
图9示出根据各实施例提供虚拟和物理企业系统映像的过程900的逻辑流程图。过程900可被实现在管理用于多个联网的计算设备的软件分发的服务器上。
过程900从可任选操作910开始,在那里接收开发者创建的已定制的部署作业并用机器管理数据库注册。可替换地,部署作业可被注册为与系统一起提供的现有的操作系统部署作业。在操作920,已分配的机器池的映像作业可通过系统用户接口从映像系统的用户接收。在操作930,映像作业可被传输到连接到机器管理数据库和对应的工作流主机之一的机器管理服务(例如web服务)。接着,在操作940,机器管理服务可向工作流主机请求作业,并向工作流主机提供相关的机器配置数据上下文。
在操作950,工作流主机可创建链接到配置上下文的工作流,并在该上下文描述的特定目标计算机上使用远程调用来执行该上下文内的每个作业步。在操作960,一旦每个作业步被激活,作业步库可激活结合到根作业步类的高速缓存树逻辑以从高速缓存树中检索与该作业步相关联的映像。依据上下文,如果SAN被设置为目标,可使用克隆高速缓存来进行映像检索,如果使用台式PC,可使用压缩算法来进行映像检索。一旦映像被部署,定制作业步逻辑可被激活以合适的受管类提供。在操作970,在完成定制逻辑任务后,结果可被添加回高速缓存树作为新的克隆,或被添加到桌面高速缓存作为差异盘,并且高速缓存树扩展到直接支持具有类似要求的其他机器而无需再执行定制作业步逻辑。这允许大批映像,其中涉及具有相同映像部署的大量机器。代替使全部机器花费时间来创建高速缓存树,机器时间利用被最小化到单个主机器。
在操作980,高速缓存树中的下一作业步在当前作业步完成后以迭代的方式开始,直到工作流完成。当工作流完成时,结果可被发回机器管理,其被反映在数据库中,以及请求由来自机器管理服务的回调提示通知客户机的作业中。
包括在过程900内的各操作仅出于说明目的。根据各实施例的虚拟和物理企业系统映像可以使用此处所述的各原理通过具有更少或更多步骤的相似过程、以及不同的操作次序来实现。
以上说明书、示例和数据提供了对各实施方式组成的制造和使用的全面描述。尽管用结构特征和/或方法动作专用的语言描述了本主题,但是可以理解,所附权利要求书中定义的主题不必限于上述具体特征或动作。相反,上述具体特征和动作是作为实现权利要求和各实施例的示例形式而公开的。

Claims (15)

1.一种至少部分地在计算设备中执行的用于企业系统映像的方法,所述方法包括:
接收映像作业请求(920);
基于所述映像作业请求的配置上下文创建包含作业步的工作流(950);
执行所述工作流,其中为每个作业步从高速缓存树中检索与每个作业步相关联的映像(950-980);
如果为一作业步创建了映像,则用新创建的映像更新所述高速缓存树(970);以及
通过回调通知提交所述映像作业请求的客户机(990)。
2.如权利要求1所述的方法,其特征在于,还包括:
接收开发者创建的已定制的部署作业(910);以及
注册所述已定制的部署作业。
3.如权利要求1所述的方法,其特征在于,还包括:
将所接收的映像作业请求传输到机器管理服务(930);以及
向工作流主机请求所述映像作业,其中所述工作流主机执行所述工作流(940)。
4.如权利要求3所述的方法,其特征在于,所述机器管理服务(230)管理多个工作流主机(242,246,250)。
5.如权利要求1所述的方法,其特征在于,还包括:
如果映像作业的目标是存储区域网络SAN(378),则采用克隆高速缓存用于映像检索;以及
如果映像作业的目标是计算机(388),则采用压缩算法用于映像检索。
6.如权利要求1所述的方法,其特征在于,所述工作流还包括用于接收所述映像的机器的自动域加入和重新命名(418)。
7.一种用于提供计算设备的映像的系统,所述系统包括:
有限状态机管理器FSM客户机,被配置用于:
接收开发者创建的已定制的部署作业(910);
用机器管理服务注册所述已定制的部署作业;
执行机器管理服务的机器管理服务器,被配置用于:
向工作流主机提供机器配置数据上下文(930);
向所述工作流主机请求映像作业(940);以及
执行至少一个工作流主机的FSM服务器,被配置用于:
基于与所述映像作业请求相关联的机器配置上下文创建包含作业步的工作流(950);
执行所述工作流,其中为每个作业步从高速缓存树中检索与每个作业步相关联的映像(950-980);
如果为一作业步创建了映像,则用新创建的映像更新所述高速缓存树(970);以及
在所述工作流完成之后,向所述机器管理服务提供所述工作流执行的结果(990)。
8.如权利要求7所述的系统,其特征在于,所述系统采用虚拟化服务(645),所述虚拟化服务包括:包含受管应用编程接口API的第一层(658),包含用于类的实现的接口的第二层(656),以及包含要被映像的每个机器池的堆叠服务的第三层(654)。
9.如权利要求8所述的系统,其特征在于,所述FSM服务器(226)还被配置来提供与以下一组中的至少一个相关联的功能:对当前运行在所述系统中的作业的作业步执行、跟踪、日志记录,以及状态报告的机器状态的串行化/去串行化。
10.如权利要求7所述的系统,其特征在于,所述FSM服务器还被配置成:
如果所述映像作业的目标是需要重新映像的虚拟机,则删除所述虚拟机;以及
如果所述映像作业的目标是物理机器(388),则部署操作系统(402)并将机器带入操作状态;
如果作业步需要映像传输,则发现要被部署的映像的相关部分;以及
如果所述映像的部分已经被下载到目标机器,则传输所述映像。
11.如权利要求7所述的系统,其特征在于,所述FSM服务器还被配置成在工作流执行(540)完成之后解除资源分配。
12.一种其上存储有用于企业系统映像的指令的计算机可读存储介质,所述指令包括:
接收开发者创建的已定制的部署作业(910);
用机器管理服务注册所述已定制的部署作业;
接收映像作业请求(920);
将所接收的映像作业请求传输到所述机器管理服务(930);
由所述机器管理服务向工作流主机请求所述映像作业,其中所述工作流主机执行所述工作流(940)。
在所述工作流主机创建工作流,所述工作流包括基于所述映像作业请求的配置上下文的作业步(950);
在所述工作流主机执行所述工作流,其中为每个作业步从高速缓存树中检索与每个作业步相关联的映像(950-980);
如果为一作业步创建了映像,则用新创建的映像更新所述高速缓存树(970);以及
通过从所述机器管理服务的回调来通知提交所述映像作业请求的客户机(990)。
13.如权利要求12所述的计算机可读存储介质,其特征在于,所述作业步在其开始时被串行化以确保存留(950)。
14.如权利要求12所述的计算机可读存储介质,其特征在于,所述高速缓存树(400)被用来跨多个被请求的作业共享作业步的状态。
15.如权利要求12所述的计算机可读存储介质,其特征在于,跟随非可高速缓存作业步之后要执行的可高速缓存的作业步被当做非可高速缓存作业步。
CN201110288934.6A 2010-09-13 2011-09-13 虚拟和物理企业系统映像 Active CN102413167B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/880,934 US8544007B2 (en) 2010-09-13 2010-09-13 Customization, deployment and management of virtual and physical machine images in an enterprise system
US12/880,934 2010-09-13

Publications (2)

Publication Number Publication Date
CN102413167A true CN102413167A (zh) 2012-04-11
CN102413167B CN102413167B (zh) 2014-10-29

Family

ID=45807935

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110288934.6A Active CN102413167B (zh) 2010-09-13 2011-09-13 虚拟和物理企业系统映像

Country Status (2)

Country Link
US (1) US8544007B2 (zh)
CN (1) CN102413167B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104838365A (zh) * 2012-12-13 2015-08-12 西部数据技术公司 用于配置可启动映像至外部驱动器上的方法和系统
CN110472881A (zh) * 2019-08-21 2019-11-19 重庆华医康道科技有限公司 基于区块链的状态机工作流引擎及分布式存储的工作方法

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8346935B2 (en) 2010-01-15 2013-01-01 Joyent, Inc. Managing hardware resources by sending messages amongst servers in a data center
US20120216052A1 (en) * 2011-01-11 2012-08-23 Safenet, Inc. Efficient volume encryption
US8555276B2 (en) 2011-03-11 2013-10-08 Joyent, Inc. Systems and methods for transparently optimizing workloads
US8782224B2 (en) 2011-12-29 2014-07-15 Joyent, Inc. Systems and methods for time-based dynamic allocation of resource management
US8547379B2 (en) 2011-12-29 2013-10-01 Joyent, Inc. Systems, methods, and media for generating multidimensional heat maps
US8826279B1 (en) 2013-03-14 2014-09-02 Joyent, Inc. Instruction set architecture for compute-based object stores
US8943284B2 (en) 2013-03-14 2015-01-27 Joyent, Inc. Systems and methods for integrating compute resources in a storage area network
US8881279B2 (en) 2013-03-14 2014-11-04 Joyent, Inc. Systems and methods for zone-based intrusion detection
US8677359B1 (en) 2013-03-14 2014-03-18 Joyent, Inc. Compute-centric object stores and methods of use
US9104456B2 (en) 2013-03-14 2015-08-11 Joyent, Inc. Zone management of compute-centric object stores
US9092238B2 (en) 2013-03-15 2015-07-28 Joyent, Inc. Versioning schemes for compute-centric object stores
US8775485B1 (en) 2013-03-15 2014-07-08 Joyent, Inc. Object store management operations within compute-centric object stores
US8793688B1 (en) 2013-03-15 2014-07-29 Joyent, Inc. Systems and methods for double hulled virtualization operations
WO2014184799A2 (en) * 2013-04-15 2014-11-20 P Ashok Anand Workflow execution system and method for cloud environment
US9141364B2 (en) 2013-12-12 2015-09-22 International Business Machines Corporation Caching and analyzing images for faster and simpler cloud application deployment
US9946632B1 (en) * 2014-09-29 2018-04-17 EMC IP Holding Company LLC Self-service customer escalation infrastructure model
US10409562B2 (en) * 2017-03-14 2019-09-10 Ciambella Ltd. Method and apparatus for automatically generating and incorporating code in development environments
US10191732B2 (en) * 2017-06-09 2019-01-29 Citrix Systems, Inc. Systems and methods for preventing service disruption during software updates
US10831485B1 (en) * 2017-09-01 2020-11-10 Workday, Inc. Flexible modular pipelined analytics
US10649812B1 (en) 2017-09-01 2020-05-12 Workday, Inc. Computation using tenant and commingling processors
US11954007B2 (en) * 2022-04-20 2024-04-09 International Business Machines Corporation Tracking usage of common libraries by means of digitally signed digests thereof

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1573701A (zh) * 2003-06-24 2005-02-02 微软公司 分布式构建环境中的软件映像创建
US20070294332A1 (en) * 2006-06-19 2007-12-20 Microsoft Corporation Processing device for end customer operation
CN101147129A (zh) * 2004-10-22 2008-03-19 阿登斯公司 用于缓存对计算机网络中共享的映像的读取请求的方法和系统
US20090083404A1 (en) * 2007-09-21 2009-03-26 Microsoft Corporation Software deployment in large-scale networked systems

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6918112B2 (en) * 2000-11-29 2005-07-12 Microsoft Corporation System and method to facilitate installation of components across one or more computers
US8209680B1 (en) 2003-04-11 2012-06-26 Vmware, Inc. System and method for disk imaging on diverse computers
US7290258B2 (en) * 2003-06-25 2007-10-30 Microsoft Corporation Managing multiple devices on which operating systems can be automatically deployed
US8086659B2 (en) * 2003-06-25 2011-12-27 Microsoft Corporation Task sequence interface
US7814126B2 (en) * 2003-06-25 2010-10-12 Microsoft Corporation Using task sequences to manage devices
JP4946088B2 (ja) * 2006-02-17 2012-06-06 株式会社日立製作所 業務運用環境の構築方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1573701A (zh) * 2003-06-24 2005-02-02 微软公司 分布式构建环境中的软件映像创建
CN101147129A (zh) * 2004-10-22 2008-03-19 阿登斯公司 用于缓存对计算机网络中共享的映像的读取请求的方法和系统
US20070294332A1 (en) * 2006-06-19 2007-12-20 Microsoft Corporation Processing device for end customer operation
US20090083404A1 (en) * 2007-09-21 2009-03-26 Microsoft Corporation Software deployment in large-scale networked systems

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104838365A (zh) * 2012-12-13 2015-08-12 西部数据技术公司 用于配置可启动映像至外部驱动器上的方法和系统
CN104838365B (zh) * 2012-12-13 2019-07-02 西部数据技术公司 用于配置可启动映像至外部驱动器上的方法和系统
CN110472881A (zh) * 2019-08-21 2019-11-19 重庆华医康道科技有限公司 基于区块链的状态机工作流引擎及分布式存储的工作方法

Also Published As

Publication number Publication date
US20120066682A1 (en) 2012-03-15
US8544007B2 (en) 2013-09-24
CN102413167B (zh) 2014-10-29

Similar Documents

Publication Publication Date Title
CN102413167B (zh) 虚拟和物理企业系统映像
US20210289021A1 (en) System and method for using a container logic structure to control computing operations
JP6438144B2 (ja) リソース構成システム、リソース構成方法及びリソース構成プログラム
US9354987B2 (en) Systems and methods for out-of-band backup and restore of hardware profile information
CN102571906B (zh) 打补丁期间机器的高可用性
CN113678100A (zh) 软件定义存储资产的统一和自动安装、部署、配置和管理
EP2820539B1 (en) Distribution of application files
EP3588296A1 (en) Dynamically scaled hyperconverged system
CN114008605A (zh) 大数据应用生命周期管理
US9830135B2 (en) Declarative and pluggable business logic for systems management
US8832369B2 (en) Systems and methods for remote raid configuration in an embedded environment
JP2018533125A (ja) ビジュアルコンテンツ開発
CN101916172B (zh) 一种基于虚拟磁盘映像逻辑分割的按需软件分发方法
CN102193817B (zh) 简化物理和虚拟部署的管理
US20110314466A1 (en) Creating instances of cloud computing environments
US20150220325A1 (en) Agile framework for vertical application development and delivery
CN103493011A (zh) 与库操作系统的应用兼容性
CN103036986A (zh) 在分布式应用对象上提供更新通知
CN102571905A (zh) 为在线服务管理网络和机器
US9459859B2 (en) Template derivation for configuration object management
US20150220327A1 (en) Extensible data model and service for infrastructure management
CN102523101A (zh) 机器管理器服务结构
US9626251B2 (en) Undo configuration transactional compensation
CN102147740B (zh) 通过流存储的快速机器引导
US10768961B2 (en) Virtual machine seed image replication through parallel deployment

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
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150428

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20150428

Address after: Washington State

Patentee after: Micro soft technique license Co., Ltd

Address before: Washington State

Patentee before: Microsoft Corp.

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20160630

Address after: Grand Cayman, Georgetown, Cayman Islands

Patentee after: IValley Holding Co., Ltd.

Address before: Washington State

Patentee before: Micro soft technique license Co., Ltd