`6,148,335
`(11) Patent Number:
`115
`United States Patent
`
`Haggard etal.
`[45] Date of Patent:
`Nov.14, 2000
`
`[54] PERFORMANCE/CAPACITY MANAGEMENT
`FRAMEWORKOVER MANYSERVERS
`
`[75]
`
`Inventors: Neal A. Haggard, Cary; Chris L.
`Molloy; Gary M. Quesenberry, both
`of Raleigh; Robert C. Robinson,
`Durham; Henry L. Stuck, Chapel Hill,
`all of N.C.
`
`[73] Assignee:
`
`International Business Machines
`Corporation, Armonk, N.Y.
`
`5,819,028 10/1998 Manghirmalani et al. «uc... 709/224
`5,822,401
`10/1998 Caveet al. ecco
`vn 379/34
`
`5,822,532 10/1998 Ikeda ws...
`709/224
`5,825,858 10/1998 Shafferetal.
`379/120
`2/1999 Berg w.ecccccecesescsssssesseeeesve 714/43
`5,872,911
`OTHER PUBLICATIONS
`
`“Network Expo—US Launch of SysLoad for Netware”,
`Newsbytes, PNEW02160036, Feb. 16, 1996.
`“Server Management”, Network VAR, V5, N4, P60 (2), Apr.
`1997.
`
`[21] Appl. No.: 08/978,315
`.
`Nov. 25, 1997
`Filed:
`[22]
`PSD) Unt, C1? eeececcccccccecsssssssssssssusssssseseessveeeesses G06F13/00
`[52] US. Ch.
`cccccsccccccssssssssseessensssssssseseususssssssaseeesen 709/224
`[58] Field of Search ccc 709/204, 233,
`22
`109/223, 224, 227
`
`[56]
`
`IBM Technical Disclosure Bulletin, “Statistics Gathering
`and Analyzing Tool for Open Software Foundation’s Dis-
`tributed Computing Environment,” vol. 37, No. 02B, Feb.
`19904,
`IBM Technical Disclosure Bulletin, “Dynamic Load Sharing
`for Distrubuted Computing Environment,” vol. 38, No. 07,
`Jul. 1995.
`Primary Examiner—Moustafa M. Meky
`Attorney, Agent, or Firm—John J. Timar
`References Cited
`[57]
`ABSTRACT
`U.S. PATENT DOCUMENTS
`
`5,434,971 ssccsusssssseesee 395/200|A method of monitoring a computer network by collecting7/1995 Lysakowski, It.
`
`8/1995 Jacobson etal. ....
`we 395/650
`5,440,744
`resource data from a plurality of network nodes, analyzing
`
`8/1995. Lysakowski, Jr.
`5,446,575
`395/200.01
`the resource data to generate historical performance data,
`5,455,948 10/1995 Poole et al. cece 395/650
`and reporting the historical performance data to another
`
`5,459,837 10/1995 Caccavale.....
`395/184.01
`network node. The network nodes can be servers operating
`10/1995 DeWittetal. ....
`395/184.01
`5,403,775
`ondifferent platforms, and resource data is gathered using
`
`aoe 12/1995 puramizu : al.
`..
`os el104
`separate programs having different application program-
`
`eran Sit000 soeleetal “
`= ene
`ming interfaces for the respective platforms. The analysis
`
`
`395/184.01
`71996 Eilert et al....
`5537542
`can generate daily, weekly, and monthly historical perfor-
`
`"364/514 B
`7/1996 McKeeet al.
`5,539,659
`mance data, based on a variety of resources including CPU
`. 395/200.1
`5,557,748
`9/1996 Norris ...
`ulilization, memory availability, I/O usage, and permanent
`
`9/1996 Berry...
`we 702/181
`5,559,726
`storage capacity. The report may be constructed using a
`
`10/1996 Clark, Jr. et al.
`.
`5,566,069
`364/420
`plurality of documentsrelated by hypertext links. The hyper-
`
`10/1996 Clouston et al. sissies 714/4
`5,568,605
`text links can be color-coded in response to at least one
`5,586,252 12/1996 Bamard et al. 395/185.01
`performance parameter in the historical performance data
`eaten 12/1996 Edwards seeeeeeeecesecascnseseeneeueeesess eens
`surpassing an associated threshold. An actionlist can also be
`oolece t1007 ce vee
`” 532stot
`created in response to such an event.
`
`
`4/1997 Burdick et al.
`...
`. 395/614
`5,625,816
`
`8/1998 Hershey et al. cece 370/252
`5,793,753
`
`20 Claims, 10 Drawing Sheets
`
`Server Resource Management
`Architecture
`
`Collection
`
`Database
`
`Analysis
`
`Reporting
`
`RGF (RISC)
`Netiinity (CISC)
`Zoerstat (SAP)
`
`|
`
`F DB?
`
`# Notas ISM intrariet
`
`ws Customer intranet
`= Custom Reports
`e Database Access
`
`Google Exhibit 1093
`Google v. VirtaMove
`
`Google Exhibit 1093
`Google v. VirtaMove
`
`
`
`U.S. Patent
`
`Nov. 14, 2000
`
`Sheet 1 of 10
`
`6,148,335
`
`FIG. 1
`
`(prior art)
`
`
`
`U.S. Patent
`
`Sheet 2 of 10
`
`6,148,335
`
`ADAPTER
`
`Nov. 14, 2000
`
`FIG.2 RCTsRORRareOPAC4
`
`
`Re)NeALALA? eter
`
`aALATA)
`MAAC (F
`
`oNaCAvo
`
`ey4
`
`CJareete 96
`espts9a(ADKRoAELY*VALE
`
`
`
`
`
`92
`
`MODEM
`
`
`
`U.S. Patent
`
`Nov.14, 2000
`
`Sheet 3 of 10
`
`6,148,335
`
`BE-MYOMLAN2ceS>
`0699
`YyaldvdvYATIONLNOD|MYOMLANxsd
`
` TaTWuVd
`
`i|MATIONLNOODYATIONLNOO||YATIONLNOD
`|88s40uLnoo||,
`YATIOYLNOD
`
`NOISNWdX4
`
`sqyvd
`
`edOona),~~9
`
`Os
`
`Ndd
`
` vs
`
`Wldas
`
`d1LSysid
`SOWSD
`
`WVY
`
`WOu
`
`WV
`
`09
`
`as
`
`9S
`
`ALdWA
`
`AV1dSIC
`
`auVOdAIm
`
`ASNOW
`
`YATIOULNOD
`
`
`
`
`
`
`
`
`U.S. Patent
`
`Nov. 14, 2000
`
`Sheet 4 of 10
`
`6,148,335
`
`FIG. 4
`
`Server Resource Management
`Architecture
`
`Collection
`
`Database
`
`Analysis
`
`Reporting
`
`teencacy,
`
`@iBME intranet
`@ Customer intranet
`2 Custom Reports
`_peeicinnncenn
`a Dafabase Access
`Zpersiat (SAP)
`
`RCF (RISC)
`| DB?
`Netfinity (CISC) [_» @Notes
`
`Sas
`
`
`
`U.S. Patent
`
`Nov. 14, 2000
`
`Sheet 5 of 10
`
`6,148,335
`
`FIG. 5
`
`PCCO PartnerInfo
`
`OS/2 Reports
`
`122
`
`CPU/Memory/Disk Utilization Daily Weekly Monthl
`Warnings Only Daily Weekly Monthly
`Data Availability Daily
`
`
`Machine Listing
`
`
`Red Action List-—— 726
`
`Performance/Capacity Contacts
`Primary: Rob Hall/Raleigh Backup: Robert Robinson/Raleigh
`
`120
`
`
`[SRM Reports | PCCO Reports | SRM Info | SRM Search | What's New | Feedback]
`[IBM External| IBM Internal | Order | Search | Contact IBM | Help | (C) | (TM)]
`
`
`
`U.S. Patent
`
`Nov. 14, 2000
`
`Sheet 6 of 10
`
`6,148,335
`
`
`Available CPU/Storage/O Wait Utilization Monthly View for
`d04nhs02 in NCO-South
`
`FIG. 6A
`
`
`[os1ie7!@[doanhsda| 22
`
`[24
`
`Bon]
`
`98
`
`3
`
`
`Month
`cPu | Sys
`User i
`
`peObs }
`
`
` Sade
`
`Seles[46420]1348131.caleel
`wa
`pw‘ait
`Ending
`Lil
`%
`
`
`
`[88822] 1369) 20.5%
`[spielQeoyheadorsbosnest Seba [56%(ae08134 79
`
`
`
`
`
`[esseemuagoalrackeT
`
`
`10.9%)
`29.396) 18S80 2
`
`
`
`GgISE/1907 [Sistenbssd2eeeae19.4% id.036]
`
`as3%76.328
`14/0f1987
`soasang]9foaaelTeeEEEahs
`
`[eosioe7| Gh)laGénnstal5[Tosethe2bialiama|ae.oxis7 2%
`
`
`
`
`
`
`
`
`
`iSRM Reports | NCO Reports | SRM Info | SRM Search|What's New| Feedback]
`{fBM External ] 12Minternal | Order Search ; Contact BM j Help fC) | (THY j
`
`
`
`36.2
`
`
`
`U.S. Patent
`
`Nov. 14, 2000
`
`Sheet 7 of 10
`
`6,148,335
`
`FIG. 6B
`
`Pravigua + T9O7, 10.34
`
`Warnings for OS2_M
`
`OS/2 Performance Report
`Monthly report for November 1997 as of Wednesday, Nov 18, 1987
`Company=IBM_GS-RTPD ShifAll
`
` "| Lan Response Average|Print Queue Average t
`o|Meron %|
`BOaDAATT |eeeeet
`
`
`Peteaseeeaes
`
`
`[OoSaeowaryeeeete
`
`
`
`
`iCONTINUED)
`
`OS/2 Perforrnance Report
`
`Monthly reportfor November 1967 as of Wednesday, Mov 19, 1997
`
`
`
`U.S. Patent
`
`Nov. 14, 2000
`
`Sheet 8 of 10
`
`6,148,335
`
`
`
`PIG.
`
`NCO-South
`1907
`
`dd4nhs02
`
`Weekly CPU Utilization
`
`Prime Shift:
`- MT WT F~ OF:00-47:06
`
`“
`
`CoPPTETTTTTTTTTTPPTT
`
`1
`
`3
`
`5
`
`7
`
`43 48 i? 98 21
`
`23 25 27 2 91 38 45 37 3H 41
`WEES
`
`42
`
`45
`
`47 49 5
`
`sreeveceazetear
`
`Range oe GT-3 eee Average no RunG Bi
`Produced: Saturday. Noy 15,
`
`iBBY 4:26:32
`
`=xplanatian of Ptot
`
`20%
`
`100%
`
`Bow
`
`GO%
`
`J
`
`40%—
`
`ow!
`
`£ g
`
`7
`
`xI
`
`}a 3
`
`
`
`U.S. Patent
`
`Nov. 14, 2000
`
`Sheet 9 of 10
`
`6,148,335
`
`FIG. 8
`
`OS/2 Red Action List
`
`PCCO-Parinertnfo
`
`
`
`
`
`oe
`
`142
`
`U.S. Patent
`
`Nov. 14, 2000
`
`Sheet 10 of 10
`
`6,148,335
`
`SRM Process
`
`130
`
`132
`
`AIX
`Operating
`System
`
`RCF
`VMSTAT
`
`136
`
`134
`
`140
`
`Netware
`OS/2, NT
`Operating
`system
`
`NetFinity
`.
`with CMS
`Feature
`
`
`
`
`
`Data Conversion
`from Binary
`
`to Text
`
`Control
`Repository
`
`146
`
`Data
`Analysis
`
`Browser
`
`Display
`
`Red Server
`
`Action List
`
`Action Plan
`for Customer
`
`Review
`
`156
`
`
`
`6,148,335
`
`1
`PERFORMANCE/CAPACITY MANAGEMENT
`FRAMEWORK OVER MANY SERVERS
`
`BACKGROUND OF THE INVENTION
`
`1. Field of the Invention
`
`2
`administrators, as well as information technology (IT)
`executives, generally like to know the productivity of their
`systems, and want to accurately forecast future needs for
`upgrading or expanding existing systems. Capital expendi-
`tures must be budgeted according to changes in server
`resource requirements, based on key server operating
`invention generally relates to computer
`The present
`parameters such as CPU utilization, memory availability,
`systems, and more particularly to a method of monitoring a
`I/O usage, and permanent storage (disk) capacity. This
`plurality of servers (and server processes) in a client-server
`objective has become very difficult
`to achieve, due to
`network. The present invention is adapted for use with the
`extremely complex environments of hundreds or thousands
`Internet’s World Wide Web, but it is generally applicable to
`of networked servers running on manydifferent platforms,
`the management of any set or class of computers which
`including UNIX and its variations (such as AIX, HP-UX,
`provide processing or information services to another class
`System V, and Mach), Windows NT, OS/2, NetWare, ctc.
`of computers.
`(UNIXis a trademark of UNIX System Laboratories; AIX is
`2. Description of Related Art
`a
`trademark of International Business Machines Corp
`A generalized client-server computing network 2 is shown
`(IBM); HP-UX is a trademark of Hewlett-Packard Co.;
`in FIG. 1. Network 2 has several servers 4, 6, 8 and 10 which
`System V is a trademark of American Telephone & Tele-
`are interconnected,either directly to each otheror indirectly
`graph Co.; Mach is a trademark of NeXT Computers;
`through one of the other servers. Each serveris essentially
`Windows NTis a trademark of Microsoft Corp.; OS/2 is a
`a stand-alone computer system (having one or more
`trademark of IBM; and NetWare is a trademark of Novell
`processors, memory devices, and communications devices),
`Corp.). In addition to these platforms, some servers are
`but has been adapted (programmed)
`for one primary
`managed byspecialized systems, such as SAP (a suite of
`purpose, that of providing information to individual users at
`bundled business software including an accounts receivable
`workstation clients 12. A client is a member of a class or
`program, a materials management program, a scheduling
`group of computers or computer systems that uses the
`program,etc.).
`services of another class or group to whichit is not related.
`Asset and availability management services such as those
`Clients 12 can also be stand-alone computer systems(like
`offered by SAP (a trademark of SAP A.G.) or Peoplesoft (a
`personal computers, or PCs), or “dumber” systems adapted
`trademark of Peoplesoft Corp.) provide some access to key
`for limited use with network 2 (like network computers, or
`data, e.g., sales orders, but there is no conventional method
`NCs). As used herein, “client” generally refers to any
`for determining how associated system processes are per-
`multi-purpose or limited-purpose computer adapted for use
`forming. It would, therefore, be desirable to devise a method
`by a single individual, regardless of the manufacturer, hard-
`of monitoring server resources which allowed an adminis-
`ware platform, operating system, ctc. A single, physical
`trator to accurately determine usage and capacity across all
`computer can act as both a server andaclient (by allocating
`of the servers in a network. It would be further advantageous
`35
`processing time between client and server processes),
`if the method were easily extended as IT expectations
`although this implementation occurs infrequently.
`increase.
`The information provided by a server can be in the form
`of programs whichrunlocally on a given client 12, or in the
`form of data such asfiles used by other programs. Users can
`also communicate with each otherin real-time as well as by
`delayedfile delivery, 1.e., users connected to the same server
`can all communicate with each other without the need for the
`network 2, and users at different servers, such as servers 4
`and 6, can communicate with each other via network 2. The
`network can be local in nature, or can be further connected
`to other systems (not shown) as indicated with servers 8 and
`10.
`
`10
`
`20
`
`25
`
`30
`
`40
`
`45
`
`SUMMARYOP THE INVENTION
`
`invention to
`is therefore one object of the present
`It
`provide an improved method of monitoring network
`resources, particularly server resources in a client-server
`network.
`
`It is another object of the present invention to provide
`such a methodthat is adapted for use with the Internet, and
`can be implemented in associated communications software
`or web browsers.
`
`The construction of network 2 is also generally applicable
`to the Internet. Conventional protocols and services have
`been established for the Internet which allow thetransfer of
`various types of information,
`including electronic mail,
`simple file transfers via FTP,
`remote computing via
`TELNET, gopher searching, Usenet newsgroups, and hyper-
`text file delivery and multimedia streaming via the World
`Wide Web (WWW). A given server can be dedicated to
`performing one of these operations, or running multiple
`services. Internet services are typically accessed by speci-
`fying a unique address, or universal resource locator (URL).
`The URLhastwobasic components, the protocol to be used,
`and the object pathname. For example,
`the URL “http://
`www.uspto.gov” (home page for the U.S. Patent & Trade-
`mark Office) specifies a hypertext transfer protocol (“http”)
`and a pathnameofthe server (““www.uspto.gov”). The server
`name is associated with a unique numeric value (a TCP/IP
`address, or “domain”).
`The present invention relates to the monitoring of server
`performance in a network like the Internet. System
`
`50
`
`55
`
`60
`
`65
`
`It is yet another object of the present invention to provide
`such a method that presents historical performance data for
`a plurality of servers running on different plattorms or
`systems.
`The foregoing objects are achieved in a method of moni-
`toring a computer network, generally comprising the steps
`of collecting resource data from a plurality of network
`nodes, analyzing the resource data to generate historical
`performance data, and reporting the historical performance
`data to another network node. In one implementation, the
`plurality of network nodes are servers operating on different
`platforms, and the collecting step includes the step of
`gathering resource data using separate programs having
`different application programminginterfaces for the respec-
`tive platforms. The analyzing step can generate daily,
`weekly, and monthly historical performance data, based on
`a varicty of resources including CPU utilization, memory
`availability, I/O usage, and permanent storage capacity. The
`report may be constructed using a plurality of documents
`related by hypertext
`links. The hypertext
`links can be
`
`
`
`6,148,335
`
`3
`color-coded in response to at least one performance param-
`eter in the historical performance data surpassing an asso-
`ciated threshold. An action list can also be created in
`
`in the
`least one performance parameter
`response to at
`historical performance data surpassing an associated thresh-
`old.
`
`The above as well as additional objectives, features, and
`advantagesof the present invention will become apparent in
`the following detailed written description.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`The novel features believed characteristic of the invention
`are set forth in the appended claims. The invention itself,
`however, as well as a preferred mode of use,
`further
`objectives, and advantages thereof, will best be understood
`by reference to the following detailed description of an
`illustrative embodiment whenread in conjunction with the
`accompanying drawings, wherein:
`FIG. 1 is a diagram of a conventional computer network,
`including interconnected servers and workstation clients;
`TIG. 2 is an illustration of one embodiment of a data
`
`processing system in which the present invention can be
`practiced;
`FIG. 3 is a high-level block diagram illustrating selected
`components that can be included in the data processing
`system of FIG. 2 according to the teachings of the present
`invention;
`FIG. 4 is a conceptual illustration of the data collection,
`analysis and reporting as used in accordance with the present
`invention to manage the performance and capacity of a
`computer network;
`FIG. 5 is an illustration of a browser page having links to
`performance analysis as provided by the present invention;
`FIGS. 6A-6Bare illustration of a browser page showing
`the performance parameters for various server resources in
`accordance with the present invention;
`FIG. 7 is an illustration of a browser page having a graph
`constructed in accordance with the present invention which
`is used to display weekly CPU utilization data for a specific
`server;
`
`FIG. 8 is an illustration of a browser page listing impor-
`tant action items to be addressed which is constructed in
`
`response to certain performance parameters meeting thresh-
`old requirements; and
`FIG. 9 is a chart depicting the overall flow according to
`one implementation of the present invention.
`DESCRIPTION OF AN ILLUSTRATIVE
`EMBODIMENT
`
`The present invention is directed to a method of moni-
`toring server performance in a computer network, such as
`the network of FIG. 1, and particularly to a method and
`computer program product for managing server capacity
`amonga plurality of Internet servers. The invention may,
`however, be implemented in other networks besides the
`Internet. Therefore, while the present invention may be
`understood with reference to FIG. 1, this reference should
`not be construed in a limiting sense.
`With further reference to FIG. 2, a data processing system
`20 is shown in which the present invention can be practiced.
`The data processing system 20 includes processor 22, kcy-
`board 82, and display 96. Keyboard 82 is coupled to
`processor 22 by a cable 28. Display 96 includes display
`serecn 30, which may be implemented using a cathode ray
`
`10
`
`15
`
`20
`
`25
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`4
`tube (CRT), a liquid crystal display (LCD), an electrode
`luminescentpanelorthe like. The data processing system 20
`also includes pointing device 84, which may be imple-
`mented using a track ball, a joy stick, touch sensitive tablet
`or screen,track path, or as illustrated a mouse.‘he pointing
`device 84 may be used to movea pointeror cursor on display
`screen 30. Processor 22 may also be coupled to one or more
`peripheral devices such a modem 92, CD-ROM 78, network
`adapter 90, and floppy disk drive 40, each of which may be
`internal or external to the enclosure or processor 22. An
`output device such as a printer 100 mayalso be coupled with
`processor 22.
`It should be noted and recognized by those persons of
`ordinary skill in the art that display 96, keyboard 82, and
`pointing device 84 may each be constructed using any one
`of several known off-the-shelf components.
`Reference now being made to FIG. 3, a high level block
`diagram is shownillustrating selected components that can
`be included in the data processing system 20 of FIG. 2
`according to the teachings of the present invention. The data
`processing system 20 is controlled primarily by computer
`readable instructions, which can be in the form of software,
`wherever, or by whatever means such software is stored or
`accessed. Such software may be executed within the central
`processing unit (CPU)50 to cause data processing system 20
`to do work.
`
`Memorydevices coupled to system bus 5 include random
`access memory (RAM) 56, read only memory (ROM)58,
`and nonvolatile memory 60. Such memories include cir-
`cuitry that allows information to be stored and retrieved.
`ROMscontain stored data that cannot be modified. Data
`stored in RAM can be changed by CPU 50 or other hardware
`devices. Nonvolatile memory is memory that does not lose
`data when poweris removed from it. Nonvolatile memories
`include ROM, EPROM,flash memory, or battery-pack
`CMOSRAM. Asshownin ['IG. 3, such battery-pack CMOS
`RAM maybeused to store configuration information.
`An expansioncard or board is a circuit board that includes
`chips and other electronic components connected that adds
`functions or resources to the computer. Typically, expansion
`cards add memory, disk-drive controllers 66, video support,
`parallel and serial ports, and internal modems.Forlap top,
`palm top, and other portable computers, expansion cards
`usually take the form of credit card-sized devices designed
`to plug into a slot in the side or back of a computer. An
`example of such a slot is PCMCIA slot (Personal Computer
`MemoryCard International Association) which defines type
`I, II and HI card slots. Thus, empty slots 68 may be used to
`receive various types of expansion cards or PCMCIAcards.
`Disk controller 66 and diskette controller 70 both include
`special purpose integrated circuits and associated circuitry
`that direct and control reading from and writing to hard disk
`drive 72, and a floppydisk or diskette 74, respectively. Such
`disk controllers handle tasks such as positioning read/write
`head, mediating between the drive and the CPU 50, and
`controlling the transfer of information to and from memory.
`Asingle disk controller may be able to control more than one
`disk drive.
`
`CD-ROMcontroller 76 may be included in data process-
`ing 20 for reading data from CD-ROM 78 (compact disk
`read only memory). Such CD-ROMsuselaser optics rather
`than magnetic means for reading data.
`Keyboard mouse controller 80 is provided in data pro-
`cessing system 20 for interfacing with keyboard 82 and
`pointing device 84. Such pointing devices are typically used
`to control an on-screen clement, such as a graphical pointer
`
`
`
`6,148,335
`
`5
`or cursor, Which may take the form of an arrow having a hot
`spot that specifies the location of the pointer when the user
`presses a mouse button. Other pointing devices include a
`graphics tablet, stylus, light pin, joystick, puck, track ball,
`track pad, and the pointing device sold under the trademark
`“Track Point” by IBM.
`Communication between processing system 20 and other
`data processing systems may befacilitated by serial con-
`troller 88 and network adapter 90, both of which are coupled
`to system bus 5. Serial controller 88 is used to transmit
`information between computers, or between a computer and
`peripheral devices, one bit at a time over a single line. Serial
`communications can be synchronous (controlled by some
`standard such as a clock) or asynchronous (managed bythe
`exchange of control signals that govern the flow of
`information). Examples of serial communication standards
`include RS-232 interface and the RS-422 interface. As
`illustrated, such a serial interface may be used to commu-
`nicate with modem 92. A modem is a communication device
`
`that enables a computer to transmit information over stan-
`dard telephone lines. Modems convert digital computer
`signals to interlock signals suitable for communications over
`telephone lines. Modem 92 can be utilized to connect data
`processing system 20 to an on-line information service, such
`as an information service provided under the service mark
`“PRODIGY” by IBM and Sears. Such on-line service pro-
`viders may offer software that can be downloadedinto data
`processing system 20 via modem 92. Modem 92 may
`provide a connection to other sources of software, such as a
`server, an electronic bulletin board (BBS), or the Internet
`(including the World Wide Web).
`Network adapter 90 may be used to connect data process-
`ing system 20 to a local area network 94. Network 94 may
`provide computer users with means of communicating and
`transferring software and information electronically.
`Additionally, network 94 may provide distributed
`processing, which involves several computers in the sharing
`of workloads or cooperative efforts in performing a task.
`Network 94 can also provide a connection to other systems
`like those mentioned above (a BBS, the Internet, etc.).
`Display 96, which is controlled by display controller 98,
`is used to display visual output generated by data processing
`system 20. Such visual output may include text, graphics,
`animated graphics, and video. Display 96 may be imple-
`mented with CRT-based video display, an LCD-based flat
`panel display, or a gas plasma-based flat-panel display.
`Display controller 98 includes electronic components
`required to generate a video signal that is sent to display 96.
`Printer 100 may be coupled to data processing system 20
`via parallel controller 102. Printer 100 is used to put text or
`a computer-generated image (or combinations thereof) on
`paper or on another medium, such as a transparency sheet.
`Other types of printers may include an imagesetter, a plotter,
`or a film recorder.
`
`Parallel controller 102 is used to send multiple data and
`control bits simultaneously over wires connected between
`system bus 5 and another parallel communication device,
`such as a printer 100.
`CPU 50 fetches, decodes, and executes instructions, and
`transfers information to and from other resources via the
`
`computers main data-transfer path, system bus 5. Such a bus
`connects the componentsin a data processing system 20 and
`defines the medium for data exchange. System bus 5 con-
`nects together and allows for the exchange of data between
`memoryunits 56, 58, and 60, CPU 50, and other devices as
`shownin FIG.3. Those skilled in the art will appreciate that
`
`10
`
`20
`
`25
`
`30
`
`35
`
`40
`
`50
`
`55
`
`60
`
`65
`
`6
`a data processing system constructed in accordance with the
`present invention may have multiple components selected
`from the foregoing, including even multiple processors.
`Referring now to ['IG. 4, one implementation of the
`present invention allows data processing system 20 to act in
`a manner similar to a client,
`in order to collect server
`resource information (110), and then analyze (112) and
`present (114) this information to an end user. In this server
`resource management (SRM) architecture, data collection
`(110) is accomplished using a program referred to as a
`remote commandfacility (RCF) which works by executing
`UNIX commandsto gatherutilization data from one or more
`servers; the commandsare relatively lowcost (in terms of
`resource usage). The only requirement for a managed server
`is that it have available a scripting language that can run the
`RCF process. One such scripting language is known as
`PERL(practical extraction and report language). This tool,
`which is limited to UNIX-type environments,
`is used to
`issue the commands whichgather the bulk of the data. Other
`collection techniques could be used to get
`the resource
`information, including alternative scripting languages such
`as K-shell(the base scripting language available with nearly
`all UNIX versions).
`The RCF process can use the low-impact “sockets”
`interface, and be extensible for executing data gathering
`commands on other brands of UNIX. Resource impact on
`the servers is minor. In trials of this SRM implementation,
`very few data collection misses occurred. RCF collects key
`server
`resource data including current CPU utilization,
`memory availability,
`I/O usage, and permanent storage
`(disk) capacity. An outputfile is generated (116), containing
`the collected information. The file can be stored locally at
`data processing system 20 (on hard disk drive 72), or stored
`at a remote location, e.g., an internet server (preferably not
`one of the servers being monitored).
`When applied to the Internet, or similar networks, the
`present
`invention can provide a user interface for data
`collection by using conventional communications software
`(a web browser) which is adapted to display a page having
`commands or tool bars used to manage data collection.
`Other communications software can be used besides stan-
`
`dard web browsers. For example, SAP 4.1 has a web-
`enabled interface for all management data. The displayed
`RCFicons can optionally initiate Java programs (“applets”)
`that issue the RCFto selected servers. In fact, the RCF could
`itself be a Java program that remotely gathers operating
`system statistics through the use of Java language
`subclasses, executing as an architecture-independent applet
`running on a real browser, a “virtual” browser, or an applet
`interface. These subclasses could be extended to give utili-
`zation and response metrics that
`include packet errors,
`response times of SAP transactions, CPU busyratios, etc. A
`universal agent could then be designed for collecting per-
`formance data on any type of node, freeing the system
`designer from being forced to use a multitude of different
`commands, tools and daemons running on each node. The
`Java URL class could be used to implement the above; a web
`manager could request the agent to produce a URL with
`relevant data which would then be processed for analysis.
`If a server does not run a UNIX-type platform, other
`commands can be used to collect the data. For cxamplc,
`resource data for an OS/2 server can be collected using the
`IBM Netfinity product. For the SAP business management
`system, a new application programming interface (API) can
`be constructed. The API can be written in the ABAP
`language used by SAP. An appropriate API may be con-
`structed by modifying SAP’s RSSTAT20 command,to write
`
`
`
`6,148,335
`
`7
`special “SAP Single Records,” or SR’s, to a file. RSSTAT20
`is part of the much-used STATtransaction. This new modi-
`fied API, referred to herein as ZPERSTAT, runs as a SAP
`batch job on each application server. SR’s are created for
`every end-user’s interaction with a SAP screen. SR’s not
`only identify the timestamp, userid, SAP program and screen
`number, but also contain performance/utilization statistics
`on the various components of response time such as wait for
`dispatch, database request time, CPU used,etc. Because the
`number of SR’s for each SAP application server is large
`(currently 6-12 megabytes, probably 100 megabytes in the
`future), ZPERSTAT may evolve to perform dala processing
`and analysis onitself (or at least some part thereof) reducing
`the disk and networking requirements. Since ZPERSTAT is
`a modification of RSSTAT20,it provides a stable interface.
`In the foregoing manner, key performance and capacity
`data from a wide variety of servers becomes web-accessible.
`Data collection using the RCFisstraightforward, automated,
`and easily scaled. Data collection from different servers can
`occur at different
`times, ie.,
`there is no need for data
`processing system 20 to be continuously connected to each
`of the servers.
`
`Once the data has been collected, it can be deposited into
`an appropriate database (116), and perhaps merged with
`otherhistorical data previously collected. The collected data
`can then be forwarded (e.g., via FTP) to a node running an
`analysis program, such as the Statistical Analysis System
`(SAS). This software provides a programming language
`used to analyze data processing. While other statistical
`algorithms could be used to perform the analysis (even a
`Java applet), SAS provides powerful parsing of disparate
`data sources/formats, and intrinsic time arithmetic and sum-
`marizing capabilities. Threshold exception logic can be
`applied at
`this stage for different server platforms. For
`example, SAS processing of SAP data offers new ways for
`an administrator or IT supervisor to view the performance
`data. Key transactions can be grouped together and averaged
`to show how well they are running. A service group can also
`be aggregated from “trivial” SAP transactions such as log-
`ging into the main menu. This group is quite helpful for
`determining how the “system” is running, and has repeat-
`edly proved its use in determining system versus network
`problems. SAS processing may be replaced by using SAP’s
`business metric and statistical applications.
`The analyzed data can be presented in a variety of media
`or formats. In one implementation, a web browser can again
`be used to view the analysis, by creating an HTMLfile
`which is then placed on the network(e.g., the World Wide
`Web) in such a manneras Lo be accessible and usable by the
`end-user. The presentation technology can exploit conven-
`tional web browsers by using color-coding thresholds for
`platform resource utilization via the intuitive green/yellow/
`red color scheme. This scheme is understandable to the
`non-technical user and the very busy executive. The URT.
`can also have a search on node capability, and use red/
`yellow alerts on exception reports.
`An exemplary web page constructed in accordance with
`the present invention is shown in FIG. 5. Page 120 includes
`a plurality of links 122 which may be selected by the user to
`retrieve additional pages detailing performancestatistics
`(daily, weckly, or monthly) for various scrvcr resources. A
`further page 124 shownin FIG.6 is an AIX example of such
`a detailed page. Page 124 depicts performance trends for one
`server over several days. Statistical parametcrs shown
`include: the number of observations; CPU utilization; sys-
`tem usage percentage; user usage percentage; percentage of
`time I/O wait is greater than 40%; run queue length; active
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`8
`virtual memory (AVM); free space (FRE); percentage of
`time CPU utilizationis greater than 85%; percentage of time
`CPU utilization is greater than 90%; percentage of time run
`queue is greater than 5; percentage of time storage usage is
`greater than 85%; percentage ol time storage usageis grealer
`than 90%; and per