IP Library Granted Patent US 8,930,937
Granted Patent B2
US 8,930,937 · App. 13/415,653 · Granted Jan 6, 2015

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 8,930,937
App. No.
13/415,653
Granted
Jan 6, 2015
Kind
B2
Abstract

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 (37)

1. A method, including:

storing on a server system configuration information for a client system, the configuration information including at least plural applications stored on the client system;

generating instructions at the server system for execution on the client system, the instructions generated at least in part based upon the configuration information for the client system stored on the server system;

communicating a request from the client system to the server system for the most-updated upgrade package for one or more of the software applications;

receiving at the client system from the server system, in response to the request, one or more instructions directing the client system to retrieve the application information about the software application, the receiving of the one or more instructions including a script file having the one or more instructions and a list of parts, the list of parts being used in conjunction with the one or more instructions to retrieve the application information;

sending application information associated with a the plural software applications from the client system to the server system, the application information prepared at the client system according to the instructions provided from the server system;

performing with the server system a comparison between the application information and a most-updated upgrade package for the software application; and

receiving the most-updated upgrade package for the software applications at the client system when the comparison indicates that the most-updated upgrade packages have not been installed on the client system.

2. The method of claim 1 , including automatically generating the request for the upgrade on a periodic basis.

3. The method of claim 1 , further including:

retrieving from the most-updated upgrade package an instruction file and one or more data files associated with the software application to upgrade; and

parsing commands from the instruction file and executing the commands to update the software application using the one or more data files.

4. The method of claim 1 , wherein the server system includes a part database storing the most-updated upgrade package for the software application, and wherein the server system includes a client database storing a plurality of configuration files for a plurality of client systems, a first configuration file providing the sever system with the knowledge of at least the software application installed on the client system, the application information about the software application comprising version information of the software application, and the application information about the software applications is stored at the client system.

5. A non-transitory machine-readable storage medium embodying instructions which, when executed by a client system, cause the client system to:

communicate a request to a server system for the most-updated upgrade package for the software applications;

receive from the server system, in response to the request, one or more instructions directing the client system to retrieve application version information about the software applications, the receiving of the one or more instructions including receiving a script file including the one or more instructions and a list of parts, the list of parts being used in conjunction with the one or more instructions to retrieve the application version information;

send application version information associated with plural software application stored on the client system to a server system, wherein the server system performs a comparison between the application version information and a most-updated upgrade package for the software applications; and

receive the most-updated upgrade package for the software applications at the client system when the comparison indicates that the most-updated upgrade package has not been installed on the client system;

wherein the instructions are generated at the server system and communicated to the client system and are generated at least in part upon configuration information of the client system stored at the server system before communication of the instructions from the server system to the client system, the configuration information reflecting plural applications currently installed on the client system as tracked by the server system.

6. A method, including:

receiving a request from a client system for the most-updated upgrade package for software applications;

sending commands from a server system to the client system, the commands generated at the server system based upon configuration information representing plural applications currently installed on the client system, the configuration information stored at a client database associated with the server system, the commands received at the client system and directing the client system to retrieve version information about the plural software applications, the sending of the commands including sending a script file having the commands and a list of parts, the list of parts being used in conjunction with the commands to retrieve the version information;

executing the commands at the client system to determine version information about plural software applications stored on the client system;

receiving at the server system the application version information about the software applications from the client system in response to executing the commands at the client system;

comparing at the server system the application version information about the software applications to a most-updated upgrade package for the software applications; and

sending from the server system the most-updated upgrade package for the software applications to the client system automatically when the comparison indicates that the most-updated upgrade package has not been installed on the client system.

7. A non-transitory machine-readable storage medium embodying instructions which, when executed by a server system, cause the server system to:

receiving a request from a client system for the most-updated upgrade package for the software applications:

generate instructions for execution on the a client system, the instructions generated at least in part by reference to configuration information of the client system stored on the server system at the time that the instructions are generated, the configuration information including plural software applications stored on the client system, the instructions received at the client system and directing the client system to retrieve the configuration information about the software application and including a script file having a list of parts, the list of parts being used in conjunction with the instructions to retrieve the configuration information;

receive application version information about the plural software applications from the client system, the client system sending the application version information by executing the instructions generated at the server system and sent to the client system from the server system, the instructions generated at the server system based upon software applications that the server system currently knows as stored on the client system;

compare the application version information about the software applications to a most-updated upgrade package for the software applications; and

send the most-updated upgrade package for the software applications to the client system automatically when the comparison indicates that the most-updated upgrade package has a version not on the client system.

8. A system, including:

a client system having a processor executing instructions to send application version information associated with a software application to a server system, the instructions executed in response to commands generated at a server system and sent to the client system, the commands generated by the server system in response to a request for a most-updated upgrade package for the software application, the commands directing the client system to retrieve the application information about the software application based upon plural applications currently known by the server system to be configured on the client system at the time that the commands are generated and before execution of the instructions by the client system, the commands including a script file having a list of parts, the list of parts being used in conjunction with the commands to retrieve the application version information;

a server system having a processor executing instructions to perform a comparison between the application version information and a most-updated upgrade package for the software applications and to communicate the most-updated upgrade package for the software applications to the client system when the comparison indicates that the most-updated upgrade package is not installed on the client system; and

the client system to receive, based on the most-updated upgrade package, one or more files to upgrade the software applications.

9. The system of claim 8 , including the client system to retrieve from the most-updated upgrade package an instruction file and one or more data files associated with the software application to upgrade and to execute commands parsed from the instruction file to update the software application using the one or more data files.

Assignments (15)
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: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 040136/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: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040134/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 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 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 (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 (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 (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 →