|
|
|
| United States Patent | 6256668 |
| Link to this page | http://www.wikipatents.com/6256668.html |
| Inventor(s) | Slivka; Benjamin W. (Clyde Hill, WA);
Webber; Jeffrey S. (Kirkland, WA) |
| Abstract | Creators of computer software provide the most up-to-date versions of their
computer software on an update service. A user who has purchased or
downloaded free computer software calls an update service or a network
service provider (e.g., an Internet provider) on a periodic basis. The
update or network service automatically inventories the user computer to
determine what computer software (e.g., a network browser) may be
out-of-date, and/or need maintenance updates. If so desired by the user,
the update service computer automatically downloads with a secure software
transfer process and installs computer software to the user computer. By
making periodic calls to an update or network service, the user always has
the most up-to-date computer software immediately available. The update or
network 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 and transferred
immediately from the update or network service. When an upgrade is
available, a tag in a hypertext document indicates an upgrade should be
automatically downloaded from a location provided in the tag when the
hypertext document is browsed by a computer having a browser. |
|
|
|
Title Information  |
|
|
|
|
|
Drawing from US Patent 6256668 |
|
|
Method for identifying and obtaining computer software from a network
computer using a tag |
|
|
|
|
|
| Publication Date |
July 3, 2001 |
|
|
|
|
|
| Filing Date |
October 9, 1998 |
|
|
|
|
|
|
|
|
|
|
|
| Parent Case |
CROSS-REFERENCE TO RELATED APPLICATION
This is a divisional of U.S. patent application Ser. No. 08/634,390,
entitled, "METHOD AND SYSTEM FOR IDENTIFYING AND OBTAINING COMPUTER
SOFTWARE FROM A NETWORK COMPUTER," filed Apr. 18, 1996, now U.S. Pat. No.
6,049,671. |
|
|
|
|
|
|
|
|
|
|
|
|
|
Title Information  |
|
|
References  |
|
|
| *references marked with an asterisk below are user-added references |
|
U.S. References |
|
|
| Add a new US reference: |
| | Reference | Relevancy | Comments | Reference | Relevancy | Comments | 6016520 Facq 710/33 Jan,2000 |      Your vote accepted [0 after 0 votes] | | 5860012 Luu 717/175 Jan,1999 |      Your vote accepted [0 after 0 votes] | | 5845090 Collins, III 709/221 Dec,1998 |      Your vote accepted [0 after 0 votes] | | 5845077 Fawcett 709/221 Dec,1998 |      Your vote accepted [0 after 0 votes] | | 5838906 Doyle 715/501.1 Nov,1998 |      Your vote accepted [0 after 0 votes] | | 5748960 Fischer 719/316 May,1998 |      Your vote accepted [0 after 0 votes] | | 5717930 Imai 717/176 Feb,1998 |      Your vote accepted [0 after 0 votes] | | 5708709 Rose 705/59 Jan,1998 |      Your vote accepted [0 after 0 votes] | | 5694546 Reisman 705/26 Dec,1997 |      Your vote accepted [0 after 0 votes] | | 5654901 Boman 717/173 Aug,1997 |      Your vote accepted [0 after 0 votes] | | 5638446 Rubin 705/51 Jun,1997 |      Your vote accepted [0 after 0 votes] | | 5586322 Beck 707/200 Dec,1996 |      Your vote accepted [0 after 0 votes] | | 5586304 Stupek, Jr. 717/170 Dec,1996 |      Your vote accepted [0 after 0 votes] | | 5555416 Owens 717/178 Sep,1996 |      Your vote accepted [0 after 0 votes] | | 5548645 Ananda 705/52 Aug,1996 |      Your vote accepted [0 after 0 votes] | | 5528490 Hill 717/168 Jun,1996 |      Your vote accepted [0 after 0 votes] | | 5496177 Collia 434/118 Mar,1996 |      Your vote accepted [0 after 0 votes] | | 5495411 Ananda 705/32 Feb,1996 |      Your vote accepted [0 after 0 votes] | | 5473772 Halliwell 717/171 Dec,1995 |      Your vote accepted [0 after 0 votes] | | 5421009 Platt 709/221 May,1995 |      Your vote accepted [0 after 0 votes] | | 5390247 Fischer 713/176 Feb,1995 |      Your vote accepted [0 after 0 votes] | | 5388211 Hornbuckle 717/178 Feb,1995 |      Your vote accepted [0 after 0 votes] | | 5367686 Fisher 717/174 Nov,1994 |      Your vote accepted [0 after 0 votes] | | 5337360 Fischer 713/176 Aug,1994 |      Your vote accepted [0 after 0 votes] | | 5267171 Suzuki 700/234 Nov,1993 |      Your vote accepted [0 after 0 votes] | | 5155484 Chambers, IV 341/55 Oct,1992 |      Your vote accepted [0 after 0 votes] | | 5155847 Kirouac 709/221 Oct,1992 |      Your vote accepted [0 after 0 votes] | | 5155680 Wiedemer 705/52 Oct,1992 |      Your vote accepted [0 after 0 votes] | | 5142680 Ottman 717/176 Aug,1992 |      Your vote accepted [0 after 0 votes] | | 4796181 Wiedemer 705/52 Jan,1989 |      Your vote accepted [0 after 0 votes] | | 5047928 Wiedemer 705/52 Dec,1969 |      Your vote accepted [0 after 0 votes] | | | | | |
|
|
|
|
U.S. References |
|
|
Foreign References |
|
|
|
|
|
|
Foreign References |
|
|
Other References |
|
|
|
|
|
|
Other References |
|
|
|
|
|
References  |
|
|
|
|
|
| Market Size |
|
Estimate the gross annual revenues of the relevant market
sector:
|
| | |
| |
|
|
| Market Share |
|
Estimate the percentage of the relevant market sector this invention will capture:
|
| | |
| |
|
|
| Reasonable Royalty |
|
What percentage of gross sales should the inventor or assignee be paid?
|
| | |
| |
|
|
|
Public's "Guesstimation" of Royalty Value
|
| Market Size | N/A | [No votes] | | x | Market Share | N/A | [No votes] | | x | Reasonable Royalty | N/A | [No votes] |
| | N/A | |
| |
|
|
|
|
|
|
|
|
|
|
|
|
Market Review  |
|
|
Technical Review  |
|
|
Claims  |
|
|
We claim:
1. In a local computer with a network browser in communication with a
remote server computer over a computer network, a method of installing
software on the local computer, the method comprising:
during browsing of a hypertext document with the network browser,
encountering with the network browser at the local computer a hypertext
tag indicative of a software program resident on the server computer to be
automatically installed at the local computer, wherein the hypertext tag
resides in the hypertext document;
responsive to encountering the hypertext tag in the hypertext document,
automatically downloading from the server computer an executable file for
installing the software program; and
executing the executable file at the client computer to install the
software program at the client computer.
2. A computer readable medium having computer-executable instructions for
performing the steps of the method in claim 1.
3. The method of claim 1 further comprising:
sending a file request from the local computer to the server computer upon
encountering the tag; and
generating at the server computer the executable file in response to the
file request, wherein the executing step comprises:
executing at the client computer the executable file to extract an
installation utility and a grouping of software from the executable file;
and
automatically executing the installation utility at the local computer to
install the grouping of software at the local computer.
4. The method of claim 1 wherein the executable file has a digital
signature and wherein the method further comprises:
verifying the digital signature before the executing step to determine if
the digital signature is proper; and
inhibiting the executing step if the verifying step indicates the digital
signature is improper.
5. In a local computer system with an operating system, a network browser
for browsing hypertext pages available from remote computer systems
connected to the local computer over a network, the network browser
operable for acquiring an executable file comprising a software upgrade
from a server computer, the browser comprising:
a facility for identifying a tag indicative of a software upgrade when
encountered in one of the hypertext pages, the tag indicative of the
executable file's location;
a facility for downloading the executable file from the server computer
automatically upon encountering the tag;
a facility for automatically submitting the executable file to the
operating system for execution to install the software upgrade at the
local computer after it is downloaded by the downloading facility.
6. The network browser of claim 5 wherein the tag comprises a description
of the software upgrade and a time stamp indicating a date of the software
upgrade.
7. A computer-readable medium having stored thereon a hypertext page with a
tag data structure for identifying to a browsing client computer a
software upgrade to be installed at the client computer automatically upon
browsing the page, the data structure comprising:
a tag name instructive to automatically install the software upgrade; and
a link to a server computer on which a downloadable file comprising the
software upgrade is stored.
8. The computer-readable medium of claim 7 wherein the data structure
further comprises:
a field indicative of a time stamp associated with the software upgrade;
and
a field describing the upgrade.
9. The computer-readable medium of claim 7 wherein the tag data structure
is in HTML, format to trigger automatic downloading and installation of
the software from the server when the tag data structure is encountered by
an HTML browser recognizing the tag name.
10. The computer-readable medium of claim 9 wherein the software upgrade is
a viewer for use with the HTML browser.
11. In a local computer system having a network browsing system, a method
of delivering a remotely-located piece of software to the local computer,
the method comprising:
downloading a document;
encountering in the document a tag identifying a location of the
remotely-located piece of software; and
responsive to said encountering, downloading to the local computer system
the piece of software from the location identified by the tag.
12. A computer-readable medium having computer-executable instructions for
performing the actions of the method in claim 11.
13. The method of claim 11 wherein the piece of software is embedded in a
file comprising an installation utility for installing the piece of
software and an extractor positioned in the file to be executed upon
execution of the file, wherein the extractor extracts the piece of
software and the installation utility from the file when executed, the
file further comprising a section of executable code for automatically
invoking the installation utility after the extractor extracts the piece
of software and the installation utility from the file, the method further
comprising:
executing the file to execute the extractor to extract the piece of
software and the installation utility from the file and automatically
invoke the installation utility to install the extracted piece of
software.
14. In a local computer system having a network browsing system comprising
a set of installed software, a method of updating the network browsing
system with the network browsing system, the method comprising:
downloading a document to the local computer system;
with the network browsing system, encountering in the document a tag
identifying a location of a file comprising a remotely-located piece of
software, wherein the remotely-located piece of software updates the set
of installed software to update the network browsing system; and
responsive to said encountering, downloading the file from the location
identified by the tag to the local computer system to install the piece of
software identified by the tag on the local computer system to update the
network browsing system.
15. A computer-readable medium having computer-executable instructions for
performing the actions of the method in claim 14.
16. The method of claim 14 wherein the document is downloaded by the
network browsing system.
17. The method of claim 14 wherein
the location is specified in the tag as a conventional hypertext markup
language uniform resource locator; and
said downloading retrieves the file via the hypertext markup language
uniform resource locator.
18. The method of claim 14 wherein the tag further identifies a title
associated with the remotely-located piece of software.
19. The method of claim 14 wherein the piece of software is a viewer for
the network browsing system.
20. The method of claim 14 wherein the piece of software is embedded in a
file comprising an installation utility for installing the piece of
software and an extractor positioned in the file to be executed upon
execution of the file, wherein the extractor extracts the piece of
software and the installation utility from the file when executed, the
file further comprising a section of executable code for automatically
invoking the installation utility after the extractor extracts the piece
of software and the installation utility from the file, the method further
comprising:
executing the file to execute the extractor to extract the piece of
software and the installation utility from the file and automatically
invoke the installation utility to install the extracted piece of
software.
21. In a local computer, a self-updating network browser system comprising:
document downloading means for downloading and rendering remotely-located
documents;
tag detection means for detecting in the documents a tag specifying a
location of a remotely-located software program upgrading the browser
system; and
software program downloading means to download the remotely-located
software program upgrading the browser system from the location specified
to the local computer.
22. The self-updating network browser system of claim 21 wherein the
software program is a viewer for rendering elements embedded within the
remotely-located documents.
23. The self-updating network browser system of claim 21 further
comprising:
a program launcher for executing the software program downloaded to the
local computer to install an upgrade to the network browser system. |
|
|
|
|
Claims  |
|
|
Description  |
|
|
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 tag in a hypertext document indicating software to
be automatically downloaded to the 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 update and
distribution channels for computer software. For example, computer
software, the coded instructions that control a computer's operation, is
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
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 can also be distributed over electronic bulletin board systems,
the Internet, etc. In such systems, a user connects to the bulletin board
or the Internet and then selects and downloads desired software. Such
systems allow for rapid updating of software by simply supplying a new
updated version of the software to the bulletin board. However, such
systems also require a degree of user sophistication and technical
expertise in the selection, downloading and installation of the new
software. Moreover, such systems do not provide a user that has already
obtained a software product with a simple, automatic way of learning of or
obtaining upgrades or fixes for that product. The software provider may
also have updated help files and other help utilities about which a user
would have no way of knowing.
The present invention overcomes many of the problems associated with
obtaining computer software. A user with a user computer is allowed to
access (e.g. with a modem, an Internet connection, etc.) an update
service, a network service, etc. (c.g. the Internet) at a remote location
on which is stored a variety of computer software. When a user accesses
the remote update service or network service, an update service computer
conducts an automatic inventory of the computer software on the user
computer. The data collected from the inventory of the user computer
software is then used to make comparisons to database entries from a
database on the update service computer. The database entries contain
information about computer software available on the update service
computer. The comparison is conducted to identify software available from
the remote update service that might be appropriate for installation on
the user computer (i.e. new computer software, new versions of existing
computer software, patches or fixes for existing computer software, new
help files, etc.). After the comparison is completed, the update service
computer makes the computer software stored at the remote update service
computer available to the user.
In one aspect of the invention, available computer software can be
downloaded from the remote update service computer and installed
immediately on the user computer. Another aspect of the invention allows
the update service computer to contact the user computer at a later, more
convenient time, reestablish two-way communications, then download and
install available computer software on the user computer. If a delayed
download is requested, the user will provide access information (e.g.
phone number, network address, a file of commands to execute to logon the
user computer, etc.) to the update service computer which allows the
remote update service computer to re-connect to the user computer. The
transfer may use an encryption scheme to permit safe transfer of the
software to the user computer.
In yet another aspect of the invention, the system will allow a user to
purchase the available computer software electronically. The user, for
example, provides credit card information, debit card information, an
account number to bill, etc. to the update service computer. Secure
transaction technology and/or digital signatures are used to safeguard the
payment information. After verifying the payment information, the update
service computer permits transfer of the computer software.
The electronic updates have several advantages. A user is automatically
provided with information about the available versions of computer
software as result of the inventory conducted by the update center
computer. If the version of the computer software on the user computer has
defects that are known and have been corrected, the user is alerted to
this fact and is offered an up-to-date version of the computer software.
The user is also alerted to the availability of new computer software, or
enhanced versions of existing computer software, and can purchase them
electronically. In either case, the most up-to-date versions of computer
software are available for downloading to users.
The available versions of the computer software can also be automatically
installed on the user computer. Since it is no longer necessary for the
user to install the computer software, the incidence of user related
installation problems is greatly reduced. It is also not necessary for the
user to obtain or save any storage media since the computer software is
downloaded directly to the user computer. If the computer software
installed on the user computer ever gets corrupted, the user can call the
update service (e.g. for some limited number of iterations) and download a
new (and up-to-date) copy of the computer software.
In addition to providing benefits for the user, the present invention
provides benefits to the developers of the software. The developers of the
computer software save support, distribution, and advertising costs. A
user who calls the update service or network service automatically obtains
up-to-date versions of available computer software, and may never
encounter defects which would have been encountered using an earlier,
defective version of the computer software. As a result, a user will
require less support from the developers of the software, be more
satisfied, and be more willing to purchase future versions of computer
software. Since the computer software is downloaded to the user computer,
the developers of the computer software may save distribution costs as
fewer versions of the computer software have to be copied to storage media
and distributed. In addition, since the user is also alerted when new
computer software, and/or new versions of existing computer software are
available, the software developers may also save advertising costs.
The foregoing and other features and advantages of the present invention
will be more readily apparent from the following detailed | | |