Patents Assigned to Compuware Corporation
  • Patent number: 6219050
    Abstract: A user interface for a protocol analyzer or similar network management software product provides a graphical representation of the behavior of packets in a packet trace with respect to time, graphically showing a transmission time, source node and destination node. In a preferred implementation, the user interface, called a “bounce diagram,” contains a time axis, and a number of node lines parallel thereto, each node line associated with a node label for a node in the packet trace. Each packet in the packet trace is represented by a packet arrow which extends from a node line for the source node to a node line for the destination node of the packet. The packet arrow is preferably color coded to indicate the size of the packet. Preferably, there is a packet density graph which indicates in each time interval a number or percentage of packets of the packet trace transmitted during the time interval.
    Type: Grant
    Filed: July 16, 1997
    Date of Patent: April 17, 2001
    Assignee: Compuware Corporation
    Inventor: Stephen J. Schaffer
  • Patent number: 6186677
    Abstract: Instrumenting a computer program to provide instrumented byte code includes examining an initial intermediate representation of the program, selecting portions of the initial intermediate representation for instrumentation, and instrumenting the portions. Selecting the portions may include choosing portions of the initial intermediate representation corresponding to pointer arithmetic operations, operations that reads memory locations, operations that change memory locations, and/or operations that causes program variables to become defined or undefined within the program. Instrumenting the portions may include adding run time code that provides a user with an indication when a run time error occurs. The portions may subsequently be converted to byte code.
    Type: Grant
    Filed: April 23, 1998
    Date of Patent: February 13, 2001
    Assignee: Compuware Corporation
    Inventors: David J. Angel, Farokh Morshed, David A. Seidel
  • Patent number: 6182146
    Abstract: A system, method, and software product dynamically determine network applications associated with any ports being used by packets on a network, allowing the packets to be properly routed, counted, and reported according to their applications. In one embodiment, an application-port mapping table stores static associations or mappings between applications and ports, as defined by a standards body or other source. The application-port mapping table is dynamically updated during runtime to reflect dynamic associations between applications and ports as extracted from packet data. The associations are identified by a packet analysis module which performs a two step verification of an application for a packet. In a first step, the packet analysis module applies the ports from a packet to the application-port mapping table to obtain a first application identifier. In a second, separate step, the packet analysis module applies identification logic to the packet to identify an application based on packet data.
    Type: Grant
    Filed: June 27, 1997
    Date of Patent: January 30, 2001
    Assignee: Compuware Corporation
    Inventor: John Graham-Cumming, Jr.
  • Patent number: 6144961
    Abstract: A network monitoring and management system (10) is provided for use in conjunction with a computer network array (12) including a plurality of identifiable branch arrays known as LANS (14). The system (10) includes a sampling assembly () including a plurality of probe computers (42) situated along selected ones of the LANS (14) for "capturing" data packets (22) and building probe objects (52) corresponding thereto. The system (10) further includes an analysis assembly () including a database computer (98) for receiving a plurality of probe objects (52) and manipulating them with a database builder routine (96) into database objects (100), which are stored in a database (99). The database (99) is then subject to analysis routines in a database management system (138) which extract and display information relating to the operational parameters of the computer network array (12), including a network map (144), a plurality of conversation path maps (150) and performance specifications.
    Type: Grant
    Filed: March 21, 1997
    Date of Patent: November 7, 2000
    Assignee: Compuware Corporation
    Inventor: Pierre de la Salle
  • Patent number: 6035426
    Abstract: The invention modifies an executing instance (target process) of an arbitrary computer program by replacing the heap manager in the target process. All functions in the process that manipulate dynamic memory are patched with replacement functions that implement improved heap management. The invention is applicable to any computer program that makes use of dynamic (heap) memory. In a second aspect of the invention, the improved heap implementation performs heap error checking in addition to managing heap storage. Alternative embodiments use the invention to improve performance (speed) using fast allocation algorithms, improve space efficiency of the program, or implement tracing of heap activity for debugging purposes.
    Type: Grant
    Filed: August 20, 1998
    Date of Patent: March 7, 2000
    Assignee: Compuware Corporation
    Inventor: Arthur D. Applegate
  • Patent number: 6031990
    Abstract: A test management system is provided having high flexibility of test structuring capabilities, and fine-grained control over how tests are executed. The test management system is extensible; i.e., it can integrate with modern testing tools without requiring a modification of the system itself. More specifically, the test management system uses concepts such as encapsulation and inheritance in order to provide powerful test structuring and test execution capabilities and a framework for integrating with multiple "point tools" that create test cases or help analyze the state of a software program. As is the case with object-oriented software, the test management system is very extensible and new point tools can easily be integrated with the system. The test management system also allows reuse of "rules" specified at different levels in the test structure.
    Type: Grant
    Filed: April 15, 1997
    Date of Patent: February 29, 2000
    Assignee: Compuware Corporation
    Inventors: Arunachallam Sivakumar, Stephen L. Kaufer
  • Patent number: 6016466
    Abstract: Determining execution time for a portion of software includes obtaining a first time stamp value at a beginning of the portion and obtaining a second time stamp value at an end of the portion. At least one of the first and second time stamp values is adjusted to compensate for any amount of time that the portion is swapped out in a multitasking operating system. The first time stamp value is subtracted from the second time stamp value to determine execution time. Determining execution time may also include providing a deltaout value that is initialized to zero prior to the portion being run for a first time. The deltaout value is incremented by an amount of time the portion is swapped out. The first time stamp value is compensated by subtracting the deltaout value therefrom and the second time stamp value is compensated by subtracting the deltaout value therefrom.
    Type: Grant
    Filed: May 14, 1998
    Date of Patent: January 18, 2000
    Assignee: Compuware Corporation
    Inventors: Thomas Guinther, James Austin
  • Patent number: 6006263
    Abstract: A system and method is described for expediting the transfer of data in a network system wherein a user is coupled by a slow-speed data transfer facility to a first user environment which is the primary interface system for the user. The user begins the process by requesting the download of a data packet. The user interface sends a request for source information to the first user environment along its slow-speed data transfer facility. The response to the request consists of the source information of the data packet. The source information is received by the user interface, and is then sent to the second user environment having a fast-speed data transfer facility. The second user environment locates the data packet using the source information, and downloads the data packet to the user interface through the fast-speed data transfer facility.
    Type: Grant
    Filed: January 20, 1998
    Date of Patent: December 21, 1999
    Assignee: Compuware Corporation
    Inventor: Michael A. Horwitz
  • Patent number: 5949972
    Abstract: The invention modifies an executing instance (target process) of an arbitrary computer program by replacing the heap manager in the target process. All functions in the process that manipulate dynamic memory are patched with replacement functions that implement improved heap management. The invention is applicable to any computer program that makes use of dynamic (heap) memory. In a second aspect of the invention, the improved heap implementation performs heap error checking in addition to managing heap storage. Alternative embodiments use the invention to improve performance (speed) using fast allocation algorithms, improve space efficiency of the program, or implement tracing of heap activity for debugging purposes.
    Type: Grant
    Filed: August 23, 1996
    Date of Patent: September 7, 1999
    Assignee: Compuware Corporation
    Inventor: Arthur D. Applegate
  • Patent number: 5878420
    Abstract: A network monitoring and management system (10) is provided for use in conjunction with a computer network array (12) including a plurality of identifiable branch arrays known as LANS (14). The system (10) includes a sampling assembly (38) including a plurality of probe computers (42) situated along selected ones of the LANS (14) for "capturing" data packets (22) and building probe objects (52) corresponding thereto. The system (10) further includes an analysis assembly (40) including a database computer (98) for receiving a plurality of probe objects (52) and manipulating them with a database builder routine (96) into database objects (100), which are stored in a database (99). The database (99) is then subject to analysis routines in a database management system (138) which extract and display information relating to the operational parameters of the computer network array (12), including a network map (144), a plurality of conversation path maps (150) and performance specifications.
    Type: Grant
    Filed: October 29, 1997
    Date of Patent: March 2, 1999
    Assignee: Compuware Corporation
    Inventor: Pierre de la Salle
  • Patent number: 5822585
    Abstract: An object-oriented framework is used to build cooperative objects. Objects can span processes on different machines connected by a network. The objects are used to build distributed or cooperative applications which execute in multiple environments without having to write significant additional code to enable such functionality. Each cooperative object has two parts: an agent object and a server object. Requests for services are made to agent objects by the application program (via an asynchronous interface) as if they were local objects. The server object performs the requested service in the server process, possibly using other server objects or systems (e.g., DB/2), and returns the result to the associated agent object. A Distributor and Dispatcher object in each process handle communication between agent and server objects. The Distributor receives all incoming messages and routes them to the appropriate objects in the process. The Dispatcher is used for sending messages to other objects.
    Type: Grant
    Filed: May 30, 1997
    Date of Patent: October 13, 1998
    Assignee: Compuware Corporation
    Inventors: William Noble, Michael Knight, Karen Nelson-Katt