CN102103406A - 操作***无关的网络事件处理 - Google Patents

操作***无关的网络事件处理 Download PDF

Info

Publication number
CN102103406A
CN102103406A CN2010106210151A CN201010621015A CN102103406A CN 102103406 A CN102103406 A CN 102103406A CN 2010106210151 A CN2010106210151 A CN 2010106210151A CN 201010621015 A CN201010621015 A CN 201010621015A CN 102103406 A CN102103406 A CN 102103406A
Authority
CN
China
Prior art keywords
firmware
calculation element
environment
network event
state
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
CN2010106210151A
Other languages
English (en)
Other versions
CN102103406B (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 CN102103406A publication Critical patent/CN102103406A/zh
Application granted granted Critical
Publication of CN102103406B publication Critical patent/CN102103406B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • G06F1/3209Monitoring remote activity, e.g. over telephone lines or network connections
    • 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/46Multiprogramming arrangements
    • G06F9/466Transaction processing
    • 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/541Interprogram communication via adapters, e.g. between incompatible applications
    • 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/542Event management; Broadcasting; Multicasting; Notifications

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Multimedia (AREA)
  • Power Sources (AREA)
  • Stored Programmes (AREA)

Abstract

本申请涉及操作***无关的网络事件处理。用于当将从计算装置唤醒状态转变到休眠状态时重新例示包括在预引导时可用的一个或更多固件功能的固件环境的方法和设备。由计算装置当处于休眠状态时接收的网络事件可由固件环境独立于操作***并且无需将整个计算装置返回到唤醒状态来处理。

Description

操作***无关的网络事件处理
技术领域
一般来说,本公开涉及***管理,更具体来说,涉及当计算装置保持在低功耗状态时由计算装置的固件环境独立于计算装置的操作***来处理唤醒事件。
背景技术
存在用于降低计算装置的功耗的各种机制。在高级配置和电源接口(ACPI)版本4.0中规定用于电源管理的标准技术,它可见于URLwww-acpi-info的公共因特网(注意,句点已经用破折号代替,以避免本文档中的无意超级链接)。ACPI是大多数计算机***当前用于电源管理的一种标准,并且描述对操作***(OS)而言计算***看起来是怎样的。电源管理能力使计算装置在组件级和***级均能够在较高功耗状态与较低功耗状态之间转变其操作状态。这些操作模式常常分别称作唤醒和休眠状态或模式。ACPI规范定义计算装置通常可处于的七种状态。例如,状态S3(“S3”)通常可称作待机、休眠(本文中又称作休眠模式)或者挂起到RAM。状态S5(“S5”)可称作关机或“关闭”。
多个事件可使计算装置在休眠模式与唤醒模式之间转变,即醒来或转入休眠。例如,触发计算装置转变到休眠的休眠事件可包括用户不活动或者用户选择。当计算装置转变到休眠时,计算装置组件中的许多组件(例如,如中央处理器(CPU)的主处理器、易失性存储器、海量存储器的盘驱动器等等)也可转入休眠。一旦休眠,计算装置可在发生唤醒事件时醒来。唤醒事件可包括例如计算装置接收来自鼠标或键盘的输入、电子邮件消息或者来自远程***管理员的查询。
发明内容
本申请提供一种用于由计算装置响应网络事件的方法,所述方法包括:
当将所述计算装置从第一较高功耗状态转变到第二较低功耗状态时,重新例示包括在预引导时可用的一个或更多固件功能的固件环境;
当所述计算装置处于所述第二较低功耗状态时由所述固件环境接收网络事件;
当保持在所述第二较低功耗状态时,由所述固件环境独立于所述计算装置的操作***(OS)来确定是否能处理所述网络事件而无需将整个计算装置返回到所述第一较高功耗状态;以及
如果所述固件环境确定能这样处理所述网络事件,则使所述网络事件由所述固件环境独立于所述OS并且无需将整个计算装置返回到所述第一较高功耗状态来处理。
本申请还提供在包括硬件装置的计算装置中,一种方法包括:
通过监视在所述硬件装置的硬件接口与所述硬件装置的装置驱动器之间传送的总线上的输入/输出(I/O)信号,来确定与所述硬件装置从第一较高功耗状态转变到第二较低功耗状态有关的信息;
存储所确定的信息;以及
由所述计算装置的固件来检索所述所确定的信息,以使所述固件能够处理唤醒事件而无需唤醒整个计算装置,所述固件配置成将所述硬件装置从第二较低功耗状态转变到所述第一较高功耗状态,以允许所述硬件装置服务于所述唤醒事件,并且在完成所述唤醒事件的服务时,将所述硬件装置转变回到所述第二较低功耗状态。
本申请又提供一种设备,包括:
处理器;
配置成由所述处理器来操作的固件环境;
其中,所述固件环境包括用于将所述设备引导到消耗第一功率级的操作状态的多个固件功能;
其中,所述固件环境还配置成被重新例示成包括用于当所述设备从所述操作状态转变到消耗低于所述第一功率级的第二功率级的休眠状态时引导所述设备的所述固件功能的至少一个子集,以使所述固件环境能够当所述设备处于所述休眠状态时处理由所述固件环境接收的唤醒事件。
附图说明
将通过附图中所示的非限制性的示范实施例来描述本发明的实施例,附图中相似的参考标号表示相似的元件,以及其中:
图1是示出根据各种实施例、计算装置从唤醒模式转变到休眠模式的时间线;
图2是示出根据各种实施例、由固件独立于操作***(OS)来处理唤醒事件的示范方法的流程图;
图3是示出根据各种实施例、计算装置中的引导和唤醒周期(boot and wake cycle)的框图;以及
图4是示出根据各种实施例的示范计算装置的框图。
具体实施方式
本发明的说明性实施例包括但不限于当计算装置保持在低功耗休眠模式时由固件环境或者计算装置的固件独立于计算装置的操作***来处理唤醒事件的方法和设备。
将使用本领域的技术人员通常用于向本领域的其他技术人员传达其工作主旨的的术语来描述说明性实施例的各个方面。然而,本领域的技术人员会清楚地知道,仅采用所述方面中的一些方面也可实施替代实施例。为了说明,提出具体数量、材料和配置,以透彻地了解说明性实施例。但是,本领域的技术人员会清楚地知道,没有这些具体细节,也可实施替代实施例。在其它情况下,省略或简化了众所周知的特征,以免使说明性实施例难以理解。
此外,各种操作将以一种非常有助于理解说明性实施例的方式依次描述为多个分立操作,但是,描述的顺序不应被理解为暗示这些操作一定是顺序相关的。具体来说,这些操作不需要按照陈述的顺序来执行。短语“在一个实施例中”被重复使用。该短语一般不是指相同实施例;但它也可以指相同实施例。术语“包含”、“具有”和“包括”是同义词,除非上下文另有规定。
图1是示出根据各种实施例、计算装置从唤醒模式转变到休眠模式的时间线。如本文所述,在各种实施例中,可使计算装置的固件能够在计算装置处于休眠模式时完成工作。固件能独立于操作***来完成该工作,这产生计算装置增加的功能性以及降低的总功耗。在实施例中,计算装置或***可以是台式计算机、膝上型计算机、移动计算装置、网络服务器、瘦客户端或者配置成利用固件的其它计算装置。在实施例中,固件可以是传统式基本输入/输出***(BIOS)、统一可扩展固件接口(例如,UEFI规范版本2.0,2006)兼容的、可扩展固件接口(EFI)兼容的(例如,EFI规范版本1.10,2004)或者其它固件。注意,EFI是一种公开工业规范,它描述计算装置固件与操作***或其它应用环境之间的抽象程序设计接口。例如,EFI使采取固件模块形式的固件能够从包括闪速存储器装置、可选ROM(只读存储器)、各种永久存储装置(例如,硬盘、CD-ROM(压缩盘只读存储器)等等)的各种不同资源加载,或者通过计算机网络从一个或更多计算机***加载。关于统一EFI(UEFI)体系结构的更多信息可见于www-uefi-org的公共因特网(注意,句点已经用破折号代替,以避免本文档中的无意超级链接)。因此,如本文所述,在各种实施例中,在转变到休眠模式时,计算装置可重新例示UEFI或者包括在预引导时可用的一个或更多固件功能的其它固件环境。在实施例中,重新例示的固件环境可使固件环境能够执行通常由计算装置的OS执行的电源管理功能。
现在参照图1,在所示实施例中,在111,可在预引导时由或又称作固件的固件环境对计算装置初始化。在各种实施例中并且下面将更详细地进行论述,在该预引导时间期间,在112,固件可保留存储器或邮箱的一部分,固件在以后可从其中收集数据。一旦预引导初始化完成,可将控制转移给计算装置的操作***(OS),以在113继续引导过程。在OS或***引导之后,在115,OS可然后运行或操作处于功能或唤醒模式的计算装置,功能或唤醒模式包括与正常操作关联的通常较高功耗状态。计算装置可继续在唤醒模式中操作,直到117,其中休眠事件使计算装置转变到休眠模式S3,休眠模式S3包括较低功耗状态。如上所述,休眠事件可包括各种事件,例如用户选择或用户不活动。
在一些时间之后,在各种实施例中,计算装置可接收唤醒事件。在一些实施例中,唤醒事件可包括网络事件,例如电子邮件、配置命令或者其它网络传输。在其它实施例中,唤醒事件可以是读出(sensing)输入装置上的输入、触摸计算装置的键盘、接收到某种类型的网络分组等等。唤醒事件的处理可由***管理中断(SMI)、控制线变化、寄存器标志或者其它结构(construct)来发起。在其它情况下,唤醒事件的处理可由计算装置的芯片组来发起。此外,一些唤醒事件可触发对计算装置的加电,供OS进行处理。正如下面将关于本公开的实施例进行论述的,其它唤醒事件可当计算装置保持在休眠模式时由固件来处理。
相应地,在各种实施例中,独立于计算装置的OS来起作用的固件可确定是否能处理唤醒事件而无需将整个计算装置返回到第一较高功耗状态。在121,如果唤醒事件不能由固件来处理并且OS将处理唤醒事件,则可启动盘,可接通监视器,并且可使计算装置恢复到完全唤醒模式。然后,该过程流程可返回到115,其中OS运行或操作处于唤醒模式的计算装置。但是,如果固件确定能独立于OS来处理唤醒事件并且无需将整个计算装置返回到第一较高功耗状态,则固件能使唤醒事件被处理。因此,在119,计算装置可继续休眠。在一些实施例中,取决于唤醒事件并且无需唤醒整个计算装置,固件可唤醒一个或更多硬件组件或装置,以服务于或者完成与唤醒事件关联的任务。另外,在完成事件的处理之后,固件可将硬件组件返回到休眠模式,休眠模式包括第二较低功耗状态。
注意,在实施例中,在123,固件组件、如过滤驱动器(filter driver)可开始监视并且收集与OS将一个或更多硬件组件转变到休眠模式的方式有关的数据。在各种实施例中,过滤驱动器可将所收集的数据保存到在预引导时间期间由固件在112保留的邮箱或者存储器的一部分中。固件可在以后独立使用所收集的数据来将服务于唤醒事件所需的一个或更多硬件组件转变到休眠模式或者离开休眠模式。
接下来,图2是示出根据本公开的各种实施例、用于独立于OS来处理唤醒事件的示范方法的流程图。在一个实施例中,实线框可由固件来执行。在一个实施例中,虚线框可由OS来执行。本领域的技术人员会清楚地知道,术语“由固件来执行”是更复杂的计算装置交互的简略表达方式(shorthand)。在单处理器***中,例如,指令运行可由主处理器或中央处理器(CPU)来执行。注意,“由固件来执行”可表示非操作***指令从耦合到处理器的非易失性存储存储器(固件)中取出,并且然后由处理器来运行。处理器在加载OS之前有权访问固件。因此,引导指令通常可存储在固件引导块中。此外,在一些实施例中,完整引导块可远程驻留,而本地引导块可包含指向完整引导块的远程位置的指针。
在图2的实施例中,在框201,可对计算装置或***加电。在框203,平台可由引导块固件初步初始化。驻留在引导块外部的固件的其它部分可在初步初始化(preliminary initialization)中起作用。注意,引导块通常负责初始化的早期方面,例如早期存储器初始化和中央处理器初始化。初步初始化还可包括识别和重置存储器、识别耦合到计算装置的装置和组件等等。
在所示实施例中,作为初步初始化的一部分或者在不久之后,固件可发起多个策略问题以确定计算装置的状态。在实施例中,由于唤醒事件(例如,该实施例中的网络唤醒事件),固件可在框206询问计算装置是否要醒来或要离开休眠模式。在计算装置没有因网络唤醒事件而要醒来但只是已经完成加电的各种实施例中,预引导过程可继续进行到框208。在框208,固件可进行缓存以后可能需要的图像。例如,它可缓存休眠模式(例如,S3)所需的数据。随后,在框210,固件可在该预引导时间期间保留计算装置的有形计算机可读存储介质中的存储器的一部分。在一个实施例中,存储器的该部分可用作固件的邮箱。注意,计算装置资源通常在OS的控制下,除非固件主动地为其自身保留这类资源。此外,在各种实施例中,下面将进行论述,可将与OS可将一个或更多硬件组件转变到休眠的方式有关的输入/输出(I/O)数据保存(例如,由OS的监视组件)到邮箱中,以在以后由固件访问。在实施例中,还可保留足够的存储器,这可允许固件重新初始化先前缓存的图像。
在所示实施例中,在下一个框212,固件可继续正常引导过程,并且OS可被赋予控制权并且启动。在框214,OS可安装组件,例如过滤驱动器。下面将会看到,过滤驱动器可用作监视组件,以收集与将硬件组件转变到休眠模式有关的I/O数据。正常OS操作可在框216继续。在判定框218,如果在某个时间段没有接收到输入或者其它计算装置策略规定,则OS可将计算装置转变到休眠模式。如果例如策略没有规定计算装置转变到休眠模式,则OS操作可在框216继续。在备选方案中,返回到判定框218,如果计算装置将进入休眠模式,则OS可从判定框218向下继续到框220。在本实施例中,OS可然后发送消息,通知所有或者基本上所有硬件组件或硬件装置驱动器:硬件组件将转变到休眠模式。在框222,过滤驱动器可接收或检测该通知,并且开始监视与将一个或更多硬件装置或组件转变到休眠模式的方式有关的输入/输出(I/O)数据,例如硬件装置接口与硬件装置驱动器之间的I/O信号。在框224,过滤驱动器然后可收集I/O数据,并且将其保存到在预引导时由固件环境保留的邮箱(框210所述)。最后,在框226,OS已经完成将计算装置转变到休眠模式。
注意,如先前提到,在框224保存到邮箱的I/O数据可在以后用于使固件能够在处理唤醒事件期间和/或之后使用I/O数据。因此,例如,一直返回到判定框206,如果计算装置因唤醒事件、如网络唤醒事件而要醒来,则可跟随“是”箭头。在框228,固件可当OS保持在休眠模式时来确定网络事件是否能由固件独立于OS并且无需唤醒或将整个计算装置返回到较高功耗状态来处理。如果答案为“否”,则在框230计算装置通过正常S3代码路径恢复(resume),并且最终在212继续正常引导过程。但是,如果答案为“是”,则固件可使网络事件独立于OS被处理。在一些实施例中,在框232,固件可唤醒或者仅将一个或更多(但并非全部)硬件组件转变到较高消耗状态,和/或启动软件供处理网络事件中使用。在框234,固件可检索由过滤驱动器保存在邮箱中的I/O数据和/或其它信息。最后,在框236,在完成网络事件的处理时,固件使用所检索的I/O数据来将硬件装置返回/转变到休眠。
因此,在各种实施例中,一旦计算装置转变到休眠模式,则计算装置的固件环境被重新例示。在实施例中,使固件环境能够执行通常由计算装置的OS执行的电源管理功能。在一些实施例中,不仅计算装置具有将例如与计算装置在休眠模式期间接收的网络传输关联的硬件组件的某些硬件组件转变到休眠的能力,固件环境也能够发起多个附加硬件或者计算装置的其它组件到唤醒模式的转变。在各种实施例中,使固件环境能够检索与将多个硬件装置中的任何硬件装置转变到休眠模式的方式有关的I/O数据。这种I/O数据可从固件在预引导时间期间保留的邮箱来检索。在各种实施例中,使固件环境能够将硬件组件转变到休眠模式,通常仅由OS执行电源管理功能。
现在参照图3,实施例可结合例如可扩展固件接口(EFI)的平台创新架构(审查草案,版本0.9,2003年9月16日,在www-intel-com/technology/framework可得到)(注意,句点已经用破折号代替,以避免无意的超级链接)的模块S3恢复体系结构。通常,例如按照UEFI平台初始化(PI)规范(版本2.3,2009年5月8日发布),全部的(a full complement of)PI预EFI(PI pre-EFI,PEI)模块和PI驱动器执行环境(DXE)驱动器可在从S5模式(“关闭”)的引导期间调用。因此,创建可由预OS(pre-OS)应用使用的UEFI环境,例如UEFI壳(UEFI shell)、第三方UEFI驱动器/可选ROM以及UEFI OS加载器。但是,在S3期间,由于S3恢复时间限制,计算装置可运行通常可以只包括PEI的子集而没有DXE的标准PI恢复流程。因此,在S3恢复模式期间,丰富的UEFI驱动器特征可能不可用。但是,本公开的各种实施例规定计算装置可在S3期间实现DXE 330。因此,如图3的粗体部分所示,S3可包括DXE,以在一些预OS隔离的(或OS驱动器固定的(pinned))页面中重新创建UEFI环境,用于当OS处于休眠模式时运行UEFI引导服务应用。
现在参照图3,如实施例中所示,框图300示出根据UEFI体系结构实现的引导和唤醒周期。在本实施例中,在加电或复位之后的正常引导301期间,安全(SEC)阶段302(“SEC 302”)可开始。SEC 302可支持要在计算装置上运行的初始操作码的安全校验。随后,在本实施例中,SEC 302可转变到预EFI(PEI)阶段304(“PEI 304”)。PEI 304可提供例如加载和调用处理器、芯片组和主板的特定初始(INIT)配置例程的方法。PEI 304可发现存储器,并且准备可移交给驱动器执行环境(DXE)阶段306(“DXE 306”)的资源图。DXE 306可包括调用负责初始化处理器、芯片组和平台组件以及为控制台和引导装置提供软件抽象的DXE 306驱动器。如310所示,DXE 306可将I/O控制器设置作为引导脚本表的一部分保存在保留的存储器、如非易失性存储器(NVS)中。引导脚本可包括在S3重新启动时将要回放的将计算装置恢复到它在转变成休眠模式之前所处状态的一组动作。典型引导脚本将恢复I/O装置和CPU状态信息。
在319看到,在S3恢复引导中,可实现SEC 320。随后,在325,S3PEI模块可从310中的NVS恢复PEI阶段配置,例如芯片组、硬件和视频设置的基本恢复。因此,在实施例中,DXE 330可在S3期间、当OS正休眠时实现。DXE 330可由若干组件或阶段来促进,包括DXE初始程序加载(IPL)335、DXE核340、DXE固件卷(FV)345、引导装置选择(BDS)350、网络代理动作355和DXE终结符(terminator)360。如上所述,由于在S3中包括DXE 330,可实现基本上完全形成的UEFI接口的例示。通常,在预引导阶段期间仅添加较少数量的UEFI驱动器。但是,在本公开的实施例中,OS驱动器可将附加UEFI驱动器加入UEFI环境中。在各种实施例中,UEFI驱动器可从替代源收集。在一些实施例中,这些附加驱动器可在UEFI***分区上提供或者经由其它方法提高在DXE 330期间可用的UEFI驱动器的数量。
最后,图4示出本公开的一个实施例可存在于其中的示范计算装置400。在各种实施例中,计算装置400包括经由总线420耦合的各种元件。如图所示,元件可包括处理器401、存储器410、芯片组403、硬件装置460、例如闪速存储器的非易失性存储装置430以及通信接口415。可向芯片组403赋予前面所述的固件。存储器410可包括OS 422、前面所述的邮箱435和装置驱动器480。处理器401可以是能够运行软件的任何类型的处理器,例如微处理器、数字信号处理器、微控制器或诸如此类。虽然图4示出仅一个这种处理器401,但是在计算装置400中可存在一个或更多处理器,并且处理器中的一个或更多可包括多个线程、多个核或诸如此类。在各种实施例中,组件422可通过监视在一个或更多硬件装置460的硬件接口与装置驱动器480之间传送的总线420上的I/O信号,来确定或收集与一个或更多硬件装置460在第一较高功耗状态与第二较低功耗状态之间的转变有关的信息。处于休眠模式时,固件可处理一个或更多网络或唤醒事件,如前面所述。
通信接口415可包括组网接口,例如网络接口卡(NIC)或诸如此类。NIC可经由例如经由基于局域网(LAN)的串行接口在通信上耦合到包括一个或更多远程服务器480的因特网/网络475。通信接口可支持传输控制协议/因特网协议(TCP/IP)、超级文本传输协议(HTTP)或者简单对象访问协议(SOAP)或其它通信协议。NIC可使用其它部件通过网络进行通信,例如集成驱动电子设备(IDE)重定向(未示出)或其它部件。注意,在实施例中,处理唤醒事件可包括但不限于响应特定分组类型,使动态主机配置协议(DHCP)租借保持有效、例如扫描存储器的病毒的低功率后台活动以及远程文件备份/恢复及诸如此类。在所示实施例中,芯片组403还可包括基本输入/输出***(BIOS)的软件接口409。
本文所述的技术并不局限于任何特定的硬件或软件配置;它们可在任何计算、消费电子或处理环境中得到应用。技术可通过硬件、软件或者两者的组合来实现。技术可通过程序来实现,这些程序在例如移动或固定计算机、个人数字助理、机顶盒、蜂窝电话和寻呼机等可编程机器、消费电子装置(包括DVD播放机、个人录像机、个人视频播放机、***、立体声接收器、有线电视接收器)以及可包括处理器、处理器可访问的存储介质(包括易失性和非易失性存储器和/或存储元件)、至少一个输入装置和一个或更多输出装置的其它电子装置上运行。本领域的技术人员会理解,本公开可采用各种***配置来实施,其中包括多处理器***、小型计算机、大型计算机、独立的消费电子装置及诸如此类。本发明还可在分布式计算环境中实施,在这些环境中,任务或者任务的一些部分可由通过通信网络链接的远程处理装置来执行。
程序指令可用于使采用指令编程的通用或专用处理***来执行本文所述的一些操作。或者,操作可由包含用于执行操作的硬连线逻辑的特定硬件组件来执行,或者由已编程计算机组件和定制硬件组件的任何组合来执行。本文所述的方法可作为计算机程序产品来提供,它可包括其上存储了指令的机器可访问介质,这些指令可用于对处理***或其它电子装置编程以执行这些方法。本文所使用的术语“机器可访问介质”将包括能够对于供机器运行并且使机器执行本文所述方法中的任一个方法的指令序列进行存储或编码的任何介质。相应地,术语“机器可访问介质”将包括但不限于固态存储器、光盘和磁盘以及对数据信号进行编码的载波。此外,本领域常见的是,把一种或另一种形式的软件(例如,程序、过程、进程、应用、模块、逻辑等等)说成是采取动作或引起结果。这类表达只是说明软件由处理***运行而使处理器执行动作或产生结果的一种简化方式。

Claims (19)

1.一种用于由计算装置响应网络事件的方法,所述方法包括:
当将所述计算装置从第一较高功耗状态转变到第二较低功耗状态时,重新例示包括在预引导时可用的一个或更多固件功能的固件环境;
当所述计算装置处于所述第二较低功耗状态时由所述固件环境接收网络事件;
当保持在所述第二较低功耗状态时,由所述固件环境独立于所述计算装置的操作***(OS)来确定是否能处理所述网络事件而无需将整个计算装置返回到所述第一较高功耗状态;以及
如果所述固件环境确定能这样处理所述网络事件,则使所述网络事件由所述固件环境独立于所述OS并且无需将整个计算装置返回到所述第一较高功耗状态来处理。
2.如权利要求1所述的方法,其中,所述网络事件是包括接收电子邮件、配置命令或者其它网络传输的唤醒事件。
3.如权利要求1所述的方法,其中,使所述网络事件独立于所述OS被处理包括将用于处理所述网络事件的一个或更多硬件组件返回到所述第一较高功耗状态,并且在完成所述网络事件的处理时,将所述硬件组件返回到所述第二较低功耗状态。
4.如权利要求3所述的方法,还包括:由过滤驱动器来监视与所述OS将所述一个或更多硬件组件返回到所述第二较低功耗状态的方式有关的输入/输出(I/O)数据。
5.如权利要求4所述的方法,还包括:将所述I/O数据保存到邮箱,以使所述固件环境能够访问所述I/O数据供在所述网络事件的处理期间使用。
6.如权利要求5所述的方法,还包括:由所述固件环境在预引导时间期间保留存储器的一部分以用作所述邮箱。
7.如权利要求1所述的方法,其中,重新例示的固件环境配置成执行伴随所述计算装置的功能之外的附加功能。
8.如权利要求7所述的方法,其中,所述附加功能使所述重新例示的固件环境能够执行通常由所述OS执行的电源管理功能。
9.在包括硬件装置的计算装置中,一种方法包括:
通过监视在所述硬件装置的硬件接口与所述硬件装置的装置驱动器之间传送的总线上的输入/输出(I/O)信号,来确定与所述硬件装置从第一较高功耗状态转变到第二较低功耗状态有关的信息;
存储所确定的信息;以及
由所述计算装置的固件来检索所述所确定的信息,以使所述固件能够处理唤醒事件而无需唤醒整个计算装置,所述固件配置成将所述硬件装置从第二较低功耗状态转变到所述第一较高功耗状态,以允许所述硬件装置服务于所述唤醒事件,并且在完成所述唤醒事件的服务时,将所述硬件装置转变回到所述第二较低功耗状态。
10.如权利要求9所述的方法,还包括:在预引导时间期间,由所述固件保留存储器的一部分以存储所述所确定的信息。
11.如权利要求9所述的方法,其中,所述唤醒事件包括网络事件或者在输入装置接收的输入数据的读出。
12.如权利要求9所述的方法,其中,所述输入/输出(I/O)信号的监视由过滤驱动器在接收到所述计算装置的操作***(OS)要从所述第一较高功耗状态转变到所述第二较低功耗状态的通知时执行。
13.如权利要求9所述的方法,其中,使所述唤醒事件被处理包括在包括在预引导时可用的一个或更多固件功能的重新例示的固件环境中独立于所述计算装置的OS来处理所述网络事件。
14.如权利要求13所述的方法,其中,所述重新例示的固件环境包括预引导时间期间可用的固件驱动器功能性之外的附加固件驱动器功能性。
15.如权利要求14所述的方法,其中,所述附加固件功能性包括通常由所述OS执行的电源管理功能。
16.如权利要求9所述的方法,其中,由所述固件来处理唤醒事件包括响应某些网络分组类型、保持动态主机配置协议(DHCP)租借、扫描存储器的病毒和远程文件备份/恢复中的至少一个。
17.一种设备,包括:
处理器;
配置成由所述处理器来操作的固件环境;
其中,所述固件环境包括用于将所述设备引导到消耗第一功率级的操作状态的多个固件功能;
其中,所述固件环境还配置成被重新例示成包括用于当所述设备从所述操作状态转变到消耗低于所述第一功率级的第二功率级的休眠状态时引导所述设备的所述固件功能的至少一个子集,以使所述固件环境能够当所述设备处于所述休眠状态时处理由所述固件环境接收的唤醒事件。
18.如权利要求17所述的设备,其中,重新例示的固件环境包括配置成检索与将硬件组件转变到所述休眠状态有关的数据以及使用所检索的数据将所述硬件组件转变到所述休眠状态的固件驱动器。
19.如权利要求17所述的设备,其中,所述固件环境配置成处理响应某些网络分组类型、保持动态主机配置协议(DHCP)租借、扫描存储器的病毒和远程文件备份/恢复中的至少一个。
CN201010621015.1A 2009-12-22 2010-12-21 操作***无关的网络事件处理 Active CN102103406B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/645145 2009-12-22
US12/645,145 US8806231B2 (en) 2009-12-22 2009-12-22 Operating system independent network event handling

Publications (2)

Publication Number Publication Date
CN102103406A true CN102103406A (zh) 2011-06-22
CN102103406B CN102103406B (zh) 2015-11-25

Family

ID=44148346

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201010621015.1A Active CN102103406B (zh) 2009-12-22 2010-12-21 操作***无关的网络事件处理

Country Status (5)

Country Link
US (2) US8806231B2 (zh)
EP (1) EP2367091B1 (zh)
JP (1) JP5026579B2 (zh)
KR (1) KR101245442B1 (zh)
CN (1) CN102103406B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103677200A (zh) * 2012-09-20 2014-03-26 宏碁股份有限公司 电脑***及电源管理方法
CN103729220A (zh) * 2013-12-25 2014-04-16 合肥联宝信息技术有限公司 一种利用ec rom恢复bios rom的方法及装置
CN104423535A (zh) * 2013-08-27 2015-03-18 索尼公司 信息处理设备、信息处理***和电力控制方法
CN105745617A (zh) * 2013-10-31 2016-07-06 英特尔公司 用于预启动固件更新的选择性功率管理
TWI582573B (zh) * 2012-09-14 2017-05-11 宏碁股份有限公司 電腦系統及電源管理方法
CN111066374A (zh) * 2017-07-18 2020-04-24 惠普发展公司,有限责任合伙企业 设备管理

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8607040B2 (en) * 2010-11-16 2013-12-10 Intel Corporation Method of provisioning firmware in an operating system (OS) absent services environment
US9202059B2 (en) 2011-03-01 2015-12-01 Apurva M. Bhansali Methods, systems, and apparatuses for managing a hard drive security system
CN107608910B (zh) 2011-09-30 2021-07-02 英特尔公司 用于实现具有不同操作模式的多级存储器分级结构的设备和方法
CN103975287B (zh) 2011-12-13 2017-04-12 英特尔公司 使用非易失性随机存取存储器的服务器中的增强***睡眠状态支持
US9516094B2 (en) * 2012-05-17 2016-12-06 Microsoft Technology Licensing, Llc Event-responsive download of portions of streamed applications
KR101324604B1 (ko) * 2012-05-25 2013-11-01 전자부품연구원 다중 대기 상태 운용 방법 및 이를 적용한 방송수신장치
US9026820B2 (en) * 2012-12-29 2015-05-05 Intel Corporation Communication link and network connectivity management in low power mode
KR102285188B1 (ko) * 2015-02-13 2021-08-05 삼성전자주식회사 시인성 개선을 위한 이미지 처리 방법 및 이를 지원하는 전자 장치
CN107534647B (zh) 2015-05-06 2020-11-03 慧与发展有限责任合伙企业 用于传送启动脚本的***、计算设备和存储介质
CN106358273B (zh) * 2016-08-11 2020-10-27 南京矽力微电子技术有限公司 一种低功耗通信装置
US11455394B2 (en) 2017-09-06 2022-09-27 Absolute Software Corporation Secure firmware interface
US20230259190A1 (en) * 2020-07-31 2023-08-17 Hewlett-Packard Development Company, L.P. S5 power state control action

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060136756A1 (en) * 2004-12-22 2006-06-22 Intel Corporation Low power firmware
CN1992611A (zh) * 2005-12-30 2007-07-04 联想(北京)有限公司 移动计算装置及其接收数据包的方法
US20090132839A1 (en) * 2007-11-15 2009-05-21 Rothman Michael A Method and device to handle denial of service attacks on wake events

Family Cites Families (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06326817A (ja) * 1993-05-14 1994-11-25 Ricoh Co Ltd 電子ファイルシステム
JP2000152138A (ja) * 1998-08-31 2000-05-30 Sony Corp 情報処理装置、情報処理方法、およびプログラム格納媒体
US6560712B1 (en) * 1999-11-16 2003-05-06 Motorola, Inc. Bus arbitration in low power system
JP3966677B2 (ja) * 2000-06-16 2007-08-29 株式会社東芝 パーソナルコンピュータ
US7543048B2 (en) 2002-11-22 2009-06-02 Intel Corporation Methods and apparatus for enabling of a remote management agent independent of an operating system
US7231512B2 (en) 2002-12-18 2007-06-12 Intel Corporation Technique for reconstituting a pre-boot firmware environment after launch of an operating system
US7134125B2 (en) 2003-02-07 2006-11-07 Intel Corporation Method for firmware to provide seamless regulation of system resources and extend additional configuration methods for system resource management
US7320052B2 (en) 2003-02-10 2008-01-15 Intel Corporation Methods and apparatus for providing seamless file system encryption and redundant array of independent disks from a pre-boot environment into a firmware interface aware operating system
US7080271B2 (en) * 2003-02-14 2006-07-18 Intel Corporation Non main CPU/OS based operational environment
US20040230963A1 (en) 2003-05-12 2004-11-18 Rothman Michael A. Method for updating firmware in an operating system agnostic manner
US7136994B2 (en) 2003-05-13 2006-11-14 Intel Corporation Recovery images in an operational firmware environment
US7549055B2 (en) 2003-05-19 2009-06-16 Intel Corporation Pre-boot firmware based virus scanner
US20040255106A1 (en) 2003-06-10 2004-12-16 Rothman Michael A. Recovery of operating system configuration data by firmware of computer system
EP1489591B1 (en) * 2003-06-12 2016-12-07 Microsoft Technology Licensing, LLC System and method for displaying images utilizing multi-blending
US20050021968A1 (en) 2003-06-25 2005-01-27 Zimmer Vincent J. Method for performing a trusted firmware/bios update
US20050015430A1 (en) 2003-06-25 2005-01-20 Rothman Michael A. OS agnostic resource sharing across multiple computing platforms
US7587750B2 (en) 2003-06-26 2009-09-08 Intel Corporation Method and system to support network port authentication from out-of-band firmware
US7478141B2 (en) 2003-06-26 2009-01-13 Intel Corporation Accessing firmware of a remote computer system using a remote firmware interface
US7159105B2 (en) 2003-06-30 2007-01-02 Intel Corporation Platform-based optimization routines provided by firmware of a computer system
US20050044363A1 (en) 2003-08-21 2005-02-24 Zimmer Vincent J. Trusted remote firmware interface
US7165170B2 (en) 2003-09-12 2007-01-16 Intel Corporation System and method for firmware to export pre-boot data into the operating system runtime environment
US7275152B2 (en) 2003-09-26 2007-09-25 Intel Corporation Firmware interfacing with network protocol offload engines to provide fast network booting, system repurposing, system provisioning, system manageability, and disaster recovery
US7181610B2 (en) 2003-10-07 2007-02-20 Intel Corporation Method and system to encapsulate a driver written for an operating system (OS) runtime environment in an OS independent environment firmware extension
US7185190B2 (en) 2003-12-29 2007-02-27 Intel Corporation Pushing capabilities into firmware by an operating system
US20050149711A1 (en) 2003-12-30 2005-07-07 Zimmer Vincent J. Method and system for firmware-based run time exception filtering
JP4833560B2 (ja) * 2004-02-17 2011-12-07 マイクロソフト コーポレーション 常時動作可能なコンピューティングデバイス
US7269768B2 (en) 2004-03-18 2007-09-11 Intel Corporation Method and system to provide debugging of a computer system from firmware
US7310725B2 (en) 2004-06-30 2007-12-18 Intel Corporation Common platform pre-boot and run-time firmware services
US7363523B2 (en) * 2004-08-31 2008-04-22 Intel Corporation Method and apparatus for controlling power management state transitions
US7310740B2 (en) * 2004-08-30 2007-12-18 Dell Products L.P. System and method for a configurable portable information handling system cover switch delay
US7451301B2 (en) 2005-03-30 2008-11-11 Intel Corporation OS independent device management methods and apparatuses having a map providing codes for various activations of keys
US7373537B2 (en) 2005-06-28 2008-05-13 Intel Corporation Response to wake event while a system is in reduced power consumption state
US20070234028A1 (en) * 2005-09-15 2007-10-04 Rothman Michael A Method and apparatus for quickly changing the power state of a data processing system
EP1955154A2 (en) * 2005-10-25 2008-08-13 Secure64 Software Corporation Secure virtual-machine monitor
US7707400B2 (en) * 2005-10-31 2010-04-27 Microsoft Corporation Direct computing experience
TW200719633A (en) 2005-11-08 2007-05-16 Compal Electronics Inc Portable electronic device capable of detecting wireless signals in a shutdown state and the detection method
US7689850B2 (en) * 2006-11-28 2010-03-30 Dell Products L.P. System and method for adaptive information handling system power management
US20080162809A1 (en) 2006-12-28 2008-07-03 Rothman Michael A Operating system-independent remote accessibility to disk storage
JP4987547B2 (ja) * 2007-04-16 2012-07-25 パナソニック株式会社 パケット受信装置
US8230237B2 (en) * 2007-12-06 2012-07-24 Intel Corporation Pre-boot environment power management
US8583908B2 (en) 2007-12-31 2013-11-12 Intel Corporation Enhanced network and local boot of Unified Extensible Firmware Interface images
US7832928B2 (en) * 2008-07-24 2010-11-16 Carestream Health, Inc. Dark correction for digital X-ray detector
US8086839B2 (en) 2008-12-30 2011-12-27 Intel Corporation Authentication for resume boot path

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060136756A1 (en) * 2004-12-22 2006-06-22 Intel Corporation Low power firmware
CN1992611A (zh) * 2005-12-30 2007-07-04 联想(北京)有限公司 移动计算装置及其接收数据包的方法
US20090132839A1 (en) * 2007-11-15 2009-05-21 Rothman Michael A Method and device to handle denial of service attacks on wake events

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI582573B (zh) * 2012-09-14 2017-05-11 宏碁股份有限公司 電腦系統及電源管理方法
CN103677200A (zh) * 2012-09-20 2014-03-26 宏碁股份有限公司 电脑***及电源管理方法
CN104423535A (zh) * 2013-08-27 2015-03-18 索尼公司 信息处理设备、信息处理***和电力控制方法
CN104423535B (zh) * 2013-08-27 2019-03-19 索尼公司 信息处理设备、信息处理***和电力控制方法
CN105745617A (zh) * 2013-10-31 2016-07-06 英特尔公司 用于预启动固件更新的选择性功率管理
CN105745617B (zh) * 2013-10-31 2020-07-28 英特尔公司 用于预启动固件更新的选择性功率管理
CN103729220A (zh) * 2013-12-25 2014-04-16 合肥联宝信息技术有限公司 一种利用ec rom恢复bios rom的方法及装置
CN111066374A (zh) * 2017-07-18 2020-04-24 惠普发展公司,有限责任合伙企业 设备管理
CN111066374B (zh) * 2017-07-18 2023-08-15 惠普发展公司,有限责任合伙企业 用于设备管理的***和方法

Also Published As

Publication number Publication date
US9489029B2 (en) 2016-11-08
EP2367091A1 (en) 2011-09-21
CN102103406B (zh) 2015-11-25
JP5026579B2 (ja) 2012-09-12
EP2367091B1 (en) 2013-01-23
KR101245442B1 (ko) 2013-03-19
JP2011134321A (ja) 2011-07-07
KR20110073324A (ko) 2011-06-29
US20140304540A1 (en) 2014-10-09
US8806231B2 (en) 2014-08-12
US20110154065A1 (en) 2011-06-23

Similar Documents

Publication Publication Date Title
CN102103406B (zh) 操作***无关的网络事件处理
CN103221919B (zh) 在操作***(os)缺席的服务环境中供应固件的方法
US6760850B1 (en) Method and apparatus executing power on self test code to enable a wakeup device for a computer system responsive to detecting an AC power source
CN102789305B (zh) 推迟挂起
RU2435200C2 (ru) Быстрая загрузка операционной системы из выключенного состояния
US7093116B2 (en) Methods and apparatus to operate in multiple phases of a basic input/output system (BIOS)
US9152205B2 (en) Mechanism for facilitating faster suspend/resume operations in computing systems
CN103765409A (zh) 有功率效率的处理器体系结构
US7584374B2 (en) Driver/variable cache and batch reading system and method for fast resume
US6128745A (en) Power management inactivity monitoring using software threads
US7383450B2 (en) Low power firmware
WO2020015203A1 (zh) 一种***恢复方法及装置
WO2014142847A1 (en) Multi-core binary translation task processing
US20110258486A1 (en) Restoring programs after operating system failure
CN1641573A (zh) 一种实现快速开机的方法及装置
CN111897581B (zh) 息屏唤醒方法、装置、存储介质及一体机设备
US11500449B1 (en) Adaptive remediation for modern standby
US7272731B2 (en) Information handling system having reduced power consumption
US11675599B2 (en) Systems and methods for managing system rollup of accelerator health
US11841773B2 (en) Persistence of learned profiles
WO2012087566A2 (en) Method, apparatus and system to save processor state for efficient transition between processor power states

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