Method and apparatus for identifying informational packets
AssigneeComputer Associates Think, Inc.
InventorsJames M. Rosborough, Steven J. Moore
Life of this patent
Estimating the term…
Abstract
The present invention provides a method and apparatus for measuring transaction response times. The method and apparatus can identify service request sequences corresponding to a transaction and the start and stop times for the transaction. The invention can be applied non-intrusively/non-invasively to the service packets communicated between a source and destination node.
Claims38
A method for determining response times for occurrences of transactions on a computing system, comprising:
- communicating a plurality of data packets between a first computational component and a second computational components of the computing system via a particular communications channel, wherein an occurrence of a first of one or more transactions is represented by at least some of said data packets, and wherein there is a plurality of said data packets for said occurrence that is at least one of (i) and (ii) following:
- (i) communicated from the first computational component to the second computational component via the particular communication channel;
- and
- (ii) communicated from the second computational component to the first computational component via the particular communication channel;
- detecting said data packets when they are communicated via the particular communication channel;
- sorting a representation of at least some of said data packets to obtain an ordered collection of data packet representations, so that at least some of said data packet representations, for said occurrence, are ordered in a manner effective for identifying said occurrence;
- first determining, from said ordered collection, a first value indicative of a start time for said occurrence, and a second value indicative of an end time for said occurrence;
- and
- second determining a third value indicative of a response time for said occurrence in accordance with a difference between said first and second values.
A method for determining response times for occurrences of transactions on a computing system, comprising:
- communicating a plurality of data packets between a first computational component and a second computational component of the computing system via a particular communication channel, wherein an occurrence of a first of one or more transactions is represented by at least some of said data packets, and wherein there is a plurality of said data packets for said occurrence that is at least one of (i) and (ii) following:
- (i) communicated from the first computational component to the second computational component via the particular communication channel;
- and
- (ii) communicated from the second computational component to the first computational component via the particular communication channel;
- detecting said data packets when they are communicated via the particular communication channel;
- providing substantially every one of said detected data packets to one or more filters for obtaining a smaller collection of said data packets, wherein said filters determine one or more of:
- (a) a communications network address for individual ones of said data packets, (b) thread information for individual ones of said data packets, and (c) port numbers for individual ones of said data packets;
- first determining, from said ordered collection, a first value indicative of a start time for said occurrence, and a second value indicative of an end time for said occurrence;
- and
- second determining a third value indicative of a response time for said occurrence in accordance with a difference between said first and second values.
A method for identifying information about occurrences of one or more transactions, comprising:
- activating a transaction occurrence identification system for identifying occurrences of one or more transactions performed by a transaction processing computational system, wherein said transaction occurrence identification system monitors communications between computational components of the transaction processing system without a change to the computational components of the transaction processing system that perform said occurrences;
- detecting, by said transaction occurrence identification system, a plurality of data packets communicated between said computational components of the transaction processing system, wherein for each of a majority of said data packets, said data packet includes application data intended for use by one of said computational components identified by destination information in the data packet;
- identifying, by said transaction occurrence identification system, one or more symbols of said application data for at least some of the data packets;
- and
- using said identified symbols for determining additional information about said occurrences.
A method for measuring a performance of a transaction processing computational system, comprising:
- activating a transaction occurrence performance system for determining a performance measurement related to occurrences of one or more transactions performed by a transaction processing system, wherein said transaction occurrence performance system monitors communications between computational components of the transaction processing system without a change to the computational components of the transaction processing system that perform said occurrences;
- detecting, by said transaction occurrence performance system, a plurality of data packets communicated between said computational components of the transaction processing system;
- providing at least most of said detected data packets to one or more filters for obtaining a smaller representation of said data packets, wherein said filters determine one or more of:
- (a) a communications network address for individual ones of said data packets, (b) thread information for individual ones of said data packets, and (c) port numbers for individual ones of said data packets;
- sorting a plurality of data packet representations obtained from said smaller representation to obtain a plurality of subcollections of said data packet representations, wherein for each said subcollection, there is a different corresponding plurality of the transaction processing computational components such that the subcollection includes said data packet representations for data packets communicated between said corresponding plurality of computational components;
- and
- determining, using one or more of said subcollections, a performance measurement for said particular occurrence.
A method for measuring a performance of a transaction processing computational system, comprising:
- activating a transaction occurrence performance system for determining a performance measurement related to occurrences of one or more transactions performed by a transaction processing system, wherein said transaction occurrence performance system monitors communications between computational components of the transaction processing system without a change to the computational components of the transaction processing system that perform said occurrences;
- detecting, by said transaction occurrence performance system, a plurality of data packets communicated between said computational components of the transaction processing system;
- filtering a first representation of said plurality of data packets for obtaining a second representation representing a reduced number of said data packets, wherein said second representation includes information for measuring a performance of a particular one of said occurrences;
- searching for one or more predetermined keywords within representations of said data packets obtained from said second representation;
- identifying, in the representations having said predetermined keywords, said information for measuring the performance of the particular occurrence;
- and
- determining, using said information, a measurement of the performance for said particular occurrence.
A method for identifying an occurrence of a transaction performed by a transaction processing computational system, comprising:
- activating a transaction occurrence identification system for monitoring occurrences of one or more transactions performed by the transaction processing system, wherein said transaction occurrence performance system monitors communications between computational components of the transaction processing system without a change to the computational components of the transaction processing system that perform said occurrences;
- detecting, by said transaction occurrence identification system, a plurality of data packets communicated between said computational components of the transaction processing system;
- filtering a representation of said plurality of data packets for obtaining a reduced collection of said data packets, wherein said reduced representation includes information related to a particular one of said occurrences;
- sorting a plurality of data packet representations obtained from said reduced representation, wherein said sorted data packet representations are in an order that is effective for identifying said particular occurrence;
- identifying, using said ordered data packet representations, said particular occurrence.
An apparatus for determining one or more occurrences of each of a plurality of transactions performed by a transaction processing system, comprising:
- one or more data channel connectors, each said data channel connector attached to a corresponding data channel of the transaction processing system for collecting data packets communicated on the corresponding data channel transparently to each computational component of the transaction processing system in communication with the corresponding data channel;
- one or more filters for filtering the data packets collected by said data channel connectors, the one or more filters being in communication with the one or more data channel connectors, wherein a reduced representation of the data packets is obtained, and wherein said filters filter according to one of:
- (a) an application of interest being performed by the transaction processing system, (b) an address for accessing a computational component of the transaction processing system, (c) thread identification information for identifying a thread being performed on the transaction processing system, and (d) a port number for a computational component of the transaction processing system;
- a sorter for sorting at least some data packet representations obtained from said reduced representation, the sorter being in communication with the one or more filters, wherein said data packet representations are segregated into one or more groups, and wherein, for each of said groups, the corresponding data packet representations thereof have a common source identification and a common destination identification;
- and
- an analyzer for comparing, for each of one or more of said groups, a contents of said corresponding data packet representations for the group against one or more predetermined values, for thereby identifying a transaction occurrence, the analyzer being in communication with the sorter.
An apparatus for determining response times for occurrences of transactions on a computing system, comprising:
- means for communicating a plurality of data packets between a first computational component and a second computational component of the computing system via a particular communication channel, wherein an occurrence of a first of one or more transactions is represented by at least some of said data packets, and wherein there is a plurality of said data packets for said occurrence that is at least one of (i) and (ii) following:
- (i) communicated from the first computational component to the second computational component via the particular communication channel;
- and
- (ii) communicated from the second computational component to the first computational component via the particular communication channel;
- means for detecting said data packets when they are communicated via the particular communication channel;
- means for sorting a representation of at least some of said data packets to obtain an ordered collection of data packet representations, so that at least some of said data packet representations, for said occurrence, are ordered in a manner effective for identifying said occurrence, wherein said means for sorting receives input related to said detected data packets from said means for detecting;
- first means for determining, from said ordered collection, a first value indicative of a start time for said occurrence, and a second value indicative of an end time for said occurrence, wherein said first means is in communication with said means for sorting;
- and
- second means for second determining a third value indicative of a response time for said occurrence in accordance with a difference between said first and second values, wherein said second means is in communication with said first means.
An apparatus for measuring a performance of a transaction processing computational system, comprising:
- means for activating a transaction occurrence performance system for determining a performance measurement related to occurrences of one or more transactions performed by a transaction processing system, wherein said transaction occurrence performance system monitors communications between computational components of the transaction processing system without a change to the computational components of the transaction processing system that perform said occurrences;
- means for detecting, by said transaction occurrence performance system, a plurality of data packets communicated between said computational components of the transaction processing system;
- means for filtering a first representation of said plurality of data packets for obtaining a second representation representing a reduced number of said data packets, wherein said second representation includes information for measuring a performance of a particular one of said occurrences, and wherein said means for filtering is in communication with said means for detecting;
- means for searching for one or more predetermined keywords within representations of said data packets obtained from said second representation, wherein said means for searching is in communication with said means for filtering;
- means for identifying, in the representations having said predetermined keywords, information for measuring the performance of the particular occurrence, wherein said means for identifying is in communication with said means for searching;
- and
- means for determining, using said information, a measurement of the performance for said particular occurrence, wherein said means for determining is in communication with said means for identifying.
Dependencies are inferred from the claim text.