throbber
US006148335A
`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

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket