CN101681256A - It自动化装置成像系统和方法 - Google Patents

It自动化装置成像系统和方法 Download PDF

Info

Publication number
CN101681256A
CN101681256A CN200880015525A CN200880015525A CN101681256A CN 101681256 A CN101681256 A CN 101681256A CN 200880015525 A CN200880015525 A CN 200880015525A CN 200880015525 A CN200880015525 A CN 200880015525A CN 101681256 A CN101681256 A CN 101681256A
Authority
CN
China
Prior art keywords
domain
image library
file
reflection
data
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
CN200880015525A
Other languages
English (en)
Other versions
CN101681256B (zh
Inventor
M·卡辛
M·格雷
M·莱文斯基
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.)
Kace Networks Inc
Original Assignee
Kace Networks Inc
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 Kace Networks Inc filed Critical Kace Networks Inc
Publication of CN101681256A publication Critical patent/CN101681256A/zh
Application granted granted Critical
Publication of CN101681256B publication Critical patent/CN101681256B/zh
Expired - Fee Related 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/4401Bootstrapping
    • G06F9/4416Network booting; Remote initial program loading [RIPL]

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Stored Programmes (AREA)

Abstract

提供一种用于将映像从被管理端点的本地盘采集到映像库的系统、方法和计算机程序产品。在用于采集映像的方法的一个实施例中,向被管理端点提供引导映像,该引导映像使端点将RAM盘实例化并且从RAM盘执行引导映像。引导映像用来通过确定被管理端点的本地盘上的尚未存储于映像库中的将包括在映像中的数据来采集映像。在一个实施例中,通过比较基于本地盘上的数据计算的散列与映像库中的数据的散列来完成。然后将尚未存储于映像库中的数据复制到映像库。

Description

