Error detection/correction and fault detection/recovery – Data processing system error or fault handling – Reliability and availability
Reexamination Certificate
1993-06-01
2001-06-12
Ellis, Richard L. (Department: 2183)
Error detection/correction and fault detection/recovery
Data processing system error or fault handling
Reliability and availability
C714S039000, C710S015000
Reexamination Certificate
active
06247148
ABSTRACT:
FIELD OF THE INVENTION
This invention relates generally to an architecture for a server extension used in a computer system and in particular to an architecture for a server extension for intercepting input events and protocol requests generated by an application program. The intercepted input events and protocol requests are subsequently used for any purpose, for example determining the time lapse between the input event and the protocol request for evaluating the performance of the server and/or the application program.
BACKGROUND
The server is the part of a computer system's architecture that functions as the interface between the computer or central processing unit and the user. It is desirable to test or evaluate the performance of the server for various purposes. For example, long delays between a user input and the system response can be detected and subsequently eliminated. Similarly, it is desirable to test and evaluate application programs running on the central processor unit of the computer for many purposes.
Common methods of performance testing a server involve the use of video cameras or stop watches. In one such method the user or operator working at a terminal and the terminal screen are filmed by a video camera. Thereafter the video is replayed on a machine that displays time as a function of the film speed. Performance metrics are then calculated based upon the difference between the displayed time of a starting film event and an ending film event. The performance metrics for each timed event are then recorded. In another method, the step of calculating performance metrics comprises manually timing response times with a stop watch. In either method, the performance metrics for all of the timed events are then analyzed to determine the performance of the applications or server. This same approach is also used to determine the performance of the server for a single or specific input event. This procedure is time-consuming, tedious, and prone to error. Furthermore, this procedure requires actual operation by the user at a workstation. Thus, simulated user input is impossible. Furthermore, since actual user input is inconsistent from one operation to the next, it is impossible to have consistent input from run to run.
Another way of testing the performance of an application program or a server in response to input events or protocol requests is with remote terminal emulation (RTE). RTE dispenses with a live user or operator for sending input to the server or the application program and replaces the operator with software generated input events which are loaded onto the server input event queue. However, prior attempts at RTE on servers of the X window type systems have failed to provide a way to intercept output generated protocol requests by the server or the application. Furthermore, none of these attempts have supported receiving simulated input from a remote source, i.e., a source that sends input over a non x transport link, such as network or asynchronous terminal line. Thus, these prior attempts at RTE cannot test system configurations involving networks, modems and other peripheral devices.
SUMMARY OF THE INVENTION
The present invention is an architecture for a server extension used in a computer system. An extension is a software module that performs server functions and has access to the server variables but is not a permanent part of the server. The server extension intercepts user input events before they are received by the application program (also called a client), writes or stores information about the input, including the type of input and the time it was intercepted, into a client defined location. The client defined location can be any type of storage such as a sequential file. The storage can be local or at a remote location and be connected over a modem line, a terminal line or a network line. Furthermore, the server extension intercepts output protocol requests generated by the application program before they result in visible changes to the screen display of a terminal. An output protocol request is a signal generated by an application program and sent to the server, which causes the server to draw text or graphics on the screen of a terminal. The server extension also writes or stores information about the output protocol request including the type of request and the time it was intercepted, into a client defined location. The client defined location can be any type of storage such as a sequential file. The storage can be local or at a remote location and connected over a modem line, a terminal line or a network line. Finally, the server extension is capable of receiving input from user operated input devices such as the mouse or keyboard of a workstation or simulated input from the controlling client.
The server extension architecture as described above intercepts input events and protocol requests which are used to enable the controlling client to monitor a server or the application program or to control a workstation for example testing the performance of applications, system configurations, and user interfaces. The data structures of the server extension architecture are configured in a portion or block of memory and mimic or are substantially identical to the data structures of the server which are configured in a different portion or block of memory. In addition the server extension architecture of the present invention is operated under the control of the client or application program. Thus, while the server extension architecture is described in relation to the well known X server operating system program, it can also be implemented with any other operating system.
The server extension architecture also provides RTE, remote terminal emulation and is capable of receiving simulated input from a remote source. For example the server extension architecture provides RTE capability for the X Window System which is a well known operating system documented in R. W. Scheiffler, J. Gettys, and R. Newman.
X Window System
. Digital Press (1988). The server extension architecture also provides a quick, inexpensive means for software regression testing, and competitive or interoperability testing of applications among different hardware and software platforms. The server extension architecture also facilitates computer-based instructions where it is important to monitor a user's interaction at a terminal and be able to demonstrate correct interactions. It further facilitates trade show demonstrations where the demonstrator need not understand the application being demonstrated or needs to concentrate on the customer rather than the demonstration. As is apparent from the above examples the server extension architecture of the present invention can be used for a wide variety of purposes which will be apparent to those skilled in the field.
REFERENCES:
patent: 3585599 (1971-06-01), Hitt et al.
patent: 3958111 (1976-05-01), Hackett
patent: 4084235 (1978-04-01), Hirtle et al.
patent: 4166290 (1979-08-01), Furtman et al.
patent: 4205370 (1980-05-01), Hirtle
patent: 4437184 (1984-03-01), Cork et al.
patent: 4564903 (1986-01-01), Guyette et al.
patent: 4589068 (1986-05-01), Heinen, Jr.
patent: 4617663 (1986-10-01), Lake et al.
patent: 4703416 (1987-10-01), Crupi et al.
patent: 4734853 (1988-03-01), Nakano
patent: 4763242 (1988-08-01), Lee et al.
patent: 4768150 (1988-08-01), Chang et al.
patent: 5022028 (1991-06-01), Edmonds et al.
patent: 5058000 (1991-10-01), Cox et al.
patent: 5067107 (1991-11-01), Wade
patent: 5086393 (1992-02-01), Kerr et al.
patent: 5142679 (1992-08-01), Owaki et al.
IBM Technical Disclosure Bulletin, vol. 28, No. 12, May 1986, New York, US; pp. 5573-5574;Collect Host/Network Traffic at VTAM Control Point.
Computer, vol. 8, No. 11, Nov. 1975, Long Beach US, pp. 51-61; G. J. Nutt et al.,Tutorial: Computer System Monitors.
The Xlib Validation Test Suite T7 Release Notes date unknown.
Islam et al., “Testing Window Systems,” 28thAnnual Technical Symposium, Washington DC, Aug. 23, 1989.*
Software Research, Inc., “Cap Bak
Annicchiarico Richard Francis
Chesler Robert Todd
Jamison Alan Quentin
Compaq Computer Corporation
Ellis Richard L.
Hogan & Hartson LLP
Kubida William J.
Sirr Francis A.
LandOfFree
Server extension for a computer system does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with Server extension for a computer system, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Server extension for a computer system will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-2443913