# US 8,752,038 B1 · Reducing boot time by providing quantitative performance cost data within a boot management user interface

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

- Number: US 8,752,038 B1
- Document ID: US8752038B1
- Status: Granted
- Kind: B1
- Application number: 12/049,920
- Filed: 2008-03-17
- Granted: 2014-06-10
- Earliest claimed: 2008-03-17
- Assignees: Symantec Corporation
- Applicants: Keith Newstadt; Shaun Cooley; Vijay Bhaskar Perumal
- Inventors: Keith Newstadt; Shaun Cooley; Vijay Bhaskar Perumal
- Web page: https://patentgrep.com/patent/US8752038B1

## CPC

- G06F 9/4401: Bootstrapping (security arrangements therefor G06F21/57)
- G06F 8/62: {Uninstallation}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

The performance of a boot sequence is improved by presenting the user with easy to read information concerning the performance cost of each boot time application, and allowing the user to remove processes from the boot sequence or uninstall them altogether. Processes associated with the boot sequence are identified, and their corresponding performance cost is determined as percentage of the performance cost of the entire boot sequence, or according to the time they take to execute. The identified processes and their associated performance costs are presented to the user, along with a user interface component for selecting processes to remove from the boot sequence and/or uninstall. Responsive to input from the user, selected processes are removed from the boot sequence and/or uninstalled as directed.

## Claims

### Claim 1

A computer implemented method for improving performance of a boot sequence, the method comprising the steps of:
identifying local boot processes associated with the boot sequence on a specific computer;
for each identified local boot process, monitoring usage of a plurality of hardware computing resources local to the specific computer during the boot sequence;
determining a performance cost for each identified local boot process, a determined performance cost being based on monitored usage of the plurality of local hardware computing resources of the specific computer during the boot sequence on the specific computer;
presenting identified local boot processes and associated performance costs to a user; and
further comprising performing at least one step from a group of steps consisting of:
providing the user with a user interface component for selecting local boot processes which the user wishes to remove from the boot sequence; and
providing the user with a user interface component for selecting processes which the user wishes to uninstall based on the performance cost during the local boot sequence.

### Claim 2 (depends on 1)

The method of claim 1 wherein determining a performance cost further comprises:
determining whether each local boot process was initiated directly or spawned by a parent process; and
including performance costs of spawned processes in the performance costs of corresponding parent processes.

### Claim 3 (depends on 1)

The method of claim 1 wherein determining a performance cost further comprises:
estimating the performance cost for an identified local boot process as a percentage of performance cost of the boot sequence.

### Claim 4 (depends on 1)

The method of claim 1 wherein determining a performance cost for each identified local boot process further comprises:
estimating the performance cost for an identified local boot process in units of time.

### Claim 5 (depends on 1)

The method of claim 1 wherein presenting identified local boot processes and their associated performance costs to a user further comprises:
presenting identified local boot processes and associated performance costs at an application level, wherein the present performance cost of an application includes the performance cost of each local boot process of that application.

### Claim 6 (depends on 1)

The method of claim 1 further comprising performing at least one step from a group of steps consisting of:
responsive to receiving input from the user indicating to remove at least one local process from the boot sequence, removing the at least one process from the boot sequence; and
responsive to receiving input from the user indicating to uninstall at least one local boot process, uninstalling the at least one process based on the performance cost during the local boot sequence.

### Claim 7 (depends on 1)

The method of claim 1 wherein determining a performance cost further comprises:
weighing usage of local hardware computing resources of the specific computer that are more highly contested during the boot sequence more heavily.

### Claim 8

At least one non-transitory computer readable medium containing a computer program product for improving performance of a boot sequence, the computer program product comprising:
program code for identifying local boot processes associated with the boot sequence on a specific computer;
program code for each identified local boot process, monitoring usage of a plurality of hardware computing resources local to the specific computer during the boot sequence;
program code for determining a performance cost for each identified local boot process, a determined performance cost being based on monitored usage of the plurality of local hardware computing resources of the specific computer during the boot sequence on the specific computer;
program code for presenting identified local boot processes and associated performance costs to a user; and
further comprising program code for performing at least one step from a group of steps consisting of:
providing the user with a user interface component for selecting local boot processes which the user wishes to remove from the boot sequence;
providing the user with a user interface component for selecting local boot processes which the user wishes to uninstall.

### Claim 9 (depends on 8)

The computer program product of claim 8 wherein the program code for determining a performance cost further comprises:
program code for determining whether each local boot process was initiated directly or spawned by a parent process; and
program code for including performance costs of spawned processes in the performance costs of corresponding parent processes.

### Claim 10 (depends on 8)

The computer program product of claim 8 wherein the program code for determining a performance cost further comprises:
program code for estimating the performance cost for an identified local boot process as a percentage of performance cost of the boot sequence.

### Claim 11 (depends on 8)

The computer program product of claim 8 wherein the program code for determining a performance cost for each identified local boot process further comprises:
program code for estimating the performance cost for an identified local boot process in units of time.

### Claim 12 (depends on 8)

The computer program product of claim 8 wherein the program code for presenting identified local boot processes and their associated performance costs to a user further comprises:
program code for presenting identified local boot processes and their associated performance costs at an application level, wherein the present performance cost of an application includes the performance cost of each local boot process of that application.

### Claim 13 (depends on 8)

The computer program product of claim 8 further comprising program code for performing at least one step from a group of steps consisting of:
responsive to receiving input from the user indicating to remove at least one local boot process from the boot sequence, removing the at least one local boot process from the boot sequence; and
responsive to receiving input from the user indicating to uninstall at least one local boot process, uninstalling the at least one local boot process.

### Claim 14 (depends on 8)

The computer program product of claim 8 wherein the program code for determining a performance cost further comprises:
program code for weighing usage of local hardware computing resources of the specific computer that are more highly contested during the boot sequence more heavily.

### Claim 15

A computer system for improving performance of a boot sequence, the computer system comprising:
a processor;
a system memory; and
a boot sequence manager residing in the system memory:
for identifying local boot processes associated with the boot sequence on a specific computer;
for each identified local boot process, monitoring usage of a plurality of hardware computing resources local to the specific computer during the boot sequence on the specific computer;
for determining a performance cost for each identified local boot process, a determined performance cost being based on monitored usage of the plurality of local hardware computing resources of the specific computer during the boot sequence;
for presenting identified local boot processes and an associated performance costs to a user; and
further for performing at least one step from a group of steps consisting of:
providing the user with a user interface component for selecting local boot processes which the user wishes to remove from the boot sequence;
providing the user with a user interface component for selecting local boot processes which the user wishes to uninstall.

### Claim 16 (depends on 15)

The computer system of claim 15 wherein the boot sequence manager is further:
for determining whether each local boot process was initiated directly or spawned by a parent process; and
for including performance costs of spawned processes in the performance costs of corresponding parent processes.

### Claim 17 (depends on 15)

The computer system of claim 15 wherein the boot sequence manager is further for performing at least one step from a group of steps consisting of:
responsive to receiving input from the user indicating to remove at least one local boot process from the boot sequence, removing the at least one process from the boot sequence; and
responsive to receiving input from the user indicating to uninstall at least one local boot process, uninstalling the at least one local boot process.