IT自动化装置成像系统和方法
相关申请的交叉引用
本申请要求2007年3月23日提交的美国临时申请No.60/896,857以及2008年1月28日提交的美国发明专利申请No.12/021,143的优先权,在此通过引用它们将其整体并入。
技术领域
本发明主要地涉及信息技术(IT)系统,并且更具体地涉及用于在企业环境中对IT解决方案进行自动化和部署的系统和方法。
背景技术
常常希望管理企业内的机器。一项管理任务是复制和在库中存储企业内的多个被管理机器(也称为被管理端点)的本地盘的内容。这也称为对被管理机器的映像进行采集。被管理机器的映像是该机器的本地盘所存储的数据的副本。如果将本地盘上存储的数据安排在文件中,则映像可以是文件的汇集。有可能在修改映像之后可以将这些采集的映像部署到其它被管理机器。部署映像以克隆机器、修复机器或者重新配置机器。应当高效地并且以可以容易地分析和修改映像的方式存储它们。
可能需要远程执行上述任务而无需人类用户与被管理机器进行物理的交互。此外,可能需要在不同境况中执行任务,比如在本地盘被破坏并且被管理机器不能从它引导时或者在程序从对该盘读取或者写入能力有干扰的本地盘运行时可能需要执行任务。需要的是用于高效、远程和非入侵地采集和部署映像到企业中的被管理机器的盘的系统和方法。
发明内容
通过一种用于将映像从被管理端点的本地盘采集到映像库以及用于将映像从映像库部署到被管理端点的本地盘的系统、方法和计算机程序产品来满足上述需要。在用于采集映像的方法的一个实施例中,向被管理端点提供引导映像,该引导映像使端点将RAM盘实例化并且从RAM盘执行引导映像。引导映像用来通过确定被管理端点的本地盘上尚未存储于映像库中的将包括在映像中的数据来采集映像。在一个实施例中,通过比较基于本地盘上的数据计算的散列与映像库中的数据的散列来完成。然后将尚未存储于映像库中的数据复制到映像库。
附图说明
图1是图示了根据本发明一个实施例的其中IT自动化系统可以用来实现IT任务的企业环境的高级图。
图2是图示了根据本发明一个实施例的可以作为IT自动化装置、管理员客户端、装置服务器、DHCP服务器或者被管理端点的一个实施例来工作的计算机的框图。
图3图示了根据本发明一个实施例的基于文件的映像库的内容。
图4是图示了根据本发明一个实施例的引导被管理端点的方法的流程图。
图5是图示了根据本发明一个实施例的从端点的本地盘采集基于文件的映像的方法的流程图。
图6是图示了根据本发明一个实施例的将基于文件的映像部署到端点的本地盘的方法的流程图。
附图仅出于示例的目的描绘了本发明的实施例。本领域技术人员将根据以下描述容易认识到可以运用这里说明的结构和方法的替代实施例而不脱离这里描述的本发明原理。
具体实施方式
图1是图示了企业环境100的高级图,该企业环境包括信息技术(IT)自动化装置102(“装置”),其可以用来实现各种IT处理。环境100也包括全部由网络104连接的管理员客户端106、装置服务器108、动态主机配置协议(DPCH)服务器114和若干被管理端点112。图1仅示出了单个装置102,但是实施例可以具有多个装置。另外,图1示出了仅三个被管理端点112,尽管一些实施例可以具有数以百计或者数以千记这样的端点。
装置102管理被管理端点112上跨越企业环境100的IT处理。在一些实施例中,装置102使被管理端点112从它通过网络104接收的引导映像来引导。一旦如此引导被管理端点112,装置102可以执行当从端点的本地盘来引导该端点时难以完成的功能,比如从端点采集文件和/或将文件部署到端点。
在一个实施例中,装置102包括引导映像库126、映像库116和软件库110。引导映像库126存储用于在引导被管理端点112时使用的一个或者多个引导映像。引导映像包含机器指令,当在端点112上执行时这些机器指令使端点将RAM盘(即,随机存取存储器中存储的虚拟盘驱动)实例化、在RAM盘上存储引导映像并且从RAM盘上的映像引导端点。引导映像可以包含诸如LINUX的操作系统和在这一操作系统中运行的各种应用程序。引导映像也可以包含使它能够在具有各种硬件配置的被管理端点上运行的设备驱动器。
一旦从引导映像对端点112加以引导,则被引导的端点与装置102交互以执行管理任务,比如从端点的本地盘122采集映像和/或将应用映像部署到本地盘。在一个实施例中,引导映像使端点通过在被管理端点的显示器上示出菜单来向用户呈现用于实现各种管理任务的选项并且允许用户选择选项。菜单选项的一些例子是:从盘采集映像;将采集的映像部署到盘;起动恢复控制台。
在一个实施例中,如果用户在某一时间量内未选择选项,则自动选择菜单选项。在其它实施例中,引导映像使端点112选择选项和/或自动执行另一选项而不向用户呈现菜单。
在一个实施例中,映像库116存储端点112的本地盘122的映像(即该盘的内容的副本)。映像库116可以用于由IT自动化装置102执行的各种管理任务。管理员可以使用装置102查看映像以更好地理解环境100中的各种端点112的配置。可以按需要概括映像库116的内容并且向管理员呈现。例如,管理员可以查看某些操作系统文件在所有端点112的本地盘122上占用的空间百分比。管理员也可以查看各种端点112之间共同或者不同的文件。
在一个实施例中,映像库116用于部署到端点112。在一种部署中,将映像库116中的映像复制到端点112的本地盘122。该映像可以是原先已经从该端点112采集的或者可以不是这样。部署可以用来以已知工作映像替换端点112上被破坏的文件系统。部署也可以用来将文件系统从一个端点112克隆到另一端点112。可以进行部分部署以将映像的仅一部分复制到本地盘122。也可以在部署之前编辑映像。例如,从一个端点112A采集的映像可以在修改该映像以便包括适合于另一端点112B的不同配置信息之后部署到该另一端点112B。可以使用由装置102提供的映像编辑工具来执行对映像的编辑。
在各种实施例中存储于映像库中的端点映像类型包括基于分区的映像、基于扇区的映像、基于簇的映像和基于文件的映像。在基于分区的映像中,本地盘122的单独分区存储于映像库116中。在基于扇区的映像中,本地盘122的扇区存储于映像库116中。在基于文件的映像中,来自本地盘122的文件存储于映像库116中。尽管可以单独操控映像库116中的分区、扇区或者文件,但是映像库也可以包含将分区、扇区或者文件链接在一起形成映像的信息。可以将基于分区、基于扇区或者基于文件的映像优化成特定文件系统类型,比如NTFS、FAT、EXT2或者EXT3。该优化例如可以得到更小的映像、更快的复制或者更容易的编辑。此外,数据压缩算法可以应用于映像库116中的映像以压缩它们。
软件库110的一个实施例存储用以实现支持具有可变硬件配置的端点112的设备驱动器和/或其它类型的软件。在一个实施例中,装置102在将引导映像126发送到端点112时将来自库110的某些设备驱动器与引导映像126包括在一起,从而端点可以恰当地运行映像。引导映像126也可以从库110下载软件以在端点112上完成所需任务,比如采集本地盘122的映像。这一软件可以与装置102通信并且通过装置接收用户输入,从而用户无需在端点112处。在一个实施例中,端点112装配由包含软件库110的装置102导出的驱动以访问该库。
在一个实施例中,管理员经由管理员客户端106控制装置102。管理员客户端106通过网络104来与装置102通信以从管理员向装置提供命令并且从装置接收输出。为了便于说明,本描述涉及管理员与装置102直接交互,但是这隐含了用户可以经由管理员客户端106来与装置交互。
在一个实施例中,装置102与装置服务器108通信,该装置服务器108又与端点112通信。服务器108可以被配置成高效地发送和接收大量数据并且可以具有大数据存储容量。因而,引导映像库126、映像库116和软件库110中的一个或者多个可以存储于装置服务器108上并且由装置服务器108服务。为了便于说明,以下描述涉及装置102与端点112通信,但是这隐含了服务器108在装置102的控制之下可以代之以与端点112通信。
DHCP服务器114辅助端点112的引导过程。在一个实施例中,当端点112初始引导时,它与DHCP服务器114通信以请求和获得用于在网络104上通信的唯一网际协议(IP)地址或者其它网络地址。DHCP服务器114的一个实施例也向端点112提供引导指令,这些引导指令使端点获得引导映像库126中存储的引导映像并且从该引导映像引导。在一些实施例中,DHCP服务器功能性集成到装置服务器108或者自动化装置102中。
被管理端点112是在企业环境100中运行的机器并且例如包括桌面型和笔记本型计算机系统、交换机和路由器、打印机、移动电话、个人数字助理和/或在企业环境100中发现的其它联网电子设备。在一个实施例中,至少一个被管理端点包括本地盘122和随机存取存储器(RAM)盘120。本地盘122是持久存储设备并且在一个实施例中是硬驱动。RAM盘120是在端点112的易失性存储器(例如RAM)中仿真的虚拟存储设备。RAM盘120充当物理盘;可以用与本地盘122上的文件相似的方式从RAM盘120读取文件或者向RAM盘120写入文件。RAM盘120向被管理端点112提供如下本地文件系统,从该本地文件系统运行程序并且执行其它任务而无需使用物理本地盘122。
在一个实施例中,端点112支持PXE(预引导执行环境)引导协议。这一协议使端点112在引导序列的初始阶段寻找PXE重定向服务。PXE重定向服务由DHCP服务器114提供并且向端点112提供通向库126中的适当引导映像的网络地址和文件路径。端点112然后请求来自装置102的引导映像,并且装置作为响应发送引导映像的副本。
在一个实施例中,引导映像在由端点112执行时起初使端点将RAM盘120实例化并且将引导映像存储于此。端点112然后从RAM盘120中的引导映像进行引导。因而,基于由装置102提供的引导映像126并且以使用本地盘122的方式引导被管理端点112。出于多种原因,以这一方式从RAM盘120引导是有利的。例如,即使本地盘122被破坏并且不能用于引导,这一技术仍然允许引导端点112。此外,从RAM盘120引导允许端点112在提供对本地盘122的自由(unfettered)访问之时执行它的正常操作。代替的是,从RAM盘120运行可能需要锁定文件或者以别的方式在本地盘122阻止某些操作的操作系统和/或应用程序。因此,在RAM盘引导实施例中允许当从本地盘引导端点112时可能在本地盘122上禁止的操作。
如上文提到的那样,可以在被管理端点112上起动恢复控制台。恢复控制台可以由在被管理端点112的RAM盘120上运行的来自装置102的引导映像起动。恢复控制台允许管理员查看被管理端点112的本地盘122的内容并且对本地盘的内容进行改变。这可以包括采集映像、部署映像、检查或者修改个别文件以及在本地盘122上重装操作系统。一旦进行改变,被管理端点112可以从它的本地盘122来正常引导以复原正常操作。恢复控制台在当前不可能或者不希望将被管理端点从它的本地盘122来引导时是有用的。
在一个实施例中,引导映像包含恢复控制台从其运行的操作系统。可以定制操作系统以在特定被管理端点112上运行,并且引导映像可以包括用以使操作系统能够在端点上运行的设备驱动器。在RAM盘120上加载引导映像之后,它启动这一操作系统并且可选地启动其它应用程序,这些应用程序使管理员能够在被管理端点的本地盘122上执行功能。这些应用可以包括各种图形用户界面、文件编辑器和盘分析器。
恢复控制台可以使管理员能够如上所述通过装配装置102的文件系统来访问来自装置102的其它应用程序。恢复控制台也可以自动检测将用于在端点上运行的各种设备驱动器和应用程序并且从装置102下载那些驱动器和应用程序。
管理员可以例如使用由被管理端点112提供的键盘和显示器从端点112与恢复控制台直接交互。管理员也可以例如从装置102或者管理员客户端106与恢复控制台远程交互。在一个实施例中,管理员使用虚拟网络计算(VNC)图形桌面共享系统来远程控制被管理端点112。当使用VNC或者相似系统时,管理员能够通过远程控制端点112在被管理端点上执行管理任务。
网络104代表图1中所示其它实体之间的通信途径。在一个实施例中,网络104是由企业维护的局域网(LAN)。网络114也可以利用公共通信链路,比如因特网。在一个实施例中,网络114使用标准通信技术和/或协议。因此,网络114可以包括如下链路,这些链路使用诸如以太网、802.11、综合服务数字网络(ISDN)、数字用户线(DSL)、异步传送模式(ATM)等的技术。类似地,在网络114上使用的联网协议可以包括传输控制协议/网际协议(TCP/IP)、超文本传送协议(HTTP)、简单邮件传送协议(SMTP)、文件传送协议(FTP)、普通文件传送协议(TFTP)等。可以使用包括HTML、可扩展标记语言(XML)、可扩展超文本标记语言(XHTML)等的技术和/或格式来代表在网络114上交换的数据。此外,使用比如安全套接层(SSL)、通过SSL的HTTP(HTTPS)和/或虚拟专用网络(VPN)这样的常规加密技术来加密所有或者一些链路。除了上述数据通信技术之外或者取而代之,其它实施例还可以使用定制和/或专用数据通信技术。
图2是图示了可以作为装置102、管理员客户端106、装置服务器108、DHCP服务器114或者被管理端点112的一个实施例来工作的计算机200的框图。图示了耦合到总线204的至少一个处理器202。存储器206、存储设备208、键盘210、图形适配器212、指示设备214和网络适配器216也耦合到总线。显示器218耦合到图形适配器212。存储设备208是比如硬驱动、CD或者DVD驱动或者闪存设备这样的设备并且保持如下文件,这些文件包含在计算机200的操作期间利用的可执行代码和/或数据。存储器206在一个实施例中是随机存取存储器(RAM)并且保持从存储设备208加载的、在处理期间生成的和/或来自其它源的指令和数据。
起不同作用的计算机可以具有与图2中所示单元不同的和/或附加的单元。例如,充当装置服务器108的计算机200可以具有比充当被管理端点112的计算机更大的处理能力和更大的存储设备。类似地,充当装置服务器108的计算机200可以没有对于操作它而言并非必需的设备,比如显示器218和/或键盘210。
计算机200执行一个或者多个操作系统,比如MICROSOFTWINDOWS或者LINUX的变体。一般而言,操作系统执行一个或者多个应用程序。计算机执行的操作系统和应用程序由一个或者多个过程形成。
图3图示了在一个实施例中的基于文件的映像库116的内容。如上文提到的那样,在基于文件的映像库116中,单独地存储来自各种端点112的文件。这允许管理员容易分析和编辑来自端点112的个别文件。也如下文讨论的那样,某些优化使基于文件的映像库116能够减少在装置102上的存储需要并且在映像采集和部署期间通过网络复制更少数据。
基于文件的映像库116包括全局文件储存器312,该储存器包括来自已经采集的所有端点112的文件306。将在全局文件储存器312中仅包含一次多个端点112的本地盘122上同样存在的文件。如果多个端点112包含相似文件,则这可以导致显著节省映像库116中的空间。例如,如果数个端点112是在相同MICROSOFTWINDOWS操作系统上运行的工作站,则工作站将全部包含若干共同操作系统文件,但是全局文件储存器312将仅包含这些共同文件的单个副本。
基于文件的映像库116包括用于各采集端点112的端点清单302。端点清单302包含用于从端点112的本地盘122采集的各文件的文件信息块304。端点清单302和该清单所指向的文件306可以视为特定端点112的基于文件的映像。文件信息块304包括文件306的名称、文件的大小以及可以指定文件所有权和读/写准予的关于文件的访问控制列表(ACLU)。文件信息块304也包括文件306的散列(hash),也称为摘要或者指纹,用于唯一标识文件306。散列是通过将散列函数应用于文件数据来产生的值。选择散列函数使得两个不同文件非常不可能产生相同散列。例子散列函数是取得文件作为输入并且产生128位散列作为输出的消息摘要5(MD5)算法。
此外,文件信息块304包括指向全局文件储存器312中存储的实际文件的指针。由于多个端点112可以具有在全局文件储存器312中仅存储一次的相同文件,所以多个文件信息块304可以指向相同文件306。例如在图3中,文件信息块304B和304C均指向文件306B。根据相同文件306B如何存储于与清单302A和302B对应的两个端点112上,文件信息块304B和304C有可能具有用于该相同文件306的不同名称和ACL信息。
端点清单302也包括端点112的本地盘122上的目录结构310。目录结构310可以在映像部署中使用以在端点112上创建所需目录并且将文件306放置于正确目录中。
文件数据库314包含用于全局文件储存器312中的各文件306的文件标识符308。各文件标识符308包含通向与该文件标识符对应的所有文件信息块304的链接。因而,文件数据库314可以用来将目前处于基于文件的映像库116中的所有唯一文件306的列表连同关于各文件的信息(比如各文件所在的端点112和各文件在每个这样的端点上的文件名)一起产生。这样的列表可以用于IT管理目的。此外,文件数据库314可以用来搜索与某些标准(比如特定文件名或者文件大小)匹配的文件。各文件标识符308也包含用于对应文件的参考计数。参考计数是指向与文件标识符308对应的文件306的文件信息块304的数目。当添加新指针时增加参考计数,而当去除指针时减少参考计数。当参考计数减少至零时,可以从映像库116删除文件306和文件标识符308。
图4是图示了在一个实施例中的引导被管理端点112的方法的流程图。一些实施例可以执行与图4中所示方法部分不同的和/或附加的方法部分。此外,可以按不同顺序执行方法部分。
如上文提到的那样,端点112的一个实施例完成PXE引导。起初,被管理端点112请求和接收402来自DHCP 114的IP地址。此外,端点从DHCP服务器接收引导映像的位置。端点112取回404引导映像、将它加载到存储器中并且运行406它。在一个实施例中,引导映像使端点112从RAM盘120运行引导映像。引导映像126然后启动408管理任务,比如采集映像或者部署映像。运行引导映像将可选地向用户显示菜单从而允许用户选择将在端点112上执行什么操作。
图5是图示了从端点112的本地盘采集基于文件的映像的方法的流程图。可以在端点112上执行该方法的部分并且可以在装置102上执行该方法的部分。一些实施例可以执行与图5中所示方法部分不同的/或附加的方法部分。此外,可以按不同顺序执行该方法的部分。
起初,对将从本地盘122采集的文件进行标识502。例如,将采集的文件可以基于由管理员提供的列表或者可以是盘122上的所有文件。针对标识的各文件计算504散列。检验506文件数据库314以便散列匹配。可以通过针对文件数据库314中的各文件标识符308进行重复并且从链接到文件标识符的文件信息块304获得散列来做到这一点。用以执行这一搜索的更高效实施方式是可能的,比如对散列编索引。
匹配表明文件已经在全局文件储存器312中并且无需复制文件。因而,通过网络104从端点112复制并且在全局文件储存器312中存储508非匹配文件。创建用于端点112的清单302,该清单包含用于来自端点的已标识文件的文件信息块304和用于端点的目录结构310。在映像库116中存储510清单302,并且构造从文件信息块304到全局储存器312中的文件306的指针。更新512文件数据库314以包含用于新添文件306的文件标识符308。创建从文件标识符308到文件信息块304的链接,并且将文件标识符中的参考计数加一。
图6是图示了将基于文件的映像部署到端点112的本地盘122的方法的流程图。一些实施例可以执行与图6中所示方法部分不同的和/或附加的方法部分。此外,可以按不同顺序完成该方法的部分。
在一种部署中,对本地盘122的内容进行修改,以便本地盘包含在映像库116中的特定清单302中指定的文件306和目录结构310。起初,计算602本地盘122上的文件的散列。比较604这些散列与清单302中存储的文件信息块304中的散列以确定本地盘和清单的共同文件。从本地盘删除606本地盘122上的不在清单302中的文件。将清单302中不在本地盘122上的文件从全局储存器312复制608到本地盘。根据文件信息块304中存储的属性来设置610本地盘122上的文件属性。可选地,从映像库116删除612清单302。如果删除清单302,则去除从文件标识符308到清单的链接,减少标识符中的参考计数,并且从全局文件储存器312删除其参考计数已经降至零的文件306。
可以看出用于采集基于文件的映像并且部署基于文件的映像的方法减少需要复制并且通过网络104传送的文件数目。在从端点112采集时,如果在端点上遇见的文件已经存在于映像库116中则不复制它们。在部署到端点112时,如果文件已经存在于端点则不从映像库116复制它们。在比较文件时使用散列,因为文件名或者其它文件属性对于相同文件可以变化。可以用压缩格式通过网络104传输文件以进一步减少所用网络资源。这些方法也通过在全局文件储存器312中仅存储唯一文件来减少映像库116所需的储存器。
在用空的全局文件储存器312采集第一端点112时,在该端点上遇见的所有初始文件都是新的并且都通过网络104来发送而且存储于全局文件储存器中。如果第二和后续端点112与第一端点共享共同的文件,则这些端点的采集将更快。为了在采集第一端点112期间避免缓慢或者大量网络使用,有可能向全局文件储存器312预加载将可能在第一端点上遇见的文件306并且用这些文件的散列更新文件数据库308。利用这一预加载,甚至可以相对快地采集第一端点112,因为它的一些文件将已经在全局文件储存器312中。
包括以上描述以举例说明优选实施例的操作而并不意味着限制本发明的范围。本发明的范围将仅由所附权利要求限定。根据以上讨论,本领域技术人员将清楚仍被本发明的精神实质和范围所涵盖的许多变化。

