CN101276284B - 用于提高平台网络引导效率的系统和方法 - Google Patents

用于提高平台网络引导效率的系统和方法 Download PDF

Info

Publication number
CN101276284B
CN101276284B CN200810087275.8A CN200810087275A CN101276284B CN 101276284 B CN101276284 B CN 101276284B CN 200810087275 A CN200810087275 A CN 200810087275A CN 101276284 B CN101276284 B CN 101276284B
Authority
CN
China
Prior art keywords
guiding
target data
stored
guiding target
platform
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.)
Expired - Fee Related
Application number
CN200810087275.8A
Other languages
English (en)
Other versions
CN101276284A (zh
Inventor
M·A·罗思曼
V·J·齐默
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.)
Intel Corp
Original Assignee
Intel 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 Intel Corp filed Critical Intel Corp
Publication of CN101276284A publication Critical patent/CN101276284A/zh
Application granted granted Critical
Publication of CN101276284B publication Critical patent/CN101276284B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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)
  • Stored Programmes (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本发明的实施例包含通过利用虚拟化或分区技术来减少引导时间。在一个实施例中,管理程序/平台分区控制平台对引导目标介质的访问。引导目标介质可以是本地介质或者服务器上的远程介质。当引导介质是本地介质时,引导目标数据被选择性地存储在快速的存储器中。当引导目标介质是远程介质时,引导目标数据被存储在本地介质中。当系统重引导或者平台上的操作系统被重置时,引导目标数据可以被从快速的本地存储器中获取,而不是从原来的较慢的引导目标介质中获取。还描述和声明了其它实施例。

Description

用于提高平台网络引导效率的系统和方法
技术领域
本发明的实施例总体上涉及计算平台,更具体地,涉及通过利用虚拟化或分区技术来减少引导(boot)时间。在一个实施例中,管理程序(hypervisor)/平台分区将控制该平台并顾及其余主分区的初始化。
背景技术
现有系统中实现了各种用于增加平台引导效率或者减少引导时间的机制。
许多平台厂商和用户关心引导平台所需要的时间。在这个意义上,引导操作包括:为平台加电,并继续到给出用户登录提示或者能够运行用户应用的那个点。有许多关于确保平台能尽快运行完其固件路径的标准。启动操作系统(OS)所需要的时间可能基于OS的复杂性而有不同。典型的桌面平台可能花7.5秒钟进行引导至启动OS。实际的标准由整个工业界驱动。这一点在提供高可用性系统的服务器环境中也是明显的。引导时间越短,服务器在维护或者崩溃后就越快可用。更快的引导时间在具有高可用性/可靠性需求的系统中或在每次用户会话后系统都要重引导(reboot)的网吧(Internet Café)中是极为可取的。此外,远程网络引导可能极其耗时。与从服务器磁盘中读取所有的正常平台远程引导内容相关的典型开销通常在20-300秒之间。大量与载入操作系统(OS)相关的开销都涉及远程网络附加装置的低数据吞吐率、以及从数据所在的高延迟低速出口(spigot)(例如,远程服务器)进行的读取。
附图说明
从下面对本发明的详细描述中,本发明的特征及优势将会变得显而易见,其中:
图1是比较说明现有系统的网络引导时间表与根据本发明的实施例的网络引导的时间表的方框图;
图2是根据本发明的实施例的一个示例性平台资源层(PRL)体系结构平台的方框图;
图3是根据本发明的实施例的一个示例性虚拟化平台的方框图,其中的引导缓存代理(boot caching agent)位于VMM内;
图4是根据本发明的实施例的一种用于引导缓存代理的示例性方法的流程图;以及
图5是根据本发明的实施例当引导目标介质不在远程时的一种用于引导缓存代理的示例性方法的流程图。
具体实施方式
本发明的实施例是一种涉及加快平台的网络引导时间的系统和方法。对于普通平台引导,其引导时间开销要求大约350MB的数据传输。采用当前的普通网络吞吐量,该传输增加28-280秒的引导时间。此处所描述的本发明的实施例提供了将4-22秒的时间开销改进到大约1/5至1/3秒量级的能力。
在说明书中提及的本发明的“一个实施例”或者“实施例”,表示所描述的特定的与该实施例有关的特征、结构或者特性包含在本发明的至少一个实施例中。因此,在整个说明书中多个位置出现的短语“在一个实施例中”并不一定都指同一个实施例。
出于解释的目的,阐述了许多具体结构和细节,以提供对本发明的透彻理解。不过,对于本领域技术人员来说显而易见的是,本发明的实施例无需这里提供的具体细节就可以实现。进一步,公知的特征可能会被忽略或者简化,以避免其使本发明难以理解。在整个说明书中可能给出各种例子。这些例子只是对本发明具体实施例的描述。本发明的范围并不局限于给出的例子。
图1是说明与根据本发明的实施例的网络引导时间表相比,现有系统中网络引导的时间表的方框图。在现有系统中,如图中上半部分所示,首次引导100可能需要n+3的时间。在现有系统中,平台的首次引导必须首先执行系统初始化任务101。接着与PXE(Pre-boot Execution Environment,预引导执行环境)服务器103进行握手。预引导执行环境(PXE,或称为预执行环境)是利用独立于可用的数据存储设备(如硬盘)或已安装的操作系统的网络接口卡来对计算机进行自展(bootstrap)的环境。PXE由英特尔公司作为Wired for Management框架的一部分提出,并在由英特尔公司和Systemsoft于1999年9月20日发布的规范(v2.1)中进行说明。在公共互联网上URL为www*pix*net/software/pxeboot/archive/pxespec.pdf中可以找到该规范。需要注意的是本文档中URL中的句点已被替换为星号,以避免出现无意的超链接。PXE利用了若干网络协议(如IP、UDP(用户数据报协议)、DHCP(动态主机配置协议)、TFTP(简单文件传输协议))以及例如GUID/UUID(全局唯一标识符/通用唯一标识符)和通用网络设备接口这样的概念,并用一组预定义的API(应用编程接口)扩展了PXE客户机(要通过PXE进行自展的计算机)的固件。一旦握手操作完成,可以从PXE服务器下载引导映像(image)。可以理解,使用其他协议的其他类型服务器也可以用于该引导目标介质。一旦引导映像被下载到了该平台,就从目标107引导该映像。要首次引导一个平台就必须完成这些任务,完成需要n+3的时间。在现有系统中,任何后续的引导110必须执行相同的功能111、113、115和117,完成也需要n+3的时间。
在本发明的实施例中,首次引导120实际上将执行与现有系统中一样的功能121、123、125和127。一个例外是当引导映像从PXE服务器125被下载时,引导映像可以在126被缓存。该缓存映像可以在后续引导中被利用以加快从网络引导的时间。首次引导仍将需要大约n+3的时间完成。
在一实施例中,在后续引导130期间,改变了执行的任务以增强引导时间。固件在131被初始化。在133,与PXE服务器进行握手,以便获取目标引导映像的校验和或其他类似技术。如果校验和或者其他验证技术得到确认,那么在135,就可以从缓存中获取引导映像并进行引导。在此情形中,如果被缓存的版本仍然有效,则不必再从网络上下载该引导映像。使用缓存中的引导映像显著地加快了引导时间,使完成时间变成n+1。
如图1中的说明所示,工作站150在首次引导时必须从PXE服务器170下载引导映像160。在后续引导中,该大的引导映像被本地存储在缓存180中,并且网络流量190显著地减少。
在平台资源层(PRL)体系结构或者内嵌分区(embedded partition)体系结构中,平台的各种组件被增强以使得能够对处理器、存储器和其他资源进行分区操作。现在参考图2,所示的是根据本发明的实施例的PRL体系结构的示例性方框图。为更好的说明分区操作,主分区210可用的组件用实线方框画出,内嵌或者系统分区220可用的组件用粗实线方框画出,两个分区都可用的组件用点和虚线交替的方框画出。
在该示例性实施例中,平台在插槽0-3(231-234)中有四个多核处理器。虽然这个例子只示出四个处理器插槽,但对于本领域技术人员来说,很明显可以采用各种处理器及内核配置来实现本发明的实施例。例如,插槽0(231)可以具有四个处理内核235a-d。实质上,在这个例子中,所说明的实施例在该平台上具有16个有效的处理器(例如,4个插槽,每个插槽4个内核)。在这里例子中,插槽0-2(231-233)仅对主分区210可用。插槽3(234)对主分区210和内嵌分区220均可用。在插槽3(234)内,内核0仅对主分区210可用,而内核1-3仅对内嵌分区220可用。内嵌分区220具有引导缓存代理221,将会在下面更全面讨论。
在该实施例中,该平台具有与存储器202耦合的存储器控制器中枢(MCH)201(也称作北桥)。存储器202可以具有两个分区MEM1(203)和MEM2(205)。存储器分区MEM1(203)仅对内嵌分区可用而存储器分区MEM2(205)仅对主分区可用。包含MCH的芯片组被配置为采用硬件构造对存储器进行分区,与此相对照的是利用采用软件构造的虚拟机管理器(VMM)的虚拟化方案。可以理解,存储器202可以是硬盘、软盘、随机存取存储器(RAM)、只读存储器(ROM)、闪速存储器、或者处理器可读的任何其他类型的介质。存储器202可以存储用来执行本发明的实施例的指令。虽然在此例子中只示出两个分区,但是可以理解的是,可以有多于一个的客户OS,每一个都运行在其自己的分区上。
MCH 201可以通过外围组件互连(PCI)总线与I/O控制器中枢(ICH)207(也称作北桥)通信。ICH 207可以通过少针脚型(low pin count,LPC)总线(未示出)与一个或多个组件耦合,例如PCI硬盘驱动器,诸如IDE、USB、LAN和音频这样的传统组件,以及超级I/O(SIO)控制器。在本例中,示出ICH 207与硬盘驱动器209以及网络接口控制器(NIC)211耦合。
MCH 201用来控制对存储器的访问,而ICH 207用来控制I/O访问。在内嵌分区体系结构中,在引导时固件将芯片组配置为对平台上的各种资源进行分区。在某些情形中,可以只有一个分区而平台在很多方面表现如同传统平台。在所示例子中有两个分区,主分区210和内嵌分区220。每个指定的分区被赋予了唯一的分区标识符(ID)。
在内嵌分区配置下,当设备发出一个警报时,芯片组可以正确地将其路由至正确的分区,因为该信息在引导时已经被编码。在支持VMM的系统中,硬件将设备警报传递给VMM(虚拟化设备),而由软件将该信息路由给各种虚拟机。内嵌分区可以作为由硬件辅助的虚拟化。
在一个部署了虚拟化方案的实施例中,在VMM中实现了引导缓存代理,该VMM控制运行在平台上的所有客户虚拟机(VM)以及客户操作系统(OS)。在另一个实施例中,在用于控制各个OS的I/O请求的特权分区、进程、或者管理程序中实现了引导缓存代理221。在所有情形下,引导缓存代理选择性地将在初始引导期间从网络PXE服务器获得的引导映像进行镜像复制(mirror),并在后续引导时返回该数据以避免从网络介质读取。在VMM体系结构的情况中,网络和其他设备的访问被虚拟化,引导缓存代理则作为软件中介从设备获取数据。
现在参考图3,示出了示例性虚拟化平台,其中引导缓存代理321位于VMM中。在该示例性实施例中,虚拟机(VM)具有客户OS 311。在客户OS 311中可以运行各种用户应用程序313。该OS具有可以在VMM 320中被虚拟化的设备驱动程序315。对于平台硬件330的访问,包括对网络引导目标(未示出)的访问,需要使用该VMM。在引导的情形下,VMM 320中的引导缓存代理321可以拦截(intercept)网络设备对于引导目标的访问并控制是从较慢的网络引导目标还是从较快的被缓存的易失性存储器中读取引导映像。
类似地,示出了有其自己的OS 341、用户应用程序343、设备驱动程序345的平台分区或更有特权的分区340。通过VMM 320,该平台分区也可以具有被虚拟化的设备。在一些情况下,引导缓存代理也会对该分区的引导目标数据进行缓存。
现在参考图4,所示的是根据本发明实施例的用于引导缓存代理的示例性方法的流程图。在方框401,系统加电或发出重置请求。方框403,在需要的时候,例如首次引导时,平台的底层结构被初始化。在方框405,确定该平台是否支持引导路径缓存操作。若不支持,则在方框407,该平台将继续从引导目标介质进行引导。
若该平台支持引导路径缓存操作,则在409,启动合适的引导路径代理。如上所述,引导缓存代理221/321可以位于内嵌分区220或者VMM 320中,如图2和图3所示。基于引导缓存代理的实现,在方框411,支持对数据进行必要的路由。对于具有VMM、管理程序或者其他特权层的平台,VMM将I/O访问虚拟化,并使引导缓存代理能够控制从远程目标引导介质的数据获取。该引导缓存代理能够将引导映像镜像复制到易失性存储装置或者其他本地存储装置中,并对获取的映像编制索引以便将来使用。对于具有芯片组分区操作支持的平台,位于内嵌平台中的引导缓存代理自动对设备访问进行控制,并能够将引导数据镜像复制到分区后的存储器中以便将来使用。
如果像在413所确定的那样,引导目标位于远程服务器中,则在方框417,客户机通常通过PXE握手操作连接到该远程服务器。采用非PXE协议来访问服务器同样也可以在本发明的其他实施例中实现,这一点对于本领域技术人员来说将是显而易见的。在方框419,从文件服务器中读取校验和或者其他验证值(validator),例如循环冗余校验(CRC)或者哈希码。对于关于目标的每一个引导映像,该服务器可以包含checksum.txt文件的等价物。校验和或者其他验证值可以被连接到引导映像本身,也可以作为服务器上的单独文件来实现。基于系统管理策略,可以采用各种验证实现方式。
在方框421,确定是否之前已经在快速的易失性或者非易失性本地存储器中存储了引导映像的被缓存的拷贝。从该描述可以明显看出,被缓存的引导映像既可以保存在易失性系统存储器中,也可以保存在与平台耦合的快速非易失性存储器中。任何在重置或者加电过程中可以访问的本地存储器都可以被采用,因为这将会比从网络服务器获取引导映像更快。
如果存在被缓存的拷贝,那么在方框425,确定被缓存的校验和或者验证值是否与从网络服务器获取的验证值相匹配。有可能位于服务器上的引导映像在最近一次平台引导以后被更新过。在此情形下,验证值将不会匹配。如果被缓存的拷贝被确认为正是当前的,则在方框427,启动被缓存的引导映像。一旦启动被缓存的引导映像,在方框415,平台将继续正常操作。
如果不存在引导映像的被缓存的拷贝,或者验证失败,则在方框423,平台将从网络服务器下载引导映像和辅助文件。此时,下载的引导映像及其校验和或其他验证值被保存在本地以便于在将来的引导中使用。一旦下载完成并被启动,在方框415,平台将继续正常操作。
如果在方框413确定引导目标不在远程服务器上,则在方框415,平台可以继续正常操作。这种情况下,正常操作可以包括从较慢的介质(例如闪速存储器)引导平台。
在另一个实施例中,若平台要从本地介质引导,那么其他加快引导时间的方法也可以被采用,正如在2006年9月29日由Michael A.Rothman等提交的题为“System and Method for Increasing Platform Boot Efficiency”的共有未决美国专利申请No.11/541,242(代理人案卷号P23514)(下略为“Rothman等”)中所描述的。
参考图5,所示的是根据Rothman等公开的发明的实施例的用于引导缓存代理的示例性方法。Rothman等公开了高效引导的实施例,其中通过将较慢引导目标上的扇区缓存到较快的介质(通常为易失性系统存储器)来加快后续引导时间。在所公开的本发明的一实施例中,在方框501,系统加电或重置请求被发出。在方框503,如果有需要,例如在首次引导时,平台的底层结构被初始化。在方框505,确定该平台是否支持引导路径缓存操作。如果不支持,则在方框507,该平台将继续从本地引导目标介质进行引导。
如果该平台支持引导路径缓存操作,则在方框509,支持对数据进行必要的路由。对于具有VMM、管理程序、或者其他特权层的平台,VMM将I/O访问虚拟化,并使引导缓存代理能够控制从引导介质的数据获取。该引导缓存代理能够将扇区数据镜像复制到易失性存储装置中,并对获取的扇区编制索引以便将来使用。对于具有芯片组分区操作支持的平台,位于内嵌平台上的引导缓存代理自动对设备访问进行控制,并能够将引导数据镜像复制到分区后的存储器中以便将来使用。
如果在方框511确定是主分区正在引导,那么在方框513,确定该引导路径是否之前被缓存过。如果是,那么引导缓存代理就将拦截从引导目标读取引导数据的请求。如果被请求的扇区位于引导缓存代理索引中,那么将从易失性存储装置而不是从引导目标介质中获取该扇区。用来拦截的方法取决于平台体系结构,即VMM或者芯片组分区(PRL)。
如果确定并非主分区(或其他客户OS)在引导,那么在方框507,可以恢复正常操作,即正常引导。
如果在方框513中确定该引导路径之前并未被缓存,那么可以参考目标策略来确定是否要对引导数据进行缓存。例如,在某些情形中,可以使平台能够引导Microsoft WindowsTM和Linux二者。可能只有有限的存储器可供对引导目标数据进行缓存,而用户可能选择仅缓存一个或另一个操作系统的数据。该策略同样可以应用到图4所描述的缓存操作。这样就可以基于选择了哪个引导目标进行重置/引导来缓存引导数据。在其他情形中,可以保存引导目标的使用频率,而仅对使用最频繁的引导目标进行缓存。在其他情形中,会始终缓存引导目标或者其一部分。本领域技术人员可以理解,各种不同的策略可以适用于具有不同功能的平台。
如果方框515中确定目标策略规定该目标能够被缓存,那么在方框519,从引导目标获取的扇区被镜像复制到易失性的或者更快的存储装置中。虽然实施例描述了在易失性存储器中对数据进行缓存,但是可以设想,任何速度快于引导目标的存储器都可以用来进行缓存,并同样能获益于所公开的方法。当收到重置或者重引导警报时,该处理过程在方框511再次继续,以确定主分区是否需要被重引导、以及是否可以从相对于引导目标介质较快的存储装置中获取数据。
如果目标策略规定引导数据不应该被缓存,那么在方框507,所述操作继续进行正常引导。
在运行VMM的实施例中,VMM作为重置请求的中介。VMM拦截重置请求并仅对运行着提出请求的OS的虚拟机所使用的那部分存储器和资源进行重置。该平台的其他组件可以不被重置。在运行有支持PRL的芯片组的实施例中,该芯片组可以作为中介并对重置请求进行拦截。
在本发明的一个实施例中,当确定引导目标不在远程服务器上时(方框413),所述操作可以像如上所述的图5的方框511那样继续。类似地,同本地引导一样,也可以为远程服务器引导实现缓存策略,来避免对不频繁使用的引导目标进行缓存。
需要注意的是,为本地引导而缓存的信息可以与为远程引导而缓存的数据在格式上不同。在一个实施例中,本地引导数据按扇区被缓存。由于对于远程设备来说扇区信息是未知的,所以改为对引导映像数据进行缓存。当平台访问远程服务器时,可能传送其他数据,例如引导映像的辅助文件。该数据也可以被缓存。对辅助文件的选择性缓存可以由目标策略决定。引导一启动,就先对缓存进行访问以获取引导映像和辅助文件。在某些情形中,可以基于预定分配的大小来填满缓存,而将会从网络服务器获取缺失的数据。这样,引导时间将会随已被缓存数据的多少而变化。
这里描述的技术不限于任何特定的硬件或者软件配置;这些技术可以适用于任何计算、消费电子或者处理环境。这些技术可以以软件、硬件或者二者的组合来实现。
对于仿真,程序代码可以采用硬件描述语言或者其他实质上给出关于所设计硬件预期会如何工作的模型的功能描述语言来描述硬件。程序代码可以是汇编或者机器语言,或者是可被编译或解释的数据。此外,在本领域内提及软件时,不管其是何种形式,通常将其看作执行某个动作或者引起某个结果。这种表达仅仅是一种简洁方式,用于叙述处理系统执行程序代码导致处理器执行某个动作或者产生某个结果。
可以用高级的过程或面向对象编程语言来实现每个程序,以与处理系统进行通信。然而,如果希望的话,也可以用汇编或机器语言来实现这些程序。在任何情况下,所述语言可以是编译型的或者解释型的。
程序指令可以用来让用该指令编程的通用或者专用处理系统执行这里所描述的操作。或者,可以由特殊的包括用来完成所述操作的硬连线逻辑的硬件部件,或者由编程的计算机部件以及定制的硬件部件的任意组合来完成所述操作。这里描述的方法可以作为计算机程序产品,其包含其上存储了指令的机器可访问的介质,所述指令可以用来对处理系统或者其他电子设备进行编程来执行这些方法。
程序代码或者指令可以存储在例如易失性或非易失性存储器中,例如存储设备和/或相关的机器可读或机器可访问的介质,包括固态存储器、硬盘驱动器、软盘、光存储、磁带、闪速存储器、记忆棒、数字视频盘、数字多用盘(DVD)等,以及一些更为特殊的介质,如机器可访问的生物状态保持存储装置。机器可读介质可以包括以机器可读的形式存储、传输、或接收信息的任何机制,并且该介质可以包括有形介质,可以通过其来传递用于对程序代码进行编码的电的、光的、声的、或者其他形式的传播信号或载波,所述有形介质例如天线、光纤、通信接口等。程序代码可以以分组、串行数据、并行数据、传播信号等形式传输,并且可以以压缩或者加密的格式使用。
程序代码可以在可编程机器上执行的程序中实现,所述可编程机器例如移动或固定计算机、个人数字助理、机顶盒、移动电话和寻呼机、消费电子设备(包括DVD播放器、个人视频录像机、个人视频播放器、卫星接收器、音频接收器及有线电视接收器)、以及其他的电子设备,这些设备每个都包含处理器、处理器可读的易失性或非易失性存储器、至少一个输入设备以及/或者一个或多个输出设备。程序代码可以应用到采用输入设备输入的数据上,来执行所描述的实施例以及生成输出信息。输出信息可以应用到一个或多个输出设备。本领域技术人员可以理解,所公开主题的实施例可以采用各种计算机系统配置来实施,包括多处理器或者多核处理器系统、小型计算机、大型计算机、以及几乎可以嵌入到任何设备中的普适或微型计算机或处理器。所公开主题的实施例还可以在分布式计算环境中实现,在该环境中任务或者其一部分可以由通过通信网络链接的远程处理设备来执行。
虽然可以将这些操作描述为顺序的处理过程,但是有些操作实际上可以并行、并发和/或在分布式环境中执行,其程序代码可以在本地和/或远程存储以便由单或多处理器机器进行访问。此外,在一些实施例中,可以重新安排所述操作的顺序,而不会背离所公开主题的实质。程序代码可以由嵌入式控制器使用,也可以与嵌入式控制器一起使用。
虽然本发明参照说明性实施例来进行描述,但是该描述并非要以限制性意思来解释。对说明性实施例的各种修改以及本发明的其他实施例,对于本领域技术人员来说都是明显属于本发明的,都被认为是落入本发明的实质和范围内。

Claims (28)

1.一种用于加快引导时间的系统,包括:
平台,其具有与存储器耦合的至少一个处理器;
引导缓存代理,其运行在第一分区中所述至少一个处理器上,所述第一分区用于控制对引导目标介质的访问,其中,所述引导目标介质是在经由网络耦合到所述平台的远程服务器上存储的远程介质;以及
操作系统,其运行在第二分区中,其中,该第二分区能通过所述第一分区对所述引导目标介质进行访问,
其中,在第一引导时间,所述引导缓存代理选择性地将从所述引导目标介质获取的引导目标数据存储到作为计算机上的本地存储器的更快的存储器,并且
其中,一旦所述计算机的第二分区中的操作系统重置或者重引导,该引导缓存代理:
一旦所述操作系统重置或者重引导,选择性地获取存储在所述更快的存储器上的引导目标数据和来自所述引导目标介质的引导目标数据中的至少一个;
从所述远程介质获取验证值;
使用所述验证值确定存储在所述更快的存储器上的引导目标数据是否是当前的;以及
如果存储在所述更快的存储器上的引导目标数据不是当前的,所述引导缓存代理从所述远程介质获取引导映像数据和辅助文件,并将所述引导映像数据、辅助文件和验证值存储到所述更快的存储器。
2.如权利要求1所述的系统,其中,所述本地存储器是易失性系统存储器,并且其中,在所述第一分区以外的操作系统不能访问存储在该本地存储器中的引导目标数据。
3.如权利要求1所述的系统,其中,所述平台支持芯片组分区操作,并且其中,所述引导缓存代理位于内嵌分区中。
4.如权利要求3所述的系统,其中,所述芯片组使资源能够专用于选定的分区,并且其中,分区操作是在引导时由平台固件定义的。
5.如权利要求3所述的系统,其中,所述内嵌分区是自动拦截设备对所述引导目标介质的访问的特权分区。
6.如权利要求3所述的系统,其中,所述引导缓存代理将从远程引导目标介质获取的引导映像文件存储在本地。
7.如权利要求4所述的系统,其中,所述引导缓存代理确定有效的远程引导映像是否已经存储在本地,如果没有则从所述远程引导目标介质获取所请求的引导映像,否则所述引导缓存代理从进行存储的存储器获取本地存储的有效引导映像。
8.如权利要求1所述的系统,其中,所述更快的存储器是非易失性存储器,并且其中,在所述第一分区以外的操作系统不能访问存储在该更快的存储器中的引导目标数据。
9.如权利要求1所述的系统,其中,所述平台支持虚拟化,并且其中,所述引导缓存代理位于虚拟机监视器VMM中。
10.如权利要求9所述的系统,其中,所述VMM使设备对所述引导目标数据的访问虚拟化。
11.如权利要求10所述的系统,其中,所述引导缓存代理存储从所述远程服务器获取的引导映像和验证值。
12.如权利要求9所述的系统,其中,所述引导缓存代理确定有效的远程引导映像是否已经存储在本地,如果没有则从所述远程服务器获取所请求的引导映像,否则所述引导缓存代理从进行本地存储的存储器获取本地存储的有效引导映像。
13.如权利要求1所述的系统,其中,所述引导缓存代理基于目标策略选择性地存储来自远程服务器的引导映像和辅助引导文件。
14.如权利要求1所述的系统,其中,所述引导缓存代理确定所述引导目标数据是否是本地存储的,如果所述引导目标数据不是本地存储的,则该引导缓存代理选择性地将从所述远程服务器获取的引导映像文件、辅助引导文件以及验证值存储到本地存储器,如果所述引导目标数据是本地存储的,则该引导缓存代理选择性地将从本地引导目标获取的扇区存储到本地存储器。
15.一种用于加快计算机引导时间的方法,包括:
在第一引导时间,由所述计算机的引导缓存代理选择性地存储从引导目标介质获取的引导目标数据,其中,所述引导目标介质是在远程服务器上存储的远程介质,并且其中,该引导目标数据本地存储在作为所述计算机的本地存储器的更快的存储器中;以及
一旦所述计算机的操作系统重引导,使用所述引导缓存代理选择性地获取存储在所述更快的存储器上的引导目标数据和来自所述引导目标介质的引导目标数据中的至少一个;以及
一旦所述操作系统重置或者重引导:
使用所述引导缓存代理从所述远程介质获取验证值;
由所述引导缓存代理使用所述验证值确定存储在所述更快的存储器上的引导目标数据是否是当前的;以及如果存储在所述更快的存储器上的引导目标数据不是当前的,所述引导缓存代理从所述远程介质获取引导映像数据和辅助文件,并将所述引导映像数据、辅助文件和验证值存储到所述更快的存储器,
其中,所述引导缓存代理位于第一平台分区中,所述操作系统位于第二平台分区中。
16.如权利要求15所述的方法,其中,所述第一平台分区是虚拟机监视器,所述第二平台分区是虚拟机。
17.如权利要求15所述的方法,其中,所述第一平台分区是支持芯片组分区操作的平台的内嵌分区。
18.如权利要求15所述的方法,其中,所述本地存储器是易失性系统存储器,并且其中,所述第二平台分区不能访问所存储的引导目标数据。
19.如权利要求15所述的方法,进一步包括:
当本地存储所述引导目标数据时,由所述引导缓存代理存储从所述远程服务器获取的扇区的索引,以便识别所存储的扇区数据。
20.如权利要求15所述的方法,其中,获取引导目标数据进一步包括:
确定所请求的引导目标数据是否已被存储,如果没有则从所述远程服务器获取所请求的引导目标数据,否则从进行存储的本地存储器获取所请求的引导目标数据,其中,对于本地介质,该引导目标数据包括引导扇区信息,并且其中,对于远程介质,该引导目标数据包括引导映像、选择性的辅助文件以及验证值。
21.如权利要求15所述的方法,其中,选择性地存储引导目标数据进一步包括:
当所述引导目标数据存储在所述本地存储器中时,基于目标策略选择性地存储来自该远程服务器的扇区,当所述引导目标数据存储在所述远程服务器时,基于所述目标策略选择性地存储引导映像文件和辅助文件。
22.一种用于加快计算机引导时间的装置,包括:
用于在第一引导时间,由所述计算机的引导缓存代理选择性地存储从远程服务器获取的引导目标数据的模块,其中,该引导目标数据存储在作为所述计算机上的本地存储器的更快的存储器中;以及
用于一旦所述计算机的操作系统重引导,就由所述引导缓存代理使用从所述远程服务器获取的验证值验证存储在所述更快的存储器中的所述引导目标数据的模块,其中:
如果所述验证不成功,就使用所述引导缓存代理从所述远程服务器获取引导映像数据和辅助文件,并将所述引导映像数据和辅助文件存储到所述更快的存储器中;以及
如果所述验证成功,就从所述更快的存储器获取所述引导目标数据,
其中,所述引导缓存代理位于第一平台分区中,所述操作系统位于第二平台分区中。
23.如权利要求22所述的装置,其中,所述第一平台分区是虚拟机监视器,所述第二平台分区是虚拟机。
24.如权利要求22所述的装置,其中,所述第一平台分区是支持芯片组分区操作的平台的内嵌分区。
25.如权利要求22所述的装置,其中,所述本地存储器是易失性系统存储器,并且其中,所述第二平台分区不能访问所存储的引导目标数据。
26.如权利要求22所述的装置,进一步包括:
用于当本地存储所述引导目标数据时,由所述引导缓存代理存储从所述远程服务器获取的扇区的索引,以便识别所存储的扇区数据的模块。
27.如权利要求22所述的装置,其中,用于获取引导目标数据的模块进一步包括:
用于确定所请求的引导目标数据是否已被存储,如果没有则从所述远程服务器获取所请求的引导目标数据,否则从进行存储的本地存储器获取所请求的引导目标数据的模块,其中,对于本地介质,该引导目标数据包括引导扇区信息,并且其中,对于远程介质,该引导目标数据包括引导映像、选择性的辅助文件以及验证值。
28.如权利要求22所述的装置,其中,用于选择性地存储引导目标数据的模块进一步包括:
用于当所述引导目标数据存储在所述本地存储器中时,基于目标策略选择性地存储来自该远程服务器的扇区,当所述引导目标数据存储在所述远程服务器时,基于所述目标策略选择性地存储引导映像文件和辅助文件的模块。
CN200810087275.8A 2007-03-27 2008-03-26 用于提高平台网络引导效率的系统和方法 Expired - Fee Related CN101276284B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/729,078 US8688965B2 (en) 2006-09-29 2007-03-27 System and method for increasing platform network boot efficiency
US11/729,078 2007-03-27

Publications (2)

Publication Number Publication Date
CN101276284A CN101276284A (zh) 2008-10-01
CN101276284B true CN101276284B (zh) 2014-07-23

Family

ID=39493747

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200810087275.8A Expired - Fee Related CN101276284B (zh) 2007-03-27 2008-03-26 用于提高平台网络引导效率的系统和方法

Country Status (3)

Country Link
US (1) US8688965B2 (zh)
EP (1) EP1975789A3 (zh)
CN (1) CN101276284B (zh)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7962737B2 (en) * 2007-11-21 2011-06-14 Dell Products L.P. Methods, media and apparatus for booting diskless systems
US20090276228A1 (en) * 2008-04-30 2009-11-05 Scott Alan Isaacson Techniques for internet cafe service provider access
TWI381311B (zh) * 2008-10-01 2013-01-01 Inventec Corp 一種伺服器啟動順序之控制方法
US8117432B2 (en) * 2008-11-07 2012-02-14 Inventec Corp. Method for controlling boot sequence of server
US8386757B1 (en) * 2009-02-13 2013-02-26 Unidesk Corporation Managed desktop system
EP2416244A4 (en) * 2009-03-30 2012-08-29 Fujitsu Ltd CONTROL SERVER, BOOT SERVER, NETWORK BOOT SYSTEM, NETWORK BOOT PROCESS, BOOT IMAGE SELECTION PROGRAM, AND BOOT IMAGE PROGRAM
US8712968B1 (en) * 2009-07-15 2014-04-29 Symantec Corporation Systems and methods for restoring images
CN102063314B (zh) * 2009-11-14 2013-07-24 佛山市顺德区汉达精密电子科技有限公司 加速窗口系统初始化的开机方法
US8473588B2 (en) * 2010-03-30 2013-06-25 Lenovo (Singapore) Ptd. Ltd. Local and remote client computer system booting
US8560825B2 (en) 2010-06-30 2013-10-15 International Business Machines Corporation Streaming virtual machine boot services over a network
US8677187B2 (en) * 2011-04-01 2014-03-18 Vmware, Inc. Performing network core dump without drivers
JP5519712B2 (ja) * 2012-01-20 2014-06-11 レノボ・シンガポール・プライベート・リミテッド コンピュータをブートする方法およびコンピュータ
US9177171B2 (en) * 2012-03-11 2015-11-03 International Business Machines Corporation Access control for entity search
US8868834B2 (en) * 2012-10-01 2014-10-21 Edgecast Networks, Inc. Efficient cache validation and content retrieval in a content delivery network
CN103870312B (zh) * 2012-12-12 2018-01-23 华为技术有限公司 建立虚拟机共享存储缓存的方法及装置
US9354896B1 (en) * 2014-02-28 2016-05-31 Emc Corporation Hypervisor utilization to reduce bootstrap time for data storage system
US10146552B2 (en) * 2016-06-22 2018-12-04 International Business Machines Corporation Identification of bootable devices
US10372464B2 (en) * 2016-06-22 2019-08-06 Western Digital Technologies, Inc. Provisioning the hyper-converged infrastructure bare metal systems from the top of the rack switch
US10389580B2 (en) * 2016-10-28 2019-08-20 Western Digital Technologies, Inc. Distributed computing system configuration
US10382258B2 (en) 2017-05-11 2019-08-13 Western Digital Technologies, Inc. Viral system discovery and installation for distributed networks
US10691544B2 (en) * 2017-11-21 2020-06-23 International Business Machines Corporation Modifying a container instance network
US11762666B2 (en) * 2019-01-29 2023-09-19 Walmart Apollo, Llc Methods and apparatus for hypervisor boot up
CN110032870B (zh) * 2019-03-29 2020-10-02 网御安全技术(深圳)有限公司 虚拟机监控器的安全引导方法、系统及硬件安全监控卡

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1424628A2 (en) * 2002-11-26 2004-06-02 Microsoft Corporation Improved reliability of diskless network-bootable computers using non-volatile memory cache

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US541242A (en) 1895-06-18 lechner
US6965989B1 (en) * 2001-08-14 2005-11-15 Network Appliance, Inc. System and method for fast reboot of a file server
US7386711B1 (en) * 2002-01-08 2008-06-10 Cisco Technology, Inc. Method and apparatus for redirecting the boot operations of one or more systems
US7103762B2 (en) * 2003-01-31 2006-09-05 International Business Machines Corporation Using a cache and data transfer methodology to control real-time process data in a PXE pre-boot manufacturing environment
US7376949B2 (en) * 2003-10-01 2008-05-20 Hewlett-Packard Development Company, L.P. Resource allocation and protection in a multi-virtual environment
US7496961B2 (en) * 2003-10-15 2009-02-24 Intel Corporation Methods and apparatus to provide network traffic support and physical security support
US7162560B2 (en) * 2003-12-31 2007-01-09 Intel Corporation Partitionable multiprocessor system having programmable interrupt controllers
US7398382B2 (en) 2004-12-29 2008-07-08 Intel Corporation Method and apparatus to enhance platform boot efficiency

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1424628A2 (en) * 2002-11-26 2004-06-02 Microsoft Corporation Improved reliability of diskless network-bootable computers using non-volatile memory cache

Also Published As

Publication number Publication date
EP1975789A3 (en) 2009-05-27
CN101276284A (zh) 2008-10-01
US8688965B2 (en) 2014-04-01
US20080082809A1 (en) 2008-04-03
EP1975789A2 (en) 2008-10-01

Similar Documents

Publication Publication Date Title
CN101276284B (zh) 用于提高平台网络引导效率的系统和方法
US8539515B1 (en) System and method for using virtual machine for driver installation sandbox on remote system
JP5001773B2 (ja) プラットフォームのブート効率を増加するシステム、方法および媒体
US8086836B2 (en) Method and apparatus for virtualization of appliances
JP6192534B2 (ja) 仮想アプリケーション拡張ポイント
JP5174110B2 (ja) 自動化されたモジュール型のセキュアな起動ファームウェアの更新
US7882341B2 (en) System and method to enable parallelization of early platform initialization
US11385903B2 (en) Firmware update patch
US20050216920A1 (en) Use of a virtual machine to emulate a hardware device
US11010355B2 (en) Layer-based file access method and apparatus of virtualization instance
US11126725B2 (en) Secure firmware capsule update using NVMe storage and method therefor
US8898355B2 (en) Diskless client using a hypervisor
JP6095796B2 (ja) 「ブリング・ユア・オウン」管理のための起動機構
CN108304209B (zh) 固件升级方法及固件升级系统
US20200341744A1 (en) Fragmented firmware storage system and method therefor
CN115480931A (zh) 一种核间通信处理方法、装置及计算机系统
US10776132B1 (en) System and method for preboot device driver provisioning for remotely-staged operating system
US20060047927A1 (en) Incremental provisioning of software
US20220342995A1 (en) Secure boot runtime universal filesystem
US11635970B2 (en) Integrated network boot operating system installation leveraging hyperconverged storage
US9836602B2 (en) Method and system for offline scanning of computing devices
US20220283821A1 (en) Systems and methods for resource isolation for network boot using virtual machine monitor
CN114371908A (zh) 一种云应用程序运行方法和装置

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

Granted publication date: 20140723

Termination date: 20150326

EXPY Termination of patent right or utility model