IP Library Granted Patent US 8,990,797
Granted Patent B2
US 8,990,797 · App. 12/913,858 · Granted Mar 24, 2015

Method for improving the performance of computers by releasing computer resources

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,990,797
App. No.
12/913,858
Granted
Mar 24, 2015
Kind
B2
Abstract

In a method for improving the performance of a computer system by releasing computer resources, a list P of programs installed on a computer system is determined. All relevant extension points EP of the computer system are searched for registered entries. A list A of automatically starting programs is generated by assigning the registered entries at the relevant extension points EP to the installed programs, respectively. The list A of the automatically starting programs is compared with a list S of system-required programs and a list V of used programs. Programs that are not system-required and programs that have not been used for a longer period of time are deactivated and computer resources that have been used by the deactivated programs are released. The deactivation of programs can be done by the user or automatically and can be cancelled when necessary.

Claims (61)

1. A computer-implemented method for improving the performance of a computer system by releasing computer resources, the method comprising:

determining that a reduction in performance of the computer system exceeds a defined threshold;

determining a list of programs installed on the computer system;

using a data processing device associated with the computer system;

searching all relevant extension points of the computer system for registered entries; and

assigning the registered entries at the relevant extension points to the installed programs, respectively, to generate a list of automatically starting programs;

comparing the list of the automatically starting programs with a list of system-required programs and a list of used programs; and

using the data processing device and, in response to the determining that the reduction in performance of the computer system exceeds the defined threshold:

deactivating ones of the installed programs that are not system-required and ones of the installed programs that have not been used for a preselected period of time;

releasing resources of the computer system that had been used by the deactivated ones of the installed programs; and

in response to at least one of: (i) an attempt to execute a deactivated one of the installed programs; (ii) an attempt to uninstall a deactivated one of the installed programs; and (iii) receiving a request addressed to a deactivated one of the installed programs, reactivating the deactivated one of the installed programs by restoring initial states of entries at the relevant extension points associated with the deactivated one of the installed programs as if the deactivated one of the installed programs had never been deactivated.

2. The computer-implemented method according to claim 1 , wherein determining the list of the installed programs is based on at least one of:

querying an operating system installed on the computer system; and

uninstall information.

3. The computer-implemented method according to claim 1 , wherein the relevant extension points comprise at least one of:

an auto start section of a Windows® registry;

auto start folders in a start menu;

Windows® services; and

a scheduled tasks function of the control panel.

4. The computer-implemented method according to claim 1 , wherein assigning the registered entries is effected based on at least one of:

querying local Windows® installer databases;

a readout of uninstall keys of a Windows® registry; and

querying version information blocks of all relevant executable files according to product name and manufacturer name.

5. The computer-implemented method according to claim 1 , wherein the list of system-required programs is at least one of:

a default setting; and

dependency information of the computer system.

6. The computer-implemented method according to claim 1 , wherein deactivating ones of the installed programs is initiated one of by a user and automatically.

7. The computer-implemented method according to claim 6 , further comprising the step of providing visualized information to the user representing at least one effect of deactivating ones of the installed programs.

8. The computer-implemented method according to claim 1 , further comprising the step of monitoring the relevant extension points of a deactivated one of the installed programs to detect requests addressed to the deactivated one of the installed programs.

9. The computer-implemented method according to claim 8 , wherein the reactivating of the ones of the deactivated programs occurs automatically when a request addressed to the deactivated one of the installed programs is detected.

10. The computer-implemented method according to claim 9 , wherein the reactivating of the ones of the deactivated programs occurs before performing an uninstall function.

11. The computer-implemented method according to claim 9 , further comprising the step of caching parameters to be passed to the deactivated ones of the installed programs until the step of reactivation is performed.

12. The computer-implemented method according to claim 1 , wherein deactivating ones of the installed programs is effected when:

the installed programs have not been utilized for a preselected time period;

the program is not required for a proper and safe function of the computer system; and

the program is not on a list, defined by the user, of programs not to be deactivated.

13. The computer-implemented method according to claim 1 , further comprising the step of running an execution program that executes the method during an entire operating period of the computer system.

14. The computer-implemented method according to claim 13 , wherein the execution program is loaded automatically when starting up the computer system and is automatically terminated when shutting down the computer system.

15. The computer-implemented method according to claim 1 , wherein the deactivating comprises:

terminating background functionalities of ones of the installed programs; and

at least one of removing and changing entries associated with the ones of the installed programs at the relevant extension points such that the entries are no longer attended to by an operating system installed on the computer system.