Claims (20)

1.一种用于将映像从被管理端点的本地盘采集到映像库的由计算机实施的方法,所述方法包括:
经由网络向所述被管理端点提供引导映像,所述引导映像使所述被管理端点:将所述端点的存储器中的RAM盘实例化、在所述RAM盘中存储所述引导映像、并且从所述RAM盘执行所述引导映像;
通过在所述引导映像中存储的并且从所述RAM盘执行的指令来标识所述本地盘上的将包括在所述映像中的数据;
通过在所述引导映像中存储的并且从所述RAM盘执行的指令来确定所述本地盘上尚未存储于所述映像库中的将在所述映像中包括的数据;以及
通过在所述引导映像中存储的并且从所述RAM盘执行的指令经由所述网络将所述映像库中尚未存储的数据从所述本地盘复制到所述映像库。
2.根据权利要求1所述的由计算机实施的方法,还包括:
在所述映像库中存储端点清单,所述端点清单包括目录结构和与来自所述端点的文件对应的文件信息块的列表,各文件信息块包括文件名、散列和指向所述映像库中的文件的指针。
3.根据权利要求1所述的由计算机实施的方法,其中经由所述网络将所述映像库中尚未存储的数据从所述本地盘复制到所述映像库包括:
为所述本地盘上的多个文件中的各文件计算候选散列;
确定所述候选散列是否等于与所述映像库中已经包含的文件对应的已存储散列;以及
响应于所述候选散列不等于任何已存储散列,将所述文件从所述本地盘复制到所述映像库并且在所述映像库中存储所述文件的散列。
4.根据权利要求1所述的由计算机实施的方法,其中所述引导映像未存储于所述本地盘上。
5.根据权利要求1所述的由计算机实施的方法,其中存在耦合到所述网络的多个被管理端点,并且还包括:
在确定所述本地盘上的尚未存储于所述映像库中的数据之前,将对于所述多个被管理端点而言共同的数据加载到所述映像库。
6.根据权利要求1所述的由计算机实施的方法,其中所述数据是文件。
7.根据权利要求1所述的由计算机实施的方法,还包括:
所述引导映像访问除了所述被管理端点之外的机器上存储的软件库,所述软件库提供用以使所述引导映像能够从所述本地盘采集映像的设备驱动器。
8.一种用于将映像从映像库部署到被管理端点的本地盘的由计算机实施的方法,所述方法包括:
标识端点清单,所述清单指定将在所述被管理端点的本地盘上存储的数据以提供应用映像;
经由网络向所述被管理端点提供引导映像,所述引导映像使所述被管理端点:将所述端点的存储器中的RAM盘实例化、在所述RAM盘中存储所述引导映像、并且从所述RAM盘执行所述引导映像;
通过在所述引导映像中存储的并且从所述RAM盘执行的指令来删除所述本地盘中存储的、所述端点清单未指定的数据;
经由所述网络并且通过在所述引导映像中存储的且从所述RAM盘执行的指令,来获得所述端点清单指定的未存储于所述本地盘中的数据;
向所述本地盘写入所述端点清单指定的未存储于所述本地盘中的数据;以及
从所述本地盘引导所述端点。
9.一种用于将映像从被管理端点的本地盘采集到映像库的系统,包括:
用于经由网络向所述被管理端点提供引导映像的模块,所述引导映像使所述被管理端点:将所述端点的存储器中的RAM盘实例化、在所述RAM盘中存储所述引导映像、并且从所述RAM盘执行所述引导映像;
用于通过在所述引导映像中存储的并且从所述RAM盘执行的指令来标识所述本地盘上的将包括在所述映像中的数据的模块;
用于通过在所述引导映像中存储的并且从所述RAM盘执行的指令来确定所述本地盘上尚未存储于所述映像库中的将在所述映像中包括的数据的模块;以及
用于通过在所述引导映像中存储的并且从所述RAM盘执行的指令经由所述网络将所述映像库中尚未存储的数据从所述本地盘复制到所述映像库的模块。
10.根据权利要求9所述的系统,还包括:
用于在所述映像库中存储端点清单的模块,所述端点清单包括目录结构和与来自所述端点的文件对应的文件信息块的列表,各文件信息块包括文件名、散列和指向所述映像库中的文件的指针。
11.根据权利要求9所述的系统,其中经由所述网络将所述映像库中尚未存储的数据从所述本地盘复制到所述映像库还包括:
为所述本地盘上的多个文件中的各文件计算候选散列;
确定所述候选散列是否等于与所述映像库中已经包含的文件对应的已存储散列;以及
响应于所述候选散列不等于任何已存储散列,将所述文件从所述本地盘复制到所述映像库并且在所述映像库中存储所述文件的散列。
12.根据权利要求9所述的系统,其中存在耦合到所述网络的多个被管理端点,并且还包括:
用于在确定所述本地盘上的尚未存储于所述映像库中的数据之前将对于所述多个被管理端点而言共同的数据加载到所述映像库的模块。
13.根据权利要求9所述的系统,其中所述数据是文件。
14.根据权利要求9所述的系统,还包括:
由所述引导映像访问的软件库,所述软件库存储于除了所述被管理端点之外的机器上,所述软件库提供用以使所述引导映像能够从所述本地盘采集映像的设备驱动器。
15.一种具有计算机可读介质的计算机程序产品,所述计算机可读介质具有记录于其上的计算机程序指令,所述计算机程序指令用于将映像从被管理端点的本地盘采集到映像库,所述计算机程序产品包括:
用于经由网络向所述被管理端点提供引导映像的模块,所述引导映像使所述被管理端点:将所述端点的存储器中的RAM盘实例化、在所述RAM盘中存储所述引导映像、并且从所述RAM盘执行所述引导映像;
用于通过在所述引导映像中存储的并且从所述RAM盘执行的指令来标识所述本地盘上的将包括在所述映像中包括的数据的模块;
用于通过在所述引导映像中存储的并且从所述RAM盘执行的指令来确定所述本地盘上尚未存储于所述映像库中的将在所述映像中包括的数据的模块;以及
用于通过在所述引导映像中存储的并且从所述RAM盘执行的指令经由所述网络将所述映像库中尚未存储的数据从所述本地盘复制到所述映像库的模块。
16.根据权利要求15所述的计算机程序产品,还包括:
用于在所述映像库中存储端点清单的模块,所述端点清单包括目录结构和与来自所述端点的文件对应的文件信息块的列表,各文件信息块包括文件名、散列和指向所述映像库中的文件的指针。
17.根据权利要求15所述的计算机程序产品,其中经由所述网络将所述映像库中尚未存储的数据从所述本地盘复制到所述映像库还包括:
为所述本地盘上的多个文件中的各文件计算候选散列;
确定所述候选散列是否等于与所述映像库中已经包含的文件对应的已存储散列;以及
响应于所述候选散列不等于任何已存储散列,将所述文件从所述本地盘复制到所述映像库并且在所述映像库中存储所述文件的散列。
18.根据权利要求15所述的计算机程序产品,其中存在耦合到所述网络的多个被管理端点,并且还包括:
用于在确定所述本地盘上的尚未存储于所述映像库中的数据之前将对于所述多个被管理端点而言共同的数据加载到所述映像库的模块。
19.根据权利要求15所述的计算机程序产品,其中所述数据是文件。
20.根据权利要求15所述的计算机程序产品,还包括:
所述引导映像中的用于访问软件库的模块,所述软件库存储于除了所述被管理端点之外的机器上,所述软件库提供用以使所述引导映像能够从所述本地盘采集映像的设备驱动器。
CN2008800155255A 2007-03-23 2008-02-11 It自动化装置成像系统和方法 Expired - Fee Related CN101681256B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US89685707P 2007-03-23 2007-03-23
US60/896,857 2007-03-23
US12/021,143 2008-01-28
US12/021,143 US7941599B2 (en) 2007-03-23 2008-01-28 IT automation appliance imaging system and method
PCT/US2008/053539 WO2008118548A1 (en) 2007-03-23 2008-02-11 It automation appliance imaging system and method

