CN104185836B - 用于在系统改变之后验证计算设备的适当操作的方法和系统 - Google Patents

用于在系统改变之后验证计算设备的适当操作的方法和系统 Download PDF

Info

Publication number
CN104185836B
CN104185836B CN201280072107.6A CN201280072107A CN104185836B CN 104185836 B CN104185836 B CN 104185836B CN 201280072107 A CN201280072107 A CN 201280072107A CN 104185836 B CN104185836 B CN 104185836B
Authority
CN
China
Prior art keywords
bios
operating system
change
calculating equipment
response
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.)
Active
Application number
CN201280072107.6A
Other languages
English (en)
Other versions
CN104185836A (zh
Inventor
J.B.富里斯塔尔
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 CN104185836A publication Critical patent/CN104185836A/zh
Application granted granted Critical
Publication of CN104185836B publication Critical patent/CN104185836B/zh
Active 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/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1433Saving, restoring, recovering or retrying at system level during software upgrading
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/66Updates of program code stored in read-only memory [ROM]
    • 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
    • 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/4403Processor initialisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1417Boot up procedures

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Quality & Reliability (AREA)
  • Stored Programmes (AREA)

Abstract

用于以自动化方式应用系统改变并且在系统改变之后验证计算设备的正确操作的方法和系统包括:允许计算设备使用操作系统和BIOS组件至少临时地应用系统改变的机会,确定系统改变是否成功,以及如果系统改变不成功,则将其丢弃。

Description

用于在系统改变之后验证计算设备的适当操作的方法和系统
背景技术
不时地,计算设备可能要求系统级改变,以维持适当的和/或高效的操作。这样的改变的示例可以包括对BIOS的改变、针对处理器微代码的补丁、固件更新、安全补丁、配置改变和/或其他。然而,实施系统改变可以使计算设备进入不能操作的状态。结果,以自动化(例如,无人值守的)方式执行系统级改变可能是危险的。事实上,如果计算设备接收对于自动化系统改变的请求,则可以不管安装系统改变的潜在益处而忽略或拒绝该请求,以便不冒系统故障的危险。
附图说明
在附图中作为示例而非作为限制来图示出在本文描述的本发明。为图示的简单和清楚起见,不必然地按比例绘制在图中图示的要素。例如,为了清楚,可以相对于其他要素来增大一些要素的尺寸。进一步,在被适当考虑的情况下,在图中重复参考标记,以指示对应的或类似的要素。
图1是计算设备的至少一个实施例的简化框图;
图2是图1的计算设备的操作阶段和操作模式的至少一个实施例的简化模块图;
图3是用于在预启动过程期间确定至少两个可能的系统配置中的哪一个适用的方法的至少一个实施例的简化流程图;
图4是用于发起系统改变的方法的至少一个实施例的简化流程图;
图5是用于处理与未决的系统改变有关的通信的方法的至少一个实施例的简化流程图;以及
图6是用于验证未决的系统改变的方法的至少一个实施例的简化流程图。
具体实施方式
尽管本公开的概念容许各种修改和替换形式,但是已经在附图中作为示例示出了其特定示例性实施例,并且将在本文详细描述该特定示例性实施例。然而,应当理解,并不旨在将本公开的概念限制为所公开的特定形式,而是相反地,旨在覆盖落入在如所附权利要求所限定的本发明的精神和范围内的所有修改、等同物和替换。
在以下描述中,阐述诸如逻辑实施方式、操作代码、指定操作数的方式、资源分割/共享/复制实施方式、系统组件的类型和相互关系,和逻辑分割/集成选择之类的很多特定细节,以便提供对本公开的更彻底的理解。然而,本领域技术人员将理解的是,在没有这样的特定细节的情况下也可以实践本公开的实施例。在其他的实例中,没有详细地示出控制结构、门级电路和全部软件指令序列,以便不使本发明模糊。通过所包括的描述,本领域普通技术人员将能够在没有过度的实验的情况下实施适当的功能。
在说明书中对“一个实施例”、“实施例”、“示例实施例”等等的引用指示所描述的实施例可以包括特定特征、结构,或特性,但是每个实施例可以不必然地包括特定特征、结构,或特性。此外,这样的用语不一定指相同的实施例。此外,当与实施例结合来描述特定特征、结构或特性时,在此提出,不管是否被明确地描述,与其他实施例结合而实现这样的特征、结构或特性在本领域技术人员的知识内。
可以以硬件、固件、软件或其任何组合来实施本发明的实施例。在计算机系统中实施的本发明的实施例可以包括组件之间的一个或多个基于总线的互连和/或组件之间的一个或多个点到点互连。本发明的实施例也可以被实施为可以由一个或多个处理器读取和执行的、由暂时型或非暂时型机器可读媒介承载的或存储在暂时型或非暂时型机器可读媒介上的指令。机器可读媒介可以被体现为用于存储或传送可由机器(例如,计算设备)读取的形式的信息的任何设备、机构或物理结构。例如,机器可读媒介可以被体现为只读存储器(ROM);随机存取存储器(RAM);磁盘存储媒介;光存储媒介;闪速存储器设备;袖珍或微型SD卡、存储棒、电信号及其他。
在附图中,可以为了便于描述而示出诸如表示设备、模块、指令块和数据要素的那些要素之类的示意性要素的特定布置或次序。然而,本领域技术人员应当理解,附图中的示意性要素的特定次序或布置并不意味着暗示要求处理的特定顺序或序列,或者过程的分离。进一步,在附图中包括示意性要素并不意味着暗示在所有实施例中要求这样的要素或者在一些实施例中由这样的要素表示的特征可以不被包括进来或者可以与其他要素组合。
通常,可以使用诸如软件或固件应用、程序、功能、模块、例程、过程、流程、插件、小程序、构件、代码段和/或其他之类的任何适当形式的机器可读指令来实施用于表示指令块的示意性要素,并且可以使用任何适当的编程语言、库、应用编程接口(API)和/或其他软件开发工具来实施每个这样的指令。例如,可以使用机器级指令、C、C++和/或其他编程语言来实施一些实施例。
类似地,可以使用诸如寄存器、数据存储、表、记录、阵列、索引、散列、映射、树、列表、图形、(任何文件类型的)文件、文件夹、目录、数据库和/或其它之类的任何适当的电子布置或结构来实施用于表示数据或信息的示意性要素。
进一步,在附图中,在诸如实或虚线或箭头之类的连接要素用于图示两个示意性要素之间或更多其他示意性要素之间的连接、关系或关联的情况下,任何这样的连接要素的缺少并不意味着暗示连接、关系或关联可能不存在。换句话说,可能在附图中没有示出要素之间的一些连接、关系或关联,以便不使本公开模糊。而且,为了易于说明,单个连接要素可以用于表示要素之间的多个连接、关系或关联。例如,在连接要素表示信号、数据或指令的通信的情况下,本领域技术人员应当理解,这样的要素可以表示如可能需要的那样的、实现通信的一个或多个信号路径(例如,总线)。
现在参照图1,用于在实施系统改变之后验证计算设备100的适当操作的说明性系统被体现为O/S代理130和BIOS/SMI逻辑134。如以下详细描述的,O/S代理130与BIOS/SMI逻辑134进行通信,以允许以自动化方式(例如,在没有人的干预的情况下)至少临时地在计算设备100上安装系统改变。如果系统改变的安装不成功,则O/S代理130和BIOS/SMI逻辑134允许操作系统128安全地返回到其先前(在系统改变之前)的配置中。这样,能够在降低系统故障的风险的情况下以自动化方式实施系统级改变。
计算设备100可以被体现为任何类型的电子设备,其可以包括但不限于:移动设备、个人数字助理、移动计算设备、智能电话、蜂窝式电话、手机、单向传呼机、双向传呼机、消息发送设备、计算机、个人计算机(PC)、台式计算机、膝上型计算机、笔记本计算机、手持式计算机、平板式计算机、服务器、服务器阵列或服务器场、web服务器、网络服务器、因特网服务器、工作站、袖珍计算机、大型计算机、超级计算机、网络装置、web装置、分布式计算系统、多处理器系统、基于处理器的系统、消费者电子设备、可编程消费者电子设备、电视、数字电视、机顶盒、无线接入点、基站、订户站、移动订户中心、无线电网络控制器、路由器、集线器、网关、网桥、交换机、机器,或者上述任何的任何组合。说明性的计算设备100包括通信方式耦合到至少一个存储器112和输入/输出(I/O)子系统114的至少一个处理器110。 取决于特定应用,计算设备100可以被体现为任何类型的计算设备,诸如像台式计算机、膝上型或平板式计算机、服务器、企业计算机系统、计算机网络、移动或手持计算设备或具有计算能力的其他电子设备(具有任何尺寸形状因数)。
说明性处理器110包括至少一个处理器核126。除高速缓存存储器的量之外,存储器112可以被体现为任何类型的适当的存储器设备,诸如动态随机存取存储器设备(DRAM)、同步动态随机存取存储器设备(SDRAM)、双数据速率动态随机存取存储器设备(DDR SDRAM)和/或其他易失性存储器设备。
在一些实施例中,I/O子系统114可以包括存储器控制器(例如,存储器控制器子系统或北桥)和/或输入/输出控制器(例如,输入/输出控制器或子系统或南桥)(未示出)。在其他的实施例中,可以使用具有其他配置的I/O子系统。例如,在一些实施例中,I/O子系统114可以形成片上系统(SoC)的一部分并且可以与处理器110和计算设备100的其他组件一起被合并在单个集成电路芯片上。照此,将理解的是,在一些实施例中,I/O子系统114的每个组件可以位于公共集成电路芯片上。
说明性I/O子系统114通信方式耦合到存储器112、至少一个数据存储设备116、至少一个固件设备118、中断控制器120、计时器122,以及可选地,一个或多个外围设备124。数据存储设备116的各部分可以被体现为用于存储数据和/或计算机指令的任何适当的设备,诸如磁盘存储设备(例如硬盘)、物理和/或逻辑存储设备的网络,和/或其他。在说明性实施例中,操作系统(O/S)128、O/S代理130和一个或多个软件应用136驻留数据存储设备116上。在一些实施例中,操作系统128例如可以是微软视窗(MICROSOFT WINDOWS)、LINUX、苹果(APPLE) IOS或其他操作系统,或者是可以特定地针对诸如分立的、手持的或便携式电子设备之类的某一类型的计算设备所设计的他类似的指令集。上述示例性操作系统是或者可以是它们的相应所有者的注册或未注册的商标。在一些实施例中,(一个或多个)软件应用136可以是任意的,例如,能够在计算设备100上运行的或者可以特定地针对诸如分立的、手持的或便携式电子设备之类的某一类型的计算设备所设计的任何软件应用。为了更快处理或为了其他原因,在操作期间,操作系统128、O/S代理130和/或(一个或多个)软件应用136的各部分可以被复制到存储器112。
说明性固件设备118被体现为非易失性存储器或诸如闪速存储器之类的只读存储器(ROM)设备。在说明性实施例中,固件设备118存储通常被称为基本输入/输出系统(BIOS)132的例程集合,该例程集合包括BIOS/SMI逻辑134、数据、指令和/或其他信息。BIOS/SMI逻辑134包括BIOS早期启动逻辑222和BIOS/SMI运行时间逻辑232,他们在图2中被示出并且在以下被描述。
说明性BIOS 132使得计算设备100能够启动操作系统128并且与耦合到I/O子系统114的各种其他(一个或多个)设备进行通信。取决于特定处理器体系结构,可以使用统一可扩展固件接口(UEFI)或其他指令来代替BIOS;然而,为了便于描述,可以在本文中使用术语BIOS来更一般地指代BIOS、UEFI或任何类似的这样的机制。在操作期间,为了更快执行或其他理由,BIOS 132和/或BIOS/SMI逻辑134的各部分可以被复制到存储器112。
尽管为了易于说明而被分开地示出,但在各个实施例中,中断控制器120和/或计时器122中的每个或任一个可以被体现在I/O子系统114、固件118和/或处理器110中。中断控制器120和计时器122被配置为促进O/S代理130和BIOS/SMI逻辑134之间的通信,并且允许以专用操作模式执行一些功能或处理。在一些计算环境中,专用操作模式被称为系统管理模式(SMM),并且在本文中可以使用该术语来更一般地指代这样的专用操作模式。可以使用SMM来处理全系统范围的功能,诸如像功率管理、硬件控制和/或错误处理。
一般而言,SMM是通常对操作系统128隐藏的平台服务。取决于特定处理器体系结构,可以通过诸如系统管理中断(SMI)或平台管理中断(PMI)之类的管理中断事件的生成来发起系统管理模式的使用。这些中断事件通常是不可屏蔽的并且因此优先于可屏蔽中断和其他事件。通常,管理中断发起与可能正在执行的任何操作系统过程并发地运行的异步过程。如以下描述的,响应于某些事件的出现,说明性中断控制器120生成管理中断(诸如SMI或PMI)。能够将说明性计时器122实现为对所确定的或可编程时间段(例如,在大约5分钟的范围内)进行倒计时,以使得该时间段的期满发起管理中断。
例如取决于计算设备100的预期使用,I/O子系统114可以通信方式耦合到一个或多个其他外围设备124,诸如网络接口、图形驱动器、音频驱动器和/或其他(未示出)。进一步,但应当理解,计算设备100可以包括其他组件、子组件和设备,为了描述清楚而在图1中未图示。
通常,通过被示意地表示为双头箭头的一个或多个信号路径,计算设备100的组件如图1中所示的那样以通信方式耦合。这样的信号路径可以被体现为能够促进相应的设备之间的通信的任何类型的有线或无线信号路径。例如,信号路径可以被体现为任何数量的导线、印刷电路板迹线、通孔、总线、点到点互连、介入设备和/或类似物。
在操作中,操作系统128可以在其在计算设备100上开始运行之后的任何时间(例如,在运行时间)接收实施系统级改变的请求。这样的请求可以涉及例如软件或固件更新、对中央处理单元(CPU)或处理器微代码的补丁、对BIOS的改变、安全补丁和/或配置改变。为了易于讨论,每个、任何或所有这样的改变和/或更新或其组合可以在本文中被称为“系统改变”,并且包括一个或多个系统改变的系统配置可以被称为“未决配置”。
举例来说,在一些情况下,当处理器110、操作系统128或软件应用136开始操作时,其可以自动地检查(例如,通过进入因特网网站或远程服务器)以查看是否存在尚未被安装在计算设备100上的系统改变。如果存在可以用来安装在计算设备100上的系统改变,则O/S代理130与BIOS/SMI逻辑134进行通信以利用未决的系统改变来尝试操作系统128的一次性“试验”启动。如果O/S代理130确定试验启动已经失败,则利用其先前的配置(例如,在没有系统改变的情况下)重新启动操作系统128。
现在参照图2,模块图图示在计算设备100被加电之后出现的计算设备100的操作阶段。因为计算设备100的至少一个实施例能够以正常(例如,CPU)操作模式210和专用(例如,SMM)操作模式200操作,所以图2也图示出现在那些模式的每一个中的指令、例程、过程等等。
计算设备100的操作阶段包括固件初始化或“BIOS”阶段212、操作系统启动阶段214和操作系统运行阶段216。BIOS阶段212和O/S启动阶段214可以被更一般地称为“预启动”阶段,而O/S运行阶段216可以被称为“运行时间”阶段。阶段212、214、216通常一个接一个地出现;例如,O/S启动阶段214通常直到BIOS阶段212完成才开始。同样地,该O/S运行阶段216通常直到O/S启动阶段214完成才开始。在任何阶段212、214、216期间,操作模式200、210可以并发地运行。
在BIOS阶段212期间,计算设备100执行计算机化逻辑以完成由框220和222标识的任务。以正常操作模式210完成这些任务。在框220,初始化BIOS 132和SMM 200。在框222,BIOS 132执行早期启动逻辑,早期启动逻辑被配置为在启动操作系统128时确定使用哪个系统配置(例如,利用巳知的“好的”配置进行启动还是利用包括系统改变的新的或“未决”的配置进行启动)。用于完成框222的任务的说明性方法300被示出在以下描述的图3中。在框224,利用由BIOS 132在框222所确定的配置,BIOS 132加载和启动操作系统128。在框224在计算机化逻辑的执行期间,计算设备100处于O/S启动阶段214并且处于正常操作模式210中。
一旦启动或重新启动操作系统128(例如,图2的步骤(1)或步骤(3)),计算设备100就操作在O/S运行阶段216和正常操作模式210中。如由框226所图示的,在O/S运行阶段216期间,计算设备100可以运行(一个或多个)软件应用136、经由一个或多个外围设备124与用户交互,和/或执行其他活动或操作。在O/S运行阶段216期间的任何时间,O/S代理230可以接收如上所述的对于系统改变的请求228。例如,请求228可以始自于在计算设备100上运行的另一个过程,或者始自于计算设备100的用户。响应于请求228,在图2的步骤(2),O/S代理130发起所请求的系统改变的实施。在以下描述的图4中示出用于完成图2的步骤(2)的(一个或多个)任务的说明性方法400。例如,使用SMI消息,O/S代理130调用BIOS/SMI逻辑134以至少临时地应用所请求的系统改变。BIOS/SMI逻辑134以专用操作模式(例如,SMM 200)运行,如由框232所示。在以下描述的图5中示出用于完成框232的(一个或多个)任务的说明性方法500。O/S代理130然后重新启动具有系统改变的操作系统128(图2的步骤(3)),并且在图2的步骤(4)例如通过执行一个或多个系统级测试来验证系统改变。在以下描述的图6中示出用于完成图2的步骤(4)的(一个或多个)任务的说明性方法600。
现在参照图3,示出用于完成图2的框222的任务(例如,用于确定在启动操作系统128时使用哪个配置)的说明性方法300。方法300可以被体现为被配置用于由BIOS 132执行的计算机化逻辑(例如,被体现为BIOS早期启动逻辑222)。在框310,将计算设备100加电或以其它方式开启(或重新开启)。以虚线示出框310以指示:在说明性实施例中,框310仅仅是出现在方法300的随后的框(例如,312、314、316、318、320、322)之前的事件并且不必被包括在方法300的任何计算机化逻辑中。
在框312,BIOS早期启动逻辑222确定“启动未决”标志是否已经被置位。在说明性实施例中,如果系统改变是未决的(例如,O/S代理130已经接收到安装包括系统改变的新配置的请求),则启动未决标志仅是被打开的比特(例如,被分配值“1”),或者如果不存在等待被安装的系统改变,则启动未决标志被被分配值“0”。在说明性实施例中,启动未决标志被存储在BIOS存储设备(例如,闪速存储器)中。如果没有系统改变是未决的,那么在框314,BIOS早期启动逻辑222应用巳知“好的”配置(例如,在系统改变之前存在的系统配置)。
如果系统改变是未决的,则在框316,BIOS早期启动逻辑222清除启动未决标志(例如,将启动未决标志从值“1”改变为值“0”,或者反之亦然)。在说明性实施例中,启动未决标志用于保证仅仅进行一次尝试来利用包含未决系统改变的配置启动操作系统128,除非未决配置的启动成功地完成。
在框318,计时器122被配置为对一个时间段倒计时,以便当该时间段期满时,操作系统128自动关闭并且重新启动。在说明性实施例中,该时间段被设定为在时间期满之前允许计算设备100有足够时间去尝试利用未决配置进行成功启动。在框320,BIOS早期启动逻辑222然后应用未决配置。在框322,BIOS早期启动逻辑222视情况使用在框314确立的巳知配置或者在框320应用的未决配置来发起操作系统128的启动。如果未决配置成功,则在计时器122期满之前将已经成功地完成了框320和322的任务。如果在完成框320和322的任务之前计时器122期满,则未决配置被认为已经失败。
现在参照图4,示出用于完成图2的步骤(2)的(一个或多个)任务(例如,用于发起未决配置的启动)的说明性方法400。方法400可以被体现为被配置用于由O/S代理230执行的计算机化逻辑。在框410,O/S代理230接收应用(例如,安装)包括系统改变的未决系统配置的请求(例如,图2中图示的请求228)。如上所述,请求例如可以始自于另一个过程或用户。以虚线描绘框410以指示:在说明性实施例中,框410仅仅是出现在方法400的随后的框(例如,412、414、416)之前的事件并且不必被包括在方法400的任何计算机化逻辑中。
在框412,O/S代理向BIOS/SMI运行时间逻辑232发送消息(例如,SMI),该消息指令BIOS/SMI运行时间逻辑232上载该消息中所包括的未决配置。从以下描述的图5的框528开始,由BIOS/SMI运行时间逻辑232以专用的操作模式200进行未决配置的进一步处理。与此同时,在框414,O/S代理230从BIOS/SMI运行时间逻辑232等待指示其已经完成图5的框528、530、532、538处的处理的消息。在框416,O/S代理230利用包含系统改变的未决配置发起操作系统128的重新启动(被图示为图2的步骤(3))。
现在参照图5,示出用于完成框232的(一个或多个)任务的说明性方法500。方法500可以被体现为被配置用于由BIOS 132执行的计算机化逻辑(例如,被体现为BIOS运行时间逻辑232)。该说明性方法500被配置为在未决配置的处理期间从O/S代理230接收许多不同的消息(例如,SMI)。在说明性实施例中,每当BIOS/SMI运行时间逻辑232从OS代理230接收消息时,执行方法500。
在框510,BIOS/SMI运行时间逻辑232从O/S代理230接收消息(例如,SMI)。在说明性实施例中,由O/S代理230在图4的框412、图6的框612、图6的框618或图6的框624生成由BIOS/SMI运行时间逻辑232在框510接收的消息。以虚线描绘框510以指示:在说明性实施例中,框510仅仅是出现在方法500的随后的框(例如,框512、518、528、534和随后的框)之前的事件并且不必被包括在方法500的任何计算机化逻辑中。如图2中所示,使用专用操作模式200来执行BIOS/SMI运行时间逻辑232。
在框512,方法500确定来自O/S代理230的消息是否指示未决配置已被成功应用并且通过所有可应用的测试(例如,“提交未决(commit pending)”消息)。在说明性实施例中,在以下描述的图6的框624处由O/S代理230向BIOS/SMI运行时间逻辑232发送“提交未决”消息。如果由BIOS/SMI运行时间逻辑232在框512接收的消息是“提交未决”消息,那么在框514处方法500利用包括系统改变的未决配置来替换巳知的“好的”配置,并且在框516向O/S代理230返回指示该任务成功完成的状态消息。在说明性实施例中,由O/S代理230接收框516的“成功”消息,并且在以下描述的图6的框626处将控制返回到正常操作模式210。
如果来自O/S代理230的消息不是“提交未决”消息,则方法500继续到框518。在框518,方法500确定来自O/S代理230的消息是否指示O/S代理230正在请求关于当前配置的状态的信息,即,当前正在使用巳知的“好的”配置还是使用包含系统改变的未决配置(例如,“哪个配置”消息)。在说明性实施例中,在以下描述的图6的框612处,由O/S代理230向BIOS/SMI运行时间逻辑232发送“哪个配置”消息。
如果由BIOS/SMI运行时间逻辑232在框518接收的消息是“哪个配置”消息,那么在框520,方法500确定操作系统128最后一次被启动时是否使用了未决配置。在说明性实施例中,通过参考如上所述的启动未决标志来确定这一点。如果最后的启动使用了未决配置,那么在框522,禁用计时器122,并且在框524,由BIOS/SMI运行时间逻辑232向O/S代理230发送指示应当使用未决配置的状态消息。在框522禁用计时器122,这是因为,基于启动未决标志,BIOS/SMI运行时间逻辑232已经推断出未决配置被成功应用。如果最后的启动没有使用未决配置,那么在框526,由BIOS/SMI运行时间逻辑232向O/S代理230发送指示应当使用巳知的“好的”配置的状态消息。在说明性实施例中,视情况,由O/S代理230接收框524的“使用未决配置”消息或框526的“使用巳知的配置”消息,并且在以下描述的图6的框614将控制返回到正常操作模式210。
如果来自O/S代理230的消息不是“哪个配置”消息,则方法500继续到框528。在框528,方法500确定来自O/S代理230的消息是否包括包含系统改变的未决配置(例如,其是否是“新配置”消息)。在说明性实施例中,在如上所述图4的框412处,由O/S代理230向BIOS/SMI运行时间逻辑232发送“新配置”消息。
如果由BIOS/SMI运行时间逻辑232在框528处接收的消息是“新配置”消息,那么在框530,方法500创建包括包含在“新配置”消息中的数据的未决配置,在框532如上所述将启动未决标志置位,并且在框538向O/S代理230发送指示已经成功创建未决配置的消息。如上所述,无论何时O/S代理230接收到对于系统改变228的请求,就调用框528。在说明性实施例中,由O/S代理230接收框538的“成功”消息,并且在如上所述图4的框414处将控制返回到正常操作模式210。
如果来自O/S代理230的消息不是“新配置”消息,则在至少一些实施例中,方法500继续到框534。在框534,方法500确定来自O/S代理230的消息是否指示未决配置没有通过所有可应用测试并且因此应当被丢弃(例如,其是否是“丢弃未决”消息)。在说明性实施例中,在以下描述的图6的框618处,由O/S代理230向BIOS/SMI运行时间逻辑232发送“丢弃未决”消息。
如果由BIOS/SMI运行时间逻辑232在框534接收的消息是“丢弃未决”消息,那么在框536,方法500删除未决配置并且向O/S代理230发送指示未决配置被成功删除的状态消息。如上所提及的,以专用操作模式200中执行方法500,并且在图5的框516、524、526、528和536处,将控制返回到正常CPU操作模式210。
现在参照图6,示出用于完成图2的步骤(4)的(一个或多个)任务(例如,用于验证未决配置的成功安装)的说明性方法600。方法600可以被体现为被配置用于由O/S代理230执行的计算机化逻辑。一旦在图4的框416处已经利用未决配置重新启动了操作系统128,就调用方法600。相应地,以虚线描绘框610以指示:在说明性实施例中,框610仅仅是出现在方法600的随后的框(例如,框612和随后的框)之前的事件并且不必被包括在方法600的任何计算机化逻辑中。
在框612,O/S代理230向BIOS/SMI运行时间逻辑232发送用于确定是巳知的“好的”配置还是未决配置在使用中的、如上所述的“哪个配置”消息。在框614,O/S代理230接收上述的由BIOS/SMI运行时间逻辑232在图5的框524或框526生成的消息。如果在框614由O/S代理230从BIOS/SMI运行时间逻辑232接收的消息指示巳知的“好的”配置在使用中,那么O/S代理230能够推断出利用未决配置的一次性试验启动不是成功的(例如,在启动完成之前计时器122期满并且因此利用巳知的“好的”配置发起了重新启动,或者用户按下了电源或重置按钮)。在这样的事件中,在框616,O/S代理230响应于失败尝试而发起计算机化错误处理逻辑,并且在至少一些实施例中,在框618,向BIOS/SMI运行时间逻辑232发送上述的“丢弃未决”消息。错误处理逻辑的一些示例可以包括保持启动未决配置的失败尝试的日志和/或与其相关的其他数据、创建与一个或多个这样的失败尝试有关的报告、向计算设备100的(一个或多个)用户、输出设备(诸如显示器或扬声器)、网络或远程计算设备发送一个或多个警告,和/或其他补救措施。由O/S代理230在框616处进行的一个或多个补救措施可以根据计算设备100的特定系统设计或配置的要求而变化。
如果在框614处由O/S代理230从BIOS/SMI运行时间逻辑232接收到指示未决配置在使用中的消息,那么O/S代理230能够推断出利用未决配置的启动是成功的,并且能够继续到框620。然而,即使未决配置的启动成功完成,仍然可能存在如下风险:系统具有不稳定性或其他操作问题。因此,在框620,O/S代理230进行一个或多个诊断、系统测试、操作系统测试、机内自测试(BIST)和/或其他功能测试或系列测试,以确定计算设备100在利用未决配置启动之后是否适当地操作。由O/S代理230在框620处进行的一个或多个测试可以根据计算设备100的特定系统设计或配置的要求而变化。
如果未决配置成功地完成了由O/S代理230在框620处进行的一个或多个测试和/或诊断,那么在框624,O/S代理230向BIOS/SMI运行时间逻辑232发送上述的“提交未决”消息,以指令BIOS/SMI运行时间逻辑232利用未决配置来替换巳知的“好的”配置。在框626,O/S代理230接收由BIOS/SMI运行时间逻辑232在图5的框516处生成的“成功”状态消息,并且发起与未决配置的成功实施有关的事件逻辑。这样的事件逻辑的一些示例可以包括记录启动未决配置的成功尝试和/或与其相关的其他数据、创建与一个或多个这样的成功尝试有关的报告、向计算设备100的一个或多个用户、输出设备(诸如显示器或扬声器)、网络或远程计算设备发送一个或多个警告,和/或其他事件报告措施。由O/S代理230在框626处进行的一个或多个事件报告措施可以根据计算设备100的特定系统设计或配置的要求而变化。
如果未决配置没有完成由O/S代理230在框620进行的一个或多个测试和/或诊断,那么在框618,O/S代理230向BIOS/SMI运行时间逻辑232发送上述的“丢弃未决”消息,以指令BIOS/SMI运行时间逻辑232删除未决配置并且维持巳知的“好的”配置。在各个实施例中,O/S代理230可以使用任何标准或许多标准来基于计算设备100的特定系统设计或配置的要求确定是否接受未决配置。例如,在一些实施例中,通过少于所有进行的测试和/或诊断的100%可能被认为是“通过”,而在其他的实施例中,可能要求通过所有进行的测试和/或诊断。
示例
以下提供本文中公开的设备、系统和方法的说明性示例。设备、系统和方法的实施例可以包括以下描述的示例的任何一个或更多以及任何组合。
在一个示例中,被配置为实施系统级改变的计算设备可以包括至少一个处理器核和耦合到该至少一个处理器核的存储器设备,存储器设备在其中存储有多个指令,当由该至少一个处理器核执行时,该多个指令使该至少一个处理器核执行如下操作:在操作系统和BIOS在计算设备上运行时,由向BIOS发送消息的操作系统发起系统改变。在一示例中,该至少一个处理器可以通过BIOS启动计时器,该计时器被配置为在一时间段期满之后重新启动操作系统。在一示例中,该至少一个处理器可以启动具有系统改变的操作系统。在一示例中,该至少一个处理器可以通过与BIOS进行通信的操作系统来确定具有系统改变的启动是否成功。在一示例中,该至少一个处理器可以响应于确定系统改变是否成功而由BIOS处理系统改变。在一示例中,操作系统可以被配置为接收对于系统改变的请求。在一示例中,BIOS可以被配置为置位指示系统改变未决的标志。在一示例中,BIOS可以被配置为确定标志是否被置位并且响应于标志被置位而启动具有系统改变的操作系统。在一示例中,BIOS可以被配置为确定标志是否被置位并且响应于标志没有被置位而启动不具有系统改变的操作系统。在一示例中,BIOS可以被配置为响应于确定具有系统改变的启动成功来禁用计时器。在一示例中,计算设备可以被配置为响应于一时间段的期满来重新启动操作系统。在一示例中,操作系统可以被配置为执行至少一个测试,该至少一个测试被配置为响应于启动具有系统改变的操作系统而验证计算设备的适当操作。在一示例中,操作系统可以被配置为向BIOS发送指示系统改变是否成功的消息。在一示例中,操作系统和BIOS可以在计算设备上按第一配置运行,并且BIOS可以被配置为响应于操作系统确定系统改变成功来利用包括系统改变的第二配置替换第一配置。在一示例中,操作系统和BIOS可以在计算设备上以第一配置运行,并且BIOS可以被配置为响应于操作系统确定系统改变不成功来删除系统改变并且维持第一配置。在一示例中,操作系统可以被配置为响应于确定系统改变是否成功来向用户、输出设备、网络和远程计算设备中的至少一个报告系统改变的状态。
在另一个示例中,方法可以包括:在运行操作系统和与操作系统进行通信的BIOS的计算设备处,在操作系统在计算设备上运行时,由操作系统发起对计算设备的系统改变。在一示例中,该方法可以包括BIOS至少临时地应用系统改变。在一示例中,该方法可以包括操作系统确定系统改变是否成功。在一示例中,该方法可以包括响应于确定系统改变是否成功,BIOS处理系统改变。在一示例中,该方法可以包括BIOS配置计时器,以允许操作系统尝试具有系统改变的启动并且响应于确定系统改变不成功而尝试不具有系统改变的重新启动。在一示例中,该方法可以包括响应于至少临时应用系统改变,操作系统执行执行至少一个诊断。
在另一个示例中,计算设备可以包括至少一个处理器;和耦合到该至少一个处理器的计算机电路,计算机电路被布置为使该至少一个处理器执行任何上述方法。在另一个示例中,至少一个计算机可存取媒介可以包括响应于被执行而导致计算设备执行任何上述方法的多个指令。
在另一个示例中,用于实施系统改变的方法可以包括:在操作系统和BIOS在计算设备上运行时,BIOS从操作系统接收对计算设备进行系统改变的请求。该方法可以包括:BIOS发起具有所请求的系统改变的操作系统的启动。该方法可以包括:BIOS从操作系统接收系统改变是否成功的指示。该方法可以包括:响应于系统改变是否成功的指示来处理系统改变。
在一示例中,被配置为实施系统改变的计算设备可以包括至少一个处理器;和耦合到该至少一个处理器的计算机电路,其中计算机电路可以被布置为使该至少一个处理器执行上述方法。在一示例中,至少一个计算机可存取媒介可以包括:响应于被执行而导致计算设备执行上述方法的多个指令。
在另一个示例中,用于实施系统改变的方法可以包括:在操作系统和BIOS在计算设备上运行时,操作系统从BIOS接收指示操作系统的第一配置和包括系统改变的操作系统的第二配置中的哪一个正在运行的消息。该方法可以包括:响应于来自BIOS的指示第二配置在运行的消息而执行至少一个测试以确定计算设备是否适当地操作。该方法可以包括:向BIOS发送指示利用第二配置的计算设备是否适当地操作的消息。
在另一个示例中,被配置为实施系统改变的计算设备可以包括:至少一个处理器;和耦合到该至少一个处理器的计算机电路;其中计算机电路可以被布置为使该至少一个处理器执行上述方法。在另一个示例中,被配置为实施系统改变的至少一个计算机可存取媒介可以包括响应于被执行而导致计算设备执行上述方法的多个指令。
尽管已经在附图和之前的描述中详细图示和描述了本公开,但这样的图示和描述将被认为在性质上是示例性而非限制性的,要理解,仅仅已经示出和描述了说明性实施例,并且期望保护进入本公开的精神的范围内的所有改变和修改。另外,尽管已经在计算设备的上下文中描述了本公开的各方面,但将理解,各个方面具有其他应用,例如期望自动地发起系统级改变或更新的任何应用。这样的应用例如可以包括具有一个或多个计算机控制特征的任何设备,诸如个人电子设备、“智能”装置和/或其他产品。

Claims (20)

1.一种被配置为实施系统改变的计算设备,包括:
至少一个处理器核;和
耦合到所述至少一个处理器核的存储器设备,存储器设备在其中存储有多个指令,当由所述至少一个处理器核执行时,所述多个指令使所述至少一个处理器核执行如下操作:
在操作系统和BIOS在计算设备上运行时,通过所述操作系统向BIOS发送消息来发起系统改变;
由BIOS置位指示所述系统改变未决的标志;
由BIOS并且在操作系统在计算设备上运行时启动计时器,计时器被配置为在一时间段期满之后重新启动所述操作系统;
启动具有所述系统改变的所述操作系统;
通过所述操作系统与BIOS进行通信来基于具有系统改变的所述启动是否在所述时间段之内发生确定具有系统改变的所述启动是否成功;以及
响应于确定所述系统改变是否成功,由BIOS处理所述系统改变。
2.根据权利要求1所述的计算设备,被配置为由所述操作系统接收对于系统改变的请求。
3.根据权利要求1所述的计算设备,被配置为由BIOS确定标志是否被置位并且响应于标志被置位而启动具有所述系统改变的所述操作系统。
4.根据权利要求1所述的计算设备,被配置为由BIOS确定标志是否被置位并且响应于标志没有被置位而启动不具有所述系统改变的所述操作系统。
5.根据权利要求1所述的计算设备,被配置为由BIOS响应于确定具有系统改变的启动成功而禁用计时器。
6.根据权利要求1所述的计算设备,被配置为响应于所述时间段的期满而重新启动所述操作系统。
7.根据权利要求1所述的计算设备,被配置为由所述操作系统执行至少一个测试,所述至少一个测试被配置为响应于启动具有所述系统改变的所述操作系统而验证所述计算设备的适当操作。
8.根据权利要求1所述的计算设备,被配置为由所述操作系统向BIOS发送指示所述系统改变是否成功的消息。
9.根据权利要求1所述的计算设备,其中,所述操作系统和BIOS在所述计算设备上以第一配置运行,所述计算设备被配置为由BIOS响应于所述操作系统确定所述系统改变成功而利用包括所述系统改变的第二配置来替换第一配置。
10.根据权利要求1所述的计算设备,其中,所述操作系统和BIOS在计算设备上以第一配置运行,并且所述计算设备被配置为由BIOS响应于操作系统确定系统改变不成功而删除所述系统改变并且维持第一配置。
11.根据权利要求1所述的计算设备,被配置为由所述操作系统响应于确定所述系统改变是否成功而向用户、输出设备、网络或远程计算设备报告所述系统改变的状态。
12.一种用于实施系统改变的方法,包括:
在运行操作系统和与所述操作系统进行通信的BIOS的计算设备上进行如下步骤:
在所述操作系统在所述计算设备上运行时,由所述操作系统发起对所述计算设备的系统改变;
由BIOS置位指示所述系统改变未决的标志;
由BIOS并且在操作系统在计算设备上运行时启动计时器,计时器被配置为在一时间段期满之后重新启动所述操作系统;
至少临时地通过BIOS应用所述系统改变;
由所述操作系统基于具有系统改变的所述启动是否在所述时间段之内发生来确定所述系统改变是否成功;以及
由BIOS响应于确定所述系统改变是否成功来处理所述系统改变。
13.根据权利要求12所述的方法,其中所述计时器还允许所述操作系统响应于确定所述系统改变不成功而在不具有所述系统改变的情况下进行重新启动。
14.根据权利要求12所述的方法,包括:响应于至少临时地应用所述系统改变,由操作系统执行至少一个诊断。
15.一种用于实施系统改变的系统,包括:
在运行操作系统和与所述操作系统进行通信的BIOS的计算设备上:
用于当所述操作系统在所述计算设备上运行时,由所述操作系统发起对所述计算设备的系统改变的装置;
用于由BIOS置位指示所述系统改变未决的标志的装置;
用于由BIOS并且在操作系统在计算设备上运行时启动计时器的装置,所述计时器被配置为在一时间段期满之后重新启动所述操作系统;
用于至少临时地由BIOS应用所述系统改变的装置;
用于由所述操作系统基于具有系统改变的所述启动是否在所述时间段之内发生来确定所述系统改变是否成功的装置;以及
用于由BIOS响应于确定所述系统改变是否成功来处理所述系统改变的装置。
16.根据权利要求15所述的系统,包括用于由BIOS配置计时器以允许所述操作系统尝试具有所述系统改变的启动并且允许所述操作系统响应于确定所述系统改变不成功而在不具有所述系统改变的情况下进行重新启动的装置。
17.根据权利要求15所述的系统,包括用于响应于用于至少临时地应用所述系统改变的装置而由所述操作系统执行至少一个诊断的装置。
18.一种用于实施系统改变的系统,该系统包括:
用于以下操作的装置:当操作系统和BIOS在计算设备上运行时,利用BIOS来:
从所述操作系统接收对所述计算设备进行系统改变的请求;
置位指示所述系统改变未决的标志;
启动计时器,计时器被配置为在一时间段期满之后重新启动所述操作系统;
发起具有所请求的系统改变的所述操作系统的启动;
从所述操作系统接收基于具有系统改变的所述启动是否在所述时间段之内发生而所述系统改变是否成功的指示;以及
响应于所述系统改变是否成功的指示来处理所述系统改变。
19.根据权利要求18所述的系统,包括用于以下操作的装置:响应于用于处理所述系统改变的装置,执行至少一个诊断。
20.一种机器可读介质,具有存储在其上的指令,当所述指令被执行时使得计算设备执行根据权利要求12-14中任一项所述的方法。
CN201280072107.6A 2012-03-31 2012-03-31 用于在系统改变之后验证计算设备的适当操作的方法和系统 Active CN104185836B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2012/031761 WO2013147915A1 (en) 2012-03-31 2012-03-31 Method and system for verifying proper operation of a computing device after a system change

Publications (2)

Publication Number Publication Date
CN104185836A CN104185836A (zh) 2014-12-03
CN104185836B true CN104185836B (zh) 2019-01-18

Family

ID=49260968

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201280072107.6A Active CN104185836B (zh) 2012-03-31 2012-03-31 用于在系统改变之后验证计算设备的适当操作的方法和系统

Country Status (7)

Country Link
US (1) US9880862B2 (zh)
EP (1) EP2831722B1 (zh)
JP (1) JP6132009B2 (zh)
KR (1) KR101626433B1 (zh)
CN (1) CN104185836B (zh)
AU (1) AU2012375273B2 (zh)
WO (1) WO2013147915A1 (zh)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6132009B2 (ja) 2012-03-31 2017-05-24 インテル・コーポレーション システム変更後におけるコンピューティング装置の適切な動作を確認するための方法及びシステム
EP3097477B1 (en) * 2014-01-22 2019-03-27 Hewlett-Packard Development Company, L.P. System firmware configuration data
JP6404708B2 (ja) * 2014-12-24 2018-10-10 Necプラットフォームズ株式会社 情報処理装置、bios設定情報変更方法、並びにコンピュータ・プログラム
US9921819B2 (en) 2014-12-29 2018-03-20 Airwatch Llc Persistent mobile device enrollment
CN104503810B (zh) * 2015-01-08 2018-03-23 合肥联宝信息技术有限公司 更新计算机系统中的bios固件的方法及装置
US9734015B2 (en) * 2015-06-23 2017-08-15 Dell Products, L.P. Pre-boot self-healing and adaptive fault isolation
US20170090909A1 (en) * 2015-09-25 2017-03-30 Qualcomm Incorporated Secure patch updates for programmable memories
BR112018010206B1 (pt) 2015-11-20 2023-01-31 1934612 Ontario Inc Aparelho, sistemas, e métodos para purificar um fluido com uma membrana de carboneto de silício
US10891172B2 (en) * 2015-12-24 2021-01-12 Intel Corporation Modifying an operating system
US10001981B2 (en) 2016-05-26 2018-06-19 At&T Intellectual Property I, L.P. Autonomous server installation
US11243782B2 (en) * 2016-12-14 2022-02-08 Microsoft Technology Licensing, Llc Kernel soft reset using non-volatile RAM
WO2018136041A1 (en) * 2017-01-18 2018-07-26 Hewlett-Packard Development Company, L.P. Software package installations with proximity tags
US10445106B2 (en) 2017-03-22 2019-10-15 Vmware, Inc. Persistent enrollment of a computing device using a BIOS
US10635819B2 (en) * 2017-03-22 2020-04-28 Vmware, Inc. Persistent enrollment of a computing device based on a temporary user
US10620965B2 (en) 2017-03-22 2020-04-14 Vmware, Inc. Internet recovery of a windows configuration
US10740109B2 (en) 2017-03-22 2020-08-11 Vmware, Inc. Configuring a computing device using managed operating system images
US10409619B2 (en) 2017-03-22 2019-09-10 Vmware, Inc. Persistent enrollment of a computing device using vendor autodsicovery
TWI633487B (zh) * 2017-05-05 2018-08-21 神雲科技股份有限公司 自動回復基本輸入輸出系統映像檔的方法及電腦系統
US10866623B2 (en) * 2018-11-16 2020-12-15 Dell Products L.P. Information handling system and method to detect and recover from no power/no post failures
US11481248B2 (en) * 2020-08-05 2022-10-25 Dell Products L.P. Completing an SMI task across multiple SMI events

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101038564A (zh) * 2006-11-21 2007-09-19 西安交通大学 应用服务器分级再生方法
CN101587456A (zh) * 2009-07-08 2009-11-25 腾讯科技(深圳)有限公司 一种对软件运行的保护处理方法及装置

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05265720A (ja) * 1992-03-19 1993-10-15 Fujitsu Ltd システム情報管理方式
KR20000019147A (ko) * 1998-09-09 2000-04-06 구자홍 컴퓨터의 롬 바이오스(rom bios)구동 시스템 및 그 방법
US7318089B1 (en) * 1999-09-30 2008-01-08 Intel Corporation Method and apparatus for performing network-based control functions on an alert-enabled managed client
US6418498B1 (en) * 1999-12-30 2002-07-09 Intel Corporation Integrated system management memory for system management interrupt handler independent of BIOS and operating system
US7149978B1 (en) * 2000-12-27 2006-12-12 Adaptec, Inc. Methods for managing host adapter settings
JP2003316582A (ja) 2002-04-24 2003-11-07 Nec System Technologies Ltd 2重化biosの制御方法と装置
US7003659B2 (en) * 2002-04-29 2006-02-21 Intel Corporation Method and/or apparatus for reliably booting a computer system
US20040030877A1 (en) * 2002-08-06 2004-02-12 Aleksandr Frid Using system BIOS to update embedded controller firmware
US20040076043A1 (en) * 2002-10-21 2004-04-22 Phoenix Technologies Ltd. Reliable and secure updating and recovery of firmware from a mass storage device
JP4597551B2 (ja) * 2003-03-28 2010-12-15 株式会社リコー ソフトウェア更新装置、ソフトウェア更新システム、ソフトウェア更新方法及びプログラム
JP2004326287A (ja) * 2003-04-23 2004-11-18 Mitsubishi Electric Corp プログラム遠隔更新システム
US20050132351A1 (en) * 2003-12-12 2005-06-16 Randall Roderick K. Updating electronic device software employing rollback
US7457945B2 (en) * 2004-03-23 2008-11-25 Dell Products L.P. System and method for providing a secure firmware update to a device in a computer system
TWI250407B (en) * 2004-06-10 2006-03-01 Acer Inc Electronic system capable of using universal plug and play (UPNP) protocol to update software program and method thereof
JP2006039660A (ja) * 2004-07-22 2006-02-09 Yokogawa Electric Corp クライアントサーバシステムおよびクライアント装置のプログラムバージョン変更方法
US7373551B2 (en) * 2004-12-21 2008-05-13 Intel Corporation Method to provide autonomic boot recovery
JP4810172B2 (ja) * 2005-09-29 2011-11-09 日本電気株式会社 制御装置及びバージョンアップ方法並びにプログラム
US20080046710A1 (en) * 2006-08-17 2008-02-21 Steven Maddocks Switching firmware images in storage systems
US7886190B2 (en) * 2006-09-29 2011-02-08 Intel Corporation System and method for enabling seamless boot recovery
US8082431B2 (en) * 2006-09-29 2011-12-20 Intel Corporation System and method for increasing platform boot efficiency
US8566961B2 (en) * 2008-08-08 2013-10-22 Absolute Software Corporation Approaches for a location aware client
JP5126686B2 (ja) * 2009-01-06 2013-01-23 日本電気株式会社 情報処理装置、情報処理装置の動作方法及びそのプログラム
TWI386847B (zh) * 2009-02-04 2013-02-21 Novatek Microelectronics Corp 可安全復原的韌體更新方法及可安全復原之韌體更新的嵌入式電子裝置
DE112009005012T5 (de) * 2009-08-25 2012-06-21 Hewlett-Packard Development Co., L.P. Eine Mehrzahl von Schnittstellendateien, die für einen Zugriff auf ein BIOS nutzbar sind
US20130086571A1 (en) * 2011-09-30 2013-04-04 International Business Machines Corporation Dynamically Updating Firmware In A Computing System
US20130262849A1 (en) * 2012-03-29 2013-10-03 Bheeshmar Redheendran Automatic reconfiguration of initialization firmware in a computer system
JP6132009B2 (ja) 2012-03-31 2017-05-24 インテル・コーポレーション システム変更後におけるコンピューティング装置の適切な動作を確認するための方法及びシステム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101038564A (zh) * 2006-11-21 2007-09-19 西安交通大学 应用服务器分级再生方法
CN101587456A (zh) * 2009-07-08 2009-11-25 腾讯科技(深圳)有限公司 一种对软件运行的保护处理方法及装置

Also Published As

Publication number Publication date
KR20140125878A (ko) 2014-10-29
EP2831722B1 (en) 2019-08-28
WO2013147915A1 (en) 2013-10-03
AU2012375273A1 (en) 2014-09-25
AU2012375273B2 (en) 2016-05-26
EP2831722A1 (en) 2015-02-04
US9880862B2 (en) 2018-01-30
CN104185836A (zh) 2014-12-03
JP2015512535A (ja) 2015-04-27
US20150067311A1 (en) 2015-03-05
KR101626433B1 (ko) 2016-06-01
EP2831722A4 (en) 2015-09-30
JP6132009B2 (ja) 2017-05-24

Similar Documents

Publication Publication Date Title
CN104185836B (zh) 用于在系统改变之后验证计算设备的适当操作的方法和系统
US10353779B2 (en) Systems and methods for detection of firmware image corruption and initiation of recovery
KR101931007B1 (ko) 컴퓨팅 디바이스의 초기화 트레이스
US9542201B2 (en) Network bios management
US10198332B2 (en) System on chip integrity verification method and system
CN101131639A (zh) 向os提供平台管理功能的基于efi的机制
US9612930B2 (en) Providing autonomous self-testing of a processor
US11281768B1 (en) Firmware security vulnerability verification service
WO2016074127A1 (zh) 计算机设备及计算机设备内存启动的方法
CN109426613B (zh) 在uefi中检索调试数据的方法及其电脑系统
US10831897B2 (en) Selective enforcement of secure boot database entries in an information handling system
WO2016206514A1 (zh) 启动处理方法及装置
CN110119623A (zh) 一种利用tpcm实现固件主动度量的可信主板实现方法
TW202030602A (zh) 基本輸入/輸出系統的恢復及更新的方法及系統
US10069962B1 (en) Near field communication (NFC) enhanced computing systems
US10922150B2 (en) Deep hardware access and policy engine
CN115686877A (zh) 数据交互方法、装置、存储介质及计算设备
CN116521209B (zh) 操作系统的升级方法及装置、存储介质及电子设备
US9778936B1 (en) Booting a computing system into a manufacturing mode
CN110119625A (zh) 一种可信计算方法
CN110119624A (zh) 一种安全度量方法
CN111694587A (zh) 服务器pnor固件升级方法、装置、设备及存储介质
CN110119638A (zh) 一种可信度量方法
WO2013032458A1 (en) Booting a target computing device from a bootable computing device

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant