WikiPatents - Community Patent Review
Create Free Account  |  License or Sell Your Patent  |  WikiPatents Marketplace  |  WikiPatents Blog
Username:  Password:  
    
Advanced Search
Method and system for identifying and obtaining computer software from a remote computer    
United States Patent6073214   
Link to this pagehttp://www.wikipatents.com/6073214.html
Inventor(s)Fawcett; Philip E. (Duvall, WA)
AbstractCreators of computer software provide the most up-to-date versions of their computer software on an update service. A user who has purchased computer software calls the update service on a periodic basis. The update service automatically inventories the user computer to determine what computer software may be out-of-date, and/or need maintenance updates. If so desired by the user, the update service computer automatically downloads and installs computer software to the user computer. By making periodic calls to the update service, the user always has the most up-to-date computer software immediately available. The update service may also alert the user to new products (i.e. including new help files, etc.), and new and enhanced versions of existing products, which can be purchased electronically by a user from the update service.
   














 Title Information Submit all comments and votes
 
Patent Text Patent PDF Print Page Summary File History
Plain text PDF images Print Summary File History
Drawing from US Patent 6073214
Method and system for identifying and obtaining computer software from a
     remote computer - US Patent 6073214 Drawing
Method and system for identifying and obtaining computer software from a remote computer
Inventor     Fawcett; Philip E. (Duvall, WA)
Owner/Assignee     Microsoft Corporation (Redmond, WA)
Patent assignment
All assignments
Publication Date     June 6, 2000
Application Number     09/149,993
PAIR File History     Application Data   Transaction History
Image File Wrapper   Patent Term   Fees
Litigation
Filing Date     September 9, 1998
US Classification     711/133 711/156 711/170 717/170 717/173
Int'l Classification    
Examiner     Cabeca; John W.
Assistant Examiner     Tzeng; Fred F.
Attorney/Law Firm     Klarquist Sparkman Campbell Leigh & Whinston, LLP
Address
Parent Case     CROSS-REFERENCE TO RELATED APPLICATION This is a continuation of co-pending U.S. patent application Ser. No. 08/562,929, entitled, "METHOD AND SYSTEM FOR IDENTIFYING AND OBTAINING COMPUTER SOFTWARE FROM A REMOTE COMPUTER," filed Nov. 27, 1995, and issued as U.S. Pat. No. 5,845,077.
Priority Data    
USPTO Field of Search     380/4 395/712 395/200.51 364/479.04 705/32 434/118 711/133 711/156 711/170
Patent Tags     identifying obtaining computer software a remote computer
   
Enter a comma (,) or semicolon (;) between multiple tag words/phrases.
Describe this patent:
 Amusing   
 Clever   
 Complex   
 Efficient   
 Historic   
 Important   
 Innovative   
 Interesting   
 Practical   
 Simple   
[no votes]
Patent WIKI

Share information and news about this patent, including information and news about the technology, inventors, company, ligation and licensing.

 References Submit all comments and votes
 
*references marked with an asterisk below are user-added references
 U.S. References
 
Add a new US reference:  
ReferenceRelevancyCommentsReferenceRelevancyComments
5848090
Collins, III et al.

Dec,1998

[0 after 0 votes]
5845077
Fawcett

Dec,1998

[0 after 0 votes]
5838906
Doyle et al.

Nov,1998

[0 after 0 votes]
5748960
Fischer

May,1998

[0 after 0 votes]
5717930
Imai et al.

Feb,1998

[0 after 0 votes]
5694546
Reisman

Dec,1997

[0 after 0 votes]
5654901
Boman

Aug,1997

[0 after 0 votes]
5638446
Rubin

Jun,1997

[0 after 0 votes]
5586304
Stupek, Jr. et al.

Dec,1996

[0 after 0 votes]
5586322
Beck et al.

Dec,1996

[0 after 0 votes]
5555416
Owens et al.

Sep,1996

[0 after 0 votes]
5548645
Ananda

Aug,1996

[0 after 0 votes]
5528490
Hill

Jun,1996

[0 after 0 votes]
5496177
Collia et al.

Mar,1996

[0 after 0 votes]
5495411
Ananda

Feb,1996

[0 after 0 votes]
5473772
Halliwell et al.

Dec,1995

[0 after 0 votes]
5421009
Platt

May,1995

[0 after 0 votes]
5390247
Fischer

Feb,1995

[0 after 0 votes]
5388211
Hornbuckle

Feb,1995

[0 after 0 votes]
5367686
Fisher et al.

Nov,1994

[0 after 0 votes]
5337360
Fischer

Aug,1994

[0 after 0 votes]
5267171
Suzuki et al.

