|
|
|
| United States Patent | 5483468 |
| Link to this page | http://www.wikipatents.com/5483468.html |
| Inventor(s) | Chen; James N. (Austin, TX);
Christiansen; Niels (Austin, TX);
Ross; Joseph C. (Georgetown, TX);
Rowan; Albert T. (Austin, TX) |
| Abstract | A system and method for concurrently recording and displaying of system
performance data. System statistical data which is useful in determining
the overall performance of a data processing system is captured,
displayed, and recorded for subsequent playback. Based on the modular
design, real time data can be concurrently captured, displayed and
recorded. Attributes of the data can also be modified concurrently with
the capture and display of data. Previously recorded data can also be
displayed while concurrently capturing and recording other/additional
data. A user interface is provided to conveniently control the concurrent
operations. The data being displayed can be manipulated by a user to
resize, move and scroll data being displayed without disturbing the
underlying capture and recording of data. When the user interactions
terminate, the display screen reflects the changes made, without loss of
data. Multiple categories of process data can be viewed on a single
timeline graph. |
|
|
|
Title Information  |
|
|
|
|
|
Drawing from US Patent 5483468 |
|
|
System and method for concurrent recording and displaying of system
performance data |
|
|
|
|
|
| Publication Date |
January 9, 1996 |
|
|
|
|
|
| Filing Date |
October 23, 1992 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Title Information  |
|
|
References  |
|
|
| *references marked with an asterisk below are user-added references |
|
U.S. References |
|
|
| Add a new US reference: |
| | Reference | Relevancy | Comments | Reference | Relevancy | Comments | 5166890 Smischny
Nov,1992 |      Your vote accepted [0 after 0 votes] | | 5161115 Teshima
Nov,1992 |      Your vote accepted [0 after 0 votes] | | 5075675 Barker
Dec,1991 |      Your vote accepted [0 after 0 votes] | | 5067107 Wade
Nov,1991 |      Your vote accepted [0 after 0 votes] | | 5062055 Chinnaswamy
Oct,1991 |      Your vote accepted [0 after 0 votes] | | 5050105 Peters 715/854 Sep,1991 |      Your vote accepted [0 after 0 votes] | | 5013394 Rolland 216/22 May,1991 |      Your vote accepted [0 after 0 votes] | | 4951229 DiNicola 345/533 Aug,1990 |      Your vote accepted [0 after 0 votes] | | 4943968 Hirose 714/38 Jul,1990 |      Your vote accepted [0 after 0 votes] | | 4937743 Rassman 705/8 Jun,1990 |      Your vote accepted [0 after 0 votes] | | 4905171 Kiel 702/186 Feb,1990 |      Your vote accepted [0 after 0 votes] | | 4878183 Ewart 345/428 Oct,1989 |      Your vote accepted [0 after 0 votes] | | 4845644 Anthias 715/803 Jul,1989 |      Your vote accepted [0 after 0 votes] | | 4823290 Fasack 340/825.01 Apr,1989 |      Your vote accepted [0 after 0 votes] | | 4821178 Levin 714/47 Apr,1989 |      Your vote accepted [0 after 0 votes] | | 4730315 Saito 714/38 Mar,1988 |      Your vote accepted [0 after 0 votes] | | 4653020 Cheselka 715/788 Mar,1987 |      Your vote accepted [0 after 0 votes] | | 4651146 Lucash 715/806 Mar,1987 |      Your vote accepted [0 after 0 votes] | | 4633467 Abel 714/45 Dec,1986 |      Your vote accepted [0 after 0 votes] | | 4590550 Eilert 714/45 May,1986 |      Your vote accepted [0 after 0 votes] | | 4533997 Furgerson 703/21 Aug,1985 |      Your vote accepted [0 after 0 votes] | | 4533910 Sukonick 715/806 Aug,1985 |      Your vote accepted [0 after 0 votes] | | 4485440 Duff 713/600 Nov,1984 |      Your vote accepted [0 after 0 votes] | | 4459656 Wilder, Jr. 713/500 Jul,1984 |      Your vote accepted [0 after 0 votes] | | 4373184 Lambregts 701/3 Feb,1983 |      Your vote accepted [0 after 0 votes] | | 4296727 Bryan 126/116A Oct,1981 |      Your vote accepted [0 after 0 votes] | | 4291376 McCahill 702/61 Sep,1981 |      Your vote accepted [0 after 0 votes] | | 4034353 Denny 345/440 Jul,1977 |      Your vote accepted [0 after 0 votes] | | 4019040 Thompson 377/54 Apr,1977 |      Your vote accepted [0 after 0 votes] | | 3829841 Steinberg 345/440 Aug,1974 |      Your vote accepted [0 after 0 votes] | | |
|
|
|
|
U.S. References |
|
|
Foreign References |
|
|
|
|
|
|
Foreign References |
|
|
Other References |
|
|
|
|
|
|
Other References |
|
|
|
|
|
References  |
|
|
|
|
|
| Market Size |
|
Estimate the gross annual revenues of the relevant market
sector:
|
| | |
| |
|
|
| Market Share |
|
Estimate the percentage of the relevant market sector this invention will capture:
|
| | |
| |
|
|
| Reasonable Royalty |
|
What percentage of gross sales should the inventor or assignee be paid?
|
| | |
| |
|
|
|
Public's "Guesstimation" of Royalty Value
|
| Market Size | N/A | [No votes] | | x | Market Share | N/A | [No votes] | | x | Reasonable Royalty | N/A | [No votes] |
| | N/A | |
| |
|
|
|
|
|
|
|
|
|
|
|
|
Market Review  |
|
|
Technical Review  |
|
|
Claims  |
|
|
We claim:
1. A process implemented by a computer system, having at least one host, a
processor, memory, a display, and user controls, for concurrently
displaying multiple views of a statistic to analyze the performance of
said computer system, comprising the computer system implemented steps of:
receiving by said processor an event-causing command from said user
controls;
in response to receiving said event-causing command, generating by said
processor an event on said host that produces said statistic;
receiving by said processor at least a first sampling interval command and
a second sampling interval command from said user controls;
capturing by said processor first samples of said statistic at .said first
sampling interval;
concurrently capturing by said processor second samples of said statistic
at said second sampling interval; and
concurrently displaying by said processor said captured first and second
samples on said display, thereby permitting a comparison of said first
samples with said second samples of said statistic.
2. The process according to claim 1 further comprising the step of
recording by a recording subsystem said captured first and second samples
in said memory concurrently with said displaying of said captured first
and second samples.
3. The process according to claim 1 wherein said first and second samples
are displayed by said processor in a single console on said display.
4. The process according to claim 3 further comprising the step of
displaying by said processor said first samples in a first instrument
within said console and displaying said second samples in a second
instrument within said console.
5. The process according to claim 4 further comprising the step of
displaying by said processor a plurality of statistics in said first
instrument, each of said statistics being sampled at said first sampling
interval.
6. The process according to claim 1 further comprising displaying by said
processor multiple consoles comprising captured statistics of differing
sampling intervals.
7. The process according to claim 1 wherein said displaying step comprises
the step of displaying by said processor said first and second samples
according to a predefined presentation style.
8. The process according to claim 7 further comprising the steps of:
receiving by said processor a modify-representation command form said user
controls; and
dynamically changing said presentation style by said processor while said
first and second samples are being displayed.
9. The process according to claim 1 wherein said first and second samples
are displayed by said processor on said display in a time graph.
10. The process according to claim 9 further comprising the steps of:
receiving by said processor a scrolling command from said user controls;
and
scrolling said time graph backward or forward by said processor on said
display.
11. The process according to claim 9 further comprising the step of
dynamically switching said time graph to a state graph.
12. The process according to claim 9 wherein each of said first or second
samples are superimposed one on another when displayed on said time graph
by said processor as specified by said user controls of said computer
system.
13. The process according to claim 1 wherein said first and second samples
are displayed said processor on said display at the same time other live
data is being displayed and recorded on said display.
14. The process according to claim 1 wherein said first and second samples
are displayed concurrently by said processor in a plurality of instruments
on said display at variable speeds.
15. The process according to claim 1 further comprising the step of erasing
a part of said first or second samples by said processor as specified by
said user controls of said computer system.
16. The process according to claim 1 wherein each of said first and second
samples are displayed using differing styles by said processor as
specified by said user controls of said computer system.
17. The process according to claim 1 wherein said first and second samples
are displayed as a state graph by said processor as specified by said user
controls of said computer system.
18. A computer system for concurrently displaying multiple views of a
statistic to analyze the performance of said computer system, comprising:
a processor;
at least one host;
user controls for receiving a plurality of commands;
means for generating by said processor an event on said host that produces
said statistic in response to an event-causing command from said user
controls;
means for capturing by said processor first samples of said statistic at a
first sampling interval;
means for concurrently capturing by said processor second samples of said
statistic at a second sampling interval; and
a display for concurrently displaying said first samples and said second
samples, thereby permitting a comparison of said first samples with said
second samples for said statistic.
19. The computer system according to claim 18 wherein said means for
generating by said processor an event on said host comprises a network
send/receive interface.
20. The computer system according to claim 18 wherein said display
comprises a console having an instrument for displaying a plurality of
statistics.
21. The computer system according to claim 20 wherein said console
comprises multiple instruments for displaying captured samples of
differing sampling intervals.
22. The computer system according to claim 21 wherein each of said
plurality of statistics are displayed using differing graphical styles on
said display by said computer system.
23. The computer system according to claim 18 wherein said processor
displays said first and second samples at the same time other live data is
being displayed and recorded on said display.
24. The computer system according to claim 18 wherein said first and second
samples are displayed by said processor as a time graph.
25. The computer system according to claim 24 further comprising means for
dynamically switching said time graph to a state graph.
26. The computer system according to claim 24 wherein each of said first or
second samples are superimposed one on another by said processor when
displayed on said time graph.
27. The computer system according to claim 18 further comprising means for
scrolling said time graph backward or forward on said display.
28. The computer system according to claim 18 wherein said first or second
samples are displayed by said processor concurrently in a plurality of
instrument on said display.
29. The computer system according to claim 18 further comprising means for
erasing a part of said first and second samples as specified by said user
controls to said computer system.
30. The computer system according to claim 18 further comprising a
recording subsystem for concurrently recording said first and second
samples in a memory device when said first and second samples are being
displayed on said display by said processor.
31. A process implemented by a computer system having at least one host, a
display, processor, memory and user controls, for concurrently displaying
multiple views of a first and second statistic to enable correlation
between said first and second statistics, comprising the system
implemented steps of:
receiving by said processor at least a first and second event-causing
command from said user controls;
in response to receiving said first event-causing command, generating by
said processor a first event on said at least one host that produces said
first statistic;
in response to receiving said second event-causing command, generating by
said processor a second event of said at least one host that produces said
second statistic;
receiving by said processor at least a first sampling interval command and
a second sampling interval command from said user controls;
capturing first samples by said processor of said first statistic at a
first sampling interval;
concurrently capturing by said processor second samples of said second
statistic at a second sampling interval; and
concurrently displaying by said processor said first samples and said
second samples on said display, thereby enabling correlation between said
first and second statistic.
32. The process according to claim 31 further comprising the step of
recording by a recording subsystem said captured first and second samples
concurrently with said displaying of said captured first and second
samples.
33. The process according to claim 32 further comprising the steps of
capturing, displaying, and recording by said processor a third statistic
on said display while said first and second samples are being recorded.
34. The process according to claim 31 further comprising the steps of
capturing and displaying a third statistic by said processor on said
display while said first and second samples are being displayed on said
display.
35. The process according to claim 31 further comprising the step of
deleting said first statistic while said second statistic is being
captured as specified by said user controls.
36. The process according to claim 31 further comprising the step of
displaying multiple instruments within a console on said display, wherein
each of said instruments comprises samples from a plurality of statistics.
37. The process according to claim 31 wherein said first event is generated
by said processor from a first host and said second even is generated from
a second host of said computer system.
38. The process according to claim 31 wherein said first sampling interval
is substantially equal to said second sampling interval.
39. A computer system for concurrently displaying multiple views of a first
and second statistic, comprising:
processor;
user controls for transmitting a plurality of commands to said processor;
means for generating by said processor said first statistic in response to
a first generating command by said user controls;
means for generating by said processor said second statistic in response to
a second generating command by said user controls;
in response to a first sampling-interval command by said user controls,
means for capturing by said processor first samples of said first
statistic at a first sampling interval;
in response to a second sampling-interval command by said user controls,
means for second samples of said second statistic at a second sampling
interval; and
a display for concurrently displaying said first samples and said second
samples, thereby enabling correlation between said first and second
statistics.
40. The computer system according to claim 39 wherein said means for
generating by said processor said first statistic comprises means for
causing an event on a first host.
41. The computer system according to claim 39 wherein said means for
generating by said processor said second statistic comprises means for
causing an event on a second host. |
|
|
|
|
Claims  |
|
|
Description  |
|
|
A portion of the disclosure of this patent document contains material which
is subject to copyright protection. The copyright owner has no objection
to the facsimile reproduction by anyone of the patent document or the
patent disclosure, as it appears in the Patent and Trademark Office patent
file or records, but otherwise reserves all copyright rights whatsoever.
CROSS REFERENCE TO RELATED PATENT APPLICATIONS
Ser. No. 07/713,484, filed Jun. 10, 1991 now abandoned for REAL TIME SYSTEM
RESOURCE MONITOR FOR DATA PROCESSING SYSTEM, currently co-pending, and
assigned to the same assignee as the present invention and hereby
incorporated by reference.
Ser. No. 07/713,471, filed Jun. 10, 1991 now abandoned for REAL TIME SYSTEM
RESOURCE MONITOR FOR DATA PROCESSING SYSTEM WITH SUPPORT FOR DYNAMIC
VARIABLE UPDATE AND AUTOMATIC BOUNDING, currently co-pending, and assigned
to the same assignee as the present invention and hereby incorporated by
reference.
Ser. No. 07/713,486, filed Jun. 10, 1991 now abandoned for REAL TIME
INTERNAL RESOURCE MONITOR FOR DATA PROCESSING SYSTEM, currently co-ending,
and assigned to the same assignee as the present invention and hereby
incorporated by reference.
Ser. No. 07/965,982, having internal docket number AT9-92-096, filed Oct.
23, 1992 for SYSTEM AND METHOD FOR MAINTAINING PERFORMANCE DATA IN A DATA
PROCESSING SYSTEM, currently co-pending, and assigned to the same assignee
as the present invention, which is hereby incorporated by reference.
Ser. No. 07/965,959, having internal docket number AT9-92-101, filed Oct.
23, 1992 now abandoned for SYSTEM AND METHOD FOR DISPLAYING SYSTEM
PERFORMANCE DATA, currently co-pending, and assigned to the same assignee
as the present invention, which is hereby incorporated by reference.
Ser. No. 07/965,960, having internal docket number AT9-92-103, filed Oct.
23, 1992 for SYSTEM AND METHOD FOR REAL TIME VARIABLE GRANULARITY
RECORDING OF SYSTEM PERFORMANCE DATA, currently co-pending, and assigned
to the same assignee as the present invention, which is hereby
incorporated by reference.
Ser. No. 07/965,954, having internal docket number AT9-92-107, filed Oct.
23, 1992 for SYSTEM AND METHOD FOR DYNAMICALLY CONTROLLING REMOTE
PROCESSES FROM A PERFORMANCE MONITOR, currently co-pending, and assigned
to the same assignee as the present invention, which is hereby
incorporated by reference.
Ser. No. 07/965,981, having internal docket number AT9-92-141, filed Oct.
23, 1992 for SYSTEM AND METHOD FOR MONITORING AND OPTIMIZING PERFORMANCE
IN A DATA PROCESSING SYSTEM, currently co-pending, and assigned to the
same assignee as the present invention, which is hereby incorporated by
reference.
Ser. NO. 07/965,953, having internal docket number AT9-92-146, filed Oct.
23, 1992 for SYSTEM AND METHOD FOR ANNOTATION OF REAL TIME DATA IN A DATA
PROCESSING SYSTEM, currently co-pending, and assigned to the same assignee
as the present invention, which is hereby incorporated by reference.
TECHNICAL FIELD
This invention relates to the area of data processing systems, and more
particularly to the field of performance tools used to analyze the
operations of data processing systems.
BACKGROUND ART
As data processing systems continue to grow in complexity, traditional
tools used in the development, design and debug of such systems become
increasingly impractical to use. For example, in the development and
design of personal computers, an engineer could use a logic analyzer and
oscilloscope to assist in locating errors in hardware and software. As the
software running on these data processing systems became more complex,
tools such as in-circuit emulators were developed, whereby the instruction
flow of a central processing unit (CPU) could be captured and analyzed.
These types of tools still require a large amount of human intervention
and human analysis to assist in problem determination.
Various types of software tools have been introduced in the marketplace to
assist in monitoring a data processing system, such as the System
Performance Monitor/2 from-IBM. This tool provides a graphical interface
to visually depict various aspects of a data processing system, and
greatly reduces the amount of time required to analyze the operation of a
data processing system. Although these systems provide a substantial
improvement over previous methods for monitoring and analyzing a data
processing system, there are still certain deficiencies. First, they are
geared towards hardware resources in a data processing system, and do not
fully address the ability to monitor software processes or applications.
Secondly, the flexibility and granularity provided are limited. Further,
performance data is merely output to a user display device, and thus does
not provide full flexibility in analyzing the data being captured.
Network monitoring tools such as IBM NetView/6000 (TM) programs are
concerned primarily with supervision and corrective action aiming at
keeping the network resources available and accessible. Resource
availability is the concern of such tools, rather than resource
utilization. For example, IBM NetView/6000 tracks the amount of free space
of a disk.
There is a need to provide a data processing system performance tool that
is flexible and easy to use, that can monitor hardware as well as software
events and process activities, that can capture data (e.g. read sampled
data) for subsequent retrieval and analysis, and that provides other
facilities to further analyze and categorize such captured data.
SUMMARY OF THE INVENTION
It is an object of the present invention to provide a highly flexible
analysis tool for a data processing system.
It is a further object of the present invention to provide a performance
tool for a data processing system.
It is yet a further object of the present invention to provide a tool for
monitoring, capturing, saving, retrieval and analysis of data processing
system operations.
These objects and others are accomplished by a performance tool, its
related application programming interfaces and the performance daemon are
designed for interactive selection of performance statistics across a
network of computer systems, the control of the flow of performance data,
and the monitoring of the remote host(s) performance in live graphs.
Some of the key aspects of the design are in the combination of (1)
graphical monitoring of remote data in highly customizable graphs capable
of combining plotting styles; (2) the monitoring program is not required
to know which hosts in the network can supply statistics and which
statistics are available from each host; (3) interactive exploration of
the sources of statistics on the network and the collection of statistics
available from each source; and (4) the negotiation of what data systems
processes to monitor across the network.
A computer system is made up of a variety of different types of hardware
and software components, such as network nodes, CPUs, memory, processes,
etc. In the field of performance analysis, these objects represent
different contexts for the collection of performance data, and the
computation of performance statistics.
Since the computing environment can be decomposed into successively smaller
and smaller components, it defines a hierarchy of these performance
analysis contexts. In the xmperf performance tool disclosed herein, all
statistics are associated with particular contexts, and these contexts are
identified by listing all the contexts which are traversed in going from
the top-level context to that | | |