16. A system for improving the performance of a computer system, the system comprising a data processing device configured to:

determine a list of programs installed on the computer system;

search all relevant extension points of the computer system for registered entries;

assign the registered entries at the relevant extension points to the installed programs, respectively, to generate a list of automatically starting programs;

compare the list of the automatically starting programs with a list of system-required programs;

deactivate ones of the installed programs that are not system-required and that have not been used for a determined period of time; and

in response to at least one of: (i) an attempt to execute a deactivated one of the installed programs; (ii) an attempt to uninstall a deactivated one of the installed programs; and (iii) receiving a request addressed to a deactivated one of the installed programs, reactivate the deactivated one of the installed programs by restoring initial states of entries at the relevant extension points associated with the deactivated one of the installed programs as if the deactivated one of the installed programs had never been deactivated.

17. The system according to claim 16 , wherein the data processing device is configured to:

monitor the extension points of a deactivated one of the installed programs to detect requests addressed to the deactivated one of the installed programs.

18. The system according to claim 17 , wherein the reactivating of the ones of the deactivated programs occurs automatically when a request addressed to the deactivated one of the installed programs is detected.

19. The system according to claim 17 , wherein the reactivating of the deactivated one of the installed programs occurs before performing an uninstall function.

20. The system according to claim 16 , wherein the data processing device is configured to:

cache parameters to be passed to the deactivated one of the installed programs until the reactivating is performed.

21. The system according to claim 16 , wherein, when deactivating ones of the installed programs, the data processing device is configured to:

terminate background functionalities of the ones of the installed programs; and

at least one of remove and change entries associated with the ones of the installed programs at the extension points such that the entries are no longer attended to by an operating system installed on the computer system.

22. The system according to claim 16 , wherein the data processing device is configured to:

determine that a reduction in performance of the computer system exceeds a defined threshold before deactivating ones of the installed programs.

23. The system according to claim 22 , wherein the data processing device is configured to:

release resources of the computer system that had been used by the deactivated ones of the installed programs.

Assignments (13)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 30, 2025
From: AVAST SOFTWARE S.R.O.
To: GEN DIGITAL AMERICAS S.R.O.
Reel/Frame 071777/0341 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 30, 2025
From: GEN DIGITAL AMERICAS S.R.O.
To: GEN DIGITAL INC.
Reel/Frame 071771/0767 →
RELEASE OF SECURITY INTEREST Recorded Mar 26, 2021
From: CREDIT SUISSE INTERNATIONAL, AS COLLATERAL AGENT
To: AVAST SOFTWARE, S.R.O.; AVAST SOFTWARE B.V.
Reel/Frame 055726/0407 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 23, 2018
From: AVAST SOFTWARE B.V.
To: AVAST SOFTWARE S.R.O.
Reel/Frame 046876/0165 →
MERGER Recorded Oct 11, 2017
From: AVG TECHNOLOGIES HOLDINGS B.V.
To: AVG TECHNOLOGIES B.V.
Reel/Frame 043841/0844 →
MERGER Recorded Oct 11, 2017
From: AVG NETHERLANDS B.V.
To: AVG TECHNOLOGIES HOLDINGS B.V.
Reel/Frame 043841/0615 →
MERGER Recorded Oct 11, 2017
From: AVG TECHNOLOGIES B.V.
To: AVAST SOFTWARE B.V.
Reel/Frame 043841/0899 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 15, 2017
From: AVG NETHERLANDS B.V.
To: AVAST SOFTWARE B.V.
Reel/Frame 043603/0008 →
SECURITY INTEREST Recorded Jan 27, 2017
From: AVG NETHERLANDS B.V.
To: CREDIT SUISSE INTERNATIONAL, AS COLLATERAL AGENT
Reel/Frame 041111/0914 →
RELEASE OF SECURITY INTEREST Recorded Oct 3, 2016
From: HSBC BANK USA, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
To: LOCATION LABS, INC.; AVG NETHERLANDS B.V.
Reel/Frame 040205/0406 →
SECURITY INTEREST Recorded Oct 16, 2014
From: AVG NETHERLANDS B.V.; LOCATION LABS, INC.
To: HSBC BANK USA, N.A.
Reel/Frame 034012/0721 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 1, 2012
From: TUNEUP SOFTWARE GMBH
To: AVG NETHERLANDS B. V.
Reel/Frame 027968/0523 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 28, 2010
From: SCHIEMANN, TIBOR
To: TUNEUP SOFTWARE GMBH
Reel/Frame 025208/0438 →