IP Library Granted Patent US 10,489,137
Granted Patent B1
US 10,489,137 · App. 15/859,644 · Granted Nov 26, 2019

Software verification system and methods

Inventor: George Frank Squires Davis (Dunwoody, GA)
Assignee: ALLSCRIPTS SOFTWARE, LLC
G06F8/61H04L41/082G06F8/60G06F8/65G06F11/1433Y10S707/99954
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 10,489,137
App. No.
15/859,644
Granted
Nov 26, 2019
Kind
B1
Abstract

A method for detecting a confirmation of a properly installed software product on a computing device, determining the software product installation properties of the properly installed software product, and storing information relating to at least one or more software product installation properties of the properly installed software product.

Claims (47)

1. A method comprising:

(a) providing a computer program comprising instructions for generating a product definition for a software product and validating installations of that software product using the generated product definition;

(b) loading the computer program at a first computer having a first installation of a first software product installed thereon;

(c) executing, using a processor of the first computer, instructions of the computer program which generate a first product definition for the first installation of the first software product installed on the first computer, such generation including

(i) generating, for each of a plurality of database tables of the first installation on the first computer, a hash of a list of column names for the respective database table,

(ii) generating information about registry entries on the first computer for the first software product,

(d) loading the computer program at a second computer having a second installation of the first software product installed thereon, and

(e) executing, using a processor of the second computer, instructions of the computer program which attempt to validate the second installation, such validation including

(i) comparing the generated hash values for the first installation to generated hash values for the second installation, and

(ii) comparing the generated information about registry entries on the first computer for the first software product to registry entries on the second computer for the first software product.

2. The method of claim 1 , wherein generating, for each of a plurality of database tables of the first installation on the first computer, a hash value comprises generating an MD5 hash value.

3. The method of claim 2 , wherein the method comprises generating, for each of a plurality of database tables of the first installation on the second computer, an MD5 hash value.

4. The method of claim 1 , wherein, with respect to executing, using a processor of the first computer, instructions which generate a first product definition for the first installation of the first software product installed on the first computer, such generation comprises generating information about a database view.

5. The method of claim 1 , wherein, with respect to executing, using a processor of the first computer, instructions which generate a first product definition for the first installation of the first software product installed on the first computer, such generation comprises utilizing information about a last modified time of a file.

6. The method of claim 5 , wherein validation of the second installation comprises utilizing information about a last modified time of files on the second computer.

7. The method of claim 1 , wherein, with respect to executing, using a processor of the first computer, instructions which generate a first product definition for the first installation of the first software product installed on the first computer, such generation comprises setting a flag to indicate whether a file is optional.

8. A method comprising:

(a) providing a computer program comprising instructions for generating a product definition for a software product and validating installations of that software product using the generated product definition;

(b) loading the computer program at a first computer having a first installation of a first software product installed thereon;

(c) executing, using a processor of the first computer, instructions of the computer program which generate a first product definition for the first installation of the first software product installed on the first computer, such generation including

(i) generating, for each of a plurality of database views of the first installation on the first computer, a hash of a list of column names for the respective database view,

(ii) generating information about registry entries on the first computer for the first software product,

(d) loading the computer program at a second computer having a second installation of the first software product installed thereon, and

(e) executing, using a processor of the second computer, instructions of the computer program which attempt to validate the second installation, such validation including

(i) comparing the generated hash values for the first installation to generated hash values for the second installation, and

(ii) comparing the generated information about registry entries on the first computer for the first software product to registry entries on the second computer for the first software product.

9. The method of claim 8 , wherein generating, for each of a plurality of database tables of the first installation on the first computer, a hash value comprises generating an MD5 hash value.

10. The method of claim 9 , wherein the method comprises generating, for each of a plurality of database tables of the first installation on the second computer, an MD5 hash value.

11. The method of claim 8 , wherein, with respect to executing, using a processor of the first computer, instructions which generate a first product definition for the first installation of the first software product installed on the first computer, such generation comprises generating information about a database view.

12. The method of claim 8 , wherein, with respect to executing, using a processor of the first computer, instructions which generate a first product definition for the first installation of the first software product installed on the first computer, such generation comprises utilizing information about a last modified time of a file.

13. The method of claim 12 , wherein validation of the second installation comprises utilizing information about a last modified time of files on the second computer.

14. The method of claim 8 , wherein, with respect to executing, using a processor of the first computer, instructions which generate a first product definition for the first installation of the first software product installed on the first computer, such generation comprises setting a flag to indicate whether a file is optional.

15. A method comprising:

(a) providing a device comprising non-transitory computer readable media containing a computer program for generating a product definition for a software product and validating installations of that software product using the generated product definition;

(b) physically coupling the device at a first computer having a first installation of a first software product installed thereon;

(c) executing, using a processor of the first computer, instructions of the computer program which generate a first product definition for the first installation of the first software product installed on the first computer, such generation including

(i) generating, for each of a plurality of database tables of the first installation on the first computer, a hash of a list of column names for the respective database table,

(ii) generating information about registry entries on the first computer for the first software product,

(d) loading the computer program at a second computer having a second installation of the first software product installed thereon, and

(e) executing, using a processor of the second computer, instructions of the computer program which attempt to validate the second installation, such validation including

(i) comparing the generated hash values for the first installation to generated hash values for the second installation, and

(ii) comparing the generated information about registry entries on the first computer for the first software product to registry entries on the second computer for the first software product.

16. The method of claim 15 , wherein generating, for each of a plurality of database tables of the first installation on the first computer, a hash value comprises generating an MD5 hash value.

17. The method of claim 16 , wherein the method comprises generating, for each of a plurality of database tables of the first installation on the second computer, an MD5 hash value.

18. The method of claim 15 , wherein, with respect to executing, using a processor of the first computer, instructions which generate a first product definition for the first installation of the first software product installed on the first computer, such generation comprises generating information about a database view.

19. The method of claim 15 , wherein, with respect to executing, using a processor of the first computer, instructions which generate a first product definition for the first installation of the first software product installed on the first computer, such generation comprises utilizing information about a last modified time of a file.

20. The method of claim 19 , wherein validation of the second installation comprises utilizing information about a last modified time of files on the second computer.

Assignments (2)
GRANT OF SECURITY INTEREST IN PATENT RIGHTS Recorded May 16, 2022
From: ALLSCRIPTS SOFTWARE, LLC
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 060073/0613 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 29, 2019
From: DAVIS, GEORGE FRANK SQUIRES
To: ALLSCRIPTS SOFTWARE, LLC
Reel/Frame 048181/0887 →