Nov,1993

[0 after 0 votes]
5155484
Chamber, IV

Oct,1992

[0 after 0 votes]
5155847
Kirouac et al.

Oct,1992

[0 after 0 votes]
5155680
Wiedemer

Oct,1992

[0 after 0 votes]
5142680
Ottman et al.

Aug,1992

[0 after 0 votes]
5047928
Wiedemer

Sep,1991

[0 after 0 votes]
4796181
Weidemer

Jan,1989

[0 after 0 votes]
 Foreign References
 Other References
 Market Review Submit all comments and votes
   
Market Size
Estimate the gross annual revenues of the relevant market sector:
> $10B
$5B - $10B
$2B - $5B
$500M - $2B
$100M - $500M
$10M - $100M
$1M - $10M
$500K - $1M
$100K - $500K
< $100K
[No votes]
$0
 
$0   $2.5B   $5B   $7.5B   $10B
Market Share
Estimate the percentage of the relevant market sector this invention will capture:
75% - 100%
50% - 74.99%
25% - 49.99%
10 - 24.99%
5 - 9.99%
2 - 4.99%
1 - 1.99%
< 1%
[No votes]
0.0%
 
0%   25%   50%   75%   100%
Reasonable Royalty
What percentage of gross sales should the inventor or assignee be paid?
75% - 100%
50% - 74.99%
25% - 49.99%
10 - 24.99%
5 - 9.99%
2 - 4.99%
1 - 1.99%
< 1%
[No votes]
0.0%
 
0%   25%   50%   75%   100%
Public's "Guesstimation" of Royalty Value
Market SizeN/A[No votes]
xMarket ShareN/A[No votes]
xReasonable RoyaltyN/A[No votes]

N/A

License Availablity
If you are NOT the owner or assignee, answer here:
Yes, license is available for purchase

No, license is not currently available



[No votes]
License Availablity
If you ARE the owner or assignee, answer here:
Yes, license is available for purchase

No, license is not currently available



[No votes]
Competitive Advantage
Does this invention have a significant competitive advantage over similar technologies?
Yes

No



[No votes]
Most helpful competitive advantage comment
[No comments]

Commercial Alternatives
Are there viable commercial alternatives for this invention?
Yes

No



[No votes]
Most helpful commercial alternative comment
[No comments]

 Technical Review Submit all comments and votes
 Claims Submit all comments and votes
 


I claim:

1. In a computer system having a software-receiving computer in communication with a remote software-providing computer over a network, the software-providing computer having access to a database identifying software remotely available to the software-receiving computer, wherein at least one item in the database identifies software installable on the software-receiving computer, a computer implemented method for identifying computer software available for installation on the software-receiving computer, the method comprising, at the software-providing computer:

retrieving over the network from the software-receiving computer to the software-providing computer an inventory identifying at least certain computer software already installed on the software-receiving computer;

comparing the inventory of computer software retrieved from the software-receiving computer with the database to identify a set of computer software available for installation on the software-receiving computer and not already installed on the software-receiving computer;

preparing a report indicating the set of software available for installation on the software-receiving computer and not already installed on the software-receiving computer;

sending the report indicating the set of software available for installation on the software-receiving computer and not already installed on the software-receiving computer to the software-receiving computer over the network;

receiving at the software-providing computer a user software selection out of the set of software available for installation on the software receiving computer and not already installed on the software-receiving computer, wherein the user software selection out of the set of software available for installation on the software receiving computer and not already installed on the software-receiving computer is selected by a user at the software-receiving computer responsive to the report; and

transferring, to the software-receiving computer, software indicated by the user software selection.

2. A computer readable medium having computer executable instructions for performing the method recited in claim 1.

3. The method of claim 1 wherein the report indicating the set of software available for installation on the software-receiving computer and not already installed on the software-receiving computer comprises purchase information associated with software available to the software-receiving computer and not already installed on the software-receiving computer.

4. The method of claim 1 wherein the report indicating the set of software available for installation on the software-receiving computer and not already installed on the software-receiving computer comprises a description summarizing features of new software available to the software-receiving computer and not already installed on the software-receiving computer.

5. The method of claim 1 wherein the report indicating the set of software available for installation on the software-receiving computer and not already installed on the software-receiving computer comprises a software title, a software date, a software version, a software file size, a software location, and a description of software functionality.

6. The method of claim 1 wherein the software-providing computer is in communication with a third remote computer, the third computer having a second database containing database entries listing a plurality of computer software available for installation on the software-receiving computer, the method further comprising:

consulting the third remote computer to compare the inventory with the second database to identify computer software available for installation on the software-receiving computer and not already installed on the software-receiving computer.

