IP Library Granted Patent US 7,996,515
Granted Patent B2
US 7,996,515 · App. 11/153,303 · Granted Aug 9, 2011

Network transaction discovery

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,996,515
App. No.
11/153,303
Granted
Aug 9, 2011
Kind
B2
Abstract

Disclosed herein is a computer implemented technique for discovering the information technology resources that are involved in a particular networked business transaction. The system comprises three basic components. A robotic transaction playback client records the various steps in a particular transaction and can repetitively execute these steps to analyze the results. A network record collector observes the traffic throughout the network in response to the repeated instances of the transaction executed by the robotic transaction playback client. A backend processor analyzes the observations of network traffic to determine which ones are possibly tied to the transaction, and from this information determine which network components are part of the transaction being analyzed. Event timing information from a plurality of executions of a particular transaction are used to determine resource usage and paths.

Claims (59)

1. A computer network system for identifying resources used in a network transaction, the system comprising:

a plurality of computer systems communicatively coupled to a computer network;

wherein one or more of the plurality of computers systems comprises a programmable processor and the programmable processor is configured to execute:

a robotic transaction playback client configured to initiate re-execution of a recorded transaction;

a network record collector; and

a backend processor;

wherein the backend processor performs identification analysis by analyzing newly collected data, the newly collected data being collected by the network record collector in response to one or more transactions re-executed by the robotic transaction playback client to identify one or more resources used in the one or more transactions, the identification analysis comprising:

identifying a plurality of network paths potentially corresponding to the transaction;

assigning equal base probabilities to each of the plurality of network paths;

analyzing one or more additional parameters relating to network traffic observed on each of the plurality of network paths and flagging each of the plurality of network paths wherein the one or more additional parameters indicate a correlation with the transaction; and

assigning new probabilities to each of the plurality of network paths based on each of the re-executed transactions, wherein the new probability for each flagged path is increased and the new probability for each remaining path is decreased relative to the base probabilities.

2. The computer network system of claim 1 wherein the robotic transaction playback client is configured to replay the transaction at varying times.

3. The computer network system of claim 2 wherein the robotic transaction playback client is configured to replay the transaction under varying network traffic conditions.

4. The computer network system of claim 3 wherein the data collected by the network record collector includes one or more parameters selected from the group consisting of: originating network address, originating network port, destination network address, destination network port, message size, number of responses to a request, and a timestamp.

5. The computer network system of claim 1 wherein analyzing data collected by the network record collector in response to one or more transactions executed by the robotic transaction playback client to identify one or more resources used in the transaction comprises identifying a plurality of nodes belonging to a single logical group of nodes and identifying any of the plurality as a single node.

6. A computer network system for identifying network resources required by a transaction, the computer network system comprising:

a plurality of computers communicatively coupled to a computer network;

wherein one or more of the plurality of computers systems comprises a programmable processor and the programmable processor is configured to execute:

recording the components of the transaction;

initiating re-execution of the recorded transaction one or more times;

collecting one or more data sets from a plurality of network probes wherein each of the one or more data sets uniquely corresponds to one re-execution of the recorded transaction; and

analyzing the collected data sets to identify network resources required by the re-executed transaction wherein the analysis comprises:

identifying a plurality of network paths potentially corresponding to the transaction;

assigning equal base probabilities to each of the plurality of network paths;

analyzing one or more additional parameters relating to network traffic observed on each of the plurality of network paths and flagging each of the plurality of network paths wherein the one or more additional parameters indicate a correlation with the transaction; and

assigning new probabilities to each of the plurality of network paths based on each of the re-executed transactions, wherein the new probability for each flagged path is increased and the new probability for each remaining path is decreased relative to the base probabilities.

7. The computer network system of claim 6 wherein analyzing the collected data further comprises:

identifying a beginning time of the transaction by identifying the time of an initial request sent by a client executing the transaction;

identifying an ending time of the transaction by identifying the time of a response to the initial request; and

identifying a first resource involved in the transaction by identifying the destination of the initial request.

