IP Library Granted Patent US 8,752,038
Granted Patent B1
US 8,752,038 · App. 12/049,920 · Granted Jun 10, 2014

Reducing boot time by providing quantitative performance cost data within a boot management user interface

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,752,038
App. No.
12/049,920
Granted
Jun 10, 2014
Kind
B1
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 (61)

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.

2. 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.

3. 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.

4. 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.

5. 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.

6. 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.

7. 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.

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.

9. 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.

10. 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.

11. 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.

12. 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.

13. 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.

14. 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.

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.

16. 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.

17. 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.

Assignments (5)
NOTICE OF SUCCESSION OF AGENCY (REEL 050926 / FRAME 0560) Recorded Sep 13, 2022
From: JPMORGAN CHASE BANK, N.A.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 061422/0371 →
SECURITY AGREEMENT Recorded Sep 13, 2022
From: NORTONLIFELOCK INC.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 062220/0001 →
CHANGE OF NAME Recorded Jun 18, 2020
From: SYMANTEC CORPORATION
To: NORTONLIFELOCK INC.
Reel/Frame 053306/0878 →
SECURITY AGREEMENT Recorded Nov 4, 2019
From: SYMANTEC CORPORATION; BLUE COAT LLC; LIFELOCK, INC,; SYMANTEC OPERATING CORPORATION
To: JPMORGAN, N.A.
Reel/Frame 050926/0560 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 17, 2008
From: NEWSTADT, KEITH; COOLEY, SHAUN; PERUMAL, VIJAY BHASKAR
To: SYMANTEC CORPORATION
Reel/Frame 020662/0572 →