IP Library Granted Patent US 7,853,943
Granted Patent B2
US 7,853,943 · App. 11/111,292 · Granted Dec 14, 2010

Intelligent patch checker

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 7,853,943
App. No.
11/111,292
Granted
Dec 14, 2010
Kind
B2
Abstract

A method for remotely updating software in a plurality of computer systems is disclosed. In one embodiment, a client computer sends application information about a software application to a server system. The server system performs a comparison between the application information about the software application and the most-updated upgrade package for the software application. The most-updated upgrade package for the software application is stored in a part database. The most-updated upgrade package for the software application is received by the client system automatically when the comparison indicates that the most-updated upgrade package has not been installed on the client system. A client database stores a plurality of configuration files for a plurality of client systems. A first configuration file provides the sever system with the knowledge of the software applications installed on the client system. The application information about the software application comprises version information of the software applications and is stored in a database in the client system.

Claims (55)

1. A method of monitoring for updates relating to software applications on a client system, the method including:

receiving a unique identification communicated from the client system to a server system, the unique identification identifying the client system and used by the server system to access a database maintained by the server system to identify a plurality of software applications on the client system;

transmitting a file from the server system, the file including commands for execution on the client system and pertaining to the plurality of software applications on the client system; and,

in response to the client system's

(1) parsing the file in a parser on the client system to identify the commands,

(2) executing the commands on the plurality of software applications, the commands executed to collect information pertaining to the plurality of software applications on the client system, and

(3) transmitting the collected information to the server system;

receiving the collected information from the client system;

performing a comparison at the server system between the collected information and a most updated update package for the software applications to determine which files are needed to update the software application on the client system, wherein the most-updated update package for the software application is stored in a database, and

transmitting at least one download file in response to the collected information, the at least one download file including a command to ask a user to install an application now or later.

2. The method of claim 1 , which includes:

in response to receiving the collected information communicated to the server system,

transmitting at least one update file for at least one software application of the plurality of software applications.

3. The method of claim 2 , which includes updating the at least one software application using the at least one update file.

4. The method of claim 2 , which includes:

transmitting an update file for each software application requiring updating, each update file capable of being processed individually.

5. The method of claim 2 , in which the at least one update file is compressed for expansion at the client system.

6. The method of claim 2 , wherein the at least one update file is identified from a comparison between the collected information received from the client system and one of a plurality of configuration files for a plurality of client systems, the plurality of configuration files each having knowledge of the plurality of software applications stored on an associated client system.

7. The method of claim 2 , in which the at least one update file is an upgrade package, the method including providing for the upgrade package to be transmitted automatically when the upgrade package has not been installed on the client system.

8. The method of claim 1 , which includes receiving, by the server system, the unique identification for the client system and the collected information, the unique identification recognizable by the server system to identify the client system.

9. The method of claim 1 , which includes:

in response to the server system receiving the collected information, transmitting at least one Uniform Resource Locator (URL) link that provides the at least one download for a software application of the plurality of software applications requiring updating.

10. The method of claim 1 , which includes:

transmitting at least one download file in response to the collected information received by the server system, the at least one download file including at least one command selected from a group including:

Delete a file;

ShellExecute:

ShellExecute with wait:

Registry Change;

Add message to a tool bar;

Kill a particular process;

Ask for reboot;

Force reboot; and

Ask user to close all programs.

11. The method of claim 1 , in which the at least one command includes at least one self-check functions including at least one parameter selected from a group including:

get a file's version;

get a file's modified date;

get an amount of free disk space;

get a value of a specified registry key; and

get a size of a file.

12. The method of claim 1 , wherein the file is a script file and the commands included in the script file are capable of being executed by a utility application included in the client system.

13. The method of claim 1 , which includes the server system receiving a request for the file from the client system.

14. The method of claim 1 , in which the file transmitted by the server system identifies the software applications on the client system that are known to the server system.

15. The method of claim 1 , wherein the server system manages a plurality of client systems via the Internet, the plurality including the client system.

16. A non-transitory- machine-readable medium embodying instructions which, when executed by a machine, cause the machine to perform the method of claim 1 .

17. The method of claim 8 wherein the unique identification for the client system is stored in a registry in the client system.

18. A system to monitor updates relating to software applications on a client system, the system including:

means for receiving a unique identification communicated from the client system to a server system, the unique identification identifying the client system and used by the server system to access a database maintained by the server system to identify a plurality of software applications on the client system;