8. The computer network system of claim 7 wherein analyzing the collected data further comprises:

identifying one or more request/response pairs sent/received by the first resource between the beginning time of the transaction and the ending time of the transaction; and

identifying one or more potential additional resources potentially in the transaction by identifying the destination/source of each of the identified request/response pairs.

9. The computer network system of claim 8 further comprising recursively applying the steps of claim 8 to eliminate resources not involved in the transaction.

10. The computer network system of claim 8 wherein identifying one or more potential additional resources further comprises assigning a probability to each potential additional resource.

11. The computer network system of claim 10 wherein the probability is heuristically determined.

12. The computer network system of claim 6 wherein assigning new probabilities to each of the plurality of network paths further comprises:

for each flagged network path, increasing the base probability by a predetermined percentage of the base probability multiplied by the number of nodes by which an endpoint of the network path is removed from a client originating the transaction to generate an intermediate probability;

summing the intermediate probabilities for each flagged network path and the base probabilities for each non-flagged network path to obtain a new probability sum; and

assigning a new probability for each network path wherein, for each flagged network path, the new probability is the intermediate probability divided by the new probability sum, and wherein, for each non-flagged network path, the new probability is the base probability divided by the new probability sum.

13. The computer network system of claim 6 wherein analyzing the collected data sets to identify network resources required by the transaction comprises identifying a plurality of nodes belonging to a single logical group of nodes and thenceforth identifying any of the plurality of nodes as a single node.

14. A non-transitory machine readable medium, having embodied thereon instructions executable by one or more machines to cause the one or more machines to collectively:

record the components of the transaction;

initiate re-execution of the recorded transaction one or more times;

collect one or more data sets from a plurality of network probes wherein each of the one or more data sets uniquely corresponds to one re-execution of the recorded transaction; and

analyze the collected data sets to identify network resources required by the re-executed transaction wherein the analysis comprises:

identifying a plurality of network paths potentially corresponding to the transaction;

assigning equal base probabilities to each of the plurality of network paths;

analyzing one or more additional parameters relating to network traffic observed on each of the plurality of network paths and flagging each of the plurality of network paths wherein the one or more additional parameters indicate a correlation with the transaction; and

assigning new probabilities to each of the plurality of network paths based on each of the re-executed transactions, wherein the new probability for each flagged path is increased and the new probability for each remaining path is decreased relative to the base probabilities.

15. A non-transitory machine readable medium, having embodied thereon instructions executable by one or more machines to cause the one or more machines to collectively execute:

a robotic transaction playback client configured to initiate re-execution of a recorded transaction;

a network record collector; and

a backend processor;

wherein the backend processor performs identification analysis by analyzing newly collected data, the newly collected data being collected by the network record collector in response to one or more transactions re-executed by the robotic transaction playback client to identify one or more resources used in the one or more transactions, the identification analysis comprising:

identifying a plurality of network paths potentially corresponding to the transaction;

assigning equal base probabilities to each of the plurality of network paths;

analyzing one or more additional parameters relating to network traffic observed on each of the plurality of network paths and flagging each of the plurality of network paths wherein the one or more additional parameters indicate a correlation with the transaction; and

assigning new probabilities to each of the plurality of network paths based on each of the re-executed transactions, wherein the new probability for each flagged path is increased and the new probability for each remaining path is decreased relative to the base probabilities.

Assignments (13)
GRANT OF SECOND LIEN SECURITY INTEREST IN PATENT RIGHTS Recorded Nov 13, 2024
From: BMC SOFTWARE, INC.; BLADELOGIC, INC.
To: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
Reel/Frame 069352/0568 →
GRANT OF FIRST LIEN SECURITY INTEREST IN PATENT RIGHTS Recorded Nov 13, 2024
From: BMC SOFTWARE, INC.; BLADELOGIC, INC.
To: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
Reel/Frame 069352/0628 →
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 →
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 →
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 052844/0646 →
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 →
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 15, 2005
From: ERNST, THEODORE RUSSELL
To: BMC SOFTWARE, INC.
Reel/Frame 016695/0749 →