Publications (2)

Publication Number Publication Date
CN101681256A true CN101681256A (zh) 2010-03-24
CN101681256B CN101681256B (zh) 2012-05-23

Family

ID=39775871

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2008800155255A Expired - Fee Related CN101681256B (zh) 2007-03-23 2008-02-11 It自动化装置成像系统和方法

Country Status (6)

Country Link
US (2) US7941599B2 (zh)
EP (1) EP2130117A4 (zh)
CN (1) CN101681256B (zh)
AU (1) AU2008231291B2 (zh)
MY (1) MY149947A (zh)
WO (1) WO2008118548A1 (zh)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7941599B2 (en) * 2007-03-23 2011-05-10 Kace Networks, Inc. IT automation appliance imaging system and method
US8838541B2 (en) * 2007-10-25 2014-09-16 Hewlett-Packard Development Company, L.P. Data processing apparatus and method of processing data
US8140637B2 (en) 2007-10-25 2012-03-20 Hewlett-Packard Development Company, L.P. Communicating chunks between devices
CN101855620B (zh) * 2007-10-25 2013-06-12 惠普开发有限公司 数据处理设备和数据处理方法
GB2466579B (en) * 2007-10-25 2012-12-26 Hewlett Packard Development Co Data processing apparatus and method of deduplicating data
US9116715B2 (en) * 2008-02-04 2015-08-25 Rightscale, Inc. Systems and methods for efficiently booting and configuring virtual servers
US8489995B2 (en) 2008-03-18 2013-07-16 Rightscale, Inc. Systems and methods for efficiently managing and configuring virtual servers
DE112008003826B4 (de) * 2008-04-25 2015-08-20 Hewlett-Packard Development Company, L.P. Datenverarbeitungsvorrichtung und Verfahren zur Datenverarbeitung
US8856486B2 (en) * 2011-02-23 2014-10-07 Citrix Systems, Inc. Deploying a copy of a disk image from source storage to target storage
US9396311B2 (en) 2011-07-13 2016-07-19 Dell Products L.P. Mini appliance ensuring software license compliance
US9430622B2 (en) 2011-07-13 2016-08-30 Dell Products L.P. Mini appliance
US9015224B2 (en) 2011-10-09 2015-04-21 LabTech, LLC Interactive response of a remote monitoring and management system
US9055091B2 (en) 2011-11-16 2015-06-09 LabTech, LLC Adaptive timing of distributed device response to maximize channel capacity utilization
US9240971B2 (en) 2011-11-16 2016-01-19 LabTech, LLC Automated management of generalized central name services by distributed remote devices
US9983960B2 (en) 2012-01-23 2018-05-29 International Business Machines Corporation Offline initialization for a remote mirror storage facility
US8914785B2 (en) 2012-07-30 2014-12-16 International Business Machines Corporation Providing virtual appliance system firmware images
US9245249B2 (en) 2013-03-12 2016-01-26 Labtech Llc General, flexible, resilent ticketing interface between a device management system and ticketing systems
US10372463B1 (en) * 2013-11-27 2019-08-06 EMC IP Holding Company LLC Provisioning a computerized device with an operating system
US10223294B2 (en) * 2015-09-01 2019-03-05 Nxp Usa, Inc. Fast secure boot from embedded flash memory
US10102008B2 (en) * 2015-09-02 2018-10-16 Dell Products L.P. Managed boot process system
US11847028B2 (en) 2020-07-03 2023-12-19 Vmware, Inc. Efficient export of snapshot changes in a storage system
US11494334B2 (en) * 2020-12-11 2022-11-08 Vmware Inc. Embedded reference counts for file clones

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2334354B (en) * 1998-02-13 2003-04-16 Ibm Booting a computer system from a network
US6625623B1 (en) * 1999-12-16 2003-09-23 Livevault Corporation Systems and methods for backing up data files
EP1327191B1 (en) 2000-09-22 2013-10-23 Lumension Security, Inc. Non-invasive automatic offsite patch fingerprinting and updating system and method
US6852737B2 (en) 2001-08-06 2005-02-08 Recordati Ireland Limited Crude and crystalline forms of lercanidipine hydrochloride
US6813708B2 (en) * 2002-10-29 2004-11-02 Electronic Data Systems Corporation System and method for searching a BIOS for a type of computer network drive to boot and an operating system for migrating an operating system to a computer
US7814126B2 (en) * 2003-06-25 2010-10-12 Microsoft Corporation Using task sequences to manage devices
US20050010835A1 (en) * 2003-07-11 2005-01-13 International Business Machines Corporation Autonomic non-invasive backup and storage appliance
US7243224B2 (en) * 2003-12-31 2007-07-10 Intel Corporation Preboot execution bootloading
KR100777446B1 (ko) * 2005-05-25 2007-11-21 삼성전자주식회사 전자장치 및 그 부팅방법
US7814190B2 (en) 2006-03-21 2010-10-12 Kace Networks, Inc. IT automation filtering and labeling system and appliance
US20080109396A1 (en) 2006-03-21 2008-05-08 Martin Kacin IT Automation Appliance And User Portal
US7818427B2 (en) 2006-03-21 2010-10-19 Kace Networks, Inc. IT automation scripting module and appliance
US7673131B2 (en) * 2006-05-05 2010-03-02 Microsoft Corporation Booting an operating system in discrete stages
US7941599B2 (en) * 2007-03-23 2011-05-10 Kace Networks, Inc. IT automation appliance imaging system and method

