3 4
that picture to make intelligent decisions with respect to includes a central processing unit 212, a main memory
system modification, and thereby administer the operating which is typically implemented in the form of a random
environment in a seamless and robust manner. access memory 218, a static memory that can comprise a
In one exemplary embodiment, the software manager of rea? only memory 220, and a permanent storage device
the present invention also comprises a set of software 5 such as a magnetic or optical disk 222. The CPU 212
, • , • , r i . .i communicates with each of these forms of memory through
manager plug-ins that provide an interface between the . ^ , , „ . . , , , • „„„ . , ,
^ , . ^ an internal bus 214. Ihe peripheral devices 208 include a
software manager server and various software components , . , . , , , , -„„ , . ..
. , „ , , v T ri data entry device such as a keyboard 200, and a pointing or
within the operating system. Such plug-ins permit the soft- ', , . , ',, „ °,
, ° ^ ,r . j. cursor control device 202 such as a mouse, trackball or the
ware components to request and receive notification of ... . ,. , , . , v T ^„
. • , • 4, • £ ^ , • ^ n ln like. A display device 204, such as a CR1 monitor or an LCD
certain changes in the information stored in the configura- lu , , r ^ ■ r ^ . •
, ^ , m ^ L , , , screen, provides a visual display of the information that is
tion database. Ihe software components are then able to , . , .if . if ' r ,
, . • 4, , „ being processed within the computer, tor example the conadapt as necessary in response to those changes, tor ^ ^a K. , ^ . , , r J • • r ^ ,
, ri , , , . , . ° ^ tents of a document. A hard copy of this information can be
example, software elements which require access to system ., , if , . ^ • , , • ^ ,
*' , , • j- r .i i provided through a printer 206, or similar such device, bach
file content can request that information from the software rc, . , , , . . . ...
,, .,. 1C of these external peripheral devices communicates with the
manager server, and thereby avoid time-consuming run-time li / • . . * -nm
r ^ ' £1 CPU 212 by means of one or more input/output ports 210 on
scans of the system files. if
the computer.
Further features of the present invention are explained Generally speaking, the present invention comprises a
hereinafter with reference to the illustrative examples shown ... man wMch vasfl; es computer operat.
in the accompanying drawings. ^ ing system configuration management by allowing a user to
BRIEF DESCRIPTION OF THE DRAWINGS view and maniPulate high-level software elements. The
present invention thus enables a user to look beyond the
FIG. 1 depicts a software manager for administering individual pieces of the system to see the interrelationships
components in a computer operating system, in accordance between system elements and to gain an understanding of
with the teachings of the present invention. 25 overall functional system composition. In one exemplary
FIGS. 2a-2rf depict contents of a configuration database embodiment, a user is presented with an interface to the
constructed in accordance with the teachings of the present software manager anytime he or she attempts to access or
invention. move the system files, or anytime he or she attempts to
FIGS. 3a-3b depict, respectively, first and second outputs insta11 additional software. Alternatively, the user can access
of a user interface constructed in accordance with the 30 the interface to the software manager directly by specifically
teachings of the present invention. launching a software manager application. By channeling
„„ . , . ^ if . , , , j- • , j- system configuration activity through the software manager,
FIG. 4 depicts a third output of a user interface con- ^. ^ / ^ , . , v, °,
^ , ■ , v, :, , , • r , an operating system constructed in accordance with the
structed in accordance with the teachings of the present r. . ° . ., , . , .
° present invention provides a comprehensive approach to
invention
35 system administration that is efficient, consistent, and easily
FIG. 5 depicts a filtering of a configuration database in understood by the typical user accordance with a user-defined set of operating environment ... tQward ^ ^ ^ ... ma r of ±e
preferences, said filtering being performed in accordance n( invention allows a user to obtain useM information
with the teachings of the present invention. regarding installed software elements (e.g., program size
FIG. 6 is a block diagram of the main components of a 40 and function, version number, enabled/disabled status,
computer system. resource requirements, installation date, vendor information,
etc.), and allows a user to enable, disable, install, de-install, move, and otherwise modify elements as appropriate. The software manager also tracks dependencies between soft
To facilitate an understanding of the present invention and 45 ware elements so that a user may obtain information regard
the advantages offered thereby, features of the invention are ing the impact a given change might have on overall system
often described and illustrated with reference to the use of integrity. In one embodiment, the software manager allows
the invention in a computer running the Macintosh® oper- a user to update an existing partial installation of a given
ating system developed by Apple Computer, Inc. It will be software element (e.g., the user may wish to re-execute an
appreciated by those having familiarity with the relevant 50 installer routine associated with a word processor in order to
technology, however, that the principles of the present add a spell checker), or return to a core installation associ
invention are not limited to this particular type of operating ated with a software element (e.g., the user may wish to
environment. Rather, the concepts which underlie the inven- delete unused features associated with a database program in
tion are applicable to any type of computer operating order to conserve disk space).
environment in which it is desirable to provide a user- 55 In the software manager of the present invention, the
friendly method of system administration. operating system software residing in the system files is