# US 8,788,863 B2 · System and method for restoring and/or continuing execution functionality to various processes based on predefined power classifications while transitioning a computing environment from connected standby state to execution state

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 8,788,863 B2
- Document ID: US8788863B2
- Status: Granted
- Kind: B2
- Application number: 13/207,138
- Filed: 2011-08-10
- Published: 2013-02-14
- Granted: 2014-07-22
- Earliest claimed: 2011-08-10
- Assignees: Microsoft Corporation
- Applicants: Jon Berry
- Inventors: Jon Berry
- Web page: https://patentgrep.com/patent/US8788863B2

## CPC

- G06F 1/00: Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00 (architectures of general purpose stored program computers G06F15/76)
- G06F 1/3206: Monitoring of events, devices or parameters that trigger a change in power modality
- G06F 1/3209: Monitoring remote activity, e.g. over telephone lines or network connections
- G06F 1/3234: Power saving characterised by the action undertaken
- G06F 1/324: by lowering clock frequency
- G06F 1/329: by task scheduling
- G06F 9/4418: {Suspend and resume; Hibernate and awake}
- G06F 9/485: {Task life-cycle, e.g. stopping, restarting, resuming execution (G06F9/4881 takes precedence)}
- G06F 9/4893: {taking into account power or heat criteria (power management in computers in general G06F1/3203; thermal management in computers in general G06F1/206)}
- Y02D 10/00: Energy efficient computing, e.g. low power processors, power management or thermal management
- Y02D 30/50: in wire-line communication networks, e.g. low power modes or reduced link rate
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- Y02D: CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE

## Abstract

One or more techniques and/or systems are provided for assigning power management classifications to a process, transitioning a computing environment into a connected standby state based upon power management classifications assigned to processes, and transitioning the computing environment from the connected standby state to an execution state. That is, power management classifications, such as exempt, throttle, and/or suspend, may be assigned to processes based upon various factors, such as whether a process provides desired functionality and/or whether the process provides functionality relied upon for basic operation of the computing environment. In this way, the computing environment may be transitioned into a low power connected standby state that may continue executing desired functionality, while reducing power consumption by suspending and/or throttling other functionality. Because some functionality may still execute, the computing environment may transition into the execution state in a responsive manner to quickly provide a user with up-to-date information.

## Claims

### Claim 1

A method for transitioning from a connected standby state to an execution state, comprising:
detecting an exit connected standby request associated with a computing environment; and
transitioning the computing environment from a connected standby state to an execution state, comprising:
restoring execution functionality to a suspended process assigned a suspend classification;
restoring execution functionality to a throttled process assigned a throttling classification, the restoring execution functionality to a throttled process performed before the restoring execution functionality to a suspended process; and
continuing execution functionality for a hardware functionality process assigned an exempt classification, the hardware functionality process allowed to execute during the connected standby state.

### Claim 2 (depends on 1)

The method of claim 1, the computing environment comprising an operating system.

### Claim 3 (depends on 2)

The method of claim 2, the operating system comprising at least one of a tablet operating system, a desktop operating system or a mobile device operating system.

### Claim 4 (depends on 1)

The method of claim 1, comprising:
restoring execution functionality to a parent suspended process before restoring execution functionality to a child suspended process.

### Claim 5 (depends on 4)

The method of claim 4, the child suspended process configured to consume a second resource from the parent suspended process.

### Claim 6 (depends on 1)

The method of claim 1, the restoring execution functionality to the throttled process comprising:
restoring execution functionality to the throttled process based upon a throttling schedule applied to the throttled process.

### Claim 7 (depends on 1)

The method of claim 1, the restoring execution functionality to the throttled process comprising:
unapplying a throttling schedule applied to the throttled process.

### Claim 8 (depends on 1)

The method of claim 1, the restoring execution functionality to the throttled process comprising:
if the throttled process is in a non-executing suspended state, then transitioning the throttled process into an executing state.

### Claim 9 (depends on 1)

The method of claim 1, the suspend classification corresponding to:
whether a process is able to be suspended without a computing system failure and limited runtime functionality associated with the process is not desired.

### Claim 10 (depends on 1)

The method of claim 1, the throttling classification corresponding to:
whether a process can be throttled without a computing system failure and limited runtime functionality associated with the process is desired.

### Claim 11 (depends on 1)

The method of claim 1, the throttled process comprising a service created within a system session that provides desired state functionality.

### Claim 12 (depends on 1)

The method of claim 1, the suspended process comprising a user application created within a user session.

### Claim 13

A system for transitioning from a connected standby state to an execution state, comprising:
a transition component configured to:
detect an exit connected standby request associated with a computing environment; and
transition the computing environment from a connected standby state to an execution state, comprising:
restore execution functionality to a suspended process assigned a suspend classification;
restore execution functionality to a throttled process assigned a throttling classification, the restoring execution functionality to a throttled process performed before the restoring execution functionality to a suspended process, the suspended process configured to consume a resource from the throttled process; and
continue execution functionality for a hardware functionality process assigned an exempt classification, the hardware functionality process allowed to execute during the connected standby state.

### Claim 14 (depends on 13)

The system of claim 13, the computing environment comprising an operating system.

### Claim 15 (depends on 14)

The system of claim 14, the operating system comprising at least one of a tablet operating system, a desktop operating system or a mobile device operating system.

### Claim 16 (depends on 13)

The system of claim 13, the transition component configured to:
restore execution functionality to a parent suspended process before restoring execution functionality to a child suspended process, the child suspended process configured to consume a second resource from the parent suspended process.

### Claim 17 (depends on 13)

The system of claim 13, the transition component configured to:
restore execution functionality to the throttled process based upon a throttling schedule applied to the throttled process.

### Claim 18 (depends on 17)

The system of claim 17, the transition component configured to:
unapply the throttling schedule applied to the throttled process.

### Claim 19

A computer readable storage media, excluding signals, comprising computer executable instructions that when executed perform a method for transitioning from a connected standby state to an execution state, comprising:
detecting an exit connected standby request associated with a computing environment; and
transitioning the computing environment from a connected standby state to an execution state, comprising:
restoring execution functionality to a suspended process assigned a suspend classification;
restoring execution functionality to a throttled process assigned a throttling classification, the restoring execution functionality to a throttled process performed before the restoring execution functionality to a suspended process, the suspended process configured to consume a resource from the throttled process; and
continuing execution functionality for a hardware functionality process assigned an exempt classification, the hardware functionality process allowed to execute during the connected standby state.

### Claim 20 (depends on 19)

The computer readable storage media of claim 19, the computing environment comprising at least one of a tablet operating system, a desktop operating system or a mobile device operating system.
