CN104220985B - 使用用户空间同步增强休眠和恢复处理的方法和装置 - Google Patents
使用用户空间同步增强休眠和恢复处理的方法和装置 Download PDFInfo
- Publication number
- CN104220985B CN104220985B CN201380018440.3A CN201380018440A CN104220985B CN 104220985 B CN104220985 B CN 104220985B CN 201380018440 A CN201380018440 A CN 201380018440A CN 104220985 B CN104220985 B CN 104220985B
- Authority
- CN
- China
- Prior art keywords
- dormancy
- system software
- component
- software component
- snapshot
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4403—Processor initialisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4418—Suspend and resume; Hibernate and awake
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1417—Boot up procedures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/865—Monitoring of software
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Quality & Reliability (AREA)
- Stored Programmes (AREA)
- Power Sources (AREA)
- Retry When Errors Occur (AREA)
- Hardware Redundancy (AREA)
Abstract
在使计算设备(102)休眠之前,向系统软件组件(116)通知即将到来的休眠处理。通知通过应用程序接口(API)(114)被传送。至少一部分系统软件组件(116)可以执行一个或多个休眠前活动,以使该系统软件组件(116)处于准备恢复状态。系统软件组件中的每个指示其何时为休眠做好准备。响应于从系统软件组件(116)中的每个接收到指示,休眠处理可以完成。完成的休眠处理在非易失性存储器中创建快照(122)。快照(122)保存用于系统软件组件(116)中每个的状态信息(124)。状态信息(124)用于系统软件组件(116)的准备恢复状态。计算设备(102)可以使用恢复处理(300)在休眠之后被还原,恢复处理从快照(122)读取状态(124)信息。
Description
技术领域
本公开总体涉及管理用于通信设备的加电处理,并且更特别地,涉及使用用户空间同步增强休眠和恢复处理。
背景技术
用于计算设备的休眠(hibernate)和恢复(resume)处理越来越多地被利用,以实现快速引导时间来最小化用户等待。休眠处理允许计算设备的状态被保存,并且允许计算设备随后被断电。即,在计算设备的操作系统内执行的软件处理可以被“冻结”或者存储在快照中,其中,快照被存储在非易失性存储器中。
许多事件都可能导致恢复处理,以在一个或多个系统参数或值不合适的状态下发起计算设备。例如,很多设备都包括机械控制、旋钮、拨号盘等。当休眠处理运行时,这些机械控制可能在一个位置,并且当恢复处理运行时,可能在不同位置。每个机械控制设定都可以具有通过操作系统的数据结构保持在易失性存储器中的对应值。当一个或多个内部值对于设备的当前状态不合适时,许多负面结果可能发生。
例如,设备可以检测不合适值并且可以对其进行调节,其延长恢复处理的处理时间和/或添加用户体验等待时间,其利用计算设备减少用户体验。在另一个实例中,在休眠处理期间建立的不合适值可能导致无规律设备行为(即,当机械控制用于音量时的不合适音量、当机械控制用于通信状态时的不合适状态等)。在还有的另一个实例中,来自恢复处理的不合适值可能导致软件崩溃和其他不期望的错误。
需要对休眠和恢复处理的改进,其最小化或防止当从快照恢复时参数值不合适的问题。
发明内容
本发明提供了一种用于操作计算设备的方法,包括:在使计算设备休眠之前,经由所述计算设备的处理器,向所述计算设备的系统软件组件通知即将来临的休眠处理;经由所述处理器,所述系统软件组件的至少一部分执行休眠前活动,以使所述系统软件组件处于准备恢复状态;每个系统软件组件指示所述系统软件组件为休眠做好准备;以及经由所述处理器,创建处于所述准备恢复状态下的所述系统软件组件的每个的快照,所述快照包括链接至所述计算设备的外部机械输入组件的具有值的至少一个变量;其中,所述准备恢复状态是一旦相对于所述计算设备的所述外部机械输入组件进行恢复则执行初始化操作的状态;其中,对于所述系统软件组件中的至少一个,所述准备恢复状态是紧接在链接至所述外部机械输入组件的所述变量被确定之前存在的状态,从而一旦恢复,所述至少一个系统软件组件检查所述外部机械输入组件,以基于所述外部机械输入组件的当前状态来确定第一变量的所述值,并且在所述第一变量被该系统软件组件利用或试图利用之前调整所述第一变量的所述值。
附图说明
附图与以下详细说明一起被结合并且形成说明书的一部分,并且用于进一步示出包括所要求的发明的概念的实施例,并且解释那些实施例的多种原理和优点,其中,类似参考数字贯穿各个视图是指相同或功能类似元件。
图1是根据本公开的实施例的用于增强休眠和恢复处理的框图。
图2是根据在此公开的发明布置的实施例的用于增强休眠和恢复处理的方法的流程图。
图3示出根据在此的发明布置公开的实施例的冻结/休眠处理的消息序列图。
图4示出根据在此的发明布置公开的实施例的解冻/恢复处理的消息序列图。
图5是示出根据本公开的实施例的用于实现休眠和恢复处理的系统的示意图。
本领域技术人员将想到,图中的元件被示出用于简单和清楚的目的,并且不一定按比例绘制。例如,图中的一些元件的尺寸可以相对于其他元件被放大,以帮助改进对本发明的实施例的理解。
当合适时,通过图中的传统符号表示装置和方法组件,仅示出与理解本发明的实施例相关的那些特定详情,以不通过对于具有在此的说明书的益处的本领域普通技术人员来说显而易见的详情而模糊本公开。
具体实施方式
提供一种用于计算设备的休眠和恢复处理的方法、装置、系统、和/或计算机程序产品。在本公开中,在使计算设备休眠之前,系统软件组件可以被通知即将来临的休眠处理。在一个实施例中,通知通过应用程序接口(API)被传送。至少一部分系统软件组件可以执行一个或多个休眠前活动,以使系统软件组件处于准备恢复状态。每个系统软件组件都可以指示其何时为休眠做好准备。响应于从每个系统软件组件接收到指示每个系统软件组件为休眠做好准备的指示,休眠处理可以完成。完成的休眠处理在非易失性存储器中创建快照。快照保存用于每个系统软件组件的状态信息。状态信息用于系统软件组件的准备恢复状态。
本公开促使在此保存的快照在执行的有意义和有准备点(即,在准备恢复状态下)处开动系统软件组件的事实。换句话说,用于休眠/恢复处理的快照的现有技术解决方案试图在任意点处记录系统状态,这导致系统软件组件不被提供准备休眠的机会(即,没有用于系统软件的休眠前活动发生)。在本公开中,使系统软件组件处于准备恢复状态确保了用于每个系统软件组件的处理在特定执行点处开动,诸如,仅在系统软件组件的初始化代码运行的执行点处或附近。
在很多实施例中,软件应用的准备恢复状态可以被谨慎保存并且随意重新使用。例如,甚至在机器被运输和出售之前(或者当加载机器的操作系统时),可以在工厂创建一个或多个快照图像的集合。另外,当系统软件组件、操作系统、和/或机器的硬件被更新时,可以创建新“基准”或“参考”快照。具有可靠快照可以允许机器更快引导,因为系统软件组件不必须从“冷”状态开动,而是可以在暖状态(例如,准备恢复状态)下直接被加载(从非易失性存储器到易失性存储器),这减少机器的总加电时间。在一个实施例中,通过给将核心期望功能提供给计算设备的系统软件组件的子集加电并且随后给其余系统软件组件加电,可以进一步改进加电时间。即,恢复处理可以在预期实施例中被优化,以阶段方式发生,其中,功能在每个阶段被提供给最终用户。在一个实施例中,通过使功率简单地循环并且从快照图像恢复,机器可以促使具有“准备恢复”系统软件组件的快照从错误情形快速复原。
图1是根据本公开的实施例的用于增强休眠120和恢复130处理的框图。本公开进一步促使已经处于准备恢复状态的系统软件组件的快照用于很多情况。如在此使用的快照不限于从用户发起的休眠处理创建的快照,而是还包括在工厂创建的快照、响应于系统升级创建的快照、和/或当系统检测到没有“参考”或“基准”快照存在时创建的快照。不像现有技术的传统休眠处理那样,在休眠处理120中,向操作系统110的系统软件组件116通知,在创建快照122之前(或者快照122在工厂或者在系统软件组件116处于准备恢复状态的另一个时间处被创建),休眠动作已经被发起。
系统软件组件116可以包括将状态信息保持在易失性存储器(例如,随机存取存储器或RAM)中的应用、处理和驱动器。这允许每个系统软件组件116通过执行使该系统软件处于准备恢复状态的零个或更多休眠前活动,准备其本身休眠。不是所有系统软件组件116都必须执行休眠前活动用于每个操作状态。在可选地执行休眠前活动之后,每个被通知系统软件116组件都可以报告其为休眠做好准备。一旦所有被通知组件都报告它们为休眠做好准备,就可以触发创建快照操作119,这创建快照122。在一个实施例中,休眠前动作可以发生在用户空间113中,而休眠处理120从内核空间111被发起,并且同时通过在内核空间111中执行的处理创建快照122。
根据本公开的多种预期实施例,响应于多个不同事件创建快照122。例如,休眠动作从用户动作被发起以休眠。在另一个实例中,休眠动作从与休眠相关的超时周期发起。在还有的另一个实例中,休眠动作从缺少现有参考的系统启动时间检测被发起(在该后者情况下,通常与休眠处理相关的断电动作不发生)。这些实例不是限制性的,并且其他实例被预期。
在一个实施例中,休眠动作的通知从被建立用于休眠/恢复处理120、130的应用程序接口(API)114被发起。诸如“get_ready()”的通知函数可以被用于该目的。当通知从API114被发送时,来自每个系统软件116组件的消息可以被传送回API 114。例如,诸如所示的“report_ready()”函数的函数或者等同物可以被用于该目的。用于到系统软件组件116的通信的API 114的使用可以是有用标准化方法,特别是对于在操作系统110的内核空间111内实现的休眠/恢复处理120、130和/或对于在计算设备102的BIOS级实现的那些。
根据本公开的多种预期实施例,恢复处理130可以通过很多不同事件被发起并且用于不同情况或目的。例如,恢复处理130在系统启动时发生,以实现“快速引导”。在另一个实例中,恢复处理130从计算设备102的休眠、睡眠、或其他功率节省状态发生。在还有的另一个实例中,恢复处理130由系统错误触发(其触发功率循环,然后恢复,或者其触发系统重置/还原(restore),然后恢复)。类似地,恢复处理130可以通过任何异常被触发,作为来自未知状态、来自错误行为等的复原处理的一部分(即,来自已知快照的恢复处理130可以发生作为例外操纵处理的一部分)。在一个实施例中,不同快照122(例如,参考快照、复原快照等)能够由计算设备102存储,并且可以链接到不同恢复处理情况。
不管如何,一旦恢复处理130被发起,就采用加电手段(如果需要),以还原对系统组件的供电。被存储在非易失性存储器中的快照122被访问和读取,这给易失性存储器加载先前存储的状态124信息。不像现有技术实现那样,通过在操作上执行一组休眠前动作,从而使快照122存储处于准备恢复状态的每个系统软件组件116的版本,所保存的状态124是先前运行软件系统组件116能够准备的状态。从而,与传统休眠处理相比,一旦从休眠恢复,系统软件组件116不太可能存在同步问题。例如,用于系统软件组件116的准备恢复状态可以是紧接在获取在休眠的断电周期内经受改变的变量之前存在的状态(例如,链接至设备102的机械控制的值可以从准备恢复状态被发起)。类似地,准备恢复状态可以被定位在执行点处,其中,在尝试依赖这些设备的动作之前,操作系统110检查可移动外围设备的改变(例如,通用串行总线或其他即插即用设备)。
在一个实施例中,可以考虑操作系统110和/或系统软件组件116的变量之间的定时序列和依赖性。从而,变量、值和其他通信在恢复处理130期间可以在系统软件组件116和操作系统110之间发生。例如,系统软件组件116中的不同组件可以包括一组多个处理和/或甚至子处理。例如,如所示,软件组件116之一可以包括处理A、B和C以及子处理A1和B1。这些处理和子处理可以相对于操作系统110的另一个或其他运行处理或子处理被排序。状态保存变量124可以要求这些定时序列被适当地排序和/或相互同步,由于软件组件116能够采用休眠前活动以使获取快照122之前每个都处于准备恢复状态或者执行位置,使得在本公开中是可以的。合适排序简单地确保达到合适状态124,如在快照122中指定的。而且,休眠前活动可以包括被设计成使计算设备102在执行恢复处理130时快速地复原到其先前状态(或到默认、参考或基准状态)的优化。
在休眠处理120中,当接收到准备休眠的消息时,每个系统软件组件116都处于任意状态。休眠前活动使每个软件组件116从该任意状态转变到准备恢复状态。在一个实例中,准备恢复状态可以是一旦恢复(例如,恢复处理130),软件组件116准备执行初始化操作的状态。例如,软件组件116可以通过移动执行指针,以一旦恢复就执行初始化操作,被转变到准备恢复状态。应该想到,休眠处理120可以包括包含保护模式和管理模式的一个或多个操作模式,其中,不同模式可以对由软件组件116执行的休眠前活动起作用。
通常,休眠处理120是计算设备102能够在保持其状态信息(例如,状态124)的同时断电的处理。在一个实施例中,虽然要求将状态信息保存到快照122,但是断电处理是可选的。即,一旦休眠,则计算设备102将其易失性存储器(例如,随机存取存储器或RAM)的内容保存在非易失性存储器中,作为快照122。然后,在一个实施例中,计算设备102可以完全断电,这节约功率。恢复处理130使计算设备102被加电,并且然后从快照122检索所保存的状态124信息。
如在此使用的,休眠处理120与睡眠处理的不同之处在于,睡眠处理给非易失性存储器供电,使得所存储的状态信息被保持,从而不需要将状态124信息保存到快照122(即,在非易失性存储器中)。用于通知系统软件组件的技术可以被应用至睡眠处理、以及休眠处理120,如在此详述的。另外,本公开的休眠处理120可以是混合休眠/睡眠处理,其中,当计算设备102进入睡眠模式时,易失性存储器的内容被复制到非易失性存储器,作为快照;从而即使到设备102的功率丢失,也允许状态还原。在一个实施例中,休眠120和恢复130处理被设计成与高级配置和电源接口(ACPI)规范基本兼容。在其他预期实施例中,ACPI规范本身可以扩展至包括在此详细说明的创新。可替换地,休眠120和恢复处理130可以以与ACPI规范不兼容的专有方式被实现。应该注意,多个情形被预期(诸如,使用先前存储的快照122的故障复原),其中,恢复处理130不要求休眠处理120发生,而是仅要求合适快照122存在。
操作系统110可以指可以管理计算机硬件资源并且可以提供公共服务的一组可执行代码。操作系统110可以包括低电平硬件设备驱动器。
在一个实施例中,操作系统110可以被图示为将操作系统分离为内核空间111和用户空间113的物理存储器(例如,RAM)的虚拟内存表示。内核空间111可以包括被保留用于运行内核112、内核112扩展(例如,模块)、设备驱动器等的虚拟内存。例如,内核空间111可以被用于执行内核112操作。内核112可以包括但不限于单片内核、微核、混合内核、模块化内核、超微内核、外内核等。
用户空间113可以包括用于执行系统软件组件的虚拟内存,系统软件组件包括但不限于休眠应用程序接口(API)114、系统软件组件116、驱动器、实用软件等。用户空间113可以包括与系统服务(例如,连网、指标化等)相关联的多个处理(例如,处理A、处理B)和子处理(例如,子处理A1和B1)。
API 114表示功能的集合,其可以允许改进在此描述的休眠和恢复处理120、130。API 114允许用户空间系统软件组件116在休眠发生之前进入准备恢复状态。API 114可以包括但不限于库、框架等。API 114可以遵循传统和/或专有语言,包括但不限于C、C++、JAVA等。
系统软件组件116每个都可以是能够在用户空间113内执行的组件。每个组件116都操作和/或消耗计算设备102的硬件和/或软件资源。系统软件组件116可以包括但不限于处理、线程、守护进程等。即,系统软件组件116可以包括一组一个或多个处理(例如,处理A、处理B)、子处理(例如,子处理器A1和B1)等。在一个实例中,系统软件组件116与其他系统软件组件116共享硬件和/或软件构成,以在执行状态期间完成执行。例如,与一个或多个软件组件116相关的处理A和处理B可以利用信号机(semaphore)相互通信。在一个实施例中,API提供用于检测和操纵处理异常的功能。在实施例中,API 114检测并且适当地响应无反应处理(例如,僵进程)、内存泄漏、挂起进程等。
快照122可以是反映系统软件组件116的准备恢复状态的处理图像。在一个实例中,快照122的状态124信息包括约在获取快照122的时间,与系统软件组件116相关联的处理控制块的准确复制。状态信息124可以包括但不限于处理状态、子处理状态、对象信息(例如,对象状态)、寻址信息(例如,执行指针、数据指针)、处理标识符(例如,PID)编号、寄存器内容、标记状态、切换状态、地址空间信息、(例如,上和下内存限制)、打开的文件、处理优先级、I/O设备状态等。
在一个实施例中,快照122被用于还原系统软件组件116状态,而不管先前状态如何。即,采用快照122,以实现可以被用于将一个或多个软件组件116快速还原到指定状态的可再使用图像。在一个实例中,快照122在制造工厂中被创建,并且可以在每次恢复时被用于使设备还原到出厂状态。当对计算设备102的硬件配置和/或对软件组件116作出改变时,更新快照122的“出厂”或参考状态,以反映这些改变。
使用参考快照122可以大大减少休眠处理120所需的时间。而且,在一个实施例中,“参考”休眠状态能够通过用于系统软件组件116的操作系统的变量值增强。这些值可以被明确地确定,并且可用于快照122,作为使每个系统软件组件116准备休眠的一部分。
图2是根据在此公开的发明布置的实施例的用于增强休眠和恢复处理的方法201、250的流程图。方法201是用于与操作系统和/或系统软件的挂起相关联的步骤的序列的休眠处理。如前所述,由除了休眠处理201之外的处理创建的快照可以存在,诸如,在工厂创建并且通过机器运输的“与生俱来”快照。方法250是用于与从存储在非易失性存储器中的快照恢复操作系统和/或系统软件相关联的步骤的序列的恢复处理。
当系统消息或通知被发送至运行软件组件,向这些组件通知休眠处理已经被发起时,休眠处理201开始。响应于接收到该通知或消息,每个软件组件都可以执行一组休眠前动作,以使其本身处于准备恢复状态。例如并且如由步骤205所示,系统组件检测休眠事件和/或通知。该通知可以以多种方式发生。在一个实施例中,TIF_FREEZE标记可以存在用于发起休眠准备过程。
在替代实施例中,可以替换非休眠事件,其触发快照的创建,但是不一定导致计算设备进入断电或功率节省模式。例如,如果在本公开的一个实施例中,在加载时间没有检测到基准快照被用于计算设备,则可以自动触发快照创建事件。
在步骤210中,与休眠事件相关联的准备或休眠前(或快照前创建)活动通过软件内容发起。准备动作可以包括暂停线程创建、巩固内存使用、刷新高速缓存、清空队列/缓冲器等。在步骤215中,未决休眠动作的通知被可选地传送至相关处理。在步骤220中,软件组件的一个或多个处理、子处理可以释放正被使用的一个或多个资源。例如,在休眠之前,作为休眠准备过程的一部分,软件组件可以释放相互排他资源。在步骤225中,如果软件组件为休眠做好准备(例如,已经执行了所有休眠前活动),则方法继续至步骤230。另外,附加休眠前活动被执行用于该软件组件,如由从步骤225前进至步骤210的方法表示的。
在步骤230中,软件组件达到准备恢复状态。在一个实施例中,这可以是软件组件不再对请求-除了恢复请求之外-响应的“特殊状态”。在步骤240中,软件组件发送其为休眠做好准备的通知。步骤205至240可以通过每个运行软件组件执行。
休眠处理可以被延迟,直到所有软件组件都报告它们为休眠做好准备为止,如判定框242的延迟循环所示。在一个实施例中,施加超时检查,以确保当先前建立的持续时间经过之后不成功时,休眠活动被异常中止。在另一个实施例中,在响应的超时周期之后,即使不是所有软件组件都已报告它们为休眠做好准备,休眠活动也发生。一旦所有系统软件组件都为休眠做好准备(或者超时周期已经发生),休眠被发起,其中,生成快照,如由步骤244所示的。
在步骤255中,恢复处理250开始,其中,接收到来自操作系统的恢复通知。在步骤260中,基于该通知选择合适快照。在一个实例中,通知允许系统软件当在支持多个模式或用户的操作系统内执行时正确地恢复,其中,合适快照是特别用于当前模式或用户的快照。在另一个实例中,所选快照可以是特定快照,诸如,参考/基准快照、引导快照、复原快照等。在步骤265中,快照被用于恢复软件执行。快照可以用于使每个系统软件组件返回到其准备恢复状态,如步骤270所示。
准备恢复状态是软件组件准备恢复的状态,其中,其检查在休眠期间经受改变的未知情形。例如,软件组件的准备恢复状态是软件组件最初读取机械控制或开关的状态并且基于其读取位置调节对应值的状态。准备恢复状态还检查操作系统模式和必要计算组件(其可以被无效或者断开连接/重新连接至计算设备,诸如,USB外围设备)是否处于期望状态。如果不是,则与软件组件尝试取决于不可用的资源的操作(其是在任意执行状态(与新准备恢复状态相反)下被冻结或休眠的软件组件共有的情形)相反,该软件组件的值可以以适当方式被快速地调节。
应该想到,不同定时序列可以被建立用于休眠和/或恢复不同系统软件组件。即,在一个实施例中,预期多阶段休眠/恢复处理,其中,在组件根据分段休眠/恢复处理被“冻结”或“解冻”之前,系统软件组件中的不同组件可能必须等待,直到系统软件组件中的其他组件实现执行状态为止。从而,系统软件组件之一可以相对于系统软件组件中的另一个,从快照被非常快地重新启用。在一个实施例中,软件组件专用“解冻(THAW)”和/或“冻结(FREEZE)”或“恢复(RESUME)”消息可以用于在休眠201或恢复250处理期间控制定时和排序。
另外,在一个预期实施例中,多阶段休眠/恢复处理确保每个阶段都对提供最终用户功能所必须的系统软件组件的子集分组。响应于恢复处理250已被发起,这可以允许计算设备的“核心功能”尽可能快地被还原用于最终用户使用。例如,在智能手机计算设备中,一个阶段可以提供核心电话功能,随后阶段可以提供基本用户接口功能,并且最终阶段可以提供经由安装在设备上的浏览器和/或非基本应用访问网页的功能。而且,在一个预期实施例中,多阶段恢复处理250可以被适当地修整。例如,如果恢复处理250基于致命错误(恢复处理250被用于从错误复原)被触发,则用户在错误时(如果已知)利用的功能可以在用户在错误时不利用的功能之前,以优先化方式被还原。从而,最终用户能够尽可能快地利用期望功能,这意味着通过多阶段恢复技术最小化被察觉或有效恢复时间。
图3示出根据在此公开的发明布置公开的实施例的冻结/休眠处理的消息序列图300。消息序列图300示出在启动序列期间的快照创建处理,诸如,当没有现有快照被存储用于计算设备时可以自动发生。消息序列图300示出在引导处理期间,冻结守护进程开动。冻结守护进程316可以等待来自系统的其他组件318-326的、指示它们准备被冻结的消息。一旦所有组件318-326都报告它们准备好了,则冻结守护进程316可以将消息发送至内核312,以开动冻结处理。
为了详述流程图300,开动消息从启动加载器310被发送至内核312。在内核312处,初始化处理340、开动驱动器处理342、安装文件系统处理344、以及加载初始化程序处理346可以执行。初始化处理314可以产生(或另一个操作系统)。作为初始化处理314的一部分,冻结守护进程316、音频系统318、按键通话(PTT)处置器320、调度音频处置器322、调度应用324、以及DekTec应用编程接口(DTAPI)326可以开动,如在流程图300中通过一系列开动消息所示。冻结守护进程316、音频系统318、按键通话(PTT)处置器320、调度音频处置器322、调度应用324、以及DekTec应用编程接口(DTAPI)326是示例性系统软件组件,其数量和特性因计算设备不同而不同,并且其他组件被预期。
一旦开动,冻结守护进程316等待来自其他组件318-326的冻结消息。每个组件318-326都可选地执行一组休眠前或快照前活动,然后将“冻结我”消息发送至冻结守护进程316。通过发送“冻结我”消息,每个组件318-326都指示其本身已经处于准备恢复状态。虽然处于该准备恢复状态,但是每个组件318-326都可以等待“解冻”消息,如分别由等待处理352、354、356、358和360所示的。
冻结守护进程316将“冻结系统”消息发送至内核312,其随后执行系统冻结362。
图4示出根据在此的发明布置公开的实施例的解冻/恢复处理的消息序列图400。消息序列图40示出,在加电处理期间,内核312检测图像或快照,并且然后对其进行加载。在图像被加载之后,系统在其先前被冻结的状态下恢复。冻结守护进程可以向所有等待组件320-326通知它们可以被解冻。
为了详细说明图400,将开动消息从启动加载器310发送至内核312。在内核312处,初始化处理340和开动驱动器处理342可以运行。然后,图像或快照可以通过在内核312中运行的处理410检测。图像可以由处理412加载。恢复处理可以由处理412发起。为此,可以将唤醒消息从内核312发送至冻结守护进程。解冻消息可以被发送至系统软件组件320-326中的每个,其在解冻消息之前,处于等待状态352-360,如所示。冻结守护进程316可以等待一段时间(例如,3秒钟),之后运行解冻后脚本420。
图5是示出根据本公开的实施例的用于实现休眠和恢复处理的系统500的示意图。
如在此使用的,休眠可以包括将位于易失性存储器524中的系统软件组件状态信息持续保存(persist)到非易失性存储器526,特别是到快照560。恢复可以包括将系统软件状态信息从所存储的快照560加载到易失性存储器524。在一个实施例中,快照560是能够持续保存软件组件状态信息的数字编码数据结构。在本公开的多种实施例中,每个快照560都不需要由休眠处理(即,一些快照560可以是“与生俱来的”)创建,并且每个恢复处理都不需要从休眠状态发生(即,恢复处理可以从睡眠状态、从故障状态等发生)。
计算设备510可以是允许操作系统530的执行的硬件/软件实体。设备510可以包括硬件512、软件514、固件等。在多种实施例中,计算设备510可以是但不限于移动计算设备、移动电话、双向无线电、膝上型电脑、台式计算机、平板电脑、个人数字助理等。
硬件512可以包括但不限于处理器520、总线522、易失性存储器524、非易失性存储器526等。诸如输入/输出外围设备、网络收发信机、音频换能器等的附加硬件512组件(未示出)也可以存在用于计算设备510。
软件514可以包括但不限于操作系统530、系统软件536、快照560等。
操作系统(OS)530可以包括但不限于内核532、可执行代码534等。操作系统530可以包括或可以不包括图形管理器。在一个实施例中,操作系统530可以包括但不限于GNULINUX、UNIX、以及实现休眠/恢复处理的其他操作系统。
可执行代码534表示用于建立休眠和恢复的用户空间初始化的一个或多个指令集。可执行代码534可以包括但不限于处理管理器542、快照处置器544、设定546等。代码534功能可以包括但不限于设备510的功率控制、状态转变功能等。例如,代码534可以是能够发起与系统软件536相关联的休眠准备动作的用户空间服务。
处理管理器542可以是能够在用户空间内执行休眠和恢复功能的可执行代码的一部分。管理器542功能可以包括但不限于处理通信、处理登记、处理撤销登记等。在一个实例中,管理器542可以被用于追踪处理状态。在实例中,管理器542可以调查软件536,以确定休眠就绪。在一个实施例中,管理器542可以被配置成对软件536错误响应。在实施例的一种配置中,当软件536挂起时,管理器542可以确定合适历史快照,并且自动终止该处理。在该配置中,历史快照可以被用于一旦恢复就重启该处理。在实施例的另一种配置中,当软件536挂起时,管理器542可以将通知传送至用户接口。在一个实施例中,管理器542可以利用设定550控制休眠和/或恢复。响应于休眠处理,设定550可以呈现被保存用于软件组件的状态数据。
快照处置器544可以是用于管理快照560的软件实体。处置器544功能可以包括但不限于快照560创建、快照560删除、快照560操作、快照560检索等。处置器544可以利用传统和/或专有机制来创建和/或管理快照560。在一个实例中,处置器544可以利用处理标识符,以通过软件唯一地识别快照。在一个实施例中,处置器544可以采用传统和/或专有压缩机制来实现减小的快照尺寸。在该实施例中,处置器544可以被用于压缩和/或优化快照560。
设定546可以包括用于建立设备510、系统530、可执行代码534和/或系统软件536的行为的一个或多个规则集。设定546可以包括但不限于处理管理器542、快照处置器544等。设定546可以手动和/或自动地被确定。在一个实例中,设定546可以经由用户接口562被配置。
以上公开允许执行软件组件(处理、应用、驱动器等)变为知晓未决休眠处理(或创建快照的任何处理,使得软件组件能够进入准备恢复状态)。该所添加的认识(awareness)允许软件组件进入合适点用于重新发动,其被称为准备恢复状态。该认识克服了应用被冻结在任意状态的问题。该认识(并且作为响应,发生休眠前活动)允许本公开克服在处于休眠状态的同时,硬件和/或机械控制改变发生用于设备的问题。
申请人强调,在典型休眠处理中,驱动器被告知进入静止状态。本公开接近从相反方向的休眠,并且允许系统软件组件在执行所有冻结前初始化动作(休眠前动作)之后,告知内核它们准备被冻结。在一个实施例中,假设没有快照存在用于计算设备,在系统加电或引导时间自动地创建快照。在一个实施例中,通过循环功率并且从所保存的快照恢复,所保存的快照可以用于从错误情况快速地复原。
另外,在一个实施例中,可以实现允许被冻结系统软件组件按照限定顺序被解冻的特征,这可以降低从最终用户预期感知的恢复时间,并且可以实现对于并行处理的优化。从而,本公开的实施例捕捉关于系统软件组件将被唤醒的顺序的详情。而且,在规则操作(断电处理可以,但是不需要发生)期间可以采用快照,使得当计算设备以后被恢复时,可以遵循该顺序。这提供最大量并行操作,以最小化醒来时间。在一个实施例中,“与生俱来”快照可以在工厂被创建(或此后)用于特定设备配置。在多种预期实施例中,与生俱来快照可以被手动、半手动、或自动地创建,以确保它们被高度优化。
在以上说明书中,已经描述了特定实施例。然而,本领域普通技术人员将想到,在不脱离以下权利要求中阐述的发明的范围的情况下,可以作出多种修改和改变。从而,说明书和附图将被认为是示例性的而不是限制性的,并且所有这样的修改都旨在包括在本教导的范围内。
益处、优点、问题的解决方案、以及可能导致任何益处、优点或解决方案发生或变得更加明显的任何元件都不应当被解释为任何或所有权利要求的关键的、所要求的或者必要特征或元件。本发明仅通过包括在本申请的未决期间作出的任何修改的所附权利要求以及所公布的那些权利要求的所有等同物限定。
而且,在本文档中,诸如第一和第二、顶部和底部等的关系术语可以仅被用于区分一个实体或动作与另一个实体或动作,而不一定要求或暗示这样的实体或动作之间的任何实际这样的关系或顺序。术语“包括(comprise)”、“包括(comprising)”、“具有(has)”、“具有(having)”、“包括(include)”“包括(including)”、“包含(contain)”、“包含(containing)”或其任何其他变体都旨在覆盖非排他性包括,使得包括、具有、包括、包含元件的列表的处理、方法、物品或装置不仅包括那些元件,而且可能包括未明确列出或者这样的处理、方法、物品或装置固有的其他元件。在没有更多约束的情况下,继之以“包括...一个”、“具有...一个”、“包括...一个”、“包含...一个”的元件不排除附加相同元件在包括、具有、包括、包含该元件的处理、方法、物品或装置中的存在。除非在此另外明确阐述,术语“一个(a)”和“一个(an)”被限定为一个或多个。术语“充分地”、“基本上”、“近似地”、“大约”或其任何其他版本被限定为由本领域普通技术人员理解的接近,并且在一个非限制性实施例中,该术语被限定为在10%内,在另一个实施例中,在5%内,在另一个实施例中,在1%内,并且在另一个实施例中,在0.5%内。在此使用的术语“耦合”被限定为连接,但是不一定是直接地并且不一定是机械地。以特定方式“配置”的设备或结构以至少该方式被配置,但是还可以以未列出的方式被配置。
将想到,一些实施例可以由一个或多个通用或专用处理器(或“处理设备”)构成,诸如,微处理器、数字信号处理器、用户处理器和场可编程们阵列(FPGA)、以及结合特定非处理器电路控制一个或多个处理器实现在此描述的方法和/或装置的一些、大部分或所有功能的唯一存储程序指令(包括软件和固件)。可替换地,一些或所有功能可以通过不存储程序指令的状态机或者在一个或多个专用集成电路(ASIC)中实现,其中,每个功能或特定功能的一些结合被实现为用户逻辑。当然,可以使用两种方法的结合。
而且,实施例可以被实现为在其上存储用于对计算机(例如,包括处理器)编程以执行在此描述和要求的方法的计算机可读代码的计算机可读存储介质。这样的计算机可读存储介质的实例包括但不限于硬盘、CD-ROM、光学存储设备、磁性存储设备、ROM(只读存储器)、PROM(可编程只读存储器)、EPROM(可擦除可编程只读存储器)、EEPROM(电可擦除可编程只读存储器)和闪速存储器。而且,期望尽管存在由例如可用时间、当前技术、以及经济考虑推动的可能巨大努力和很多设计选择,但是当通过在此公开的概念和原理启动时,本领域普通技术人员将能够通过最少实验容易地生成这样的软件指令和程序以及IC。
提供本公开的摘要以允许读者快速地确定技术公开的特征。将理解,其不被用于解释或限制权利要求的范围或意义。另外,在以上详细说明中,可以看出,多种特征在多种实施例中被分组到一起,用于简化本公开。本公开的该方法不被解释为反映所要求的实施例要求比在每个权利要求中明确阐述的更多的特征的目的。而是,以下权利要求反映发明主题在于单个所公开实施例的少于所有特征。从而,以下权利要求从而被结合到具体实施方式中,每个权利要求都依靠自己作为独立要求的主题。
Claims (11)
1.一种用于操作计算设备(102)的方法,包括:
在使计算设备休眠之前,经由所述计算设备的处理器,向所述计算设备(102)的系统软件组件(116)通知即将来临的休眠处理;
经由所述处理器,所述系统软件组件的至少一部分执行休眠前活动,以使所述系统软件组件(116)处于准备恢复状态;
每个系统软件组件指示所述系统软件组件为休眠做好准备;以及
经由所述处理器,创建处于所述准备恢复状态下的所述系统软件组件(116)的每个的快照(122),所述快照至少包括链接至所述计算设备的外部机械输入组件的具有值的第一变量;
其中,所述准备恢复状态是一旦相对于所述计算设备的所述外部机械输入组件进行恢复则执行初始化操作的状态;
其中,对于所述系统软件组件中的至少一个,所述准备恢复状态是紧接在链接至所述外部机械输入组件的所述变量被确定之前存在的状态,从而一旦恢复,所述至少一个系统软件组件检查所述外部机械输入组件,以基于所述外部机械输入组件的当前状态来确定所述第一变量的所述值,并且在所述第一变量被该系统软件组件利用或试图利用之前调整所述第一变量的所述值。
2.根据权利要求1所述的方法,进一步包括:
响应于从所述系统软件组件(116)中的每个系统软件组件接收到指示所述系统软件组件(116)中的每个系统软件组件为休眠做好准备的指示,完成所述休眠处理,所述休眠处理在非易失性存储器中创建所述快照(122),所述快照保存用于所述系统软件组件(116)中每个系统软件组件的状态信息。
3.根据权利要求2所述的方法,进一步包括:
响应于在所述非易失性存储器中保存所述快照(122),使所述计算设备(102)断电。
4.根据权利要求2所述的方法,进一步包括:
接收用于恢复已经休眠的所述计算设备(102)的请求;以及
在恢复处理期间,将来自所述快照(122)的所述状态信息加载到易失性存储器,其使所述系统软件组件(116)处于所述准备恢复状态。
5.根据权利要求1所述的方法,其中,向所述系统软件组件(116)的所述通知经由应用程序接口‘API’(114)发生,其中,所述指示经由所述应用程序接口‘API’(114)发生。
6.根据权利要求1所述的方法,其中,所述系统软件组件(116)在操作系统的用户空间(113)中运行,其中,在所述操作系统的内核空间(111)内所述休眠处理被发起并且完成。
7.根据权利要求6所述的方法,其中,在所述内核空间(111)和所述用户空间(113)之间休眠和恢复的特定通信通过所述操作系统的应用程序接口(114)发生。
8.根据权利要求1所述的方法,其中,所述外部机械输入是旋钮或拨号盘。
9.根据权利要求1所述的方法,进一步包括:
自动检测在运行所述计算设备(102)的软件中的故障或有问题状况;以及
响应于检测到所述运行软件的所述故障或有问题状况,从所述快照重新初始化所述计算设备(102)和系统软件组件,从而所述计算设备(102)使用用于复原的所述快照,以相对快的方式从所述故障或有问题状况复原。
10.根据权利要求1所述的方法,其中,用于所述系统软件组件(116)的所述准备恢复状态是所述系统软件组件(116)中的每个在恢复之前等待解冻消息的状态,其中,在从所述所创建的快照(122)恢复的恢复处理期间所述解冻消息被传送。
11.一种用于使系统软件休眠和恢复的计算系统,包括:
一个或多个处理器;
一个或多个计算机可读存储器;以及
一个或多个计算机可读非易失性存储设备;
被存储在所述一个或多个计算机可读存储器中的至少一个中的程序指令,当由所述一个或多个处理器执行时,所述程序指令执行功能集合,包括:
在使所述计算系统(102)休眠之前,向所述计算设备(102)的系统软件组件通知即将来临的休眠处理;
使所述系统软件组件中的一个或多个系统软件组件执行休眠前活动,来使所述系统软件组件(116)中的所述一个或多个系统软件组件处于准备恢复状态;
使所述系统软件组件(116)中的每个系统软件组件指示其为休眠做好准备;以及
创建处于所述准备恢复状态的所述系统软件组件(116)的快照(122),以及在所述一个或多个非易失性存储设备中存储所述快照,所述快照至少包括链接至所述计算设备的外部机械输入组件的具有值的第一变量;
其中,所述准备恢复状态是一旦相对于所述计算设备的所述外部机械输入组件进行恢复则执行初始化操作的状态;以及
其中,对于所述系统软件组件中的至少一个,所述准备恢复状态是紧接在链接至所述外部机械输入组件的变量被确定之前存在的状态,从而一旦恢复,所述至少一个系统软件组件检查所述外部机械输入组件,以基于所述外部机械输入组件的当前状态来确定所述第一变量的所述值,并且在所述第一变量被该系统软件组件利用或试图利用之前调整所述第一变量的所述值。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/435,991 US8977879B2 (en) | 2012-03-30 | 2012-03-30 | Method and apparatus for enhancing a multi-stage hibernate and resume process |
US13/435,991 | 2012-03-30 | ||
PCT/US2013/028895 WO2013148074A1 (en) | 2012-03-30 | 2013-03-04 | Method and apparatus for enhancing a hibernate and resume process using user space synchronization |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104220985A CN104220985A (zh) | 2014-12-17 |
CN104220985B true CN104220985B (zh) | 2017-11-17 |
Family
ID=47913578
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201380018440.3A Active CN104220985B (zh) | 2012-03-30 | 2013-03-04 | 使用用户空间同步增强休眠和恢复处理的方法和装置 |
Country Status (8)
Country | Link |
---|---|
US (2) | US8977879B2 (zh) |
KR (1) | KR101689450B1 (zh) |
CN (1) | CN104220985B (zh) |
AU (1) | AU2013240458B2 (zh) |
CA (1) | CA2868322C (zh) |
DE (1) | DE112013001805T5 (zh) |
GB (1) | GB2516180B (zh) |
WO (1) | WO2013148074A1 (zh) |
Families Citing this family (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110126186A1 (en) * | 2009-11-23 | 2011-05-26 | Srinivasan Kattiganehalli Y | Appliance maintenance in computing system environment |
JP5681689B2 (ja) * | 2012-11-16 | 2015-03-11 | レノボ・シンガポール・プライベート・リミテッド | 省電力状態からの復帰時間を短縮する方法およびコンピュータ |
US9223388B2 (en) * | 2013-01-29 | 2015-12-29 | Hewlett Packard Enterprise Development Lp | Power state transition saving session information |
JP6087662B2 (ja) * | 2013-02-28 | 2017-03-01 | 株式会社東芝 | 制御装置、制御プログラム及び情報処理システム |
WO2015020661A1 (en) * | 2013-08-08 | 2015-02-12 | Hewlett-Packard Development Company, L.P. | Boot from modified factory image |
CN103678040A (zh) * | 2013-12-06 | 2014-03-26 | 北京明朝万达科技有限公司 | 一种基于计算机系统的快照和回退方法及系统 |
JP6399916B2 (ja) * | 2014-01-20 | 2018-10-03 | キヤノン株式会社 | 情報処理装置およびその制御方法 |
CN108259159B (zh) * | 2014-02-05 | 2021-02-05 | 苹果公司 | 用于在控制器和附件之间进行配对的方法和系统 |
US9430407B2 (en) * | 2014-10-31 | 2016-08-30 | Qualcomm Incorporated | Method and system for secure storage and retrieval of machine state |
CN104615465B (zh) * | 2015-01-30 | 2019-04-23 | 深圳市金立通信设备有限公司 | 一种终端 |
CN105589711B (zh) * | 2015-07-07 | 2019-02-22 | 新华三技术有限公司 | 一种设备升级方法和装置 |
CN106775609A (zh) * | 2015-11-19 | 2017-05-31 | 飞思卡尔半导体公司 | 用于减少休眠及恢复时间的系统及方法 |
JP6665520B2 (ja) * | 2015-12-17 | 2020-03-13 | コニカミノルタ株式会社 | 画像形成装置およびプログラム |
US10512053B2 (en) * | 2016-05-10 | 2019-12-17 | Servicenow, Inc. | System and method for selectively hibernating and restarting a node of an application instance |
JP6747283B2 (ja) * | 2016-12-27 | 2020-08-26 | コニカミノルタ株式会社 | 画像処理装置、起動方法および起動プログラム |
JP6931184B2 (ja) * | 2017-05-16 | 2021-09-01 | コニカミノルタ株式会社 | 画像形成装置およびプログラム |
US10649515B2 (en) | 2018-02-12 | 2020-05-12 | Saudi Arabian Oil Company | Power management of computing and communications systems during power fluctuation and sudden power failure events |
US10671407B2 (en) | 2018-06-07 | 2020-06-02 | Oracle International Corporation | Suspending and resuming a card computing device |
US10705927B2 (en) * | 2018-07-19 | 2020-07-07 | Hewlett Packard Enterprise Development Lp | Freeze a volume of a replication set and unfreeze the volume based on at least one of a snapshot permit message, a snapshot abort message, and expiration of a timeout |
US10896093B2 (en) | 2019-01-15 | 2021-01-19 | International Business Machines Corporation | System reboot maintenance |
US11366681B2 (en) * | 2019-03-27 | 2022-06-21 | Amazon Technologies, Inc. | Chaining virtual machines |
US11467858B2 (en) | 2019-03-27 | 2022-10-11 | Amazon Technologies, Inc. | Techniques for performing continuation workflows |
US11163602B2 (en) * | 2019-10-18 | 2021-11-02 | EMC IP Holding Company LLC | Migration from an asynchronous execution model to a synchronous execution model |
KR20220017331A (ko) * | 2020-08-04 | 2022-02-11 | 삼성전자주식회사 | 재부팅을 하는 방법 및 이를 지원하는 전자 장치 |
CN112026788A (zh) * | 2020-09-07 | 2020-12-04 | 湖南行必达网联科技有限公司 | 车机电源管理方法及装置、电子设备、存储介质 |
US11467850B2 (en) | 2020-11-11 | 2022-10-11 | Micron Technology, Inc. | Computing device reboot |
CN113360257B (zh) * | 2021-04-16 | 2022-12-20 | 山东英信计算机技术有限公司 | 一种基于bios的信息操作方法、装置、存储介质及设备 |
CN114253617A (zh) * | 2021-12-20 | 2022-03-29 | 先临三维科技股份有限公司 | 一种系统组件休眠方法和装置 |
Family Cites Families (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4688574A (en) * | 1985-06-17 | 1987-08-25 | Minnesota Mining And Manufacturing Company | Electrical stimulator for biological tissue having mode control |
US5784628A (en) * | 1996-03-12 | 1998-07-21 | Microsoft Corporation | Method and system for controlling power consumption in a computer system |
US5974473A (en) * | 1996-06-14 | 1999-10-26 | Texas Instruments Incorporated | System for controlling insertion, locking, and removal of modules by removing plurality of device drivers for module to be removed from BIOS and informing BIOS of module removal |
SG83684A1 (en) | 1998-07-07 | 2001-10-16 | Compaq Computer Corp | Computer system performing machine specific tasks before going to a low power state |
US6636963B1 (en) | 1999-12-30 | 2003-10-21 | Cardiac Pacemakers, Inc. | Quick starting for microprocessor-based system by retrieving a target state memory image and a target state data structure from an image storage medium |
US7000102B2 (en) | 2001-06-29 | 2006-02-14 | Intel Corporation | Platform and method for supporting hibernate operations |
US20030101312A1 (en) | 2001-11-26 | 2003-05-29 | Doan Trung T. | Machine state storage apparatus and method |
JP4743479B2 (ja) * | 2004-12-03 | 2011-08-10 | 株式会社ソニー・コンピュータエンタテインメント | 電子装置および電子装置の制御方法 |
US20070033356A1 (en) | 2005-08-03 | 2007-02-08 | Boris Erlikhman | System for Enabling Secure and Automatic Data Backup and Instant Recovery |
US20070038850A1 (en) | 2005-08-10 | 2007-02-15 | Matthews Jeanna N | System boot and resume time reduction method |
JP4622770B2 (ja) * | 2005-09-20 | 2011-02-02 | ブラザー工業株式会社 | 通信システム、情報処理装置、周辺装置、及び通信方法 |
US7533277B2 (en) * | 2006-04-04 | 2009-05-12 | Microsoft Corporation | Operating system shut down |
US7519808B2 (en) * | 2006-04-25 | 2009-04-14 | Apple Inc. | Method and apparatus for quickly reanimating devices from hibernation |
US8069362B2 (en) * | 2008-02-26 | 2011-11-29 | Sap Ag | Automated electrical power savings in virtualization environments |
JP5365051B2 (ja) * | 2008-03-31 | 2013-12-11 | 富士通株式会社 | 管理プログラム、管理装置及び管理方法 |
US20100318746A1 (en) * | 2009-06-12 | 2010-12-16 | Seakr Engineering, Incorporated | Memory change track logging |
US8464038B2 (en) * | 2009-10-13 | 2013-06-11 | Google Inc. | Computing device with developer mode |
KR20120041582A (ko) * | 2010-10-21 | 2012-05-02 | 삼성전자주식회사 | 스냅샷 이미지 분할 처리 장치 및 스냅샷 이미지 분할 처리 방법 |
TWI437395B (zh) * | 2010-10-22 | 2014-05-11 | Chan Li Machinery Co Ltd | Optimized PID Control Method for Process Equipment System |
US9032194B2 (en) | 2010-12-06 | 2015-05-12 | Microsoft Technology Licensing, Llc | Fast computer startup |
US8996194B2 (en) * | 2011-01-03 | 2015-03-31 | Ems Technologies, Inc. | Vehicle mount computer with configurable ignition switch behavior |
EP2737386A1 (en) | 2011-07-26 | 2014-06-04 | Marvell World Trade Ltd. | Zero power hibernation mode with instant on |
CN104158531A (zh) * | 2013-05-13 | 2014-11-19 | 鸿富锦精密工业(深圳)有限公司 | 电子装置 |
-
2012
- 2012-03-30 US US13/435,991 patent/US8977879B2/en active Active
-
2013
- 2013-03-04 AU AU2013240458A patent/AU2013240458B2/en active Active
- 2013-03-04 GB GB1417238.1A patent/GB2516180B/en active Active
- 2013-03-04 KR KR1020147027391A patent/KR101689450B1/ko active IP Right Grant
- 2013-03-04 CN CN201380018440.3A patent/CN104220985B/zh active Active
- 2013-03-04 CA CA2868322A patent/CA2868322C/en active Active
- 2013-03-04 DE DE112013001805.5T patent/DE112013001805T5/de active Granted
- 2013-03-04 WO PCT/US2013/028895 patent/WO2013148074A1/en active Application Filing
-
2015
- 2015-01-22 US US14/602,361 patent/US9411608B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
CN104220985A (zh) | 2014-12-17 |
AU2013240458A1 (en) | 2014-09-18 |
KR101689450B1 (ko) | 2016-12-23 |
CA2868322C (en) | 2017-05-30 |
US20130262898A1 (en) | 2013-10-03 |
GB2516180A (en) | 2015-01-14 |
DE112013001805T5 (de) | 2014-12-11 |
GB2516180B (en) | 2020-01-29 |
WO2013148074A1 (en) | 2013-10-03 |
AU2013240458B2 (en) | 2016-07-21 |
CA2868322A1 (en) | 2013-10-02 |
US20150143099A1 (en) | 2015-05-21 |
KR20140131981A (ko) | 2014-11-14 |
US9411608B2 (en) | 2016-08-09 |
US8977879B2 (en) | 2015-03-10 |
GB201417238D0 (en) | 2014-11-12 |
WO2013148074A4 (en) | 2013-11-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104220985B (zh) | 使用用户空间同步增强休眠和恢复处理的方法和装置 | |
KR101551611B1 (ko) | 실패들 사이의 평균 시간을 증가시키기 위해 멀티서브시스템 모바일 통신 디바이스에서 소프트웨어를 선제적으로 재시작하는 방법 | |
CN105354044B (zh) | 一种应用唤醒方法及装置 | |
US9489213B2 (en) | Shutdown method, startup method, and communication terminal | |
CN104462004B (zh) | 微处理器及其处理核间同步运作的方法 | |
CN102866903B (zh) | 将后台工作和前台工作解耦合 | |
CN109918141B (zh) | 线程执行方法、装置、终端及存储介质 | |
CN101236515B (zh) | 多核系统单核异常的恢复方法 | |
DE112008000603B4 (de) | Verfahren zum Steuern von Kernarbeitsakten unter Verwendung von Niedrigleistungsmodi | |
CN102999384B (zh) | 在挂起状态和执行状态下管理进程 | |
CN106959895B (zh) | 快速释放线程的资源调度方法和系统 | |
US12105577B2 (en) | Multi-core chip, system and method based thereon, and storage medium | |
CN103442292A (zh) | 用于处理智能电视软件错误的方法 | |
CN111796954A (zh) | 基于jvm的看门狗的控制方法、装置、设备及存储介质 | |
CN101206575B (zh) | 一种软件补丁在线升级方法、单板及系统 | |
CN104331388B (zh) | 微处理器及在微处理器的处理核间同步的方法 | |
CN110764829B (zh) | 一种多路服务器cpu隔离方法及系统 | |
CN116614362A (zh) | 基于组件休眠的sca波形创建释放优化方法和装置 | |
CN115756622A (zh) | 芯片控制方法及芯片 | |
US20220179680A1 (en) | Application state control method apparatus, and terminal and computer-readable storage medium | |
JP2003015894A (ja) | パッチ適用方式、パッチ適用方法およびパッチ用プログラム | |
CN115442768A (zh) | 一种车载tbox通讯模组异常唤醒监控方法 | |
US12099476B2 (en) | Distributed smart lock system | |
CN111077976A (zh) | 多核心处理器的空闲状态低功耗模式实现方法和处理器 | |
CN103425567A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |