DE69637228T2 - Verfahren und vorrichtung zur messung der antwortzeit - Google Patents
Verfahren und vorrichtung zur messung der antwortzeit Download PDFInfo
- Publication number
- DE69637228T2 DE69637228T2 DE69637228T DE69637228T DE69637228T2 DE 69637228 T2 DE69637228 T2 DE 69637228T2 DE 69637228 T DE69637228 T DE 69637228T DE 69637228 T DE69637228 T DE 69637228T DE 69637228 T2 DE69637228 T2 DE 69637228T2
- Authority
- DE
- Germany
- Prior art keywords
- service request
- service
- data packets
- pattern
- packets
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/28—Flow control; Congestion control in relation to timing considerations
- H04L47/283—Flow control; Congestion control in relation to timing considerations in response to processing delays, e.g. caused by jitter or round trip time [RTT]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3409—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
- G06F11/3419—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment by assessing time
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3452—Performance evaluation by statistical analysis
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/50—Network service management, e.g. ensuring proper service fulfilment according to agreements
- H04L41/5041—Network service management, e.g. ensuring proper service fulfilment according to agreements characterised by the time relationship between creation and deployment of a service
- H04L41/5054—Automatic deployment of services triggered by the service manager, e.g. service implementation by automatic configuration of network components
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/50—Testing arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3466—Performance evaluation by tracing or monitoring
- G06F11/349—Performance evaluation by tracing or monitoring for interfaces, buses
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/87—Monitoring of transactions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/06—Generation of reports
- H04L43/067—Generation of reports using time frame reporting
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0852—Delays
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0852—Delays
- H04L43/0864—Round trip delays
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/12—Network monitoring probes
Description
- GEBIET DER ERFINDUNG
- Die vorliegende Erfindung betrifft allgemein die Messung der Antwortzeit in Computeranwendungen und insbesondere die Verwendung von nicht-intrusiven Vorrichtungen zum Messen der Antwortzeit in Computernetzwerken mit mehreren Ebenen.
- ALLGEMEINER STAND DER TECHNIK
- Computernetzwerke mit mehreren Ebenen werden weithin verwendet, um einen oder mehrere Nutzer mit einer breiten Vielzahl von Informationen und Computerressourcen zu versorgen. In Computernetzwerken mit mehreren Ebenen interagieren Client-Computer (zum Beispiel Nutzer) mit Server-Computern, um eine Anwendung auszuführen, die in eine oder mehrere Transaktionen aufgeteilt ist. Eine Anwendung ist eine Gruppe sinnvoller Transaktionen, und eine Transaktion ist eine Einheit aus sinnvoller Arbeit (aus Sicht des Nutzers). Eine Transaktion ist in der Regel eine Zusammenstellung von Dienstanforderungen, wobei die Dienstanforderung in der Regel eine Zusammenstellung von Dienstpaketen ist. Ein Dienstpaket ist einfach eine Information oder eine Nachricht, die zwischen Computern übermittelt wird. Im Verlauf der Durchführung einer Transaktion kann der Client-Computer einen oder mehrere der Server-Computer auffordern, Dienstpakete, die Daten enthalten, an den Client-Computer zu übertragen oder Dienstpakete, die Daten enthalten, an den oder die Server-Computer zu übermitteln, damit der oder die Server-Computer die Anforderung verarbeiten können. Die Server-Computer können wiederum die Dienste von anderen Server-Computern in Verbindung mit der Datenübertragungsanforderung von dem Client-Computer anfordern.
- Eine Leistungsüberwachung des Netzwerkes ist wichtig, um Zeiträume signifikanter Transaktionsnutzerverzögerungen und Nutzerproduktivität zu ermitteln. Eine Leistungsüberwachung hat im Allgemeinen das Ziel, die Antwortzeit für eine Transaktion oder Anwendung zu messen. Die Antwortzeit ist die Zeit, die die Server und das Netzwerk brauchen, um die Transaktion oder Anwendung auszuführen. Es kann eine statistische Analyse der Antwortzeiten vorgenommen werden, um die Analyse der Server- und Netzwerkleistung zu unterstützen.
- Es werden üblicherweise zwei Verfahren verwendet, um die Netzwerkleistung zu überwachen und über Antwortzeiten zu informieren. Intrusive/invasive Überwachungstechniken ändern den Software-Code auf dem Client-Computer, um einen Marker-Befehl einzubinden. Die Marker-Befehle informieren eine Mithörvorrichtung über die Übertragung des ersten Dienstanforderungspaketes, um eine Zeitmessung zu initiieren, und über den Empfang des letzten Ergebnis- oder Bestätigungspaketes, um die Zeitmessung zu beenden. Nicht-intrusive/nicht-invasive Überwachungstechniken ändern im Gegensatz dazu in der Regel nicht den Software-Code. Statt dessen wird eine Sonde in eine Kommunikationsleitung zwischen dem Client- und dem Server-Computer eingesetzt, um die Verzögerungen zwischen der Übertragung einzelner Pakete zwischen dem Client- und dem Server-Computer zu überwachen, um eine grobe Schätzung der Antwortzeit zu erhalten.
- Intrusive/invasive und nicht-intrusive/nicht-invasive Techniken habe alle eine Reihe von Nachteilen. Im Fall der intrusiven/invasiven Techniken erhält man zwar die Transaktionsantwortzeit, doch nur wenige Anwendungen mit mehreren Ebenen werden mit eingebetteten Marker-Befehlen im Code geschrieben. Selbst wenn die Anwendungen eingebettete Marker-Befehle haben sollten, kann es aufgrund der Konsolidierung von in die Anwendung eingebetteten Antwortzeitstatistiken an einer zentralen Stelle zu technischen Problemen kommen, speziell bei Computern für mobile Nutzer. Im Fall der nicht-intrusiven/nicht-invasiven Techniken ist es nur möglich, die Informationsübertragungsrate zwischen den Computern für einzelne Pakete zu bestimmen. Solche Techniken sind in der Regel nicht in der Lage, die Antwortzeit für eine Transaktion oder Anwendung zu bestimmen. Weder intrusive/invasive noch nicht-intrusive/nicht-invasive Überwachungstechniken sind in der Lage, insbesondere bei Netzwerken mit mehreren Ebenen, einzelne Pakete mit der entsprechenden Transaktion abzugleichen, um eine Antwortzeit für die Transaktion oder zugehörige Anwendung zu berechnen. Wie oben angesprochen, kann jeder der Server-Computer, der eine Anwendung ausführt, eine Reihe einzelner Dienstanforderungen verarbeiten, die zu einer Vielzahl verschiedener Nutzertransaktionen gehören. Existierende Überwachungstechniken sind nicht in der Lage, die Dienstpakete in den verschiedenen Dienstanforderungen mit einer bestimmten Transaktion abzugleichen.
- Es besteht Bedarf an einer Vorrichtung und einem Verfahren zum Messen der Antwortzeit für eine Transaktion oder eine Anwendung, insbesondere in Computernetzwerken mit mehreren Ebenen. Es gibt einen damit zusammenhängenden Bedarf an einer Vorrichtung und einem Verfahren zum Messen der Antwortzeit für eine Transaktion oder eine Anwendung unter Verwendung nicht-intrusiver/nicht-invasiver Techniken.
- Es besteht Bedarf an einer Vorrichtung und einem Verfahren zum Messen der Antwortzeit für eine Transaktion oder eine Anwendung, die in der Lage sind, einzelne Dienstpakete mit der entsprechenden Transaktion oder Anwendung abzugleichen.
- Kurrar, S. und Spafford, E. H., "An Application of Pattern Matching in Intrusion Detection" (Technical Report CSD-TR-94-013, XP-002201679, 17. Juni 1994), betrifft eine Anordnung zum Detektieren von Intrusionen in ein Computersystem. Die Anordnung vergleicht das Auftreten von Ereignissen (genauer gesagt, das Auftreten von UNIX-Befehlen wie zum Beispiel cp, chmod, touch und mail) mit einer Intrusions signatur, die eine Abfolge von Ereignissen spezifiziert, die zu einem Einbruch in das Computersystem führen.
- KURZDARSTELLUNG DER ERFINDUNG
- Gemäß der Erfindung wird bereitgestellt: ein Verfahren zum Identifizieren eines Musters von Kommunikationsdatenpaketen nach Anspruch 1; eine Vorrichtung zum Identifizieren eines Musters von Kommunikationsdatenpaketen nach Anspruch 12; und ein computerlesbares Medium nach Anspruch 23.
- Eine bevorzugte Ausführungsform der vorliegenden Erfindung widmet sich diesem Bedarf sowie weiteren Bedürfnissen durch Bereitstellen eines Verfahrens zum Identifizieren einer Transaktion, die mehreren Dienstpaketen entspricht, die zwischen einem Quellenknoten und einem Zielknoten übermittelt werden. Das Verfahren enthält folgende Schritte: (i) Bereitstellen eines Kommunikationsdatensatzes einschließlich mehrerer Dienstpakete und Informationen, die sich auf die Reihenfolge beziehen, in der die Dienstpakete auf einer Kommunikationsleitung zwischen dem Quellen- und dem Zielknoten übermittelt werden, und (ii) Vergleichen des Kommunikationsdatensatzes mit einem Muster kennzeichnungsdatensatz, um zu bestimmen, ob mindestens ein Teil der mehreren Dienstpakete ein Teil der Transaktion ist. Der Musterkennzeichnungsdatensatz enthält Informationen bezüglich einer vorgegebenen Ordnung von Dienstpaketen, welche die Transaktion umfassen. Das Verfahren eignet sich für nicht-intrusive/nicht-invasive Messtechniken und kann Antwortzeitinformationen fast in Echtzeit erbringen, selbst für Computernetzwerke mit mehreren Ebenen.
- Die Erfindung basiert zum Teil auf der Erkenntnis, dass die Dienstpakete, die auf der Kommunikationsleitung übermittelt werden, Muster von Dienstanforderungen bilden, die wiederholt in einer Betriebsumgebung auftauchen. Diese Dienstanforderungsmuster entsprechen verschiedenen Transaktionsty pen. Es ist entdeckt worden, dass diese Dienstanforderungsmuster unter Verwendung von Signalverarbeitungstechniken bestimmt werden können. Nach der Identifizierung können die Start- und Stoppzeiten für die Muster bestimmt werden, um eine Antwortzeit für die Transaktion zu erhalten.
- Es kann eine Sonde verwendet werden, um die Pakete in Echtzeit aus der Kommunikationsleitung zu lesen, wobei die Pakete zusammen mit einer Empfangszeit (zum Beispiel der Zeit, zu der das Paket durch die Sonde gelesen wurde) in dem Kommunikationsdatensatz aufgezeichnet werden.
- Die Pakete können anhand einer Knotenadresse und/oder Portnummer gelesen werden. In einer bevorzugten Ausführungsform entsprechen die Dienstpakete mehreren Befehlsfolgen, und die Pakete sind nach Befehlsfolge sortiert.
- Die Dienstanforderungspakete können anhand ihres Inhalts und ihres Zielortes identifiziert werden. Die Dienstergebnispakete können dann mit den entsprechenden Dienstanforderungspaketen korreliert werden. Die Start- und Stoppzeiten für die Dienstanforderung können dann bestimmt werden.
- Nach der Identifizierung der Dienstanforderungen, die der Transaktion entsprechen, kann die Antwortzeit für die Transaktion unter Verwendung der verschiedenen Start- und Stoppzeiten für die Dienstanforderungen bestimmt werden.
- In einer weiteren bevorzugten Ausführungsform der vorliegenden Erfindung wird ein nicht-intrusives System zum Identifizieren einer Transaktion bereitgestellt, die mehrere Dienstpakete umfasst, die zwischen Quellen- und Zielknoten übermittelt werden. Das System enthält: (i) eine Vorrichtung zum Aufzeichnen mehrerer Dienstpakete, die auf der Kommunikationsleitung übermittelt werden, und (ii) eine Vorrichtung, die mit der Aufzeichnungsvorrichtung kommuni ziert, zum Identifizieren einer Transaktion, die mindestens einen Teil der mehreren Pakete enthält.
- Eine weitere bevorzugte Ausführungsform stellt ein Verfahren zum Identifizieren einer Transaktion bereit, die mehrere Dienstpakete umfasst, die zwischen Quellen- und Zielknoten übermittelt werden, das folgende Schritte enthält: (i) Bereitstellen eines Kommunikationsdatensatzes, der (a) mehrere Dienstpakete, die mehreren Dienstanforderungen entsprechen, und (b) die Start- und Stoppzeiten für jede Dienstanforderung enthält, und (ii) Vergleichen des Zeitintervalls zwischen dem Stopp einer ersten Dienstanforderung und dem Start einer zweiten Dienstanforderung mit einem vorgegebenen Wert für das Zeitintervall, um eine Sequenz von Dienstanforderungen zu identifizieren, die eine Transaktion umfassen.
- Der Vergleichsschritt kann in mehreren Wiederholungen ausgeführt werden, wobei das Zeitintervall variiert wird, um einen optimalen vorgegebenen Wert für das Zeitintervall zwischen Dienstanforderungen auszuwählen, um eine im Wesentlichen optimale Auflistung von Dienstanforderungssequenzen als eine mögliche Transaktion zu erhalten. Die resultierende Anzahl von Transaktionsdienstanforderungsmuster, wird dann dafür verwendet, einen optimalen Wert für das vorgegebene Zeitintervall zu bestimmen. Für einen Bereich von Zeitintervallen bleibt die Anzahl an Transaktionsdienstanforderungsmustern konstant. Der optimale Wert für das vorgegebene Zeitintervall ist der Mittelpunkt dieses Wertebereichs. Als ein Beispiel kann – nach dem Identifizieren einer oder mehrerer Dienstanforderungssequenzen unter Verwendung der vorgegebenen Werte – das Verfahren des Weiteren Folgendes enthalten: Auswählen eines zweiten vorgegebenen Wertes; Vergleichen der Zeitintervalle zwischen Dienstanforderungen mit dem zweiten vorgegebenen Wert, um eine oder mehrere zweite Sequenzen von Dienstanforderungen zu identifizieren, die einer oder mehreren zweiten Transaktionen entsprechen; und Aufzeichnen der zweiten Sequenzen von Dienstanforderungen und der Anzahl des Vorkommens jeder der zweiten Sequenzen in einem zweiten Datensatz. Als nächstes wählt das Verfahren einen dritten vorgegebenen Wert (bei dem es sich um den optimalen vorgegebenen Wert handelt) auf der Grundlage der Beziehung zwischen (i) der Anzahl der Sequenzen von Dienstanforderungen und dem vorgegebenen Wert und (ii) der Anzahl der zweiten Sequenzen von Dienstanforderungen und dem zweiten vorgegebenen Wert aus. Das Verfahren umfasst dann – wie zuvor – das Vergleichen des Zeitintervalls zwischen Dienstanforderungen mit dem dritten vorgegebenen Wert für das Zeitintervall, um eine oder mehrere dritte Sequenzen von Dienstanforderungen zu identifizieren, die einer oder mehreren dritten Transaktionen entsprechen. Die Dienstanforderungssequenz für die dritte Transaktion wird als die optimale Sequenz angesehen. Die dritte Sequenz wird dann mit dem Kommunikationsdatensatz verglichen, um zu bestimmen, ob mindestens ein Teil der mehreren Dienstanforderungen einer oder mehreren Transaktionen entspricht.
- Das Verfahren erzeugt den oben angesprochenen Musterkennzeichnungsdatensatz. Der Musterkennzeichnungsdatensatz listet mehrere Dienstanforderungssequenzen zum Vergleich mit den Dienstanforderungen aus dem Vergleichsschritt auf. Dieser zusätzliche Vergleichsschritt dient dazu zu bestimmen, ob die zeitlich geordneten Dienstanforderungen in dem Musterkennzeichnungsdatensatz enthalten sind.
- Eine weitere bevorzugte Ausführungsform enthält ein nicht-intrusives System zum Bestimmen der Transaktionsebenenaktivität zwischen einem Quellen- und einem Zielknoten. Das System enthält: (i) eine Vorrichtung zum Aufzeichnen mehrerer Dienstpakete, die auf einer Kommunikationsleitung zwischen Quellen- und Zielknoten übermittelt werden, und (ii) eine Vorrichtung zum Bestimmen der Anzahl von Transaktionen in Kommunikation mit der Aufzeichnungsvorrichtung.
- Die Dienstpakete beziehen sich auf eine Anzahl von Transaktionen, und die Aufzeichnungsvorrichtung stellt den Kommunikationsdatensatz bereit.
- In einer Ausführungsform ist die Bestimmungsvorrichtung eine Vorrichtung zum Vergleichen des Zeitintervalls zwischen der Stoppzeit einer ersten Dienstanforderung und der Startzeit einer zweiten Dienstanforderung mit einem vorgegebenen Wert für das Zeitintervall, um eine Sequenz von Dienstanforderungen in dem Kommunikationsdatensatz zu identifizieren, die zusammen eine Transaktion umfassen.
- KURZE BESCHREIBUNG DER ZEICHNUNGEN
-
1 zeigt eine Ausführungsform der vorliegenden Erfindung, die mit einem Computernetzwerk verbunden ist. -
2 zeigt eine weitere Ausführungsform der vorliegenden Erfindung, die mit einem Computernetzwerk mit mehreren Ebenen verbunden ist. -
3 zeigt ein Dienstpaket. -
4 zeigt ein Beispiel der Dienstpakete in einer Dienstanforderung. -
5 zeigt die Antwortzeit für eine Transaktion, an der eine Anzahl von Dienstanforderungen beteiligt sind. -
6A -6E zeigen eine erste Ausführungsform eines Verfahrens gemäß der vorliegenden Erfindung zum Bestimmen der Antwortzeit. -
7 zeigt die Interaktionen von Dienstanforderungen in den Musterfinde- und -abgleichsschritten. -
8 ist ein Diagramm des vorgegebenen Zeitwertes im Verhältnis zur Anzahl der entdeckten Transaktionen. -
9A -9B zeigen eine zweite Ausführungsform eines Verfahrens gemäß der vorliegenden Erfindung zum Bestimmen der Antwortzeit. -
10 -11 zeigen die Interaktionen von Dienstanforderungen in den Musterfinde- und -abgleichsschritten. -
12 ist eine grafische Darstellung der CPU-Auslastung im Verhältnis zur Antwortzeit für eine Transaktion. - DETAILLIERTE BESCHREIBUNG
- Die vorliegende Erfindung betrifft ein Verfahren und eine Vorrichtung zum Messen von Antwortzeiten für eine Transaktion oder eine Anwendung unter Verwendung nicht-intrusiver/nicht-invasiver Techniken. Wie oben angesprochen, unterbrechen nicht-intrusive/nicht-invasive Überwachungstechniken nicht den Software-Code beim Messen der Antwortzeit. Vielmehr überwachen solche Techniken die Netzwerkkommunikation zwischen dem Client-Computer und den verschiedenen Server-Computern. Im Gegensatz zu existierenden Leistungsüberwachungsverfahren gleicht das Verfahren der vorliegenden Erfindung ausgewählte Dienstpakete und zugehörige Start- und Stoppzeit-Informationen für die Dienstpakete mit der entsprechenden Transaktion oder Anwendung ab. Nach den Abgleichsschritt stellt das Verfahren vorzugsweise Antwortzeiten für die Transaktion oder Anwendung bereit. Die vorliegende Erfindung eignet sich nicht nur für die Leistungsüberwachung, sondern auch zur Abrechnung und Überwachung der Einhaltung von Leistungsumfangsverträgen.
- Konfiguration der Vorrichtung
- Die Vorrichtungskonfiguration gemäß der vorliegenden Erfindung ist in den
1 und2 gezeigt. Wenden wir uns1 zu, wo das einfachste Netzwerk-Einzelsegment gezeigt ist. In dem Netzwerk ist eine Aufzeichnungsvorrichtung oder Sonde20 mit einer Kommunikationsleitung oder Busleitung24 zwischen einem Client-Computer28 und einem Server-Computer32 verbunden. Die Aufzeichnungsvorrichtung20 wählt Dienstpakete aus, die auf der Kommunikationsleitung24 übertragen werden, und übermittelt das Dienstpaket und die Zeit, zu der das Dienstpaket durch die Aufzeichnungsvorrichtung20 empfangen wurde, an den Überwachungscomputer36 zur Analyse.2 zeigt eine komplexere Mehrebenen-Architektur mit mehreren Netzwerksegmenten. Aufzeichnungsvorrichtungen20a , b sind über eine Kommunikationsvorrichtung22 , wie zum Beispiel ein Modem, mit den Kommunikationsleitungen24a , b zwischen den Netzwerksegmenten26a , b verbunden. Die Netzwerksegmente enthalten den Client-Computer28 und Server-Computer32a , b c, d und die Kommunikationsleitungen24a , b. Wie aus diesen Figuren zu ersehen ist, misst die vorliegende Erfindung nicht die Antwortzeit innerhalb der verschiedenen Client- und Server-Computer wie die intrusiven/invasiven Überwachungstechniken, sondern misst die Antwortzeit durch Überwachung der Netzwerkkommunikation auf der Kommunikationsleitung zwischen dem Client-Computer und den verschiedenen Server-Computern. - Die Anzahl und die Positionen der Aufzeichnungsvorrichtungen
20 in einem Computernetzwerk mit mehreren Ebenen richten sich nach der Anwendung. In der Regel befindet sich eine Aufzeichnungsvorrichtung20 an einem beliebigen Abschnitt der Kommunikationsleitung24 , das heißt, zwischen den Zugangspunkten der Treiber von Client- oder Server-Computern zu der Kommunikationsleitung24 . Auf diese Weise werden alle Dienstpakete, die auf der Kommunikationsleitung24 übermittelt werden, durch eine Aufzeichnungsvorrichtung20 gelesen, und es kann eine genaue Bestimmung der Antwort zeit für eine Transaktion oder Anwendung, an der mehreren Client- und/oder Server-Computer beteiligt sind, vorgenommen werden. - Der Text eines typischen Dienstpaketes, das zwischen Computern in einem Computernetzwerk mit mehreren Ebenen übermittelt wird, ist in
3 gezeigt. Wie aus3 zu ersehen ist, enthält ein Dienstpaket38 in der Regel eine Knotenadresse40 , welche die Quelle und den Zielort des Dienstpaketes identifiziert, eine Portnummer44 und zusätzliche Informationen48 . Je nach der Anwendung kann das Dienstpaket zusätzliche Informationen aufweisen, wie zum Beispiel eine Datenbankanforderung, eine Dateisystemanforderung und eine Objektmakleranforderung. - Es gibt im Allgemeinen zwei Arten von Dienstpaketen, und zwar Dienstanforderungs- und Dienstergebnispakete. Dienstanforderungspakete fordern einen Server-Computer auf, eine bestimmte Aktion auszuführen. Dienstergebnispakete sind Dienstpakete, die in Reaktion auf das Dienstanforderungspaket erzeugt werden. Dienstergebnispakete können eine Vielzahl unterschiedlicher Informationen enthalten, einschließlich der Informationen, die durch das Dienstanforderungspaket angefordert wurden.
- Zur Veranschaulichung der Verwendung von zwei Arten von Dienstpaketen in einer Dienstanforderung ist in
4 ein Beispiel einer Dienstanforderung, an der zahlreiche Dienstpakete beteiligt sind, gezeigt. Eine typische Dienstanforderung52 beginnt mit dem Dienstanforderungspaket56 (bei dem es sich um mehrere Dienstpakete handeln kann), das zum Beispiel von einem Client-Computer an einen Server-Computer ausgegeben wird. Der Server-Computer überträgt dann ein Dienstanforderungsbestätigungspaket60 an den Client-Computer und beginnt mit der Verarbeitung der Anforderung. Wenn der Server-Computer die Verarbeitung der Dienstanforderung vollendet hat, so sendet der Server-Computer ein Dienster gebnisbenachrichtigungspaket64 an den Client-Computer, dass der Server-Computer bereit ist, die Daten der Dienstanforderung an den Client-Computer zu senden. Der Client-Computer überträgt dann ein Dienstergebnisübertragungspaket68 , das die Übertragung der Daten anfordert. Der Dienst-Computer beginnt mit dem Übertragen der Dienstergebnispakete72 . Das Dienstergebnisvollendungspaket76 informiert den Client-Computer, dass das letzte Dienstergebnispaket übertragen wurde, und das Dienstergebnisbestätigungspaket80 informiert den Server-Computer, dass die Informationen empfangen wurden. Die Antwortzeit zum Vollenden der Dienstanforderung ist die Differenz zwischen der Empfangszeit für das Dienstanforderungspaket56 und die Empfangszeit für das Dienstvollendungsbestätigungspaket80 . - Um die Antwortzeit für eine Transaktion weiter zu veranschaulichen, wird ein Beispiel einer Transaktion, an der zahlreiche Dienstanforderungen beteiligt sind, anhand der
2 und5 beschrieben. Eine Transaktion vom Typ "A", die auf dem Client-Computer28 ausgeführt wird, stellt eine Dienstanforderung1 vom Server-Computer32a und eine Dienstanforderung2 vom Server-Computer32b . Um die Dienstanforderung1 zu vollenden, stellt der Server-Computer32b eine Dienstanforderung3 vom Server-Computer32c . Wenn die Dienstanforderung1 vollendet ist, stellt die Transaktion vom Typ "A" Dienstanforderungen4 und5 vom Server-Computer32d und Dienstart6 (zum Beispiel Dienstanforderung6 ) vom Server-Computer32c . Das Muster der Dienstanforderungen an die verschiedenen Server-Computer identifiziert die Transaktion als eine Transaktion vom Typ "A". Die Antwortzeit für die Transaktion vom Typ "A" wird von der Startzeit der Dienstanforderungen1 und2 bis zur Stoppzeit der Dienstanforderung5 gemessen. Das heißt, die Transaktionsantwortzeit ist einfach eine Zusammenstellung von einzelnen Dienstanforderungsantwortzeiten. - Das Filtern von Dienstpaketen
- Die
6A -6E zeigen ein Flussdiagramm, das eine erste Ausführungsform eines Leistungsüberwachungsverfahrens gemäß der vorliegenden Erfindung zeigt. Das Verfahren erfasst ausgewählte Dienstpakete von der einen oder den mehreren Aufzeichnungsvorrichtungen und filtert die ausgewählten Dienstpakete, um einen Kommunikationsdatensatz zu bilden. Die Netzwerkkommunikation wird gefiltert, um nur jene Dienstpakete zu erhalten, die für die eine oder die mehreren interessierenden Anwendungen relevant sind. Es versteht sich, dass es möglich ist, dass mehrere Anwendungen auf demselben Client-Computer die gleiche Art von Diensten von einem bestimmten Server-Computer anfordern. Es ist ebenso möglich, dass ein Dienstanbieter von einem Server-Computer zu einem anderen Server-Computer des gleichen Typs migriert. - Die erste Ausführungsform gründet sich auf die Annahme, dass die Pakete einer bestimmten Transaktion sich nur in einer einzigen Befehlsfolge befinden. Eine bestimmte Befehlsfolge kann jedoch Pakete von mehr als einer Transaktion aufweisen. Eine zweite Ausführungsform der vorliegenden Erfindung wird unten für eine Anwendung besprochen, in der eine bestimmte Transaktion in mehr als einer Befehlsfolge erscheint.
- Im Sinne des vorliegenden Textes ist eine Befehlsfolge eine spezifische identifizierbare Verbindung oder Sitzung zwischen einem Dienstanfordererknoten und einem Diensterbringerknoten. Eine Befehlsfolge wird vorzugsweise so identifiziert, dass sich zu jedem beliebigen Zeitpunkt in ihr nur eine einzige Dienstanforderung befinden kann. Es versteht sich, dass in einigen Anwendungen die Knotenadresse kein zweckmäßiger Identifikator jeder Befehlsfolge ist, weil es mehrere Sitzungen für eine bestimmte Knotenadresse geben kann. In solchen Fällen werden die Verbindungs- oder Sitzungsidentifizierungsinformationen verwendet, um die Be fehlsfolge, an die das Dienstpaket zu versenden ist, weiter zu identifizieren. Eine Befehlsfolge kann entweder eine Nutzerbefehlsfolge sein, bei der es sich um eine Befehlsfolge handelt, die eindeutig auf einen bestimmten Client-Computer hin identifiziert werden kann, oder sie kann eine gemeinsam genutzte Befehlsfolge sein, bei der es sich um eine Befehlsfolge handelt, die von mehreren Nutzeranforderungen gemeinsam genutzt wird.
- Wenden wir uns
6A zu, wo eine oder mehrere Aufzeichnungsvorrichtungen20 zuerst in dem Befehlskästchen100 ein oder mehrere Dienstpakete aus der Kommunikationsleitung24 lesen. Auf der Grundlage der Knotenadresse oder sonstiger Befehlsfolgenidentifizierungsinformationen bestimmt eine Aufzeichnungsvorrichtung20 , ob das Dienstpaket zu den interessierenden Client-Computern und/oder Server-Computern (zum Beispiel Befehlsfolgen) gehört. Wenn ja, so werden das Dienstpaket und die Zeit, zu der das Dienstpaket durch die Aufzeichnungsvorrichtung20 gelesen wurde (zum Beispiel die Empfangszeit), aufgezeichnet; anderenfalls wird keine Aufzeichnung des Dienstpaketes vorgenommen. Wenn man an einer bestimmten Teilmenge von Dienstanforderungen interessiert wäre, so könnte die Aufzeichnungsvorrichtung20 nicht nur anhand der Knotenadresse oder sonstiger Befehlsfolgenidentifizierungsinformationen eine Filterung vornehmen, sondern auch anhand der Portnummer. Die Portnummer ist für das Filtern nützlich, wenn die Anwendung so konfiguriert ist, dass zu jedem beliebigen Zeitpunkt immer nur eine einzige Dienstanforderung an einem Port anliegt. - In einem Befehlskästchen
104 wird das Dienstpaket in einem Kommunikationsdatensatz aufgezeichnet, indem es an einen entsprechenden Befehlsfolgedatensatz versendet wird. Der Kommunikationsdatensatz enthält die Dienstpakete, die durch alle Aufzeichnungsvorrichtungen, die durch die Befehlsfolge organisiert wurden, gelesen wurden. Es gibt einen Befehlsfolgedatensatz für jede Befehlsfolge. In den meisten Anwen dungen sind zu jedem beliebigen Zeitpunkt mehrere Befehlsfolgedatensätze in dem Kommunikationsdatensatz aktiv. - Das Dienstpaket wird als nächstes in dem Entscheidungskästchen
108 untersucht, um zu bestimmen, ob es ein Dienstanforderungspaket ist. Dies wird dadurch erreicht, dass in dem Text des Dienstpaketes nach einem oder mehreren Schlüsselwörtern und/oder Symbolen gesucht wird, die für ein Dienstanforderungspaket einmalig sind; das heißt, die Wörter und/oder Symbole werden nicht in Dienstergebnispaketen verwendet. Die Wörter und/oder Symbole, die bei der Suche verwendet werden, können für eine bestimmte Transaktion und/oder Anwendung spezifisch sein. - Wenn das Dienstpaket ein erstes Dienstanforderungspaket ist, so werden die anschließenden Dienstpakete in dem Befehlskästchen
112 gelesen, um in dem Entscheidungskästchen116 das Dienstvollendungspaket zu identifizieren. Das Dienstvollendungspaket ist das letzte Dienstergebnispaket in einer Dienstanforderung. Wie oben angesprochen, gibt es nur einen einzigen Satz Dienstpakete für eine jeweilige Dienstanforderung, die sich zu einem bestimmten Zeitpunkt seriell in der Befehlsfolge befindet. Der Satz Dienstpakete für eine bestimmte Dienstanforderung umfasst eine Dienstdaten-Teilmenge. Dementsprechend ist das Abgleichen des Dienstanforderungspaketes mit den entsprechenden Dienstergebnispaketen ein relativ unkomplizierter Prozess. - Es gibt zwei Verfahren zum Identifizieren eines Dienstvollendungspaketes. In einem Verfahren wird der Text in jedem Dienstergebnispaket nach einem oder mehreren Schlüsselwörtern und/oder Symbolen durchsucht, die ausschließlich einem oder mehreren der Dienstergebnispakete zugeordnet sind. In dem anderen Verfahren wird das Dienstpaket mit der letzten Empfangszeit als das Dienstvollendungspaket angenommen. Oder anders ausgedrückt: Das letzte Dienstpaket in der Befehlsfolge vor dem unmittelbar nachfolgenden Dienst anforderungspaket wird als das Dienstvollendungspaket angenommen. Das letzte Paket in der Befehlsfolge kann entweder an den Client- oder den Server-Computer gesendet werden. Welches der zwei Verfahren in einem konkreten Fall bevorzugt ist, richtet sich nach der Anwendung.
- Nachdem die Dienstanforderungs- und Dienstvollendungspakete in dem Entscheidungskästchen
116 identifiziert wurden, werden die Start- und Stoppzeiten für die Dienstanforderung in dem Befehlskästchen120 in dem Kommunikationsdatensatz zusammen mit den Befehlsfolgenidentifizierungsinformationen und einem Dienstanforderungsidentifikator und eventuell der Aufzeichnungsvorrichtungsposition aufgezeichnet. Die Startzeit ist die Empfangszeit für das Dienstanforderungspaket, und die Stoppzeit ist die Empfangszeit für das Dienstvollendungspaket. Der Dienstanforderungsidentifikator kann jedes geeignete Mittel zum Identifizieren der Art des Dienstes sein, auf den sich die Dienstanforderung bezieht. Zum Beispiel kann der Dienstanforderungsidentifikator ein Befehl oder ein Teil eines Befehls sein, insbesondere in Datenverarbeitungsanwendungen. Der Kommunikationsdatensatz kann weitere Informationen enthalten, einschließlich der Position der Aufzeichnungsvorrichtung20 in der Kommunikationsleitung24 , des Netzwerktyps und sonstiger Aufzeichnungsinformationen. - Die vorangegangenen Schritte werden paketweise für die Dienstpakete wiederholt, die entlang eines Abschnitts der Kommunikationsleitung
24 über einen ausgewählten Zeitraum hinweg übermittelt werden. Der Zeitraum kann diskret oder kontinuierlich sein. In jedem Fall wird der Kommunikationsdatensatz nach einem entsprechenden Zeitintervall den unten besprochenen Schritten unterzogen, um die Antwortzeit zu identifizieren. - Für Dienstpakete mit verschlüsselten oder komprimierten Daten ist es in der Regel erforderlich, den Kompressionsal gorithmus zu kennen oder festzustellen, bevor die Filterungsschritte angewendet werden. Es können daher zusätzliche Schritte erforderlich sein, um die Pakete zu entschlüsseln oder zu dekomprimieren.
- Die Transaktionsmusterfindeschritte
- In einer Reihe von Transaktionsmusterfindeschritten, die unten näher besprochen werden, analysiert der Überwachungscomputer
36 den Kommunikationsdatensatz, um eine Sequenz von Dienstanforderungen zu identifizieren, die zusammen ein mögliches Transaktionsmuster umfassen. Generell identifiziert der Überwachungscomputer36 die Dienstanforderungssequenz durch Vergleichen des Zeitintervalls zwischen der Stoppzeit einer ersten Dienstanforderung und der Startzeit einer nachfolgenden Dienstanforderung mit einem vorgegebenen Wert für das Zeitintervall. Wenn das Zeitintervall maximal so groß wie der vorgegebene Wert ist, so werden die Dienstanforderungen als Teil derselben Transaktion betrachtet, und wenn das Zeitintervall größer als der vorgegebene Wert ist, so werden die Dienstanforderungen als Teil von separaten Transaktionen betrachtet. Dementsprechend wird das ausgewählte Zeitintervall auf der Grundlage des größten prognostizierten Zeitintervalls zwischen aneinandergrenzenden Dienstanforderungen für die zwei Dienstanforderungen, die als Teil derselben Transaktion zu betrachten sind, ausgewählt. - Wenden wir uns
6B zu. Um die Transaktionsmusterfindeschritte zu initiieren, kann ein ausgewähltes Zeitintervall um ein ausgewähltes Zeitinkrement in dem Entscheidungskästchen124 verlängert oder verkürzt werden. Wenn sich das ausgewählte Zeitintervall an der oberen oder der unteren Grenze des gewünschten Bereichs von Zeitintervallwerten befindet, so wird die Verarbeitung beendet. Das ausgewählte Zeitintervall und seine inkrementellen Verlängerungen oder Verkürzungen werden unten eingehender bespro chen. Es versteht sich, dass ein kleineres ausgewähltes Zeitintervall eine kleinere Anzahl möglicher Transaktionsmuster hervorbringt als ein größeres ausgewähltes Zeitintervall. - Nach der Auswahl des entsprechenden ausgewählten Zeitintervalls öffnet der Überwachungscomputer
36 in dem Befehlskästchen128 für alle ausgewählten Zeitintervalle eine Dienstanforderungsdatei, die Informationen aufnimmt, die in den nachfolgenden Schritten erzeugt werden. Wie unten noch besprochen wird, enthält die Dienstanforderungsdatei die Dienstanforderungen, die nach Befehlsfolge und ausgewähltem Zeitintervall sortiert sind. - Kehren wir zu
6B zurück. Der Überwachungscomputer liest als nächstes in dem Befehlskästchen132 eine Dienstanforderung aus dem Kommunikationsdatensatz und bestimmt in dem Entscheidungskästchen136 , ob alle Dienstanforderungen in dem Kommunikationsdatensatz gelesen wurden. Wenn ja, so geht der Überwachungscomputer zu dem Entscheidungskästchen124 . Wenn nicht, so versendet der Überwachungscomputer die Dienstanforderung in dem Befehlskästchen144 an die entsprechende Befehlsfolge, um einen Befehlsfolgedatensatz zu bilden, wobei ein Befehlsfolgedatensatz für jede Befehlsfolge existiert. Während die verschiedenen Dienstanforderungen aus dem Kommunikationsdatensatz gelesen werden und an die Befehlsfolgedatensätze für jedes ausgewählte Zeitintervall versendet werden, kann sich eine Zusammenstellung von Dienstanforderungen in jedem Befehlsfolgedatensatz bilden. Die Dienstanforderungen in jeder Befehlsfolgedaten-Teilmenge werden nach ihren jeweiligen Start- und Stoppzeiten geordnet. Somit wird, wie oben angesprochen, jede der Dienstanforderungen in der Zusammenstellung von einer benachbarten Dienstanforderung durch ein Zeitintervall getrennt. Die Befehlskästchen132 ,144 werden wiederholt, bis alle Dienstanforderungen in dem Kommunikationsdatensatz für jedes ausgewählte Zeitintervall nach der Befehlsfolge sortiert sind. - Nachdem der Computer in dem Entscheidungskästchen
124 bestimmt, dass alle ausgewählten Zeitintervalle analysiert wurden, schreitet der Computer zum Befehlskästchen140 weiter. In dem Befehlskästchen140 werden die Dienstanforderungen aus dem Kommunikationsdatensatz alle in die verschiedenen Befehlsfolgedatensätze hinein empfangen. Es versteht sich, dass die nachfolgenden Schritte in6C für jedes ausgewählte Zeitintervall in der Dienstanforderungsdatei ausgeführt werden. - Die Dienstanforderungen in jedem Befehlsfolgedatensatz werden als nächstes in dem Entscheidungskästchen
148 untersucht, um zu bestimmen, ob die verschiedenen Dienstanforderungen "lokal" zu einer anderen Dienstanforderung in dem Befehlsfolgedatensatz sind. Eine Dienstanforderung ist "lokal" zu einer anderen Dienstanforderung, wenn das Zeitintervall zwischen den Dienstanforderungen nicht größer ist als das ausgewählte Zeitintervall. Wenn die Dienstanforderungen lokal zueinander sind, so werden die Dienstanforderungen als Komponenten derselben Transaktion betrachtet. Wenn die Dienstanforderungen nicht lokal zueinander sind, so werden die Dienstanforderungen als Komponenten von verschiedenen oder separaten Transaktionen betrachtet. - Wenden wir uns
7 zu, wo eine Kette oder Sequenz von Dienstanforderungen des Typs, der in jedem Befehlsfolgedatensatz in der Dienstanforderungsdatei erzeugt wird, veranschaulicht ist. Die Kette oder Sequenz von Dienstanforderungen kann sich entweder auf eine Zusammenstellung von Dienstanforderungen, die in Bezug auf mindestens eine weitere Dienstanforderung in der Sequenz lokal sind, oder auf eine einzelne Dienstanforderung, die nicht lokal zu einer anderen Dienstanforderung ist, beziehen. Es versteht sich, dass ein mögliches Transaktionsmuster eine oder mehrere Dienstanforderungen haben kann. So sind in7 die Zeitintervalle ΔTa-d, welche die Dienstanforderungen156a -e trennen, nicht größer als das ausgewählte Zeitintervall. - Wenn eine Dienstanforderung in einem Befehlsfolgedatensatz lokal zu einer anderen Dienstanforderung in dem Befehlsfolgedatensatz ist, so werden die Dienstanforderungen in dem Befehlskästchen
150 kombiniert und als ein neues mögliches Transaktionsmuster zu einer möglichen Transaktionsliste in einem Musterkennzeichnungsdatensatz in der Dienstanforderungsdatei hinzugefügt. Es versteht sich, dass die Dienstanforderung lokal zu einer anderen Dienstanforderung sein kann, die entweder diskret oder Teil einer Kette oder Sequenz einer Anzahl von Dienstanforderungen ist. Auf diese Weise wird eine Sequenz von Dienstanforderungen, die einem bestimmten möglichen Transaktionsmuster entspricht, allmählich ausgeweitet, indem sie zusätzliche Dienstanforderungen aufnimmt. - Der Musterkennzeichnungsdatensatz kann eine Vielzahl unterschiedlicher Informationen enthalten, einschließlich der verschiedenen ausgewählten Zeitintervalle und der entsprechenden Befehlsfolgedatensätze, wobei jeder Befehisfolgedatensatz Variablen zur Identifizierung der Befehlsfolge, der verschiedenen Dienstanforderungen, die der Befehlsfolge zugeordnet und in Dienstanforderungssequenzen organisiert sind, und der Häufigkeit des Vorkommens jeder Dienstanforderungssequenz enthält. Diese Liste von Dienstanforderungssequenzen wird im Weiteren als die Liste der möglichen Transaktionsmuster bezeichnet.
- Der Musterkennzeichnungsdatensatz kann je nach der Anwendung noch weitere Informationen enthalten. Zum Beispiel kann der Musterkennzeichnungsdatensatz den Transaktionstyp enthalten, der jeder Sequenz von Dienstanforderungen zugeordnet ist. Der Transaktionstyp kann auf der Identität von einer oder mehreren der Dienstanforderungen in der Dienstanforderungssequenz, die der Transaktion entspricht (zum Beispiel dem Dienstanforderungsidentifikator), basieren.
- Die Erzeugung des Musterkennzeichnungsdatensatzes wird in dem Befehlskästchen
140 initiiert, indem eine Dienstanforderung aus dem Befehlsfolgedatensatz in der Aufzeichnungsdatei empfangen wird. Wenn die betreffende Dienstanforderung nicht lokal zu einer vorherigen Dienstanforderung in dem Befehlsfolgedatensatz ist, so wird die Dienstanforderungssequenz, die der betreffenden Dienstanforderung zeitlich unmittelbar vorangeht (sofern vorhanden), in dem Entscheidungskästchen152 mit zuvor identifizierten Mustern in allen Befehlsfolgedatensätzen für das zugehörige ausgewählte Zeitintervall in dem Musterkennzeichnungsdatensatz verglichen, um zu bestimmen, ob das Muster zuvor schon einmal für das ausgewählte Zeitintervall aufgezeichnet (entdeckt) wurde. - Wenn die vorangegangene Dienstanforderungssequenz kein neues mögliches Transaktionsmuster ist, so wird die Anzahl des Vorkommens der möglichen Transaktionsmuster für das ausgewählte Zeitintervall in dem Befehlskästchen
156 inkrementiert. Genauer gesagt, wird die aufgezeichnete Anzahl des Vorkommens der möglichen Transaktionsmuster mit der gleichen Sequenz von Dienstanforderungen um eins vergrößert. - Kehren wir zu dem Entscheidungskästchen
152 zurück. Wenn die Dienstanforderungssequenz, die der betreffenden Dienstanforderung vorausging, ein neues mögliches Transaktionsmuster für das ausgewählte Zeitintervall ist, so zeichnet der Überwachungscomputer in dem Befehlskästchen160 die Dienstanforderungssequenz auf der Liste der möglichen Transaktionsmuster auf. - Nach den Befehlskästchen
156 ,160 wird die Liste der mögli chen Transaktionsmuster in dem Befehlskästchen164 initialisiert, um eine neue Dienstanforderungskette für das ausgewählte Zeitintervall ab der betreffenden Dienstanforderung zu beginnen. Aufgrund der Tatsache, dass die betreffende Dienstanforderung nicht lokal zu der unmittelbar vorangegangenen Dienstanforderung ist, nimmt das Programm an, dass die Dienstanforderungssequenz, von der die unmittelbar vorangegangene Dienstanforderung ein Teil ist, vollendet ist. Weil die Dienstanforderung nicht lokal zu einer vorherigen Dienstanforderung ist, nimmt der Überwachungscomputer an, dass die Dienstanforderung ein Teil einer neuen Dienstanforderungssequenz ist. - Nachdem das Befehlskästchen
164 vollendet ist, bestimmt der Überwachungscomputer in dem Entscheidungskästchen168 , ob das Ende des einen oder der mehreren Befehlsfolgedatensätze in der Aufzeichnungsdatei für alle Dienstanforderungen in allen ausgewählten Zeitintervallen erreicht wurde. Wenn ja, wird der Prozess beendet. Wenn nicht, so schreitet der Computer zum Befehlskästchen172 weiter und empfängt eine weitere Dienstanforderung aus einem Befehlsfolgedatensatz in der Aufzeichnungsdatei. - Nachdem die Befehlskästchen
150 und172 vollendet sind, kehrt der Überwachungscomputer zu dem Befehlskästchen140 zurück, und die vorangegangenen Schritte werden wiederholt, bis alle Dienstanforderungen in der Aufzeichnungsdatei gelesen und verarbeitet wurden. - In einem Kommunikationsdatensatz mit mehreren Befehlsfolgen wendet der Überwachungscomputer die Transaktionsmusterfindeschritte parallel auf Dienstanforderungen von verschiedenen Befehlsfolgen an. Somit werden die Dienstanforderungen in mehreren verschiedenen Befehlsfolgedatensätzen gleichzeitig analysiert. Dementsprechend können zu jedem beliebigen Zeitpunkt mehrere Befehlsfolgedatensätze aktiv sein.
- In einer bevorzugten Ausführungsform wird ein optimaler Wert für das ausgewählte Zeitintervall ausgewählt, indem zuerst eine Reihe ausgewählter Zeitintervalle für das Entscheidungskästchen
124 ausgewählt werden. Wie oben angesprochen, können die vorgegebenen Werte unter Verwendung eines vorgegebenen Inkrements in dem Entscheidungskästchen124 ausgewählt werden. Die Werte, die für die ausgewählten Zeitintervalle verwendet werden, sind in der Regel Intervalle im Subsekundenbereich, zum Beispiel von etwa 50 bis etwa 500 Millisekunden. - Wenden wir uns
8 zu. Nach der Ausführung der oben angesprochenen Befehls- und Entscheidungskästchen mit verschiedenen ausgewählten Zeitintervallen werden die Anzahlen möglicher Transaktionsmusters aus dem Musterkennzeichnungsdatensatz (zum Beispiel vertikale Achse) gegen die entsprechenden ausgewählten Zeitintervalle (zum Beispiel horizontale Achse) aufgetragen. Ein optimaler Wert für das ausgewählte Zeitintervall wird in dem mittigen Teil des Plateaus176 auf der Kurve180 ausgewählt. Unter Verwendung des optimalen Wertes in dem Entscheidungskästchen124 werden die Transaktionsmusterfindeschritte wiederholt, um einen zweiten Musterkennzeichnungsdatensatz zu erhalten. Die Transaktionsmusters in dem zweiten Musterkennzeichnungsdatensatz werden als die im Wesentlichen optimale Auflistung von Transaktionsmustern für die verschiedenen Dienstanforderungen in der Aufzeichnungsdatei erachtet. - Wenden wir uns
9A zu, wo die zweite Ausführungsform der vorliegenden Erfindung gezeigt ist.9A ersetzt6C und hat ansonsten die gleichen Schritte wie die erste Ausführungsform in den6A und6B .6C ist im Wesentlichen identisch mit9A , mit Ausnahme des Entscheidungskästchens200 und des Befehlskästchens204 . Wie oben angesprochen, gilt die zweite Ausführungsform, im Gegensatz zur ersten Ausführungsform, für Anwendungen und/oder Transaktionen, die mehr als eine Befehlsfolge für eine Transaktion haben. - Es gibt im Allgemeinen drei Situationen, wo eine Anwendung oder Transaktion mehr als eine Befehlsfolge je Transaktion hat. In einer Situation führt eine bestimmte Befehlsfolge nur einen einzigen Dienstanforderungstyp aus. Nachdem der Dienstanforderungstyp ausgeführt ist, benutzt die Anwendung oder Transaktion andere Befehlsfolgen. In einem anderen Fall wird die Anwendung oder Transaktion an einer Anzahl von Nutzerbefehlsfolgen in Folge ausgeführt. Zum Beispiel wird eine Anzahl von Dienstanforderungen an einer Nutzerbefehlsfolge ausgeführt, und eine Anzahl von späteren Dienstanforderungen wird an einer anderen Nutzerbefehlsfolge ausgeführt. Auf diese Weise kann sich die Anwendung oder Transaktion zwischen den Nutzerbefehlsfolgen vor und zurück bewegen. Im letzteren Fall verwenden zwei oder mehr Client-Computer eine gemeinsam genutzte Befehlsfolge zum Ausführen von Dienstanforderungen.
- Um die Verwendung von mehr als einer Befehlsfolge für eine Transaktion zu ermöglichen, bestimmt das Entscheidungskästchen
200 in Reaktion auf eine negative Antwort auf das Entscheidungskästchen148 , ob die Dienstanforderungssequenz, die der betreffenden Dienstanforderung zeitlich unmittelbar vorangeht, lokal zu einer Dienstanforderung in anderen Befehlsfolgedatensätzen ist. - Wenden wir uns den
7 und10 -11 zu, wo die drei möglichen Ergebnisse in dem Entscheidungskästchen200 des Vergleichens der Dienstanforderungen in verschiedenen Befehlsfolgedatensätzen veranschaulicht sind. In7 ist eine Dienstanforderung156d in einem Befehlsfolgedatensatz lokal zu der unmittelbar vorangegangenen Dienstanforderungssequenz (zum Beispiel Dienstanforderungen156a -c) in einem anderen Befehlsfolgedatensatz, weil ein Zeitintervall ΔTc zwischen der Dienstanforderung156c und einer Dienstan forderung156d in der Dienstanforderungssequenz nicht größer als das ausgewählte Zeitintervall ist. In10 ist eine Dienstanforderung210 in einem Befehlsfolgedatensatz nicht lokal zu der Dienstanforderungssequenz (zum Beispiel Dienstanforderungen214a -b) in einem anderen Befehlsfolgedatensatz, weil die Dienstanforderung die Dienstanforderungssequenz überlappt. Oder anders ausgedrückt: Die Dienstanforderung ist nicht lokal zu der Dienstanforderungssequenz, wenn die Dienstanforderung initiiert wurde oder unvollständig war, bevor eine Dienstanforderung in der Dienstanforderungssequenz vollständig war bzw. initiiert wurde. Um eine diskrete Dienstanforderung oder Dienstanforderungssequenz in einen anderen Befehlsfolgedatensatz kopieren zu können, ist es daher ausschlaggebend, dass die Dienstanforderung oder Dienstanforderungssequenz keinen Teil der Dienstanforderungssequenz in dem anderen Befehlsfolgedatensatz (zum Beispiel Dienstanforderungen214a -b) überlappt. In11 ist eine Dienstanforderung218 in einem Befehlsfolgedatensatz nicht lokal zu der Dienstanforderungssequenz (zum Beispiel Dienstanforderungen222a -b) in einem anderen Befehlsfolgedatensatz, weil die Zeitintervalle ΔTe zwischen der Dienstanforderung218 und den Dienstanforderungen222b in der Dienstanforderungssequenz größer als das ausgewählte Zeitintervall sind. - Eine Dienstanforderung oder Dienstanforderungssequenz kann zu einem oder mehreren Befehlsfolgedatensätzen in Reihe oder parallel übertragen werden. Zum Beispiel kann die Dienstanforderung oder Dienstanforderungssequenz in einem Befehlsfolgedatensatz der Reihe nach zu einem zweiten Befehlsfolgedatensatz und zu einem dritten Befehlsfolgedatensatz (zum Beispiel in Reihe) oder zu zwei oder mehr anderen Befehlsfolgedatensätzen im Wesentlichen gleichzeitig (zum Beispiel parallel) übertragen werden.
- Wenn die Dienstanforderungssequenz lokal zu einer Dienstanforderung in einer anderen Befehlsfolge ist, so wird die Dienstanforderungssequenz in dem Befehlskästchen
204 zu der Liste der möglichen Transaktionsmuster in dem anderen Befehlsfolgedatensatz übertragen. Nach der Vollendung des Befehlskästchens204 kehrt der Überwachungscomputer zu dem Befehlskästchen140 zurück. - Wenn die Dienstanforderungssequenz nicht lokal zu einer Dienstanforderung in einer anderen Befehlsfolge ist, so schreitet der Überwachungscomputer zum Entscheidungskästchen
152 weiter. - Die Transaktionsmusterabgleichsschritte
- In den Transaktionsmusterabgleichsschritten wird der Kommunikationsdatensatz mit dem Musterkennzeichnungsdatensatz aus den Transaktionsmusterfindeschritten verglichen, um zu bestimmen, ob mindestens ein Teil der mehreren Dienstpakete Teil einer oder mehrerer Transaktionen ist. Die Start- und Stoppzeiten der Dienstanforderungen, die den Dienstpaketen entsprechen, können dann dafür verwendet werden, eine Antwortzeit für die Transaktion und/oder Anwendung bereitzustellen.
- Wenden wir uns
6D zu. Um die Transaktionsmusterabgleichsschritte zu initiieren, wird eine Dienstanforderungsdatei in dem Befehlskästchen250 geöffnet, um Dienstanforderungen zu empfangen, die aus dem Kommunikationsdatensatz gelesen wurden. - In dem Befehlskästchen
254 wird eine Dienstanforderung aus dem Kommunikationsdatensatz gelesen und in dem Befehlskästchen258 an die entsprechende Befehlsfolge versendet, um einen Befehlsfolgedatensatz in der Dienstaufzeichnungsdatei zu bilden, wobei ein Befehlsfolgedatensatz für jede Befehlsfolge existiert. - In dem Entscheidungskästchen
256 bestimmt der Überwachungs computer, ob die letzte Dienstanforderung in dem Kommunikationsdatensatz gelesen wurde. Wenn ja, so schreitet der Überwachungscomputer zu dem Befehlskästchen262 weiter. Wenn nicht, so kehrt der Überwachungscomputer zu dem Befehlskästchen254 zurück. Auf diese Weise werden alle Dienstanforderungen in dem Kommunikationsdatensatz vor den Schritten von6E nach Befehlsfolgedatensatz sortiert. - Wenden wir uns
6E zu, wo die Dienstanforderungssequenzen in jedem Befehlsfolgedatensatz, die anhand der Start- und Stoppzeiten geordnet sind, mit dem Musterkennzeichnungsdatensatz verglichen werden, um zu bestimmen, ob mindestens ein Teil der Dienstanforderungssequenzen Teil eines möglichen Transaktionsmuster ist. - In dem Entscheidungskästchen
266 wird der Abgleichsprozess initiiert, indem eine betreffende Dienstanforderung in einem Befehlsfolgedatensatz mit der ersten Dienstanforderung in den verschiedenen Transaktionsmustern, die aus allen Befehlsfolgedatensätzen in dem Musterkennzeichnungsdatensatz erhalten wurden, verglichen wird. Wenn die Dienstanforderung zu keiner der ersten Dienstanforderungen in den Transaktionsmustern, die für alle Befehlsfolgen erhalten wurden, passt, so empfängt der Überwachungscomputer eine andere Dienstanforderung in dem Befehlskästchen262 , und das Entscheidungskästchen266 wird wiederholt. Wenn die Dienstanforderung zu einer ersten Dienstanforderung passt, so wird eine andere Dienstanforderung aus dem Befehlsfolgedatensatz in dem Befehlskästchen270 empfangen. - In dem Entscheidungskästchen
274 bestimmt der Überwachungscomputer, ob die Dienstanforderung, die in dem Befehlskästchen270 empfangen wurde, lokal zu der ersten Dienstanforderung ist, die in dem Entscheidungskästchen266 identifiziert wurde. Wenn nicht, so kehrt der Überwachungscomputer zu dem Befehlskästchen262 zurück und wiederholt die oben beschriebenen Schritte mit einer anderen Dienstanforderung. - Wenn ja, so bestimmt der Überwachungscomputer in dem Entscheidungskästchen
278 auf der Grundlage der Transaktionsmuster in dem Musterkennzeichnungsdatensatz, ob die Dienstanforderung, die in dem Befehlskästchen270 gelesen wurde, die letzte Dienstanforderung in dem Transaktionsmuster ist. - Um zu bestimmen, ob die Dienstanforderung die letzte Dienstanforderung in einer möglichen Transaktion ist, stützt sich der Überwachungscomputer auf die Sequenz von Dienstanforderungen in den Transaktionsmustern in dem Befehlsfolgedatensatz. Wenn die Dienstanforderung nicht die letzte Dienstanforderung in der möglichen Transaktion ist, so kehrt der Überwachungscomputer zu dem Befehlskästchen
270 zurück. Wenn die Dienstanforderung die letzte Dienstanforderung ist, so zeichnet der Überwachungscomputer in dem Befehlskästchen282 die Start- und Stoppzeit für das mögliche Transaktionsmuster auf und schreitet zu dem Entscheidungskästchen286 weiter. - Wenn in dem Entscheidungskästchen
286 bestimmt wird, dass sämtliche Dienstanforderungen in den Befehlsfolgedatensätzen in Dienstanforderungssequenzen hinein gekennzeichnet wurden, so wird das Programm beendet. Anderenfalls kehrt der Computer zu dem Befehlskästchen262 zurück. Vorzugsweise werden die vorangegangenen Schritte für alle Befehlsfolgedatensätze parallel ausgeführt. - Die vorangegangenen Schritte erbringen einen Musteranalysedatensatz, der die verschiedenen Dienstanforderungssequenzen enthält, die zusammen die verschiedenen Transaktionen, die Antwortzeiten für jede Transaktion und die Position der Aufzeichnungsvorrichtung umfassen. Der Musteranalysedatensatz kann zusätzliche Informationen enthalten, wie zum Beispiel Nutzeridentifizierung und Befehlsfolgenidentifizierung.
- Wenden wir uns
9B zu, wo die zweite Ausführungsform der vorliegenden Erfindung gezeigt ist.9B ersetzt6E und hat ansonsten die gleichen Schritte wie die erste Ausführungsform in6D .9B ist im Wesentlichen identisch mit6E , mit Ausnahme des Entscheidungskästchens300 und des Befehlskästchens304 . Um die Verwendung von mehr als einer Befehlsfolge für eine Transaktion zu ermöglichen, bestimmt das Entscheidungskästchen300 in Reaktion auf eine negative Antwort auf das Entscheidungskästchen274 , ob die Dienstanforderungssequenz lokal zu einer Dienstanforderung in einem anderen Befehlsfolgedatensatz ist. Wenn die Dienstanforderungssequenz lokal zu einer Dienstanforderung in einem oder mehreren anderen Befehlsfolgedatensätzen ist, so wird die Dienstanforderungssequenz im Befehlskästchen304 zu dem einen oder den mehreren anderen Befehlsfolgedatensätzen übertragen. Nach Vollendung des Befehlskästchens304 kehrt der Überwachungscomputer zu dem Befehlskästchen262 zurück. Wenn die Dienstanforderungssequenz nicht lokal zu einer Dienstanforderung in einem anderen Befehlsfolgedatensatz ist, so schreitet der Überwachungscomputer zu dem Entscheidungskästchen278 weiter. - Nach Vollendung der vorangegangenen Schritte der ersten oder zweiten Ausführungsform können die Informationen in dem Musteranalysedatensatz dafür verwendet werden, Leistungsstatistiken und Transaktionszählungen zu erzeugen. Zum Beispiel können die resultierenden Transaktionsantwortdaten zu einem festen Zeitintervall, wie zum Beispiel fünf Minuten, und Antwortzeitstatistiken, wie zum Beispiel Maximum, Mittel, Standardabweichung und 70., 80. und 90. Perzentil, berechnet nach Transaktionstyp, aggregiert werden. Die diskreten Transaktionsantwortzeitinformationen können dafür verwendet werden, Antwortzeiten anhand einer Dienstanforderungsaufschlüsselung innerhalb der Transaktion oder nach Nutzerklasse und anderen Varianten zu analysieren. Ein Beispiel für einen Analysebericht für eine Transaktion ist in
12 gezeigt. Die Daten können auch dafür verwendet werden, Transaktionszählungen zu bestimmen, die über einen diskreten Zeitraum ausgeführt wurden. - Der Musterkennzeichnungsdatensatz kann Transaktionsmuster enthalten, die durch einen anderen Prozess als die Transaktionsmusterfindeschritte bestimmt wurden. Zum Beispiel kann ein Test für die interessierenden Transaktionen ausgeführt werden, um die Dienstanforderungssequenzen zu identifizieren, die während der Transaktionen erzeugt wurden. Dieses Verfahren kann in einigen Fällen unvollständig sein, weil eine Transaktion eine Vielzahl von Dienstanforderungssequenzen auf der Grundlage der durch den Nutzer ausgewählten speziellen Antworten erzeugen kann.
- Die Transaktionsmusterfinde- und -abgleichsschritte können so modifiziert werden, dass unvollständige Dienstanforderungssequenzen verworfen werden. Solche Dienstanforderungssequenzen sind in der Regel das Ergebnis des Initiierens des ausgewählten Zeitraums zum Aufzeichnen von Dienstpaketen, nachdem eine Transaktion bereits begonnen hat, oder des Beendens des ausgewählten Zeitraums, bevor eine Transaktion geendet hat. Um unvollständige Dienstanforderungssequenzen zu eliminieren, wird jede Dienstanforderungssequenz in einem Befehlsfolgedatensatz verworfen, die nicht von einer vorangegangenen oder nachfolgenden Dienstanforderung durch ein Zeitintervall getrennt ist, das größer als das ausgewählte Zeitintervall ist. Diese Modifizierung geht freilich davon aus, dass jegliche Dienstanforderungen, die durch ein Zeitintervall getrennt sind, das größer als das ausgewählte Zeitintervall ist, nicht Teil derselben Dienstanforderungssequenz sind.
- Obgleich verschiedene Ausführungsformen der vorliegenden Erfindung im Detail beschrieben wurden, versteht es sich, dass dem Fachmann Modifikationen und Anpassungen dieser Ausführungsformen einfallen. Es versteht sich jedoch ausdrücklich, dass solche Modifikationen und Anpassungen innerhalb des Geltungsbereichs der vorliegenden Erfindung, wie er in den angehängten Ansprüchen dargelegt ist, liegen.
Claims (23)
- Verfahren zum Identifizieren eines Musters von Kommunikationsdatenpaketen aus mehreren Datenpaketen, die zwischen einer ersten Rechenkomponente (
28 ) und mindestens einer zweiten Rechenkomponente (32 ) übermittelt werden, gekennzeichnet durch: Erzeugen (120 ) eines Kommunikationsdatensatzes einschließlich einer Startzeit und einer Stoppzeit für mehrere Dienstanforderungen, wobei jede Dienstanforderung mehrere Datenpakete umfasst, wobei die Startzeit die empfangene Zeit für ein Dienstanforderungspaket der Dienstanforderung ist und wobei die Stoppzeit die empfangene Zeit für ein Dienstvollendungspaket der Dienstanforderung ist; Bestimmen (140 ,148 ,150 ) eines Musters zum Gruppieren mindestens einiger der mehreren Datenpakete in dem Kommunikationsdatensatz durch Vergleichen des Zeitintervalls zwischen der Stoppzeit einer ersten Dienstanforderung und der Startzeit einer nachfolgenden Dienstanforderung mit einem vorgegebenen Wert, wobei die erste Dienstanforderung und die nachfolgende Dienstanforderung als ein Teil des Musters gelten, wenn das Zeitintervall nicht größer als der vorgegebene Wert ist; und Vergleichen (152 ) des Kommunikationsdatensatzes mit dem Muster, um zu bestimmen, ob mindestens einige der Datenpakete in dem Kommunikationsdatensatz einem Vorkommen des Musters entsprechen. - Verfahren nach Anspruch 1, wobei die Datenpakete mehreren Befehlsfolgen entsprechen, wobei jede Befehlsfolge Befehlsfolgenidentifikationsinformationen entspricht und der Vergleichsschritt Folgendes umfasst: Sortieren (
300 ,304 ) der Datenpakete in dem Kommunikationsdatensatz in mehrere Befehlsfolgedatensätze, wobei die Datenpakete in jedem Befehlsfolgedatensatz die gleichen Befehlsfolgenidentifikationsinformationen haben. - Verfahren nach Anspruch 1, wobei die Datenpakete Dienstanforderungspakete und Dienstvollendungspakete enthalten, wobei jedes Dienstanforderungspaket einer Dienstanforderung von der ersten Rechenkomponente (
32 ) entspricht, wobei der Erzeugungsschritt Folgendes umfasst: Identifizieren (108 ) der Dienstanforderungspakete in den Datenpaketen unter Verwendung des Inhalts der Datenpakete. - Verfahren nach Anspruch 1, wobei die Datenpakete Dienstanforderungspakete und entsprechende Dienstvollendungspakete enthalten, wobei jedes der Dienstanforderungspakete und entsprechenden Dienstvollendungspakete einer Dienstanforderung entspricht und der Erzeugungsschritt Folgendes umfasst: Identifizieren (
108 ) der Dienstanforderungspakete in den Datenpaketen unter Verwendung des Inhalts der Datenpakete; Korrelieren (116 ) jedes Dienstvollendungspaketes mit einem entsprechenden der Dienstanforderungspakete; und Bestimmen einer Startzeit und einer Stoppzeit für jede der entsprechenden Dienstanforderungen. - Verfahren nach Anspruch 4, wobei der Vergleichsschritt des Weiteren das Berechnen einer Reaktionszeit für das Gruppieren unter Verwendung mindestens einiger der Startzeiten und der Stoppzeiten umfasst.
- Verfahren nach Anspruch 1, wobei mindestens einige der Datenpakete Dienstanforderungspakete zum Anfordern eines Dienstes von der ersten Rechenkomponente (
28 ) sind und der Vergleichsschritt Folgendes umfasst: erstes Abgleichen (266 ) eines ersten Dienstanforderungspaketes mit einer Darstellung eines Dienstanforderungspaketes in dem Muster; und zweites Abgleichen (274 ) eines zweiten Dienstanforderungspaketes mit einer weiteren Darstellung eines Dienstanforderungspaketes in dem Muster, wobei ein Zeitintervall zwischen dem ersten und dem zweiten Dienstanforderungspaket nicht größer als ein vorgegebener Wert ist. - Verfahren nach Anspruch 1, wobei die Datenpakete mehreren Dienstanforderungen von der ersten Rechenkomponente (
28 ) an die zweite Rechenkomponente (32 ) entsprechen, wobei die Dienstanforderungen mehreren Befehlsfolgedatensätzen entsprechen und der Vergleichsschritt Folgendes umfasst: erstes Abgleichen (266 ) einer ersten Dienstanforderung, die einer ersten Befehlsfolge entspricht, mit einer Darstellung eines Dienstanforderungspakets in dem Muster; und zweites Abgleichen (300 ) einer zweiten Dienstanforderung, die einer zweiten Befehlsfolge entspricht, mit einer weiteren Darstellung einer Dienstanforderung in dem Muster, wobei ein Zeitintervall zwischen der ersten und der zweiten Dienstanforderung nicht größer als ein vorgegebener Wert ist. - Verfahren nach einem der vorangehenden Ansprüche, das des Weiteren Folgendes umfasst: Aufzeichnen jedes Vorkommens des Musters von Datenpaketen und der Gesamtzahl seines Vorkommens in einem ersten Kommunikationsdatensatz; Auswählen eines zweiten vorgegebenen Wertes; Vergleichen des Zeitintervalls mit dem zweiten vorgegebenen Wert, um ein zweites Muster der Datenpakete zu identifizieren; und Aufzeichnen jedes Vorkommens des zweiten Musters von Datenpaketen und der Gesamtzahl seines Vorkommens in einem zweiten Kommunikationsdatensatz.
- Verfahren nach Anspruch 8, das des Weiteren Folgendes umfasst: Auswählen eines dritten vorgegebenen Wertes auf der Grundlage der Beziehung zwischen (i) der Anzahl des Vorkommens des Musters von Datenpaketen und dem vorgegebenen Wert und (ii) der Anzahl des Vorkommens des zweiten Musters von Datenpaketen und dem zweiten vorgegebenen Wert.
- Verfahren nach Anspruch 9, das des Weiteren Folgendes umfasst: Vergleichen des Zeitintervalls mit dem dritten vorgegebenen Wert für das Zeitintervall, um ein drittes Muster der Datenpakete zu identifizieren.
- Verfahren nach Anspruch 10, das des Weiteren Folgendes umfasst: Vergleichen des dritten Musters mit dem Kommunikationsdatensatz, um zu bestimmen, ob wenigstens ein Teil der mehreren Datenpakete dem dritten Muster entspricht.
- Vorrichtung zum Identifizieren eines Musters von Kommunikationsdatenpaketen aus mehreren Datenpaketen, die zwischen einer ersten Rechenkomponente (
28 ) und mindestens einer zweiten Rechenkomponente (32 ) übermittelt werden, gekennzeichnet durch: ein Mittel zum Erzeugen eines Kommunikationsdatensatzes einschließlich einer Startzeit und einer Stoppzeit für mehrere Dienstanforderungen, wobei jede Dienstanforderung mehrere Datenpakete umfasst, wobei die Startzeit die empfangene Zeit für ein Dienstanforderungspaket der Dienstanforderung ist und wobei die Stoppzeit die empfangene Zeit für das Dienstvollendungspaket der Dienstanforderung ist; ein Mittel zum Bestimmen eines Musters zum Gruppieren mindestens einiger der mehreren Datenpakete in dem Kommunikationsdatensatz durch Vergleichen des Zeitintervalls zwischen der Stoppzeit einer ersten Dienstanforderung und der Startzeit einer nachfolgenden Dienstanforderung mit einem vorgegebenen Wert, wobei die erste Dienstanforderung und die nachfolgende Dienstanforderung als ein Teil des Musters gelten, wenn das Zeitintervall nicht größer als der vorgegebene Wert ist, und wobei das Mittel zum Bestimmen mit dem Mittel zum Erzeugen kommuniziert; und ein Mittel zum Vergleichen des Kommunikationsdatensatzes mit dem Muster, um zu bestimmen, ob mindestens einige der Datenpakete in dem Kommunikationsdatensatz einem Vorkommen des Musters entsprechen, und wobei das Mittel zum Vergleichen mit dem Mittel zum Bestimmen kommuniziert. - Vorrichtung nach Anspruch 12, wobei die Datenpakete mehreren Befehlsfolgen entsprechen, wobei jede Befehlsfolge Befehlsfolgenidentifikationsinformationen entspricht und das Mittel zum Vergleichen Folgendes umfasst: ein Mittel zum Sortieren der Datenpakete in dem Kommunikationsdatensatz in mehrere Befehlsfolgedatensätze, wobei die Datenpakete in jedem Befehlsfolgedatensatz die gleichen Befehlsfolgenidentifikationsinformationen haben.
- Vorrichtung nach Anspruch 12, wobei die Datenpakete Dienstanforderungspakete und Dienstvollendungspakete enthalten, wobei jedes Dienstanforderungspaket einer Dienstanforderung von der ersten Rechenkomponente (
32 ) entspricht und das Mittel zum Erzeugen Folgendes umfasst: ein Mittel zum Identifizieren der Dienstanforderungspakete in den Datenpaketen unter Verwendung des Inhalts der Datenpakete. - Vorrichtung nach Anspruch 12, wobei die Datenpakete Dienstanforderungspakete und entsprechende Dienstvollendungspakete enthalten, wobei jedes der Dienstanforderungspakete und entsprechenden Dienstvollendungspakete einer Dienstanforderung entspricht und das Mittel zum Erzeugen des Weiteren Folgendes umfasst: ein Mittel zum Identifizieren der Dienstanforderungspakete unter Verwendung des Inhalts der Datenpakete; ein Mittel zum Korrelieren jedes Dienstvollendungspaketes mit einem entsprechenden der Dienstanforderungspakete; und ein Mittel zum Bestimmen einer Startzeit und einer Stoppzeit für jede der entsprechenden Dienstanforderungen.
- Vorrichtung nach Anspruch 15, wobei das Mittel zum Vergleichen des Weiteren ein Mittel zum Berechnen einer Reaktionszeit für das Gruppieren unter Verwendung mindestens einiger der Startzeiten und der Stoppzeiten umfasst.
- Vorrichtung nach Anspruch 12, wobei mindestens einige der Datenpakete Dienstanforderungspakete zum Anfordern eines Dienstes von der ersten Rechenkomponente (
28 ) sind und das Mittel zum Vergleichen Folgendes umfasst: ein Mittel zum Abgleichen eines ersten Dienstanforderungspaketes mit einer Darstellung eines Dienstanforderungspaketes in dem Muster; und ein Mittel zum Abgleichen eines zweiten Dienstanforderungspaketes mit einer weiteren Darstellung eines Dienstanforderungspaketes in dem Muster, wobei ein Zeitintervall zwischen dem ersten und dem zweiten Dienstanforderungspaket nicht größer als ein vorgegebener Wert ist. - Vorrichtung nach Anspruch 12, wobei die Datenpakete mehreren Dienstanforderungen von der ersten Rechenkomponente (
28 ) an die zweite Rechenkomponente (32 ) entsprechen, wobei die Dienstanforderungen mehreren Befehlsfolgedatensätzen entsprechen und das Mittel zum Vergleichen Folgendes umfasst: ein Mittel zum Abgleichen einer ersten Dienstanforderung, die einer ersten Befehlsfolge entspricht, mit einer Darstellung eines Dienstanforderungspakets in dem Muster; und ein Mittel zum Abgleichen einer zweiten Dienstanforderung, die einer zweiten Befehlsfolge entspricht, mit einer weiteren Darstellung einer Dienstanforderung in dem Muster, wobei ein Zeitintervall zwischen der ersten und der zweiten Dienstanforderung nicht größer als ein vorgegebener Wert ist. - Vorrichtung nach einem der Ansprüche 12 bis 18, die des Weiteren Folgendes umfasst: ein Mittel zum Aufzeichnen jedes Vorkommens des Musters von Datenpaketen und der Gesamtzahl seines Vorkommens in einem ersten Kommunikationsdatensatz; ein Mittel zum Auswählen eines zweiten vorgegebenen Wertes; ein Mittel zum Vergleichen des Zeitintervalls mit dem zweiten vorgegebenen Wert, um ein zweites Muster der Datenpakete zu identifizieren; und ein Mittel zum Aufzeichnen jedes Vorkommens des zweiten Musters von Datenpaketen und der Gesamtzahl seines Vorkommens in einem zweiten Kommunikationsdatensatz.
- Vorrichtung nach Anspruch 19, die des Weiteren Folgendes umfasst: ein Mittel zum Auswählen eines dritten vorgegebenen Wertes auf der Grundlage der Beziehung zwischen (i) der Anzahl des Vorkommens des Musters von Datenpaketen und dem vorgegebenen Wert und (ii) der Anzahl des Vorkommens des zweiten Musters von Datenpaketen und dem zweiten vorgegebenen Wert.
- Vorrichtung nach Anspruch 19, die des Weiteren Folgendes umfasst: ein Mittel zum Vergleichen des Zeitintervalls mit dem dritten vorgegebenen Wert für das Zeitintervall, um ein drittes Muster der Datenpakete zu identifizieren.
- Vorrichtung nach Anspruch 21, die des Weiteren Folgendes umfasst: ein Mittel zum Vergleichen des dritten Musters mit dem Kommunikationsdatensatz, um zu bestimmen, ob wenigstens ein Teil der mehreren Datenpakete dem dritten Muster entspricht.
- Computerlesbares Medium, das Instruktionen umfasst, die, wenn sie durch einen geeigneten Computer ausgeführt werden, den Computer veranlassen, alle Verfahrensschritte nach einem der Ansprüche 1 bis 11 auszuführen.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/513,435 US5781449A (en) | 1995-08-10 | 1995-08-10 | Response time measurement apparatus and method |
US513435 | 1995-08-10 | ||
PCT/US1996/012035 WO1997006494A1 (en) | 1995-08-10 | 1996-07-19 | Response time measurement apparatus and method |
Publications (2)
Publication Number | Publication Date |
---|---|
DE69637228D1 DE69637228D1 (de) | 2007-10-11 |
DE69637228T2 true DE69637228T2 (de) | 2008-06-19 |
Family
ID=24043252
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE69637228T Expired - Lifetime DE69637228T2 (de) | 1995-08-10 | 1996-07-19 | Verfahren und vorrichtung zur messung der antwortzeit |
Country Status (13)
Country | Link |
---|---|
US (7) | US5781449A (de) |
EP (1) | EP0871938B1 (de) |
JP (1) | JP3774729B2 (de) |
KR (1) | KR100473304B1 (de) |
CN (1) | CN1197521A (de) |
AT (1) | ATE371894T1 (de) |
AU (1) | AU699693B2 (de) |
BR (1) | BR9610130A (de) |
CA (1) | CA2229022A1 (de) |
DE (1) | DE69637228T2 (de) |
IL (1) | IL123154A (de) |
MX (1) | MX9801142A (de) |
WO (1) | WO1997006494A1 (de) |
Families Citing this family (227)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5781449A (en) | 1995-08-10 | 1998-07-14 | Advanced System Technologies, Inc. | Response time measurement apparatus and method |
US6144961A (en) * | 1995-08-31 | 2000-11-07 | Compuware Corporation | Method and system for non-intrusive measurement of transaction response times on a network |
US5878420A (en) * | 1995-08-31 | 1999-03-02 | Compuware Corporation | Network monitoring and management system |
US20030195848A1 (en) | 1996-06-05 | 2003-10-16 | David Felger | Method of billing a purchase made over a computer network |
US7555458B1 (en) | 1996-06-05 | 2009-06-30 | Fraud Control System.Com Corporation | Method of billing a purchase made over a computer network |
US8229844B2 (en) | 1996-06-05 | 2012-07-24 | Fraud Control Systems.Com Corporation | Method of billing a purchase made over a computer network |
EP0825506B1 (de) | 1996-08-20 | 2013-03-06 | Invensys Systems, Inc. | Verfahren und Gerät zur Fernprozesssteuerung |
US6085243A (en) * | 1996-12-13 | 2000-07-04 | 3Com Corporation | Distributed remote management (dRMON) for networks |
US6094677A (en) * | 1997-05-30 | 2000-07-25 | International Business Machines Corporation | Methods, systems and computer program products for providing insertions during delays in interactive systems |
US6271843B1 (en) | 1997-05-30 | 2001-08-07 | International Business Machines Corporation | Methods systems and computer program products for transporting users in three dimensional virtual reality worlds using transportation vehicles |
US5974460A (en) * | 1997-06-16 | 1999-10-26 | International Business Machines Corporation | Apparatus and method for selecting an optimum telecommunications link |
US6182146B1 (en) * | 1997-06-27 | 2001-01-30 | Compuware Corporation | Automatic identification of application protocols through dynamic mapping of application-port associations |
EP0939929A4 (de) * | 1997-07-01 | 2007-01-10 | Progress Software Corp | Test- und fehlerbeseitigungsvorrichtung für netzwerkanwendungen |
US5905868A (en) * | 1997-07-22 | 1999-05-18 | Ncr Corporation | Client/server distribution of performance monitoring data |
US6526371B1 (en) * | 1999-10-27 | 2003-02-25 | Candle Distributed Solutions, Inc. | Round trip response time measurement for computer programs |
US7171483B2 (en) * | 1997-07-23 | 2007-01-30 | International Business Machines Corporation | Reducing information transmission time by adapting information delivery to the speed of a given network connection |
US6078956A (en) * | 1997-09-08 | 2000-06-20 | International Business Machines Corporation | World wide web end user response time monitor |
US6026391A (en) * | 1997-10-31 | 2000-02-15 | Oracle Corporation | Systems and methods for estimating query response times in a computer system |
US6178449B1 (en) * | 1997-11-26 | 2001-01-23 | International Business Machines Corporation | Apparatus and method for measuring transaction time in a computer system |
US6041352A (en) * | 1998-01-23 | 2000-03-21 | Hewlett-Packard Company | Response time measuring system and method for determining and isolating time delays within a network |
US6293801B1 (en) | 1998-01-23 | 2001-09-25 | Scientific Learning Corp. | Adaptive motivation for computer-assisted training system |
US6120298A (en) * | 1998-01-23 | 2000-09-19 | Scientific Learning Corp. | Uniform motivation for multiple computer-assisted training systems |
US6208640B1 (en) | 1998-02-27 | 2001-03-27 | David Spell | Predictive bandwidth allocation method and apparatus |
US6067638A (en) * | 1998-04-22 | 2000-05-23 | Scientific Learning Corp. | Simulated play of interactive multimedia applications for error detection |
US6113645A (en) * | 1998-04-22 | 2000-09-05 | Scientific Learning Corp. | Simulated play of interactive multimedia applications for error detection |
US6314463B1 (en) * | 1998-05-29 | 2001-11-06 | Webspective Software, Inc. | Method and system for measuring queue length and delay |
US6317786B1 (en) | 1998-05-29 | 2001-11-13 | Webspective Software, Inc. | Web service |
US6279001B1 (en) | 1998-05-29 | 2001-08-21 | Webspective Software, Inc. | Web service |
US7035943B2 (en) | 1998-05-29 | 2006-04-25 | Yahoo! Inc. | Web server content replication |
US7581006B1 (en) | 1998-05-29 | 2009-08-25 | Yahoo! Inc. | Web service |
US7143193B1 (en) * | 1998-05-29 | 2006-11-28 | Yahoo! Inc. | Content collection |
US6976093B2 (en) | 1998-05-29 | 2005-12-13 | Yahoo! Inc. | Web server content replication |
US6205413B1 (en) * | 1998-06-11 | 2001-03-20 | Chatschik Bisdikian | End-user oriented performance monitoring system for interactive end-to-end data communications |
US6477571B1 (en) | 1998-08-11 | 2002-11-05 | Computer Associates Think, Inc. | Transaction recognition and prediction using regular expressions |
AU6274099A (en) * | 1998-09-30 | 2000-04-17 | Netscout Service Level Corporation | Managing computer resources |
US6813640B1 (en) * | 1998-12-08 | 2004-11-02 | Macrovision Corporation | System and method for controlling the editing by user action of digital objects created in a document server application |
FR2790348B1 (fr) * | 1999-02-26 | 2001-05-25 | Thierry Grenot | Systeme et procede de mesure des durees de transfert et des taux de pertes dans des reseaux de telecommunication haut-debit |
US6560648B1 (en) * | 1999-04-19 | 2003-05-06 | International Business Machines Corporation | Method and apparatus for network latency performance measurement |
US7089530B1 (en) | 1999-05-17 | 2006-08-08 | Invensys Systems, Inc. | Process control configuration system with connection validation and configuration |
AU5273100A (en) | 1999-05-17 | 2000-12-05 | Foxboro Company, The | Methods and apparatus for control configuration with versioning, security, composite blocks, edit selection, object swapping, formulaic values and other aspects |
US6754885B1 (en) | 1999-05-17 | 2004-06-22 | Invensys Systems, Inc. | Methods and apparatus for controlling object appearance in a process control configuration system |
US6788980B1 (en) | 1999-06-11 | 2004-09-07 | Invensys Systems, Inc. | Methods and apparatus for control using control devices that provide a virtual machine environment and that communicate via an IP network |
US6957255B1 (en) * | 1999-06-28 | 2005-10-18 | Amdocs (Israel) Ltd. | Method and apparatus for session reconstruction and accounting involving VoIP calls |
US6510352B1 (en) | 1999-07-29 | 2003-01-21 | The Foxboro Company | Methods and apparatus for object-based process control |
US6983350B1 (en) * | 1999-08-31 | 2006-01-03 | Intel Corporation | SDRAM controller for parallel processor architecture |
US6954739B1 (en) * | 1999-11-16 | 2005-10-11 | Lucent Technologies Inc. | Measurement-based management method for packet communication networks |
US6473660B1 (en) | 1999-12-03 | 2002-10-29 | The Foxboro Company | Process control system and method with automatic fault avoidance |
US6661794B1 (en) * | 1999-12-29 | 2003-12-09 | Intel Corporation | Method and apparatus for gigabit packet assignment for multithreaded packet processing |
US6725272B1 (en) * | 2000-02-18 | 2004-04-20 | Netscaler, Inc. | Apparatus, method and computer program product for guaranteed content delivery incorporating putting a client on-hold based on response time |
US6738349B1 (en) * | 2000-03-01 | 2004-05-18 | Tektronix, Inc. | Non-intrusive measurement of end-to-end network properties |
US20080281963A1 (en) * | 2000-03-02 | 2008-11-13 | Rick Fletcher | Distributed remote management (drmon) for networks |
US7249192B1 (en) * | 2000-03-09 | 2007-07-24 | Hewlett-Packard Development Company, L.P. | Protocol for insuring exactly once semantics of transactions across an unordered, unreliable network |
WO2001080410A1 (de) * | 2000-04-13 | 2001-10-25 | Infineon Technologies Ag | Spannungswandler |
DK1297440T3 (da) * | 2000-05-12 | 2008-12-15 | Niksun Inc | Sikkerhedskamera til et netværk |
US6748431B1 (en) * | 2000-05-26 | 2004-06-08 | Microsoft Corporation | Systems and methods for monitoring network exchanges between a client and a server |
US7840691B1 (en) | 2000-09-07 | 2010-11-23 | Zamora Radio, Llc | Personal broadcast server system for providing a customized broadcast |
US6567767B1 (en) * | 2000-09-19 | 2003-05-20 | Unisys Corporation | Terminal server simulated client performance measurement tool |
US6831890B1 (en) | 2000-10-31 | 2004-12-14 | Agilent Technologies, Inc. | Measuring network performance parameters in data communication networks |
US6735541B2 (en) | 2001-02-16 | 2004-05-11 | Exxonmobil Research And Engineering Company | Process unit monitoring program |
US7506047B2 (en) * | 2001-03-30 | 2009-03-17 | Bmc Software, Inc. | Synthetic transaction monitor with replay capability |
US7792948B2 (en) * | 2001-03-30 | 2010-09-07 | Bmc Software, Inc. | Method and system for collecting, aggregating and viewing performance data on a site-wide basis |
US7461369B2 (en) * | 2001-03-30 | 2008-12-02 | Bmc Software, Inc. | Java application response time analyzer |
US8271678B2 (en) * | 2001-04-03 | 2012-09-18 | Arbor Networks, Inc. | Independent detection and filtering of undesirable packets |
US20020184363A1 (en) * | 2001-04-20 | 2002-12-05 | Steven Viavant | Techniques for server-controlled measurement of client-side performance |
US20020156878A1 (en) * | 2001-04-24 | 2002-10-24 | Conrad Jeffrey Richard | Method and system for monitoring node response time |
US7913261B2 (en) * | 2001-05-02 | 2011-03-22 | nCipher Corporation, Ltd. | Application-specific information-processing method, system, and apparatus |
US8140659B2 (en) * | 2001-05-08 | 2012-03-20 | Hewlett-Packard Development Company, L.P. | Calculating an estimated time to complete a request |
US7197559B2 (en) * | 2001-05-09 | 2007-03-27 | Mercury Interactive Corporation | Transaction breakdown feature to facilitate analysis of end user performance of a server system |
US20020198985A1 (en) * | 2001-05-09 | 2002-12-26 | Noam Fraenkel | Post-deployment monitoring and analysis of server performance |
US7962482B2 (en) | 2001-05-16 | 2011-06-14 | Pandora Media, Inc. | Methods and systems for utilizing contextual feedback to generate and modify playlists |
US6874099B1 (en) * | 2001-05-31 | 2005-03-29 | Sprint Communications Company L.P. | Method and software for testing and performance monitoring |
US7024477B2 (en) * | 2001-06-29 | 2006-04-04 | International Business Machines Corporation | Service time analysis methods for the WSM QOS monitor |
US20030033404A1 (en) * | 2001-08-09 | 2003-02-13 | Richardson David E. | Method for automatically monitoring a network |
US7536712B2 (en) * | 2001-10-16 | 2009-05-19 | Microsoft Corporation | Flexible electronic message security mechanism |
US8015204B2 (en) | 2001-10-16 | 2011-09-06 | Microsoft Corporation | Scoped access control metadata element |
US7676540B2 (en) * | 2001-10-16 | 2010-03-09 | Microsoft Corporation | Scoped referral statements |
US6976074B2 (en) * | 2001-10-16 | 2005-12-13 | Microsoft Corporation | Systems and methods for negotiating transactions between nodes |
EP1303097A3 (de) * | 2001-10-16 | 2005-11-30 | Microsoft Corporation | Virtuelles verteiltes Sicherheitsystem |
US7194553B2 (en) | 2001-10-16 | 2007-03-20 | Microsoft Corporation | Resolving virtual network names |
US20030074579A1 (en) * | 2001-10-16 | 2003-04-17 | Microsoft Corporation | Virtual distributed security system |
US6915450B2 (en) * | 2001-11-01 | 2005-07-05 | Sun Microsystems, Inc. | Method and apparatus for arbitrating transactions between domains in a computer system |
US7899047B2 (en) | 2001-11-27 | 2011-03-01 | Microsoft Corporation | Virtual network with adaptive dispatcher |
US7065102B1 (en) * | 2002-03-01 | 2006-06-20 | Network General Technology | System and method for correlating request and reply packets |
US20030225549A1 (en) * | 2002-03-29 | 2003-12-04 | Shay A. David | Systems and methods for end-to-end quality of service measurements in a distributed network environment |
WO2003084137A2 (en) * | 2002-03-29 | 2003-10-09 | Network Genomics, Inc. | Methods for identifying network traffic flows |
WO2003084133A1 (en) * | 2002-03-29 | 2003-10-09 | Network Genomics, Inc. | Forward looking infrastructure re-provisioning |
AU2003234106A1 (en) | 2002-04-15 | 2003-11-03 | Invensys Systems, Inc. | Methods and apparatus for process, factory-floor, environmental, computer aided manufacturing-based or other control system with real-time data distribution |
US7662094B2 (en) * | 2002-05-14 | 2010-02-16 | Given Imaging Ltd. | Optical head assembly with dome, and device for use thereof |
US6792460B2 (en) * | 2002-10-02 | 2004-09-14 | Mercury Interactive Corporation | System and methods for monitoring application server performance |
US7542471B2 (en) * | 2002-10-30 | 2009-06-02 | Citrix Systems, Inc. | Method of determining path maximum transmission unit |
US7616638B2 (en) | 2003-07-29 | 2009-11-10 | Orbital Data Corporation | Wavefront detection and disambiguation of acknowledgments |
US8233392B2 (en) * | 2003-07-29 | 2012-07-31 | Citrix Systems, Inc. | Transaction boundary detection for reduction in timeout penalties |
US8270423B2 (en) | 2003-07-29 | 2012-09-18 | Citrix Systems, Inc. | Systems and methods of using packet boundaries for reduction in timeout prevention |
US7630305B2 (en) | 2003-07-29 | 2009-12-08 | Orbital Data Corporation | TCP selective acknowledgements for communicating delivered and missed data packets |
US20040123279A1 (en) * | 2002-12-18 | 2004-06-24 | International Business Machines Corporation | Method and system for auto-instrumenting java applications through probe injection |
FR2849313B1 (fr) * | 2002-12-20 | 2005-03-11 | Cit Alcatel | Dispositif de controle de traitements associes a des flux au sein d'un reseau de communications |
US7568023B2 (en) * | 2002-12-24 | 2009-07-28 | Hewlett-Packard Development Company, L.P. | Method, system, and data structure for monitoring transaction performance in a managed computer network environment |
GB2399189B (en) * | 2003-03-05 | 2006-07-19 | Quazal Technologies Inc | Coherent data sharing |
US6976144B1 (en) * | 2003-05-06 | 2005-12-13 | Pegasystems, Inc. | Methods and apparatus for digital data processing with mutable inheritance |
WO2005006205A1 (en) * | 2003-07-15 | 2005-01-20 | Intel, Zakrytoe Aktsionernoe Obschestvo | A method of efficient performance monitoring for symmetric multi-threading systems |
US7656799B2 (en) | 2003-07-29 | 2010-02-02 | Citrix Systems, Inc. | Flow control system architecture |
US8238241B2 (en) | 2003-07-29 | 2012-08-07 | Citrix Systems, Inc. | Automatic detection and window virtualization for flow control |
US7698453B2 (en) * | 2003-07-29 | 2010-04-13 | Oribital Data Corporation | Early generation of acknowledgements for flow control |
US8437284B2 (en) | 2003-07-29 | 2013-05-07 | Citrix Systems, Inc. | Systems and methods for additional retransmissions of dropped packets |
US8432800B2 (en) | 2003-07-29 | 2013-04-30 | Citrix Systems, Inc. | Systems and methods for stochastic-based quality of service |
US7464181B2 (en) * | 2003-09-11 | 2008-12-09 | International Business Machines Corporation | Method for caching lookups based upon TCP traffic flow characteristics |
US20050097196A1 (en) * | 2003-10-03 | 2005-05-05 | Wronski Leszek D. | Network status messaging |
US7978716B2 (en) | 2003-11-24 | 2011-07-12 | Citrix Systems, Inc. | Systems and methods for providing a VPN solution |
JP3937341B2 (ja) | 2004-01-30 | 2007-06-27 | 日本電気株式会社 | 計算機システム性能測定分析用のトランザクションプロファイルの生成システム、その生成方法及びプログラム |
US7761923B2 (en) | 2004-03-01 | 2010-07-20 | Invensys Systems, Inc. | Process control methods and apparatus for intrusion detection, protection and network hardening |
US7665063B1 (en) | 2004-05-26 | 2010-02-16 | Pegasystems, Inc. | Integration of declarative rule-based processing with procedural programming |
US7757074B2 (en) | 2004-06-30 | 2010-07-13 | Citrix Application Networking, Llc | System and method for establishing a virtual private network |
US8739274B2 (en) | 2004-06-30 | 2014-05-27 | Citrix Systems, Inc. | Method and device for performing integrated caching in a data communication network |
US8495305B2 (en) | 2004-06-30 | 2013-07-23 | Citrix Systems, Inc. | Method and device for performing caching of dynamically generated objects in a data communication network |
AU2005266943C1 (en) | 2004-07-23 | 2011-01-06 | Citrix Systems, Inc. | Systems and methods for optimizing communications between network nodes |
EP2264956B1 (de) | 2004-07-23 | 2017-06-14 | Citrix Systems, Inc. | Verfahren zur sicherung von zugriff aus der ferne auf private netze |
KR100608833B1 (ko) * | 2004-11-22 | 2006-08-08 | 엘지전자 주식회사 | 인터넷을 통한 디버깅 장치의 원격 제어 장치 및 방법 |
US8549149B2 (en) | 2004-12-30 | 2013-10-01 | Citrix Systems, Inc. | Systems and methods for providing client-side accelerated access to remote applications via TCP multiplexing |
US8700695B2 (en) | 2004-12-30 | 2014-04-15 | Citrix Systems, Inc. | Systems and methods for providing client-side accelerated access to remote applications via TCP pooling |
US7810089B2 (en) | 2004-12-30 | 2010-10-05 | Citrix Systems, Inc. | Systems and methods for automatic installation and execution of a client-side acceleration program |
US8954595B2 (en) | 2004-12-30 | 2015-02-10 | Citrix Systems, Inc. | Systems and methods for providing client-side accelerated access to remote applications via TCP buffering |
US8706877B2 (en) | 2004-12-30 | 2014-04-22 | Citrix Systems, Inc. | Systems and methods for providing client-side dynamic redirection to bypass an intermediary |
WO2006081032A2 (en) | 2005-01-24 | 2006-08-03 | Citrix Systems, Inc. | Systems and methods for performing caching of dynamically generated objects in a network |
US8255456B2 (en) | 2005-12-30 | 2012-08-28 | Citrix Systems, Inc. | System and method for performing flash caching of dynamically generated objects in a data communication network |
US7975000B2 (en) * | 2005-01-27 | 2011-07-05 | Fmr Llc | A/B testing of a webpage |
US8335704B2 (en) | 2005-01-28 | 2012-12-18 | Pegasystems Inc. | Methods and apparatus for work management and routing |
US20060224822A1 (en) * | 2005-03-18 | 2006-10-05 | Blomquist Scott A | System and method for tagging and filtering electronic data |
US7580365B2 (en) * | 2005-04-01 | 2009-08-25 | International Business Machines Corporation | System and method utilizing a single agent on a non-origin node for measuring the roundtrip response time over a public or private network with HTTP/HTTPS network protocol |
US20060221851A1 (en) * | 2005-04-01 | 2006-10-05 | International Business Machines Corporation | System and method for measuring the roundtrip response time of network protocols utilizing a single agent on a non-origin node |
US7519007B2 (en) | 2005-04-01 | 2009-04-14 | International Business Machines Corporation | Method utilizing a single agent on a non-origin node for measuring the roundtrip response time of web pages with embedded HTML frames over a public or private network |
GB2428534B (en) * | 2005-07-20 | 2010-06-02 | Agilent Technologies Inc | Measurement system and method of measuring a transit metric |
US20070047438A1 (en) * | 2005-08-20 | 2007-03-01 | Malloy Patrick J | Identifying a transaction of interest within a network |
US7991971B2 (en) * | 2005-09-09 | 2011-08-02 | Microsoft Corporation | State management for transactional backup consistency |
US20070084638A1 (en) * | 2005-10-19 | 2007-04-19 | Clyde Bohnsack | Drilling fluid flow facilitation |
US8055897B2 (en) * | 2005-12-06 | 2011-11-08 | Lippershy Celestial Llc | Digital object title and transmission information |
US20070136209A1 (en) * | 2005-12-06 | 2007-06-14 | Shabbir Khan | Digital object title authentication |
US8194701B2 (en) * | 2005-12-06 | 2012-06-05 | Lippershy Celestial Llc | System and/or method for downstream bidding |
US9686183B2 (en) | 2005-12-06 | 2017-06-20 | Zarbaña Digital Fund Llc | Digital object routing based on a service request |
US8014389B2 (en) * | 2005-12-06 | 2011-09-06 | Lippershy Celestial Llc | Bidding network |
US7921184B2 (en) | 2005-12-30 | 2011-04-05 | Citrix Systems, Inc. | System and method for performing flash crowd caching of dynamically generated objects in a data communication network |
US8301839B2 (en) | 2005-12-30 | 2012-10-30 | Citrix Systems, Inc. | System and method for performing granular invalidation of cached dynamically generated objects in a data communication network |
US7640222B2 (en) * | 2006-03-03 | 2009-12-29 | Pegasystems Inc. | Rules base systems and methods with circumstance translation |
JP4566148B2 (ja) * | 2006-03-20 | 2010-10-20 | 富士通株式会社 | ネットワーク疎通監視システム、ネットワーク疎通監視方法、中央装置、中継装置及びコンピュータプログラム |
US7945251B2 (en) * | 2006-03-27 | 2011-05-17 | Sony Ericsson Mobile Communications Ab | Locating a service device for a portable communication device |
US8924335B1 (en) | 2006-03-30 | 2014-12-30 | Pegasystems Inc. | Rule-based user interface conformance methods |
WO2007123753A2 (en) | 2006-03-30 | 2007-11-01 | Invensys Systems, Inc. | Digital data processing apparatus and methods for improving plant performance |
US8468283B2 (en) * | 2006-06-01 | 2013-06-18 | Telefonaktiebolaget Lm Ericsson (Publ) | Arbiter diagnostic apparatus and method |
US7877373B2 (en) * | 2006-06-30 | 2011-01-25 | Oracle International Corporation | Executing alternative plans for a SQL statement |
US20080016062A1 (en) * | 2006-06-30 | 2008-01-17 | Drescher Keith A | Request-response trigger generation in link-connected computing systems |
US9027011B1 (en) * | 2006-08-31 | 2015-05-05 | Oracle America, Inc. | Using method-profiling to dynamically tune a virtual machine for responsiveness |
US10110687B2 (en) * | 2006-10-06 | 2018-10-23 | International Business Machines Corporation | Session based web usage reporter |
US8396834B2 (en) * | 2006-10-10 | 2013-03-12 | International Business Machines Corporation | Real time web usage reporter using RAM |
US7779133B2 (en) * | 2007-01-04 | 2010-08-17 | Yahoo! Inc. | Estimation of web client response time |
US8250525B2 (en) | 2007-03-02 | 2012-08-21 | Pegasystems Inc. | Proactive performance management for multi-user enterprise software systems |
US7779127B2 (en) * | 2007-03-09 | 2010-08-17 | Hewlett-Packard Development Company, L.P. | System and method for determining a subset of transactions of a computing system for use in determing resource costs |
US8681643B2 (en) * | 2007-04-05 | 2014-03-25 | Bloomberg Finance L.P. | System and method of determining data latency over a network |
US8903801B2 (en) | 2007-09-14 | 2014-12-02 | Oracle International Corporation | Fully automated SQL tuning |
US8341178B2 (en) * | 2007-09-18 | 2012-12-25 | Oracle International Corporation | SQL performance analyzer |
US8069240B1 (en) | 2007-09-25 | 2011-11-29 | United Services Automobile Association (Usaa) | Performance tuning of IT services |
US8600977B2 (en) * | 2007-10-17 | 2013-12-03 | Oracle International Corporation | Automatic recognition and capture of SQL execution plans |
US8326970B2 (en) * | 2007-11-05 | 2012-12-04 | Hewlett-Packard Development Company, L.P. | System and method for modeling a session-based system with a transaction-based analytic model |
US8127235B2 (en) | 2007-11-30 | 2012-02-28 | International Business Machines Corporation | Automatic increasing of capacity of a virtual space in a virtual world |
US20090164919A1 (en) | 2007-12-24 | 2009-06-25 | Cary Lee Bates | Generating data for managing encounters in a virtual world environment |
JP4739364B2 (ja) * | 2008-04-08 | 2011-08-03 | 株式会社日立製作所 | サービス使用経路出力システム、管理サーバ、サービス使用経路出力方法、およびサービス使用経路出力プログラム |
EP2304536A4 (de) | 2008-06-20 | 2012-08-15 | Invensys Sys Inc | Systeme und verfahren zur immersiven interaktion mit tatsächlichen und/oder simulierten einrichtungen zur prozess-, umwelt- und industriesteuerung |
US8015276B2 (en) * | 2008-11-18 | 2011-09-06 | At&T Intellectual Property I, L.P. | Method to identify performance and capacity bottlenecks of complex systems |
JP5422989B2 (ja) * | 2008-12-17 | 2014-02-19 | 富士通株式会社 | トランザクションモデル生成支援プログラム、トランザクションモデル生成支援装置、およびトランザクションモデル生成支援方法 |
US8843435B1 (en) | 2009-03-12 | 2014-09-23 | Pegasystems Inc. | Techniques for dynamic data processing |
US8468492B1 (en) | 2009-03-30 | 2013-06-18 | Pegasystems, Inc. | System and method for creation and modification of software applications |
US8463964B2 (en) | 2009-05-29 | 2013-06-11 | Invensys Systems, Inc. | Methods and apparatus for control configuration with enhanced change-tracking |
US8127060B2 (en) | 2009-05-29 | 2012-02-28 | Invensys Systems, Inc | Methods and apparatus for control configuration with control objects that are fieldbus protocol-aware |
US9654505B2 (en) * | 2009-06-22 | 2017-05-16 | Citrix Systems, Inc. | Systems and methods for encoding the core identifier in the session identifier |
US8601556B2 (en) | 2009-06-22 | 2013-12-03 | Citrix Systems, Inc. | Systems and methods for handling SSL session not reusable across multiple cores |
US8250198B2 (en) * | 2009-08-12 | 2012-08-21 | Microsoft Corporation | Capacity planning for data center services |
US8938533B1 (en) | 2009-09-10 | 2015-01-20 | AppDynamics Inc. | Automatic capture of diagnostic data based on transaction behavior learning |
JP5482243B2 (ja) * | 2010-01-29 | 2014-05-07 | 富士通株式会社 | 系列生成プログラム、系列生成方法、および系列生成装置 |
US8429616B2 (en) * | 2010-03-19 | 2013-04-23 | Ebay Inc. | Orthogonal experimentation in a computing environment |
US8572252B2 (en) | 2010-04-09 | 2013-10-29 | Microsoft Corporation | Extensible dynamic performance instrumentation of pages |
US8694779B2 (en) | 2010-08-13 | 2014-04-08 | Bmc Software, Inc. | Monitoring based on client perspective |
US8510601B1 (en) * | 2010-09-27 | 2013-08-13 | Amazon Technologies, Inc. | Generating service call patterns for systems under test |
US8886795B2 (en) * | 2011-01-27 | 2014-11-11 | Hewlett-Packard Development Company, L.P. | Method and system for determining response time of a server |
US8880487B1 (en) | 2011-02-18 | 2014-11-04 | Pegasystems Inc. | Systems and methods for distributed rules processing |
ITRM20110436A1 (it) * | 2011-08-11 | 2013-02-12 | B P Informatica S R L | Metodo di monitoraggio del tempo di download lato client di una pagina html, e relativo sistema di monitoraggio . |
US9195936B1 (en) | 2011-12-30 | 2015-11-24 | Pegasystems Inc. | System and method for updating or modifying an application without manual coding |
US9100320B2 (en) | 2011-12-30 | 2015-08-04 | Bmc Software, Inc. | Monitoring network performance remotely |
US9311598B1 (en) * | 2012-02-02 | 2016-04-12 | AppDynamics, Inc. | Automatic capture of detailed analysis information for web application outliers with very low overhead |
US9197606B2 (en) | 2012-03-28 | 2015-11-24 | Bmc Software, Inc. | Monitoring network performance of encrypted communications |
CN104516819B (zh) * | 2012-03-29 | 2018-01-19 | 北京奇虎科技有限公司 | 软件的界面状态变化时间的测试方法和装置 |
US9438488B2 (en) * | 2012-11-09 | 2016-09-06 | Citrix Systems, Inc. | Systems and methods for appflow for datastream |
JP5856988B2 (ja) * | 2013-02-04 | 2016-02-10 | 日本電信電話株式会社 | 通信分類装置及び方法及びプログラム |
US9838512B2 (en) | 2014-10-30 | 2017-12-05 | Splunk Inc. | Protocol-based capture of network data using remote capture agents |
US10360196B2 (en) | 2014-04-15 | 2019-07-23 | Splunk Inc. | Grouping and managing event streams generated from captured network data |
US10462004B2 (en) | 2014-04-15 | 2019-10-29 | Splunk Inc. | Visualizations of statistics associated with captured network data |
US9762443B2 (en) | 2014-04-15 | 2017-09-12 | Splunk Inc. | Transformation of network data at remote capture agents |
US11281643B2 (en) | 2014-04-15 | 2022-03-22 | Splunk Inc. | Generating event streams including aggregated values from monitored network data |
US11086897B2 (en) | 2014-04-15 | 2021-08-10 | Splunk Inc. | Linking event streams across applications of a data intake and query system |
US10523521B2 (en) | 2014-04-15 | 2019-12-31 | Splunk Inc. | Managing ephemeral event streams generated from captured network data |
US10700950B2 (en) | 2014-04-15 | 2020-06-30 | Splunk Inc. | Adjusting network data storage based on event stream statistics |
US9923767B2 (en) | 2014-04-15 | 2018-03-20 | Splunk Inc. | Dynamic configuration of remote capture agents for network data capture |
US10693742B2 (en) | 2014-04-15 | 2020-06-23 | Splunk Inc. | Inline visualizations of metrics related to captured network data |
US10366101B2 (en) | 2014-04-15 | 2019-07-30 | Splunk Inc. | Bidirectional linking of ephemeral event streams to creators of the ephemeral event streams |
US10127273B2 (en) | 2014-04-15 | 2018-11-13 | Splunk Inc. | Distributed processing of network data using remote capture agents |
US9600191B2 (en) * | 2014-06-02 | 2017-03-21 | Micron Technology, Inc. | Systems and methods for reordering packet transmissions in a scalable memory system protocol |
US9998562B1 (en) | 2014-06-19 | 2018-06-12 | Amazon Technologies, Inc. | Service-oriented system optimization using partial service relocation |
US9998328B1 (en) | 2014-06-19 | 2018-06-12 | Amazon Technologies, Inc. | Service-oriented system optimization using client device relocation |
US9998330B1 (en) | 2014-06-19 | 2018-06-12 | Amazon Technologies, Inc. | Service-oriented system optimization using edge relocation |
US10091061B1 (en) | 2014-06-19 | 2018-10-02 | Amazon Technologies, Inc. | Service-oriented system optimization using static analysis |
US10182129B1 (en) * | 2014-06-19 | 2019-01-15 | Amazon Technologies, Inc. | Global optimization of a service-oriented system |
US10621064B2 (en) | 2014-07-07 | 2020-04-14 | Oracle International Corporation | Proactive impact measurement of database changes on production systems |
US9967164B2 (en) * | 2014-09-02 | 2018-05-08 | Netscout Systems Texas, Llc | Methods and devices to efficiently determine node delay in a communication network |
US10469396B2 (en) | 2014-10-10 | 2019-11-05 | Pegasystems, Inc. | Event processing with enhanced throughput |
US9596253B2 (en) | 2014-10-30 | 2017-03-14 | Splunk Inc. | Capture triggers for capturing network data |
US10334085B2 (en) | 2015-01-29 | 2019-06-25 | Splunk Inc. | Facilitating custom content extraction from network packets |
US10834065B1 (en) | 2015-03-31 | 2020-11-10 | F5 Networks, Inc. | Methods for SSL protected NTLM re-authentication and devices thereof |
US9647950B2 (en) * | 2015-05-11 | 2017-05-09 | Ebay Inc. | System and method of site traffic control |
US10404698B1 (en) | 2016-01-15 | 2019-09-03 | F5 Networks, Inc. | Methods for adaptive organization of web application access points in webtops and devices thereof |
US10698599B2 (en) | 2016-06-03 | 2020-06-30 | Pegasystems, Inc. | Connecting graphical shapes using gestures |
US10698647B2 (en) | 2016-07-11 | 2020-06-30 | Pegasystems Inc. | Selective sharing for collaborative application usage |
US10810230B2 (en) * | 2017-03-21 | 2020-10-20 | Salesforce.Com, Inc. | Thread record provider |
US10803080B2 (en) * | 2017-03-21 | 2020-10-13 | Salesforce.Com, Inc. | Thread record provider |
CN109284212A (zh) * | 2017-07-21 | 2019-01-29 | 中兴通讯股份有限公司 | 一种跟踪、监控软件行为的方法、装置及设备 |
US11386058B2 (en) | 2017-09-29 | 2022-07-12 | Oracle International Corporation | Rule-based autonomous database cloud service framework |
US11327932B2 (en) | 2017-09-30 | 2022-05-10 | Oracle International Corporation | Autonomous multitenant database cloud service framework |
US11048488B2 (en) | 2018-08-14 | 2021-06-29 | Pegasystems, Inc. | Software code optimizer and method |
US11086963B2 (en) | 2018-12-05 | 2021-08-10 | Ebay Inc. | Adaptive data platforms |
US11567945B1 (en) | 2020-08-27 | 2023-01-31 | Pegasystems Inc. | Customized digital content generation systems and methods |
KR102503272B1 (ko) * | 2021-02-24 | 2023-02-24 | 주식회사 윈스 | 네트워크 장비에서의 패킷 프로세싱 방법, 장치 및 컴퓨터 프로그램 |
Family Cites Families (53)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4369493A (en) * | 1979-05-14 | 1983-01-18 | Metropolitan Life Insurance Company | Response time monitor |
JPH07120299B2 (ja) * | 1986-01-10 | 1995-12-20 | 株式会社日立製作所 | マルチプロセッサシステムの試験方法 |
US4894823A (en) * | 1986-02-28 | 1990-01-16 | American Telephone And Telegraph Company | Time stamping for packet system nodes |
JP2570289B2 (ja) * | 1986-05-20 | 1997-01-08 | 日本電気株式会社 | 監視方式 |
US5045994A (en) * | 1986-09-23 | 1991-09-03 | Bell Communications Research, Inc. | Emulation process having several displayed input formats and output formats and windows for creating and testing computer systems |
US4905171A (en) * | 1987-11-09 | 1990-02-27 | International Business Machines Corporation | Workstation controller performance monitor |
US5101402A (en) | 1988-05-24 | 1992-03-31 | Digital Equipment Corporation | Apparatus and method for realtime monitoring of network sessions in a local area network |
US4894846A (en) * | 1988-06-30 | 1990-01-16 | Digital Equipment Corporation | Method for maintaining a correct time in a distributed processing system |
US4930093A (en) * | 1988-08-01 | 1990-05-29 | Ncr Corporation | Method of measuring message response time performance of a data processing system including data terminals |
US5067107A (en) * | 1988-08-05 | 1991-11-19 | Hewlett-Packard Company | Continuous computer performance measurement tool that reduces operating system produced performance data for logging into global, process, and workload files |
US5247517A (en) | 1989-10-20 | 1993-09-21 | Novell, Inc. | Method and apparatus for analyzing networks |
EP0427511B1 (de) * | 1989-11-06 | 1995-06-07 | Fujitsu Limited | Schalterinformationsvorrichtung |
US5095444A (en) * | 1989-12-21 | 1992-03-10 | Legent Corporation | System and method for measuring inter-nodal transmission delays in a communications network |
EP0477448B1 (de) | 1990-09-28 | 1995-07-12 | Hewlett-Packard Company | Netzüberwachungssystem und -vorrichtung |
JPH04148242A (ja) | 1990-10-08 | 1992-05-21 | Fujitsu Ltd | ロード・モジュール実行時トレース処理方法 |
US5245638A (en) * | 1990-10-29 | 1993-09-14 | Iowa State University Research Foundation, Inc. | Method and system for benchmarking computers |
US5331574A (en) * | 1991-08-06 | 1994-07-19 | International Business Machines Corporation | System and method for collecting response times for exception response applications |
US5351243A (en) | 1991-12-27 | 1994-09-27 | Digital Equipment Corporation | Monitor for packets on a communications network |
US5303166A (en) * | 1992-04-14 | 1994-04-12 | International Business Machines Corporation | Method and system for automated network benchmark performance analysis |
US5278901A (en) * | 1992-04-30 | 1994-01-11 | International Business Machines Corporation | Pattern-oriented intrusion-detection system and method |
JPH05316170A (ja) | 1992-05-07 | 1993-11-26 | Matsushita Electric Ind Co Ltd | データモニタ装置 |
JP3290438B2 (ja) | 1992-06-17 | 2002-06-10 | アジレント・テクノロジーズ・インク | ネットワーク監視方法及び装置 |
US5553235A (en) * | 1992-10-23 | 1996-09-03 | International Business Machines Corporation | System and method for maintaining performance data in a data processing system |
WO1994014118A1 (en) | 1992-12-17 | 1994-06-23 | Legent Corporation | System and method for generating local area network operating statistics |
GB9303527D0 (en) * | 1993-02-22 | 1993-04-07 | Hewlett Packard Ltd | Network analysis method |
US5862335A (en) * | 1993-04-01 | 1999-01-19 | Intel Corp. | Method and apparatus for monitoring file transfers and logical connections in a computer network |
SE515419C2 (sv) * | 1993-06-15 | 2001-07-30 | Ericsson Telefon Ab L M | Förfarande och anordning för resekvensiering |
US5491750A (en) * | 1993-12-30 | 1996-02-13 | International Business Machines Corporation | Method and apparatus for three-party entity authentication and key distribution using message authentication codes |
US5706429A (en) | 1994-03-21 | 1998-01-06 | International Business Machines Corporation | Transaction processing system and method |
US5619656A (en) | 1994-05-05 | 1997-04-08 | Openservice, Inc. | System for uninterruptively displaying only relevant and non-redundant alert message of the highest severity for specific condition associated with group of computers being managed |
EP0696119B1 (de) | 1994-07-28 | 2003-09-24 | Alcatel | Verfahren zum Ermitteln einer Anzahl diskriminierter digitaler Dateneinheiten und zur Abschätzung der Antwortzeit |
US5598535A (en) | 1994-08-01 | 1997-01-28 | International Business Machines Corporation | System for selectively and cumulatively grouping packets from different sessions upon the absence of exception condition and sending the packets after preselected time conditions |
US5627886A (en) | 1994-09-22 | 1997-05-06 | Electronic Data Systems Corporation | System and method for detecting fraudulent network usage patterns using real-time network monitoring |
US5491792A (en) * | 1994-09-23 | 1996-02-13 | Forney International, Inc. | Sequence of events system using a redundant analog I/O board system |
US5708780A (en) * | 1995-06-07 | 1998-01-13 | Open Market, Inc. | Internet server access control and monitoring systems |
US5675510A (en) * | 1995-06-07 | 1997-10-07 | Pc Meter L.P. | Computer use meter and analyzer |
US5802302A (en) * | 1995-06-29 | 1998-09-01 | International Business Machines Corporation | System and method for response time measurement in high speed data transmission networks |
US5563875A (en) | 1995-07-10 | 1996-10-08 | International Business Machines Corporation | Wrap-around route testing in packet communications networks |
US5881051A (en) * | 1995-07-10 | 1999-03-09 | International Business Machines | Management of route testing in packet communications networks |
US5781449A (en) | 1995-08-10 | 1998-07-14 | Advanced System Technologies, Inc. | Response time measurement apparatus and method |
US6144961A (en) * | 1995-08-31 | 2000-11-07 | Compuware Corporation | Method and system for non-intrusive measurement of transaction response times on a network |
US5826270A (en) | 1995-12-28 | 1998-10-20 | Csg Systems, Inc. | Methods and systems for client or customer-site transaction processing in a distributed database system |
US6006242A (en) | 1996-04-05 | 1999-12-21 | Bankers Systems, Inc. | Apparatus and method for dynamically creating a document |
US6018619A (en) | 1996-05-24 | 2000-01-25 | Microsoft Corporation | Method, system and apparatus for client-side usage tracking of information server systems |
US5787253A (en) * | 1996-05-28 | 1998-07-28 | The Ag Group | Apparatus and method of analyzing internet activity |
US5933602A (en) | 1996-07-31 | 1999-08-03 | Novell, Inc. | System for selecting command packet and corresponding response packet from communication stream of packets by monitoring packets sent between nodes on network |
US5872976A (en) | 1997-04-01 | 1999-02-16 | Landmark Systems Corporation | Client-based system for monitoring the performance of application programs |
US5838820A (en) | 1997-04-30 | 1998-11-17 | Bergman; Anthony J. | Pattern recognition apparatus and method |
US6012096A (en) * | 1998-04-23 | 2000-01-04 | Microsoft Corporation | Method and system for peer-to-peer network latency measurement |
US6070190A (en) | 1998-05-11 | 2000-05-30 | International Business Machines Corporation | Client-based application availability and response monitoring and reporting for distributed computing environments |
US6205122B1 (en) * | 1998-07-21 | 2001-03-20 | Mercury Interactive Corporation | Automatic network topology analysis |
US6317787B1 (en) * | 1998-08-11 | 2001-11-13 | Webtrends Corporation | System and method for analyzing web-server log files |
US6477571B1 (en) | 1998-08-11 | 2002-11-05 | Computer Associates Think, Inc. | Transaction recognition and prediction using regular expressions |
-
1995
- 1995-08-10 US US08/513,435 patent/US5781449A/en not_active Expired - Lifetime
-
1996
- 1996-07-19 CA CA002229022A patent/CA2229022A1/en not_active Abandoned
- 1996-07-19 WO PCT/US1996/012035 patent/WO1997006494A1/en active IP Right Grant
- 1996-07-19 BR BR9610130-0A patent/BR9610130A/pt not_active IP Right Cessation
- 1996-07-19 AT AT96924658T patent/ATE371894T1/de not_active IP Right Cessation
- 1996-07-19 AU AU65053/96A patent/AU699693B2/en not_active Ceased
- 1996-07-19 DE DE69637228T patent/DE69637228T2/de not_active Expired - Lifetime
- 1996-07-19 CN CN96197113A patent/CN1197521A/zh active Pending
- 1996-07-19 JP JP50844997A patent/JP3774729B2/ja not_active Expired - Fee Related
- 1996-07-19 KR KR10-1998-0700999A patent/KR100473304B1/ko not_active IP Right Cessation
- 1996-07-19 EP EP96924658A patent/EP0871938B1/de not_active Expired - Lifetime
- 1996-07-19 IL IL12315496A patent/IL123154A/en not_active IP Right Cessation
-
1997
- 1997-05-20 US US08/858,953 patent/US5764912A/en not_active Expired - Lifetime
- 1997-07-18 US US08/896,749 patent/US5838920A/en not_active Expired - Lifetime
-
1998
- 1998-02-10 MX MX9801142A patent/MX9801142A/es not_active IP Right Cessation
- 1998-11-05 US US09/186,906 patent/US6493754B1/en not_active Expired - Lifetime
- 1998-12-16 US US09/212,836 patent/US6308211B1/en not_active Expired - Lifetime
-
1999
- 1999-07-28 US US09/363,001 patent/US8255511B1/en not_active Expired - Fee Related
-
2002
- 2002-04-09 US US10/119,465 patent/US6522631B2/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
BR9610130A (pt) | 2000-06-20 |
US20020110091A1 (en) | 2002-08-15 |
JPH11510660A (ja) | 1999-09-14 |
EP0871938A1 (de) | 1998-10-21 |
US6308211B1 (en) | 2001-10-23 |
US5838920A (en) | 1998-11-17 |
IL123154A (en) | 2002-09-12 |
AU699693B2 (en) | 1998-12-10 |
JP3774729B2 (ja) | 2006-05-17 |
ATE371894T1 (de) | 2007-09-15 |
DE69637228D1 (de) | 2007-10-11 |
WO1997006494A1 (en) | 1997-02-20 |
KR19990036331A (ko) | 1999-05-25 |
AU6505396A (en) | 1997-03-05 |
US8255511B1 (en) | 2012-08-28 |
EP0871938A4 (de) | 2005-09-07 |
US6522631B2 (en) | 2003-02-18 |
US5764912A (en) | 1998-06-09 |
EP0871938B1 (de) | 2007-08-29 |
CA2229022A1 (en) | 1997-02-20 |
US5781449A (en) | 1998-07-14 |
KR100473304B1 (ko) | 2005-05-16 |
US6493754B1 (en) | 2002-12-10 |
MX9801142A (es) | 1998-11-30 |
IL123154A0 (en) | 1998-09-24 |
CN1197521A (zh) | 1998-10-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69637228T2 (de) | Verfahren und vorrichtung zur messung der antwortzeit | |
DE69736399T2 (de) | Verfahren und vorrichtung zur messung des spitzen durchsatzes in datenpacket-netzwerken | |
DE60035339T2 (de) | Versammeln und berichterstellung von überwachungsdaten von entfernten netzwerksonden | |
DE60130158T2 (de) | Leistungsüberwachung in verteilten Systemen | |
DE60220287T2 (de) | System und verfahren zur überwachung von software-warteschlangenanwendungen | |
DE60214994T2 (de) | Verfahren und system zur verringerung von falschalarmen in netzwerkfehlermanagementsystemen | |
DE69934102T2 (de) | System und verfahren zur model-mining von komplexen informationtechnologiesystemen | |
EP1108308B1 (de) | System und verfahren zur ablaufkontrolle bei netzwerk-anwendungen | |
DE60316048T2 (de) | Verfahren und System zur Überwachung eines Netzwerkgerätes | |
DE69911681T2 (de) | Verfahren zum Verfolgen von Konfigurationsänderungen in Netzwerken von Rechnersystemen durch historische Überwachung des Konfigurationsstatus der Vorrichtungen im Netzwerk | |
DE69636158T2 (de) | Verfahren und Anordnung zur Durchführung von Dienstqualitätsmessungen auf einer Verbindung über einem Netzwerk | |
EP1178409A1 (de) | Cookiemanager zur Kontrolle des Cookietransfers in Internet-Client-Server Computersystem | |
DE102005016033A1 (de) | Verfahren und Systeme zum Analysieren von Netzwerkübertragungsereignissen | |
DE69827073T2 (de) | Steuerungssystem zur Reservierung von permanenten virtuellen Verbindungen | |
CH698374B1 (de) | Verfahren und Vorrichtung zum Einholen von Daten. | |
DE10039538A1 (de) | Vorrichtung und Methode zum Analysieren der Leistung eines Computerprogramms | |
DE602004005521T2 (de) | Verfahren und vorrichtung zur biometrischen verifikation mittels priorisierter datenpaketübertragung | |
DE102010028884A1 (de) | Ursachenanalyse für Verarbeitung komplexer Ereignisse | |
DE60203404T2 (de) | Client-server netzwerken | |
DE112012006414T5 (de) | Kommunikationssystem, Client-Endgerät, und Server-Gerät | |
DE10337144A1 (de) | Verfahren zur Aufzeichnung von Ereignis-Logs | |
DE60210356T2 (de) | Verwalter von Dienststufenübereinkommen in einem Datennetz | |
DE102019219586A1 (de) | Verfahren und System zum Testen eines in Entwicklung befindlichen Systems unter Verwendung realer Transaktionsdaten | |
DE102008054354A1 (de) | Sichere Codierung von Spannungsdaten vieler Zellen bei Hybridfahrzeugen | |
DE60217729T2 (de) | Verfahren zum erkennen eines elektronischen geräts in einem mehrfachsteuersystem |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition |