|
Description  |
|
|
BACKGROUND OF THE INVENTION
The present invention relates to methods and apparatus for managing network
services in a computer network. More specially, the invention relates to
improved methods and apparatus for computer network management that are
highly flexible and easily extensible.
There are many types of computer networks in existence. They are known by
various names, including Local Area Network (LAN), Wide Area Network
(WAN), Internet, and the like, and may be implemented in accordance with a
variety of known architectures. FIG. 1 illustrates an example of a
computer network architecture commonly known as a client-server
architecture. In the client-server network of FIG. 1, there are a
plurality of servers 10 coupled to a network bus 12. A server 10 is
typically implemented by a computer or a workstation that is special
purposed, e.g., large disk space, high speed CPU, multiple LAN
connections, etc., while network bus 12 may be implemented by any of the
known network routing media such as coaxial cables, multi-strand cables,
fiber optic cables, or even a wireless medium. A plurality of client
terminal 14, representing known computers or computing terminals, are
coupled to the same network bus 12, each of which is capable of
communicating with any one of servers 10 or other terminals 14 using one
of the known network protocols such as AppleTalk.TM., TCP/IP, and the
like.
On servers 10, there are installed instantiations of network service
applications, which are typically software implemented, for performing
programmed tasks. Examples of such network service applications include
print service, e-mail service, file service, and the like. A print service
application manages the printer or print queue associated with a server,
thereby enabling client terminals 14 to utilize that printer for their
printing needs. An e-mail service application performs e-mail management
and routing tasks, permitting client terminals 14 to communicate among one
another.
A server 10 may be coupled to one of the network's central file storage
facilities, e.g., one of the known persistent memory devices (omitted in
FIG. 1 for clarity) such as a hard disk, a RAID (redundant arrays of
inexpensive disks) system, an optical storage device, and the like. A file
service instantiation installed on that server 10 performs tasks related
to file management for the benefit of users on client terminals 14. Such
file service tasks include access privilege management, storage space
management, and the like. The number and types of network services
available to a network are practically limitless.
As mentioned earlier, instantiations of these network services are
installed on the network servers. A network service application, e.g., one
of the aforementioned print service, file service, or e-mail service
applications, may have many instantiations, either on the same server or
on different servers. For example, most or all servers 10 in FIG. 1 may
each have a print service instantiation installed to manage a network
printer. Further, a given service instantiation on a server may service
multiple client terminals simultaneously. Likewise, a client terminal may
establish a logical session with multiple services simultaneously, either
a single server or on multiple servers.
The network service instantiations on servers 10 are managed by a network
administrator, who is responsible for setting attributes and parameters
for the services, maintaining and upgrading the services, and the like.
Typically, these administration tasks are performed via a network service
management application. In a local administration model such as that shown
in FIG. 1, each server 10 has its own local network service management
application 16. Through a local network service management application 16,
the network administrator may administer the network services installed on
the server where the network service management application is executing.
By way of example, the network administrator may employ local network
service management application 16 at one of servers 10 to interact with
the file service instantiations installed on that server in order to set
individual users' access privileges for that server sharepoints, i.e., the
volumes, folders, or files designated for sharing by the network users.
The users' access privileges may then be saved to a database, to be
consulted in the future by the file service to determine whether a
particular user has sufficient access privileges to one of the server
sharepoints.
FIG. 2 illustrates the remote administration model for a computer network.
In FIG. 2, the same servers 10 and client terminals 14 are coupled to
network bus 12 in a client-server architecture. However, the remote
network service management application 38 now resides at an administrative
console (AC) 18. Administrative console 18 represents the computer
terminal or workstation through which the network administrator may
remotely manage the network service instantiations installed on the
servers 10 of FIG. 2. An administrative console 18 may have simultaneous
logical sessions with more than one server 10 or more than one service
instantiation. Through these logical sessions, the remote network service
management application may view the configuration data related to the
service instantiations on the network servers and, if appropriate,
administer the network services installed thereon. The ability to remotely
manage network services on servers that may be geographically dispersed
from a centrally located administrative console is particularly
advantageous for large networks and therefore represents an improvement
over the local administration model of FIG. 1.
FIG. 3 illustrates an example of a prior art remote network service
management application 38, such as that installed on administrative
console 18 of FIG. 2, including a server manager window 40. Within server
manager window 40, the network service instantiations, along with the
corresponding network servers on which they execute and their statuses,
are shown. In the example of FIG. 3, three e-mail service instantiations
on servers AB, CD, and EF, as well as a file service instantiation, also
on server AB, are shown.
In the prior art, remote network service management application 38 is
programmed to specifically communicate with and administer the network
service instantiations on a specific network. When the prior art remote
network service management application 38 is executed at administrative
console 18, it communicates with selected servers in the network to
ascertain the statuses of the service instantiations installed thereon and
report that data in window 40. To administer one of the services, the
network administrator then selects one of the listed entries in window 40
for administration. If the e-mail service on server AB entry is selected
for administration, for example, another window 42 may be launched. Window
42 would contain information regarding the e-mail service on server AB
such as the number of users on line, the amount of disk space being used
by this e-mail service, number of mail messages stored per user, and the
like. Through window 42, the network administrator may then administer the
e-mail service by changing the attributes or parameters as desired. Other
services may also be administered in a similar manner.
Although the prior art approach to remote network administration represents
an improvement over the local network administration model of FIG. 1,
there are several disadvantages. By way of example, the prior art remote
network service management application requires knowledge beforehand of
the network services on the network servers. In order to recognize and
administer the services in a network, the prior art remote network service
management application is programmed upon installation for specific types
of services, and a specific network protocol and configuration, and other
network-specific as well as service-specific details. Knowledge of these
network-specific and service-specific details is required by the prior art
remote network service management application to allow it to communicate
with a particular service instantiation on a particular network server.
If it is desired, subsequent to the installation of the prior art remote
network service management application, to extend the types of network
services available by, for example, installing a new network service on
one of the network servers, it is typically necessary to reprogram the
prior art remote network service management application to allow it to
recognize and support the newly installed service. The reprogramming is
necessary because when the prior art remote network service management
application was created, it is programmed only for the types of network
services available to the network at the time of its creation. The prior
art remote network service management application would not know how to
obtain status data and administer some novel network services that may be
developed subsequent to the creation and installation of the prior art
remote network service management application. Without this specific
knowledge, the prior art remote network service management application
cannot communicate with the newly installed network service instantiations
to obtain status data and to administer them.
As can be appreciated, the need to reprogram the prior art remote network
service management application to integrate new network services
represents a burden for network administrators as well as for developers
of the various network services.
In view of the foregoing, what is desired is an improved remote network
administration apparatus and methods that can flexibly facilitate the
extension of the types of network services available on a computer
network. The inventive methods and apparatus preferably permit the
improved remote network administration apparatus and methods to recognize
and support the addition, deletion and/or update of network services on
the network server without requiring its re-implementation.
SUMMARY OF THE INVENTION
The present invention relates, in one embodiment, to a remote network
administration apparatus for managing network services on a plurality of
network servers in a computer network. The apparatus includes a component
repository, which contains service components. Each of the service
components corresponds to one of the network services. The apparatus
further includes at least one service object that is associated with a
first one of the service components. The service object, when executed,
communicates with the plurality of network servers to obtain network
service instantiation data relating to instantiations of a first one of
the network services on the plurality of network servers. The first one of
the network services represents a network service that corresponds to the
first one of the service components.
The apparatus further includes a server manager component for receiving the
network service instantiation data from the service object. Additionally,
there is included a server manager window, representing the user interface
component for the server manager component. The server manager window
functions to display a status of the instantiations responsive to the
network service instantiation data.
In another embodiment, the invention relates to a method for managing
network services on the plurality of network servers in a computer
network. The method includes the step of providing at least one service
component in a component repository. The service component corresponds to
one of the network services. There is also included the step of providing
a server manager component, which communicates with the component
repository to ascertain the presence of the service component.
Additionally, the method includes the step of executing a service object
associated with the service component. When executed, the service object
communicates with the plurality of network servers to obtain network
service instantiation data relating to instantiations of the one of the
network services on the plurality of network servers. The method also
includes the step of passing the network service instantiation data to a
server manager window component for displaying a status of the
instantiations responsive to the network service instantiation data.
These and other advantages of the present invention will become apparent
upon reading the following detailed descriptions and studying the various
figures of the drawings.
BRIEF DESCRIPTION OF THE DRAWINGS
Additional advantages of the invention will become apparent upon reading
the following detailed description and drawings.
FIG. 1 illustrates an example of a computer network architecture commonly
known as a client-server architecture, including prior art local
administration facilities.
FIG. 2 illustrates the prior art remote administration model for a computer
network.
FIG. 3 illustrates a prior art remote network service management
application.
FIG. 4 shows a general purpose computer system for implementing the
servers, client terminals, and administrative console of the present
invention.
FIGS. 5A and 5B show, in accordance with one aspect of the present
invention, the architecture of the improved remote network administration
apparatus.
FIG. 5C illustrates an example of a user container component window.
FIG. 5D illustrates an example of a group container component window.
FIG. 6A illustrates, in accordance with one embodiment of the present
invention, the steps involved in installing a new service in a computer
network that already has the core improved remote network administration
apparatus installed.
FIG. 6B illustrates, in one embodiment, the additional steps involved in
handling the agents to accomplish the installation of the backend service
entities on the network servers.
FIG. 7 shows, in one embodiment, the steps involved in receiving data
regarding instantiations of a service on the servers of the network.
FIG. 8 shows, in accordance with one embodiment, the steps taken by the
service object in interacting with the agents on the servers of the
network to obtain the network service instantiation data.
FIG. 9 describes the steps taken, in one embodiment, by the service object
in obtaining the network service instantiation data without agent's
involvement.
FIG. 10 shows from the server manager component perspective the steps
involved, in one embodiment of the invention, in administering a network
service from the server manager window.
FIG. 11 illustrates, in one embodiment of the present invention, the steps
involved when a service administration component is invoked through the
server manager window component.
DETAILED DESCRIPTION OF THE INVENTION
As described above, FIG. 1 illustrates an example of a computer network
architecture commonly known as a client-server architecture. FIG. 2
illustrates the prior art remote administration model for a computer
network. FIG. 3 illustrates a prior art network service management
application.
FIG. 4 shows a general purpose computer system for implementing the
servers, client terminals, and administrative console of the present
invention. Typically, servers in a given network are provided with more
computing, network connectivity, and storage resources than either client
terminals or administrative consoles although they may all be implemented
using similar computer systems as hardware costs decrease. Referring now
to Pig. 4, a computer system 50 in accordance with the present invention
includes a central processing unit (CPU) 52, read only memory (ROM) 54,
random access memory (RAM) 56, expansion RAM 58, input/output (I/O)
circuitry 60, display assembly 62, input device 64, and expansion bus 66.
Computer system 50 may also optionally include a mass storage unit 268
such as a disk drive unit or nonvolatile memory such as flash memory and a
real-time clock 60. In one embodiment, mass storage unit 268 may include
units which utilizes removable computer readable media, such as floppy
disks, opto-magnetic media, optical media, and the like for the storage of
programs and data.
CPU 52 is preferably a commercially available, single chip microprocessor
such as one of the Sparc, Intel X86 or Motorola 680XX family of chips
available from respectively Sun Microsystems, Inc. of Mountain View,
Calif., Intel Corp. of Santa Clara, Calif., and Motorola, Inc. of
Schaumburg, Ill. Preferably, CPU 52 is a reduced instruction set computer
(RISC) chip such as the PowerPC.TM. microprocessor available from the
aforementioned Motorola Inc. CPU 52 is coupled to ROM 54 by a data bus 72,
control bus 74, and address bus 76. ROM 54 may partially contain the basic
operating system for the computer system 50. CPU 52 is also connected to
RAM 56 by busses 72, 74, and 76 to permit the use of RAM 56 as scratch pad
memory. Expansion RAM 58 is optionally coupled to RAM 56 for use by CPU
52. CPU 52 is also coupled to the I/O circuitry 60 by data bus 72, control
bus 74, and address bus 76 to permit data transfers with peripheral
devices.
I/O circuitry 60 typically includes a number of latches, registers and
direct memory access (DMA) controllers. The purpose of I/O circuitry 60 is
to provide an interface between CPU 52 and such peripheral devices as
display assembly 62, input device 64, and mass storage 268. Display
assembly 62 of computer system 50 is an output device for displaying
objects and other visual representations of data.
The screen for display assembly 62 can be a device that uses a cathode-ray
tube (CRT), liquid crystal display (LCD), or the like, of the types
commercially available from a variety of manufacturers. Input device 64
can be a keyboard, a mouse, a stylus working in cooperation with a
position-sensing display, or the like. Alternatively, input device can be
an embedded RF digitizer activated by an "active" RF stylus. Therefore, as
used herein, the term input device will refer to any mechanism or device
for entering data and/or pointing to a particular location on a screen of
a computer display. The aforementioned input devices are available from a
variety of vendors and are well known in the art.
Some type of mass storage 268 is generally considered desirable. However,
mass storage 268 can be eliminated by providing a sufficient amount of RAM
56 and expansion RAM 58 to store user application programs and data. In
that case, RAMs 56 and 58 can optionally be provided with a backup battery
to prevent the loss of data even when computer system 50 is turned off.
However, it is generally desirable to have some type of long term mass
storage 268 such as a commercially available hard disk drive, nonvolatile
memory such as flash memory, battery backed RAM, PC-data cards, or the
like.
In operation, information is inputted into the computer system 50 by typing
on a keyboard, manipulating a mouse or trackball, or "writing" on a tablet
or on a position-sensing screen (not shown) associated with display
assembly 62. CPU 52 then processes the data under control of an operating
system and an application program stored in ROM 54 and/or RAM 56. CPU 52
then typically produces data which is outputted to the display assembly 62
to produce appropriate images on its screen.
Expansion bus 66 is coupled to data bus 72, control bus 74, and address bus
76. Expansion bus 66 provides extra ports to couple devices such as
network interface circuits, modems, display switches, microphones,
speakers, etc. to CPU 52. On some computers, the network interface circuit
may be built in instead of being provided through expansion bus 66.
Regardless, network communication is accomplished through the network
interface circuit and an appropriate network.
Still further, the present invention relates to machine readable media on
which are stored program instructions for performing operations on a
computer. Such media includes by way of example magnetic disks, magnetic
tape, optically readable media such as CD ROMs, semiconductor memory such
as PCMCIA cards, etc. In each case, the medium may take the form of a
portable item such as a small disk, diskette, cassette, etc., or it may
take the form of a relatively larger or immobile item such as a hard disk
drive or RAM provided in a computer.
FIG. 5A shows, in accordance with one aspect of the present invention, the
architecture of the improved remote network administration apparatus.
There is shown a server manager component 104. As will be discussed in
detail later, server manager component 104 represents the entity that
interacts with other components, known as service objects, to gather data
regarding the network service instantiations on the network servers.
Server manager component 104 also has a corresponding window, shown in
FIG. 5A as server manager window 108. Server manager window 108 is the
window through which the human network administrator can view the
instantiations of the various network service entities that are installed
on the servers of the network. As the term is used herein, a service
entity represents a network service, e.g., FileService, PrintService,
E-MailService, and the like. Each service entity may in turn have more
than one instantiations, or installed copies, on one or more of the
network servers.
These instantiations of the network service entities, their respective
statuses, and their corresponding server names are shown in window 108 as
list 110. For example, there are shown two instantiations of the
FileService entity on servers AB and CD, both of which are running. A
PrintService instantiation exists on server GH, whose status is currently
"Not Running." An XYZ service instantiation, representing yet another
installed network service, is shown running on server EF.
Through the user interface of server manager window 108, the human network
administrator may also initiate administrative actions regarding the
network service instantiations listed in list 110. Depending on which
network service is selected, server manager component 104 may then invoke,
if possible, an appropriate component to handle the actual administration.
In this manner, server manager window 108, through underlying server
manager component 104, represents the single entry point through which
remote administration of all network services on the network is initiated.
Consequently, the invention allows network administrators to administer
discrete network services from a central server manager window while
providing them with a consistent, integrated user experience as if the
administrator were operating within one unified software application. From
this single entry point, network administrators can browse and select the
services they wish to administer on the network as well as monitor these
individual network services and servers from a common viewpoint.
In contrast, the prior art requires a network administrator to use multiple
network service management applications to manage the different network
services installed on the network servers. Each of these network service
management application may be created by a different developer.
Consequently, the different applications may lack the generality and
common components that provide the human network administrator with an
integrated user experience.
In accordance with the preferred embodiment, there exists a component
repository, which may comprise one or more files residing either locally
at the administrator's terminal or on the network for indicating the
locations of the components. Each network service that is installed on the
network servers has a corresponding service object registered with or
contained within this component repository. For ease of illustration,
subsequent discussions herein are made with reference to the Macintosh
operating system (MacOS.TM.), manufactured by Apple Computers, Inc. of
Cupertino, Calif. and particularly to a component-based environment known
as OpenDoc.TM., also available from Apple. For further information
regarding component-based architectures and the aforementioned OpenDoc.TM.
environment, reference may be made to, for example, commonly-assigned,
pending patent application U.S. patent Ser. No. 08/175,549 entitled "Frame
Structure Which Provides an Interface Between Parts of a Compound
Document" which is hereby incorporated by reference.
It should be borne in mind, however, that the present invention is neither
limited to the MacOS.TM., OpenDoc.TM., nor to any particular computer
platform or network. The adaptation of the invention disclosed herein for
other platforms and operating systems, e.g., the Intel-based platform
popular known as the PC platform and its associated Windows-based
operating system and Object Linking and Embedding (OLE) environment,
available from the aforementioned Intel Corp. and Microsoft Corp. of
Redmond, Wash. respectively, are well within the abilities of those
skilled in the art given this disclosure.
For the MacOSIOpenDoc.TM. embodiment, the components exist within an
Editors folder 100, which is installed on the administrative console. When
OpenDoc is installed in the system, it automatically creates an "Editors"
folder 100 inside of the system folder. When the system administrator runs
the installation utility for the remote network administration apparatus,
an OpenAdmin folder 102 gets created inside the "Editors" folder 100 and
all the components related to the remote network administration apparatus
are preferably copied into the OpenAdmin folder. It should be borne in
mind that these specific steps are related to the MacOS/OpenDoc.TM.
embodiment and variations thereof exist for other environments, as is
appare | | |