|
Claims  |
|
|
What is claimed is:
1. A method for use in changing a resource of a computer from a first
version of the resource to a second version of the resource, comprising:
digitally storing replacement information that identifies the second
version and describes features of the second version relative to one or
more other versions of the resource,
digitally storing information identifying the first version,
by computer, automatically determining which of the other versions is the
first version, and
based on the results of the determining step, automatically determining the
importance of replacing the first version of the resource with the second
version.
2. The method of claim 1 wherein the replacement information is stored on a
portable medium, the second version of the resource is also stored on the
portable medium, and the replacement information identifies the location
of the second version of the resource on the portable medium.
3. The method of claim 2 wherein the portable medium comprises a CD-ROM.
4. The method of claim 2 wherein the portable medium contains stored
versions of multiple resources, and replacement information with respect
to each of the resources.
5. The method of claim 1 wherein the replacement information is retrievable
from an on-line service.
6. The method of claim 1 wherein the replacement information is stored in
the form of a database.
7. The method of claim 1 wherein the replacement information further
comprises instructions for installation of second version of the resource.
8. The method of claim 7 wherein the installation instructions are
expressed in accordance with a predefined common syntax.
9. The method of claim 1 wherein the resource comprises a complete
standalone software package.
10. The method of claim 1 wherein the resource comprises less than all of a
complete standalone software package.
11. The method of claim 1 further comprising automatically changing the
resource on a network server.
12. The method of claim 11 wherein automatically changing the resource on
the network server comprises
storing on a storage medium the first version of the resource, and
replacing on the server the first version of the resource with the second
version.
13. The method of claim 1 further comprising automatically changing the
resource on a network client.
14. The method of claim 13 wherein the change is performed via a network.
15. The method of claim 13 wherein automatically changing the resource on
the network client comprises
storing on a storage medium the first version of the resource, and
replacing on the client the first version of the resource with the second
version.
16. The method of claim 13 wherein the change is performed by automatically
storing the second version and installation instructions on a portable
storage medium for manual installation on the client.
17. The method of claim 1 wherein the replacement information includes
information concerning at least one reason for the second version.
18. The method of claim 1 wherein the replacement information includes an
indication of the type of change from a another version to the second
version.
19. The method of claim 18 wherein the type of change may include feature
enhancement, performance enhancement, or bug fix.
20. The method of claim 1 wherein the replacement information includes an
indication of the importance of the change from the prior version to the
second version.
21. The method of claim 1 wherein the replacement information includes
information identifying other resources that must be changed before the
resource may be changed.
22. A method of supplying at least one replacement version of at least one
computer resource comprising:
storing, on a portable medium, at least one copy of the replacement version
of each resource,
storing on the portable medium replacement information that identifies the
replacement version,
storing information that describes features of the replacement version
relative to one or more other versions of the resource, and
storing on the portable medium information that provides instructions, in
accordance with a predefined common syntax, for automatically installing
the replacement version of each resource.
23. The method of claim 22 further comprising storing information
concerning at least one reason for the replacement version.
24. The method of claim 22 further comprising storing information that
provides an indication of a type of change from a prior version to the
replacement version.
25. The method of claim 22 further comprising storing information
identifying other resources that must be changed before the replacement
version of the resource may be installed.
26. The method of claim 22 wherein the storage medium is a portable storage
medium.
27. The method of claim 22 wherein the storage medium resides in an on-line
service.
28. A portable storage medium for use in supplying at least one replacement
version of at least one resource on a computer comprising:
at least one stored copy of the replacement version of each resource,
stored information that identifies the replacement version,
stored information that describes features of the replacement version
relative to one or more other versions of the resource, and
stored information that provides instructions, in accordance with a
predefined common syntax, for automatically installing the replacement
version of the resource.
29. The storage medium of claim 28 further comprising stored information
concerning at least one reason for the replacement version.
30. The storage medium of claim 28 further comprising stored information
that provides an indication of a type of change from another version to
the replacement version.
31. The storage medium of claim 28 further comprising stored information
identifying other resources that must be changed before the replacement
version of the resource may be installed.
32. The storage medium of claim 28 wherein the storage medium is a portable
storage medium.
33. The storage medium of claim 28 wherein said storage medium resides in
an on-line service.
34. A software program, stored on a storage medium, for use in changing a
resource of a computer from a first version to a second version
comprising:
means for retrieving digitally stored replacement information that
identifies the second version and describes features of the second version
relative to one or more other versions of the resource,
means for retrieving digitally stored information identifying the first
version,
means for automatically determining which of the other versions is the
first version, and
means for using the replacement information to automatically determine the
importance of replacing the first version of the resource with the second
version.
35. An apparatus for use in determining whether to change a stored first
version of a computer resource to a second version of the resource,
comprising:
an information gatherer that retrieves stored information identifying the
second version and the first version and describing features of the second
version relative to one or more other versions,
a comparison service that compares the information about the first version
to the information about the second version, and
an advisor that uses output from the comparison service to automatically
determine the importance of replacing the first version of the resource
with the second version.
36. The apparatus of claim 35 wherein the information about the first and
second versions includes version numbers.
37. The apparatus of claim 35 wherein the information about the first and
second versions includes a description of differences between the
versions.
38. The apparatus of claim 35 wherein the second version is stored on a
portable storage medium.
39. The apparatus of claim 38 wherein the information about the second
version also is stored on the portable storage medium.
40. The apparatus of claim 35 wherein the information about the second
version is retrievable from an on-line service.
41. The apparatus of claim 35 wherein the information about the second
version includes instructions for changing the resource.
42. The apparatus of claim 35 wherein the computer resource comprises a
software package.
43. The apparatus of claim 35 wherein the resource comprises a hardware
driver.
44. The apparatus of claim 35 further comprising a device that
automatically changes the resource.
45. The apparatus of claim 44 wherein the device changes the resource on a
network server.
46. The apparatus of claim 44 wherein the device changes the resource on a
network client.
47. The apparatus of claim 44 wherein the device changes the resource on a
stand-alone computer.
48. The apparatus of claim 35 further comprising a device that
automatically generates a kit on a portable storage medium, the kit
comprising a copy of the second version of the computer resource and
installation instructions for the second version.
49. An apparatus for automatically changing at least one computer resource
from a first version to a second version comprising:
a device that retrieves from a storage medium the second version and
instructions for installing the second version,
a staging area that receives and stores the second version and the
installation instructions, and
a manager that retrieves the second version and the installation
instructions from the staging area and installs the second version of the
computer resource.
50. The apparatus of claim 49 wherein the second version is placed into a
package of resources to be changed before it is stored in the staging
area.
51. The apparatus of claim 50 wherein all members of the package are stored
in the staging area at substantially the same time.
52. The apparatus of claim 50 wherein installation instructions for each
member of the package are placed into a group of instructions.
53. The apparatus of claim 52 wherein the package of resources to be
changed and the group of instructions are stored in the staging area as a
job to be performed by the manager at an appointed time.
54. The apparatus of claim 49 wherein the staging area stores the second
version of the resource and the installation instructions in separate
areas.
55. The apparatus of claim 54 wherein the separate areas simultaneously may
contain second versions of and installation instructions for more than one
resource to be changed.
56. The apparatus of claim 49 further comprising a storage medium that
maintains a copy of another version of a changed resource.
57. The apparatus of claim 49 further comprising a database containing
information identifying the first version of the resource.
58. The apparatus of claim 57 wherein the information in the database
identifies at least one of the following: the location of the first
version, the version number of the first version, and differences between
the first version and other versions.
59. The apparatus of claim 49 wherein the apparatus changes the resource on
a network server.
60. The apparatus of claim 49 wherein the apparatus changes the resource in
a network client.
61. The apparatus of claim 60 wherein the apparatus changes the resource
through a network server.
62. A method for use in changing a resource of a computer from a first
version of the resource to a second version of the resource, comprising:
digitally storing replacement information that identifies the second
version and describes features of the second version relative to one or
more other versions of the resource,
digitally storing information identifying the first version,
by computer, automatically determining which of the other versions is the
first version, and
based on the results of the determining step, providing a display that aids
the user in determining whether to replace the first version of the
resource with the second version.
63. The method of claim 62 wherein the replacement information is stored on
a portable medium, the second version of the resource is also stored on
the portable medium, and the replacement information identifies the
location of the second version of the resource on the portable medium.
64. The method of claim 63 wherein the portable medium comprises a CD-ROM.
65. The method of claim 63 wherein the portable medium contains stored
versions of multiple resources, and replacement information with respect
to each of the resources.
66. The method of claim 62 wherein the replacement information is
retrievable from an on-line service.
67. The method of claim 62 wherein the replacement information is stored in
the form of a database.
68. The method of claim 62 wherein the replacement information further
comprises instructions for installation of the second version of the
resource.
69. The method of claim 68 wherein the installation instructions are
expressed in accordance with a predefined common syntax.
70. The method of claim 62 wherein the resource comprises a complete
standalone software package.
71. The method of claim 62 wherein the resource comprises less than all of
a complete standalone software package.
72. The method of claim 62 further comprising automatically changing the
resource on a network server.
73. The method of claim 62 wherein automatically changing the resource on
the network server comprises:
storing on a storage medium the first version of the resource, and
replacing on the server the first version of the resource with the second
version.
74. The method of claim 62 further comprising automatically changing the
resource on a network client.
75. The method of claim 74 wherein the change is performed via a network.
76. The method of claim 74 wherein automatically changing the resource on
the network client comprises:
storing on a storage medium the first version of the resource, and
replacing on the client the first version of the resource with the second
version.
77. The method of claim 74 wherein the change is performed by automatically
storing the second version and installation instructions on a portable
storage medium for manual installation on the client.
78. The method of claim 62 wherein the replacement information includes
information concerning at least one reason for the second version.
79. The method of claim 62 wherein the replacement information includes an
indication of the type of change from another version to the second
version.
80. The method of claim 79 wherein the type of change may include feature
enhancement, performance enhancement, or bug fix.
81. The method of claim 62 wherein the replacement information includes an
indication of the importance of the change from another version to the
second version.
82. The method of claim 62 wherein the replacement information includes
information identifying other resources that must be changed before the
resource may be changed.
83. A software program, stored on a storage medium, for use in changing a
resource of a computer from a first version to a second version
comprising:
means for retrieving digitally stored replacement information that
identifies the second version and describes features of the second version
relative to one or more other versions of the resource,
means for retrieving digitally stored information identifying the first
version,
means for automatically determining which of the other versions is the
first version, and
means for using the replacement information to provide a display that aids
the user in determining whether to replace the first version of the
resource with the second version.
84. An apparatus for use in determining whether to change a stored first
version of a computer resource to a second version of the resource,
comprising:
an information gatherer that retrieves stored information identifying the
second version and the first version and describing features of the second
version relative to one or more other versions,
a comparison service that compares the information about the first version
to the information about the second version, and
an advisor that provides a display to help the user determine whether to
replace the first version with the second version.
85. The apparatus of claim 84 wherein the information about the first and
second versions includes version numbers.
86. The apparatus of claim 84 wherein the information about the first and
second versions includes a description of differences between the
versions.
87. The apparatus of claim 84 wherein the second version is stored on a
portable storage medium.
88. The apparatus of claim 87 wherein the information about the second
version also is stored on the portable storage medium.
89. The apparatus of claim 84 wherein the information about the second
version is retrievable from an on-line service.
90. The apparatus of claim 84 wherein the information about the second
version includes instructions for changing the resource.
91. The apparatus of claim 84 wherein the computer resource comprises a
software package.
92. The apparatus of claim 84 wherein the resource comprises a hardware
driver.
93. The apparatus of claim 84 further comprising a device that
automatically changes the resource.
94. The apparatus of claim 93 wherein the device changes the resource on a
network server.
95. The apparatus of claim 93 wherein the device changes the resource on a
network client.
96. The apparatus of claim 93 wherein the device changes the resource on a
stand-alone computer.
97. The apparatus of claim 84 further comprising a device that
automatically generates a kit on a portable storage medium, the kit
comprising a copy of the second version of the computer resource and
installation instructions for the second version. |
|
|
|
|
Claims  |
|
|
Description  |
|
|
BACKGROUND
This invention relates to automatic computer upgrading.
The user of a computer system (e.g., a stand-alone PC or a network) is
usually concerned with maintaining maximum utility and efficiency of
system resources while at the same time minimizing the cost, in time,
money and frustration, of maintaining the system. System resources, e.g.,
system firmware, software applications, operating systems (OS), OS drivers
and system partition utilities, are frequently upgraded by the
manufacturer. Therefore, to effectively balance system utility with the
costs of the system, the user frequently would have to perform a detailed
analysis of the available upgrades and the effect those upgrades would
have on the user's system.
During such an analysis, the user would have to compare the version number
of each system resource to that of its upgrade to determine whether or not
an upgrade is available. When an upgrade is available, the user would have
to understand the differences between the system version of the resource
and the corresponding upgrade, as well as how these differences would
affect (i.e., improve or diminish) the capabilities of the computer
system.
Even when the user is able to determine with accuracy the benefits of an
upgrade to the system, the user is almost never able to determine how an
upgrade will impact a resource that is not upgraded. It is not uncommon
for an upgrade to reduce the ability of a resource to properly function
with another resource. In addition, upgrades often exist solely to repair
hidden bugs which may not have surfaced on the user's system, a situation
in which the user almost always ignores the upgrade until the bug is
encountered, usually resulting in lost information.
Many resource manufacturers address some of these problems by making
certain aspects of the upgrade determination easier for the user. The
NetWare Management System by Novell inspects network loadable modules
(NLMs) on a network server to determine the current version of the NLM,
its most recent revision level, and the revision date. Thus, NMS not only
tells the user which resources are currently on the system, but also
provides information that allows the user to easily determine whether or
not upgrades are available. Likewise, the Frye Utilities NetWare
Management program provides the titles and version numbers of NLMs on the
server. Manufacturers also usually provide descriptions of the changes
made from one version of a resource to the next. Nevertheless, despite the
availability of this type of information, the user, in general, either
never upgrades or upgrades whether it is needed or not.
SUMMARY
In general, in one aspect, the invention features a method for use in
upgrading a resource of a computer from an existing version of the
resource to a later version of the resource. The method includes the steps
of (a) digitally storing upgrade information which identifies the later
version and describes features of the later version relative to one or
more earlier versions of the resource, (b) digitally storing in the
computer information identifying the existing version, by computer,
automatically determining which of the earlier versions is the existing
version, and (c) based on the results of the comparing step, automatically
determining, or displaying to a user at least some of the upgrade
information to aid the user in determining, whether to perform an upgrade.
Implementations of the invention include the following features. The
upgrade information may be stored on a portable medium, the later version
of the resource may also be stored on the portable medium, and the upgrade
information may identify the location of the resource on the portable
medium. The portable medium may be a CD-ROM, and may contain stored later
versions of multiple resources, and upgrade information with respect to
each of the resources.
The upgrade information may be stored in the form of a database, and may
include instructions for installation of the resource. The installation
instructions may be expressed in accordance with a predefined common
syntax. The resource may include a complete standalone software package,
or less than all of a complete standalone software package.
The upgrade may be automatically performed on a network server, or on a
network client. In the latter case the upgrade may be performed via the
network, or by automatically storing the later versions and installation
instructions on a portable storage medium for manual installation on the
client.
The upgrade information may include information concerning reasons for the
later version, and an indication of the type of change from a prior
version to the later version (e.g., feature enhancement, performance
enhancement, or bug fix). The upgrade information also may include an
indication of the importance of the change from the prior version to the
later version, and information identifying other resources that must be
upgraded before the resource may be upgraded.
In general, in another aspect, the invention features supplying later
versions of resources for upgrading existing versions, by storing copies
of the resources and upgrade information which identifies the later
versions, describes features of the later versions relative to one or more
earlier versions of the resource, and provides instructions, in accordance
with a predefined common syntax, for installing each of the resources. The
copies of the resources and the upgrade information may be stored on a
portable storage medium or within an on-line service.
Among the advantages of the invention are the following. The invention
automatically determines the availability of upgrades to resources on a
computer system. The invention may also determine the importance of each
of the upgrades. In addition, information regarding dependencies between
upgrades is provided. As a result, the user can, with little effort, make
an educated determination of which resources should and should not be
upgraded at a particular time. Resources to be upgraded may be selected
automatically, and the upgrades may be made automatically in a network
environment or manually using automatically generated upgrade diskettes.
Other advantages and features will become apparent from the following
description and from the claims.
DESCRIPTION
FIG. 1 is a functional block diagram of a network server and a server
manager, including an automatic upgrade device.
FIG. 2 is a functional block diagram of a server and a server manager
during an automatic upgrade.
FIG. 3 is a flow diagram for automatically updating resources on a network
server.
FIG. 4 is a diagram of components of a management information base.
FIGS. 5A-5C are templates for records in an upgrade database.
FIG. 5D is a functional block diagram of components of an upgrade database.
FIG. 6 is a functional block diagram of an upgrade advisor.
FIGS. 7A-7B and 8 are flow diagrams for upgrade advising.
FIGS. 9 and 10 are screen shots of a graphical user interface for an
upgrade advisor.
FIG. 11 is a functional block diagram of components of a client of the
network server.
Referring to FIG. 1, a network server 1 provides network resources 3 to a
network of client computers (not shown). Network resources include
firmware, software applications, operating systems (OS), OS drivers and
hardware drivers. A management information base (MIB) 5 within the server
1 maintains basic descriptive information about each of the resources 3
available on the server 1. Included in the MIB 5 are the name and version
number of each piece of software, its location in the server, and the date
and time of its release. The information in the MIB 5 ensures that the
server 1 always has a current record of the resources 3 it provides to the
network.
Upgrades 7 to the network resources 3 are provided to a server manager 2 by
a distribution medium (not shown), such as a CD-ROM. The upgrades 7 may
also be provided by an on-line service (not shown), such as a bulletin
board service administered by a manufacturer of network resources. The
basic units of the upgrades 7 are upgrade objects 8, each of which
corresponds to an individually upgradable network resource 3. The upgrade
objects are grouped into upgrade packages 6 which correspond to resource 3
groupings on the server. A package 6 may contain any number of upgrade
objects 8 (i.e., may upgrade any number of individual network resources
3), including only a single object 8.
In addition to the resource upgrades 7, the CD-ROM contains an upgrade
database 9, which stores information about each of the upgrade packages 6
(e.g., name and location of the package on the CD-ROM, description of the
upgrades, and instructions for installation of the package to the server),
and the individual upgrade objects 8 within each package 6. If the
upgrades 7 are provided by an on-line service, the upgrade database 9 will
also be provided by the service.
The server manager 2 oversees the network resources 3 stored on the server
1. An upgrade device 10 in the server manager 2 is responsible for
automatically analyzing and executing the resource upgrades 7 available to
the server 1. When the upgrades 7 become available to the network (e.g.,
by inserting the CD-ROM into the server manager drive, or by logging into
the on-line service), an upgrade advisor 11 in the upgrade device 10
automatically analyzes each network resource 3 currently on the server 1
to determine the availability and necessity of the corresponding upgrade
7. When the analysis is complete, the upgrade advisor 11 presents a report
and/or graphical display to the user. This output is in the form of
upgrade recommendations, each supported by an explanation of the reasons
for upgrade. The results may also be used to create upgrade diskettes.
To determine which upgrades 7 should be installed to the server, the
upgrade advisor 11 retrieves information about the MIB 5 from a server
database 13 located in the server manager. The server database 13 tells
the upgrade advisor 11 the location of each piece of information contained
in the MIB. The upgrade advisor 11 supplies the location information to a
data retriever 15, which uses it to retrieve from the MIB 5 data (MIB
data) about the network resources 3. The upgrade advisor 11 then retrieves
upgrade information from the upgrade database 9 and performs two types of
comparisons: a) whether or not a particular upgrade package corresponds to
a resource on the server, and b) whether or not the version number of the
upgrade package matches the version number of the corresponding network
resource (i.e, whether or not the upgrade package represents a true
upgrade for the existing network resource). If the upgrade applies to a
resource on the server and if the upgraded and current versions of the
network resource do not match, the upgrade advisor 11 uses additional
information from the upgrade database 9 to analyze the level of severity
of the upgrade, i.e., to determine the importance of the upgrade to the
efficient operation of the server. The upgrade advisor is described in
more detail below.
Referring also to FIGS. 2 through 4, the upgrade database may also contain
information about a resource (e.g., a driver) which is not recognized by
the server manager. In this situation, the upgrade advisor places
information about the resource (e.g., name, version number) into a driver
table 32 in the MIB 5. An agent 21 of the server manager located in the
server uses this information to search for the resource (i.e., to see if
the resource has been installed on the network). If so, the server manager
creates entries for the resource in the server database.
When the upgrade advisor 11 and/or the user have selected 100 the network
resources 3 that need to be upgraded, an upgrade installer 17 oversees the
automatic installation of the packages to the server. At the outset, the
appropriate upgrade packages 7 are retrieved 102 from the distribution
medium (or the on-line service) and supplied 106 to a server upgrader 22
located in the upgrade installer 17. Installation instructions 20 are
retrieved 104 from the database 9 and are supplied 106 to the server
upgrader 22. The instructions are coded in a unique package scripting
language (PSL), which can be read and executed at the time of
installation. Rules of syntax for a preferred PSL are listed in the table
below.
______________________________________
A Package Script Language (PSL) is defined that
should make it easier for package owners to develop
installation scripts for their products.
Commands
The installer will look for a .PSL file and begin
executing it. PSL commands are:
MKDIR [/err] <directory>
COPY [/u][/err] <source> <destination>
DELETE [/err] <source> <destination>
RUN.sub.-- [os] [/err] <executable> [...parameter
list...]
Where,
/u - add the opposite of this command (or
copy <destination> <source>) to the UNDO.PSL
file (see below)
/err - on error, stop script processing and
report a package failed status (run undo.psl
and report failed in job status table).)
source file to copy - can be any
number of specifications:
d:[.backslash.directory.backslash.]<filename>
.backslash..backslash.server.backslash.share.backslash.[directory]<filena
me>
SYSPART:[.backslash.directory.backslash.]<filename>
destination for file - see
specs for <x>
os - defined as NT (WinNT), 02 (OS/2), SC
(SCO UNIX), UW (UnixWare), and NW (NetWare).
For COPY, any file attributes will be
preserved but ignored (i.e., copying over a
ReadOnly doesn't case an error).
Section Headings
Each PSL is broken into sections designated by a
section heading. There are four special section
heading names that the script processor will look
to execute. The headings are executed in this
order: Main, EISA ID, OS, and User Defined.
section is run on all machines
section is executed if board with
ID specified is installed. EISA ID is specified:
CPQXXXX where X can be an alphanumeric character
or "?" to match any alphanumeric in that position.
section shouldne. NetWare .vertline. UNIX .vertline. OS/2]
be run on machine if specified OS is running.
a user defined section. It
must be immediately followed by:
executable shouldos] = <executable>
return 1 for execute remainder of section, or 0
for skip section. OS is defined as NT (WinNT), O2
(OS/2), SC (SCO UNIX), UW (UnixWare), and NW
(NetWare).
this section defines the <undo> .PSL
file. The presence of this section causes the
interpreter to create an <undo> .PSL file based on
the naming. The [undo] section contains:
filename=<undo>.psl - or the name of the undo
file to be created,
this text is added to the
undo file untouched,
the end of the undo section.
______________________________________
In the server upgrader 22, several upgrade packages 7 and the corresponding
installation instructions 20 are grouped 108 into a "job" 18. Within each
job 18, the installation instructions for every package are included in a
control file 18a. The control file also includes a pre-appointed time at
which the installation of the packages in the job should be carried out.
When the job 18 is ready to be installed to the target server, the server
upgrader 22 connects 109 with the server through a login service 24 and
then sends 110 the job 18, including the control file 18a, to a staging
area 19. The staging area 19 may be in the target server, in the server
manager, or anywhere else in the network capable of handling the deposit
and retrieval of upgrade files. Within the staging area 19, each package
is placed into a corresponding package directory 71, and the control file
is stored separately. The server manager then notifies 112 the agent 21
that a job has been sent to the staging area 19. When the pre-appointed
time arrives 114, the agent 21 executes 116 the instructions in the
control file, thereby installing the packages from the package directories
71 to the target network resources 3. The agent then deletes 117 the
control file from the staging area 19.
Before the packages are installed to the targets, the agent 21 may store
115 the older revision levels of the resources on a local hard disk 23. As
a result, the user always has access to previous versions of the
resources. Maintaining old versions of upgraded resources allows the user
to downgrade the resource, if needed, in the future.
After the installation is complete, job status data 73 is generated 118 and
temporarily stored 120 in a results directory 75 in the staging area 19.
The agent 21 retrieves the job status data 73 from the results directory
75 and places 122 it into a job status table 34 in the MIB 5. A results
manager 26 in the upgrade installer monitors the MIB 5 for the job status
data 73 and retrieves 124 the data as soon as it appears. The results
manager 26 then sends 125 the data to a history manager 28, which tracks
the history of upgrades on the server. The history manager 28 is
responsible for providing 126 the history information to the user (or to
storage). The server upgrader 22 then cleans 128 the staging area of any
extraneous information. Because a single copy of a package may be used to
upgrade a resource on multiple servers (using multiple control files), the
packages are left 130 in the staging area 19 by the server upgrader.
Referring to FIGS. 5A through 5C, the upgrade database actually consists of
three databases: a "Package" database 25, a "Description" database 27, and
a "How.sub.-- To" database 29. The Package database 25 contains the
information which associates upgrade objects with each package, as well as
the information needed to retrieve a package from the distribution medium
(CD-ROM) and properly install the package to the server. For each upgrade
package, the database maintains a unique package number 25a and a count
25b of the number of database records (i.e., upgrade objects) associated
with the package. In addition, the version number 25c and the upgrade date
25d of the package are maintained. The Package database also maintains the
name 25e of the package and the location 25f of the package on the CD-ROM
(i.e., CD drive and directory name). To enable automatic installation of
the package, the database contains the package script 25g (the
installation instructions for the package). The database also contains
information regarding the dependencies between the package and other
upgrade objects or packages: child dependencies 25h are the upgrade
objects associated with a package; sibling dependencies 25j are the
packages upon which a package depends; and parent dependencies 25i are the
packages or upgrade objects which together constitute a larger package.
Finally, the database indicates whether or not the package can be selected
by the user for upgrade and whether or not the package can be displayed to
the user through a user interface.
While each upgrade distribution medium will commonly contain all upgrade
packages upon which a particular upgrade depends, it is also likely that
upgrades to a package will depend upon upgraded packages not stored on the
distribution medium. For example, the printing capabilities of an upgraded
word processor created by one vendor may depend upon an upgrade to a
printer driver produced by another vendor. While it is unlikely that the
word processor upgrade and the driver upgrade will be distributed on the
same CD, the user should still be informed of the dependency. Therefore,
the dependency information in the Package database 25 describes not only
the dependencies between packages on the CD, but also all dependencies
between an upgrade package and any upgrade not available on the CD. Even
though the unavailable upgrades cannot be automatically installed with the
available upgrades, the user is nonetheless aware of their necessity.
The Description database 27 stores information that describes each upgrade
found in a package. Included in this information are the package number
27a and record count 27b, as well as the version number 27c and date 27d
of the upgrade. A description 27e of the change between the updated
version and the previous version of the upgrade object is also provided.
Because a server may contain any previous version of a resource, the
database must maintain a description of the changes between each version.
The description 27e includes reasons why the upgrade is necessary, drawing
information from develop | | |