means for transmitting a file from the server system to the client system, the file including commands for execution on the client system and pertaining to the plurality of software applications on the client system:

means responsive to the client system's

(1) parsing the file in a parser on the client system to identify the commands,

(2) executing the commands on the plurality of software applications, the commands executed to collect information pertaining to the plurality of software applications on the client system, and

(3) transmitting the collected information to the server system;

for receiving the collected information from the client system;

for performing a comparison at the server system between the collected information and a most updated update for the software applications to determine which files are needed to update the software application on the client system, wherein the most-updated update package for the software application is stored in a database, and

for transmitting at least one download file in response to the collected information, the at least one download file including a command to ask a user to install an application now or later.

Assignments (17)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (045455/0001) Recorded May 20, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061753/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (040136/0001) Recorded Apr 26, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061324/0001 →
RELEASE OF SECURITY INTEREST Recorded Nov 3, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL, L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; WYSE TECHNOLOGY L.L.C.
Reel/Frame 058216/0001 →
SECURITY AGREEMENT Recorded Apr 22, 2020
From: CREDANT TECHNOLOGIES INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 053546/0001 →
SECURITY AGREEMENT Recorded Mar 21, 2019
From: CREDANT TECHNOLOGIES, INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 049452/0223 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040134/0001 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 040136/0001 →
RELEASE OF SECURITY INTEREST Recorded Sep 14, 2016
From: BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
To: DELL MARKETING L.P.; ASAP SOFTWARE EXPRESS, INC.; APPASSURE SOFTWARE, INC.; COMPELLENT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL INC.; DELL PRODUCTS L.P.; DELL USA L.P.; DELL SOFTWARE INC.; FORCE10 NETWORKS, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
Reel/Frame 040065/0618 →
RELEASE OF SECURITY INTEREST Recorded Sep 14, 2016
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: DELL SOFTWARE INC.; FORCE10 NETWORKS, INC.; DELL MARKETING L.P.; ASAP SOFTWARE EXPRESS, INC.; APPASSURE SOFTWARE, INC.; COMPELLENT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL INC.; DELL PRODUCTS L.P.; DELL USA L.P.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
Reel/Frame 040040/0001 →
RELEASE OF SECURITY INTEREST Recorded Sep 13, 2016
From: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
To: DELL MARKETING L.P.; ASAP SOFTWARE EXPRESS, INC.; APPASSURE SOFTWARE, INC.; COMPELLANT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL INC.; DELL PRODUCTS L.P.; DELL USA L.P.; DELL SOFTWARE INC.; FORCE10 NETWORKS, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
Reel/Frame 040065/0216 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Jan 2, 2014
From: APPASSURE SOFTWARE, INC.; ASAP SOFTWARE EXPRESS, INC.; BOOMI, INC.; COMPELLENT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL INC.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL USA L.P.; FORCE10 NETWORKS, INC.; GALE TECHNOLOGIES, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
To: BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS FIRST LIEN COLLATERAL AGENT
Reel/Frame 031897/0348 →
PATENT SECURITY AGREEMENT (ABL) Recorded Jan 2, 2014
From: DELL INC.; APPASSURE SOFTWARE, INC.; ASAP SOFTWARE EXPRESS, INC.; BOOMI, INC.; COMPELLENT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL USA L.P.; FORCE10 NETWORKS, INC.; GALE TECHNOLOGIES, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
To: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 031898/0001 →
PATENT SECURITY AGREEMENT (TERM LOAN) Recorded Jan 2, 2014
From: DELL INC.; APPASSURE SOFTWARE, INC.; ASAP SOFTWARE EXPRESS, INC.; BOOMI, INC.; COMPELLENT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL USA L.P.; FORCE10 NETWORKS, INC.; GALE TECHNOLOGIES, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 031899/0261 →
MERGER Recorded Nov 15, 2013
From: DELL MARKETING USA L.P.
To: DELL MARKETING L.P.
Reel/Frame 031614/0908 →
MERGER Recorded Oct 21, 2008
From: EVERDREAM CORPORATION
To: DELL MARKETING USA, L.P.
Reel/Frame 021701/0262 →
RELEASE OF SECURITY INTEREST Recorded Oct 29, 2007
From: VENTURE LENDING & LEASING IV, INC., AS AGENT
To: EVERDREAM CORPORATION
Reel/Frame 020031/0120 →