Also Published As

Publication number Publication date
US20110173430A1 (en) 2011-07-14
EP2130117A4 (en) 2010-07-07
MY149947A (en) 2013-11-15
US7941599B2 (en) 2011-05-10
CN101681256B (zh) 2012-05-23
EP2130117A1 (en) 2009-12-09
WO2008118548A1 (en) 2008-10-02
AU2008231291A1 (en) 2008-10-02
AU2008231291B2 (en) 2012-03-29
US8140748B2 (en) 2012-03-20
US20080235445A1 (en) 2008-09-25

Similar Documents

Publication Publication Date Title
CN101681256B (zh) It自动化装置成像系统和方法
US8219592B2 (en) Method and system for using overlay manifests to encode differences between virtual machine images
US7856440B2 (en) Method and system for separating content identifiers from content reconstitution information in virtual machine images
US7856439B2 (en) Method and system for using semantic information to improve virtual machine image management
US7996414B2 (en) Method and system for separating file system metadata from other metadata in virtual machine image format
US8171141B1 (en) Provisioning system including stack manager
US8347263B1 (en) Repository including installation metadata for executable applications
US10372433B2 (en) Caching and analyzing images for faster and simpler cloud application deployment
US6714949B1 (en) Dynamic file system configurations
US20060037079A1 (en) System, method and program for scanning for viruses
US20050246386A1 (en) Hierarchical storage management
JP2006302170A (ja) ログ管理方法及び装置
US11150981B2 (en) Fast recovery from failures in a chronologically ordered log-structured key-value storage system
US10783073B2 (en) Chronologically ordered out-of-place update key-value storage system
US7630955B2 (en) Apparatus, system, and method for analyzing the association of a resource to a business process
EP3861433B1 (en) Upgrades based on analytics from multiple sources
US20050234987A1 (en) Smart archive for jar files
US11163636B2 (en) Chronologically ordered log-structured key-value store from failures during garbage collection
JP3725087B2 (ja) 知識情報収集システムおよび知識情報収集方法
JPH04324541A (ja) ネットワークシステム
JP2002024038A (ja) クラスファイル検索システム及びクラスファイル検索システムにおけるクラスファイル検索プログラムを記録した記録媒体

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
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20120523

Termination date: 20190211