IP Library Granted Patent US 8,589,904
Granted Patent B2
US 8,589,904 · App. 12/538,622 · Granted Nov 19, 2013

Systems and methods for updating a software product

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,589,904
App. No.
12/538,622
Granted
Nov 19, 2013
Kind
B2
Abstract

A method may include receiving a request to install a second version of a software product over a first version of the software product, installing the second version of the software product in a dormant state while the first version of the software product is running, and swapping the first and second versions of the software product by activating the second version of the software product and deactivating the first version of the software product. Various other methods, systems, and computer-readable media are also disclosed.

Claims (63)

1. A computer-implemented method for updating a security software product, at least a portion of the method being performed by a computing device comprising at least one processor, the method comprising:

receiving a request to install a second version of the security software product over a first version of the security software product as part of an over-installation process where only a single instance of the security software product is able to run at a time;

installing, as part of the over-installation process where only a single instance of the security software product is able to run at a time, the second version of the security software product in a dormant state while the first version of the security software product is running by:

automatically identifying one or more components of the second version of the security software product that do not affect execution of the first version of the security software product by determining that the first version of the security software product is not utilizing components that correspond to the one or more components of the second version of the security software product that do not affect execution of the first version of the security software product,

installing the one or more components of the second version of the security software product that do not affect execution of the first version of the security software product, and

refraining from installing one or more components of the second version of the security software product that would affect execution of the first version of the security software product if installed;

after installing the second version of the security software product, rebooting a computing system on which the first and second versions of the security software product are installed;

upon rebooting the computing system, swapping the first and second versions of the security software product by:

activating the second version of the security software product, and

deactivating the first version of the security software product by modifying a state of one or more components of the first version of the security software product such that the one or more components of the first version of the security software product will not restart after a reboot of the computing system on which the first version of the security software product is installed.

2. The method of claim 1 , wherein:

the first version of the security software product comprises a first version of an antivirus application;

the second version of the security software product comprises a second version of the antivirus application.

3. The method of claim 1 , further comprising:

disabling a network adapter of the computing system until the second version of the security software product is activated, wherein the second version of the security software product is activated during the rebooting process before the network adapter of the computing system is enabled.

4. The method of claim 1 , wherein installing the second version of the security software product comprises:

installing one or more files of the second version of the security software product;

installing one or more components of the second version of the security software product needed during a boot process.

5. The method of claim 1 , wherein:

installing the second version of the security software product comprises saving one or more settings of the first version of the security software product;

swapping the first and second versions of the security software product comprises importing the one or more settings of the first version of the security software product into the second version of the security software product.

6. The method of claim 1 , wherein:

installing the second version of the security software product comprises identifying a set of differences between the first version of the security software product and the second version of the security software product;

swapping the first and second versions of the security software product comprises using the set of differences to update one or more components of the first version of the security software product for use with the second version of the security software product.

7. The method of claim 6 , wherein using the set of differences to update the one or more components of the first version of the security software product for use with the second version of the security software product comprises updating one or more registry keys of the second version of the security software product by adding new registry keys, deleting old registry keys, and/or modifying existing keys.

8. The method of claim 6 , wherein using the set of differences to update the one or more components of the first version of the security software product for use with the second version of the security software product comprises updating one or more services and drivers of the second version of the security software product.

9. The method of claim 6 , wherein using the set of differences to update the one or more components of the first version of the security software product for use with the second version of the security software product comprises updating one or more shortcuts of the second version of the security software product.

10. The method of claim 1 , wherein swapping the first and second versions of the security software product comprises:

uninstalling the first version of the security software product after the first version of the security software product is deactivated and the second version of the security software product is activated.

11. The method of claim 1 , tangibly embodied as computer-executable instructions on at least one non-transitory computer-readable-storage medium.

12. A computer-implemented method for updating a security software product, at least a portion of the method being performed by a computing device comprising at least one processor, the method comprising:

receiving a request to install a second version of the security software product over a first version of the security software product as part of an over-installation process where only a single instance of the security software product is able to run at a time;

installing, as part of the over-installation process where only a single instance of the security software product is able to run at a time, the second version of the security software product in a dormant state while the first version of the security software product is running by:

automatically identifying one or more components of the second version of the security software product that do not affect execution of the first version of the security software product by determining that the first version of the security software product is not utilizing components that correspond to the one or more components of the second version of the security software product that do not affect execution of the first version of the security software product,

installing the one or more components of the second version of the security software product that do not affect execution of the first version of the security software product, and

refraining from installing one or more components of the second version of the security software product that would affect execution of the first version of the security software product if installed;

after installing the second version of the security software product, rebooting a computing system on which the first and second versions of the security software product are installed;

upon rebooting the computing system, swapping the first and second versions of the security software product by activating the second version of the security software product and deactivating the first version of the security software product;

disabling a network adapter of the computing system until the second version of the security software product is activated, wherein the second version of the security software product is activated during the rebooting process before the network adapter of the computing system is enabled.

13. The method of claim 12 , further comprising:

while the computing system is rebooting, executing an executive mode application to update a portion of the first version of the security software product to the second version of the security software product;

performing an additional reboot of the computing system, wherein the second version of the security software product is not activated until after the additional reboot and the first version of the security software product is not deactivated until after the additional reboot.

14. The method of claim 12 , wherein:

the security software product comprises a software product installed to the computing system;

the second version of the security software product is installed over the first version of the security software product such that there is no down time between deactivating the first version of the security software product and activating the second version of the security software product and the computing system is not exposed to vulnerabilities protected against by the security software product.

15. A system comprising:

at least one processor;

an interface module programmed to direct the processor to receive a request to install a second version of a security software product over a first version of the security software product as part of an over-installation process where only a single instance of the security software product is able to run at a time;

an installation module programmed to direct the processor to:

install, as part of the over-installation process where only a single instance of the security software product is able to run at a time, the second version of the security software product in a dormant state while the first version of the security software product is running by:

automatically identifying one or more components of the second version of the security software product that do not affect execution of the first version of the security software product by determining that the first version of the security software product is not utilizing components that correspond to the one or more components of the second version of the security software product that do not affect execution of the first version of the security software product,

installing the one or more components of the second version of the security software product that do not affect execution of the first version of the security software product, and

refraining from installing one or more components of the second version of the security software product that would affect execution of the first version of the security software product if installed;

after installing the second version of the security software product, reboot a computing system on which the first and second versions of the security software product are installed;

a swapping module programmed to direct the processor to swap, upon rebooting the computing system, the first and second versions of the security software product by:

activating the second version of the security software product, and

deactivating the first version of the security software product by modifying a state of one or more components of the first version of the security software product such that the one or more components of the first version of the security software product will not restart after a reboot of the computing system on which the first version of the security software product is installed.

16. The system of claim 15 , wherein:

the first version of the security software product comprises a first version of an antivirus application;

the second version of the security software product comprises a second version of the antivirus application.

17. The system of claim 15 , wherein the installation module is programmed to direct the processor to install the second version of the security software product by:

installing one or more files of the second version of the security software product;

installing one or more components of the second version of the security software product needed during a boot process.

Assignments (6)
CHANGE OF NAME Recorded Feb 6, 2023
From: NORTONLIFELOCK INC.
To: GEN DIGITAL INC.
Reel/Frame 062714/0605 →
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 Feb 14, 2020
From: SYMANTEC CORPORATION
To: NORTONLIFELOCK INC.
Reel/Frame 051935/0228 →
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 Aug 10, 2009
From: POWELL, BRIAN; VILJOEN, PIETER
To: SYMANTEC CORPORATION
Reel/Frame 023073/0645 →