7. The method of claim 1 further comprising:

collecting payment information over the network from the software-receiving computer to pay for delivery of the software indicated by the user software selection and transferred to the software-receiving computer.

8. The method of claim 7 wherein the software indicated by the user software selection is transferred to the first computer in an encrypted format over a public network.

9. In a computer system having a software-receiving computer in communication with a remote software-providing computer, the software-providing computer having access to a database identifying software available to the software-receiving computer, wherein at least one item in the database identifies software installable on the software-receiving computer, a computer implemented method for identifying computer software available for installation on the software-receiving computer, the method comprising, at the software-receiving computer:

conducting an inventory of the software-receiving computer, the inventory identifying at least certain computer software already installed on the software-receiving computer;

sending from the software-receiving computer to the software-providing computer the inventory for comparison to the database to identify a set of computer software available for installation on the software-receiving computer and not already installed on the software-receiving computer;

receiving from the software-providing computer a software summary indicating the set of computer software available for installation on the software-receiving computer and not already installed on the software-receiving computer; and

presenting the software summary indicating the set of computer software available for installation on the software-receiving computer and not already installed on the software-receiving computer at the software-receiving computer for consideration by a user.

10. A computer readable medium having computer executable instructions for performing the method recited in claim 9.

11. The method of claim 9 wherein the database identifies at least one new software product.

12. The method of claim 9 further comprising:

receiving at the software-receiving computer a selected category for restricting presented summary information; and

restricting the software summary to software in the selected category.

13. The method of claim 9 further comprising:

receiving at the software-receiving computer a user selection from the software summary, the user selection indicating desired software;

backing up software components on the software-receiving computer affected by the desired software;

downloading the desired software to the software-receiving computer;

after backing up software components on the software-receiving computer, installing the desired software on the software-receiving computer; and

after installing the desired software on the software-receiving computer, restoring to the software-receiving computer the software components affected by the desired software.

14. The method of claim 9 further comprising:

receiving at the software-receiving computer a user selection from the software summary, the user selection indicating desired software; and

downloading the desired software to the software-receiving computer.

15. The method of claim 14 wherein the desired software is downloaded to the software-receiving computer with a digital signature over a public

network.

16. In a computer system having a user computer in communication with a remote update service computer having access to a database identifying software available to the update service computer, wherein at least one item in the database identifies software installable on the user computer, a computer implemented method for transferring computer software to the user computer, the method comprising:

establishing a first communications session between the user computer and the update service computer;

collecting an inventory during the first session from the user computer to identify at least certain computer software installed on the user computer;

comparing the inventory of computer software on the user computer with the database to identify software available to the update service computer and not installed on the user computer;

presenting at the user computer software information indicating software available to the update service computer and not installed on the user computer;

receiving a selection of software from the software information during the first session;

saving a list indicating the software selected;

during the first session, retrieving reconnection information to the update service computer from the user computer for establishing a second communications session with the user computer;

terminating the first communications session;

establishing a second communications session between the user computer and the update service computer using the reconnection information; and

transferring during the second communications session software indicated by the saved list from the update service computer to the user computer.

17. The method of claim 16 wherein the second communications session is scheduled by a user to automatically take place at a time more convenient for transferring software than the first.

18. The method of claim 16 wherein

the reconnection information retrieved to the update service computer from the user computer during the first communications session comprises computer software billing information collected from the user computer using secure transaction technology.

19. The method of claim 16 wherein the reconnection information comprises a list of commands executable to establish the second communications session.

20. The method of claim 16 wherein the second communications session is completed using an access method different from the first.

21. In a networked computer, a software delivery system for providing software to a remote computer over a network, the delivery system comprising:

a database containing entries indicative of software available over the network for installation on the remote computer;

an inventory collector operable for receiving from the remote computer over the network an inventory of software indicating at least certain software installed at the remote computer;

a comparer operable for comparing software in the database with the inventory to identify a set of software available over the network for installation on the remote computer and not already installed on the remote computer; and

a report generator operable for generating a summary of the set of software identified by the comparer as available over the network for installation on the remote computer and not already installed on the remote computer for presentation to a user at the remote computer, the report generator further operable for sending the summary to the remote computer over the network.

22. The delivery system of claim 21 further comprising:

a selection receiver operable for receiving selection from the summary by a user at the remote computer;

a software collection comprising software indicated by the database and installable at the first computer; and

a transferor operable for transferring computer software in the collection indicated by the user selection to the remote computer over the network.

