IP Library › Granted Patent US 7,966,398
Granted Patent B2
US 7,966,398 · App. 12/405,939 · Granted Jun 21, 2011

Synthetic transaction monitor with replay capability

Assignee: BMC Software, Inc.
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,966,398
App. No.
12/405,939
Granted
Jun 21, 2011
Kind
B2
Abstract

Systems and methods for recording and replaying client-server transactions on selected clients in order to gauge the performance of the client-server system from the perspective of the client. In one embodiment, a method comprises playing back a set of recorded transactions on a client, monitoring selected performance-related parameters at the client, and transmitting monitored data to the server for analysis or for viewing by a system administrator. The set of transactions is recorded on a first client by replacing a standard Internet transaction driver (e.g., WinInet.DLL) with a modified driver that is configured to intercept function calls. The function calls and corresponding parameters are recorded in a file which is later transmitted to a client, where the recorded transaction information is used to reproduce the transactions on the client. As the transactions are played back, performance data may be monitored and forwarded to a management server for analysis, display, etc.

Claims (35)

1. A system for monitoring synthetic transactions comprising:

a server computer;

a set of client computers coupled to the server computer on a network, wherein client-server transactions are conducted between each of the set of client computers and the server computer and wherein each client computer comprises a non-transitory computer readable medium having instructions embodied thereon, the instructions executable for playing back a set of recorded client-server transactions occurring between the server computer and at least one of the set of client computers;

a monitor computer coupled to the server computer and the set of client computers on the network, comprising a non-transitory computer readable medium having instructions embodied thereon, the instruction executable for:

pre-scanning the set of recorded client-server transactions occurring between the server computer and at least one of the set of client computers to identify server-side connections including a recorded object associated with the client-server transactions, wherein the object changed after the set of client-server transactions was recorded and the set of recorded client-server transactions includes at least one Transmission Control Protocol/Internet Protocol (TCP/IP) function call or at least one Internet API call;

monitoring selected parameters associated with the set of recorded client-server transactions;

playing back the set of recorded client-server transactions, wherein playing back the set of recorded client-server transactions comprises determining an actual object corresponding to the recorded object and identifying if there is a difference between the recorded object and the actual object; and

transmitting performance data associated with the selected parameters to the server.

2. The system of claim 1 , wherein the set of recorded client-server transactions comprises a TCP/IP transaction, a File Transfer Protocol (FTP) transaction or a web browser transaction.

3. The system of claim 1 , wherein a match percentage is computed by comparing HTML source associated with the recorded object to HTML source received during playback.

4. The system of claim 1 , further comprising selecting a nearest approximation to the recorded object.

5. The system of claim 1 , wherein the nearest approximation is based on a server name and a path associated with the recorded object.

6. The system of claim 1 , wherein the monitor computer is one of the set of client computers.

7. The system of claim 1 , wherein the playing back of the recorded client-server transactions comprises modifying a recorded requests prior to issuance of the requests, by identifying the actual object in an actual HTML object tree to replace the recorded object if the recorded object does not exist in identical form in the actual HTML object tree.

8. The system of claim 1 , wherein the monitor computer is one of the set of client computers or the server computer.

9. A non-transitory computer-readable storage medium containing one or more instructions, wherein the one or more instructions are when executed by a processor cause a computer to perform a method comprising:

pre-scanning a set of recorded client-server transactions occurring between a server computer and at least one of a set of client computers to identify server-side connections including a recorded object associated with the client-server transactions, wherein the object changed after the set of client-server transactions was recorded and the set of recorded client-server transactions includes at least one Transmission Control Protocol/Internet Protocol (TCP/IP) function call or at least one Internet API call;

monitoring selected parameters associated with the set of recorded client-server transactions;

playing back the set of recorded client-server transactions, wherein playing back the set of recorded client-server transactions comprises determining an actual object corresponding to the recorded object and identifying if there is a difference between the recorded object and the actual object; and

transmitting performance data associated with the selected parameters.

10. The computer readable medium of claim 9 , wherein the set of recorded client-server transactions comprises a TCP/IP transaction, a File Transfer Protocol (FTP) transaction or a web browser transaction.

11. The computer readable medium of claim 9 , wherein a match percentage is computed by comparing HTML source associated with the recorded object to HTML source received during playback.

12. The computer readable medium of claim 9 , wherein the method further comprises selecting a nearest approximation to the recorded object.

13. The computer readable medium of claim 9 , wherein the nearest approximation is based on a server name and a path associated with the recorded object.

14. The computer readable medium of claim 9 , wherein the playing back of the recorded client-server transactions comprises modifying a recorded requests prior to issuance of the requests, by identifying the actual object in an actual HTML object tree to replace the recorded object if the recorded object does not exist in identical form in the actual HTML object tree.

15. A method comprising:

pre-scanning a set of recorded client-server transactions occurring between a server computer and at least one of a set of client computers to identify server-side connections including a recorded object associated with the client-server transactions, wherein the object changed after the set of client-server transactions was recorded and the set of recorded client-server transactions includes at least one Transmission Control Protocol/Internet Protocol (TCP/IP) function call or at least one Internet API call;

monitoring selected parameters associated with the set of recorded client-server transactions;

playing back the set of recorded client-server transactions, wherein playing back the set of recorded client-server transactions comprises determining an actual object corresponding to the recorded object and identifying if there is a difference between the recorded object and the actual object; and

transmitting performance data associated with the selected parameters.

16. The method of claim 15 , wherein the set of recorded client-server transactions comprises a TCP/IP transaction, a File Transfer Protocol (FTP) transaction or a web browser transaction.

17. The method of claim 15 , wherein a match percentage is computed by comparing HTML source associated with the recorded object to HTML source received during playback.

18. The method of claim 15 , further comprising selecting a nearest approximation to the recorded object.

19. The method of claim 15 , wherein the nearest approximation is based on a server name and a path associated with the recorded object.

20. The method of claim 15 , wherein the playing back of the recorded client-server transactions comprises modifying a recorded requests prior to issuance of the requests, by identifying the actual object in an actual HTML object tree to replace the recorded object if the recorded object does not exist in identical form in the actual HTML object tree.

Assignments (12)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 7, 2025
From: BMC SOFTWARE, INC.
To: BMC HELIX, INC.
Reel/Frame 070442/0197 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (052844/0646) Recorded Aug 6, 2024
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
To: BMC SOFTWARE, INC.; BLADELOGIC, INC.
Reel/Frame 068339/0408 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (052854/0139) Recorded Aug 6, 2024
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
To: BMC SOFTWARE, INC.; BLADELOGIC, INC.
Reel/Frame 068339/0617 →
OMNIBUS ASSIGNMENT OF SECURITY INTERESTS IN PATENT COLLATERAL Recorded Mar 4, 2024
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS RESIGNING COLLATERAL AGENT
To: GOLDMAN SACHS BANK USA, AS SUCCESSOR COLLATERAL AGENT
Reel/Frame 066729/0889 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Feb 1, 2024
From: ALTER DOMUS (US) LLC
To: BMC SOFTWARE, INC.; BLADELOGIC, INC.
Reel/Frame 066567/0283 →
GRANT OF SECOND LIEN SECURITY INTEREST IN PATENT RIGHTS Recorded Sep 30, 2021
From: BMC SOFTWARE, INC.; BLADELOGIC, INC.
To: ALTER DOMUS (US) LLC
Reel/Frame 057683/0582 →
SECURITY INTEREST Recorded Jun 4, 2020
From: BMC SOFTWARE, INC.; BLADELOGIC, INC.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 052854/0139 →
SECURITY INTEREST Recorded Jun 4, 2020
From: BMC SOFTWARE, INC.; BLADELOGIC, INC.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 052844/0646 →
RELEASE OF PATENTS Recorded Oct 5, 2018
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: BMC SOFTWARE, INC.; BLADELOGIC, INC.; BMC ACQUISITION L.L.C.
Reel/Frame 047198/0468 →
SECURITY INTEREST Recorded Oct 2, 2018
From: BMC SOFTWARE, INC.; BLADELOGIC, INC.
To: CREDIT SUISSE, AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 047185/0744 →
SECURITY AGREEMENT Recorded Sep 11, 2013
From: BMC SOFTWARE, INC.; BLADELOGIC, INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 031204/0225 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 5, 2009
From: WILES JR., PHILIP V.
To: BMC SOFTWARE, INC.
Reel/Frame 022796/0083 →
Continuity (3)
Continuation 10113808 · Mar 29, 2002
Provisional Application 60280170 · Mar 30, 2001
Related Publication 20090240765A1 · Sep 24, 2009