23. In a computer system having a local computer in communication with a remote computer, the remote computer having access to a database identifying software remotely available to the local computer, wherein at least one item in the database identifies software installable on the local computer, a computer implemented method for identifying computer software available for installation on the local computer, the method comprising, at the remote computer:

retrieving from the local computer to the remote computer an inventory identifying at least certain computer software installed on the first computer;

comparing the inventory of computer software with the database to identify computer software available to the local computer and not installed on the local computer;

preparing for presentation at the local computer software information indicating software available to the local computer and not installed on the local computer; and

sending the software information to the local computer, said information including data about a defect in software on the local computer correctable by software available to the local computer and not installed thereon.

24. A computer-implemented method of providing software to a user computer, the method comprising:

establishing communication between the user computer and a remote, update service computer;

at the user computer, conducting an inventory to generate inventory data indicating software installed at the user computer;

sending the inventory data indicating software installed at the user computer to the update service computer;

comparing the inventory data indicating software installed at the user computer to a computer software database of software available to the user computer;

flagging software in the database but not indicated in the inventory data, as a set of software available to the user computer but not installed on the user computer;

at the user computer, selecting a set of software to be downloaded out of the set of software available to the user computer but not installed on the user computer; and

downloading the set of software to be downloaded to the user computer.

25. A computer readable medium having computer executable instructions for performing the method recited in claim 24.

26. The method of claim 24 wherein the database of software available to the user computer comprises brand new computer software for which no version was previously existing at the user computer.

27. The method of claim 24 wherein the set of software available to the user computer but not installed on the user computer is limited to maintenance updates for a particular program.

28. The method of claim 24 further comprising:

collecting billing information from the user computer over a network to pay a fee for the set of software to be downloaded to the user computer.

29. The method of claim 24 further comprising:

providing a summary report indicating the set of software available to the user computer but not installed on the user computer; wherein

said selecting comprises accepting a user selection at the user computer from the summary report to indicate the set of software to be downloaded.

30. The method of claim 29 wherein the summary report is a first summary report, the method further comprising:

creating a second report providing a short description summarizing the set of software available to the user computer but not installed on the user computer; and

during said selecting, displaying the second report for consideration by a user at the user computer.
 Description Submit all comments and votes
 


FIELD OF INVENTION

The present invention relates to a system for automatically identifying software that may be appropriate for installation on a computer and for making that software available to that computer. In particular the invention relates to a remote system that inventories software installed on a computer, identifies additional software that may be appropriate for the computer (e.g. patches, fixes, new versions of existing software, new software, etc.), and makes the identified software available to that computer.

BACKGROUND AND SUMMARY OF THE INVENTION

The continual and rapid development of computers, computer software and related technology has revealed many problems with the typical distribution channels for computer software. For example, computer software, the coded instructions that control a computer's operation, are constantly and incrementally being upgraded and improved. The computer hardware and operating system environment on which the computer software is used is continually being changed, which requires additional changes in the computer software (e.g. new device drivers, new operating system calls, etc.).

A computer software developer will typically release an initial version of a software product. Thereafter, as new and improved computers and peripherals are developed, the software product will commonly be upgraded so as to take full advantage of the increased capabilities of the hardware. In addition, a software developer, to remain competitive, will often upgrade the software product to provide new features and functionality.

With the ever increasing pace of advancement in computer related technologies, software developers compete to be the first to offer a new feature or upgrade. As a result, sometimes software products are made available to the public with unknown errors or defects. Similarly, software products that work as intended on a particular computer with a particular configuration, may fail when installed on a different computer having a different configuration (e.g. different hardware, peripherals, operating systems, etc.). Software developers frequently provide fixes for their software products to correct defects that were undetected or unanticipated at the time the software product was released. Fixes are also provided to allow the software product to function correctly on a new computer or with a different operating system environment.

However, it is often difficult for software developers to make upgrades and fixes available to users. This difficulty not only deprives the user of access to the most reliable and up-to-date software products, it can result in lost sales to the software developer and can damage the goodwill and the development of a long term relationship with a customer by releasing a flawed or deficient software product.

Commonly, mass distribution of commercial software products is accomplished by copying the software product onto storage media (e.g. CD-ROMs, floppy disks, magnetic tapes, etc.). To take advantage of economies of scale, typically a large number of copies of the software product are made during the manufacture of a particular software product. Then, the storage media containing the software product is provided to distributors and retailers for sale to users. However, given the rapid pace of software development, this manner of distribution is frequently insufficient. For example, it is not uncommon that defects are detected and fixes created shortly after a software product is introduced to the public. However, the software products that remain in the distribution chain contain the defect without the fix. This situation is frustrating for users who subsequently purchase the software product that is already obsolete (i.e. because of the defects).

Software c