NETWORK CONGESTION ANALYSIS
First Claim
1. A method of determining delay components of an application sequence comprising:
- partitioning the application sequence into a plurality of message paths, identifying a set of packets corresponding to each message path, each packet having an associated set of packet delay components, determining a set of message delay components corresponding to each message path, based on the sets of packet delay components associated with the message path, wherein the set of packet delay components includes a packet bandwidth delay, and determining the set of message delay components includes;
determining one or more occurrences of message bandwidth delay, based on occurrences of packet bandwidth delay in one or more of the sets of packet delay components associated with the message path, and determining one or more occurrences of message congestion delay, based on an absence of occurrences of packet bandwidth delay in one or more of the sets of packet delay components associated with the message path.
21 Assignments
0 Petitions
Accused Products
Abstract
Application messages are segregated into message paths, and the delays of the transmitted packets associated with each message path are independently analyzed to distinguish propagation, bandwidth, congestion, and protocol delays. To further distinguish the congestion delays, all of the paths of the application messages are assessed to identify delays induced by the application, including self-congestion delay, corresponding to pre-congestion delays caused by attempting to send data from a source device faster than the bandwidth of the channel allows, and cross-congestion delay, corresponding to post-congestion delays caused by varying delays beyond a bottleneck link in the channel. The remaining congestion delay is identified as network congestion delay, corresponding to delays caused by network devices other than the source device. After identifying each of the components of delay, the effect of each component on the overall delay is determined to identify where improvements can best be made.
22 Citations
40 Claims
-
1. A method of determining delay components of an application sequence comprising:
-
partitioning the application sequence into a plurality of message paths, identifying a set of packets corresponding to each message path, each packet having an associated set of packet delay components, determining a set of message delay components corresponding to each message path, based on the sets of packet delay components associated with the message path, wherein the set of packet delay components includes a packet bandwidth delay, and determining the set of message delay components includes;
determining one or more occurrences of message bandwidth delay, based on occurrences of packet bandwidth delay in one or more of the sets of packet delay components associated with the message path, and determining one or more occurrences of message congestion delay, based on an absence of occurrences of packet bandwidth delay in one or more of the sets of packet delay components associated with the message path. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A method of determining delay components of an application sequence, comprising:
-
partitioning the application sequence into one or more message paths;
identifying a set of packets corresponding to each message path; and
for each message path;
for each packet in the message path;
identifying a time of occurrence of a total packet delay associated with the packet, identifying a packet latency delay and a packet bandwidth delay within the total packet delay, and identifying a packet congestion delay within the total packet delay, corresponding to a difference between the total packet delay and a sum of the packet latency delay and the packet bandwidth delay; and
for each time period in the application sequence;
identifying each of the total packet delays in the message path occurring at this time period, if any of the total packet delays include a packet bandwidth delay occurring at this time period, identify this time period as including a message bandwidth delay, and if none of the total packet delays include a packet bandwidth delay occurring at this time period, and any of the total packet delays include a packet congestion delay occurring at this time period, identify this time period as including a message congestion delay, and providing a report based on one or more of the identified message congestion delays. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20, 21)
-
-
22. A method of determining one or more effects of modifying delays in an application sequence, comprising:
-
identifying a first sequence of message delay components in each message path of the application sequence, the message delay components including at least a network congestion delay, a self congestion delay, and a message bandwidth delay;
modifying one or more of the message delay components in the first sequence of each message path and correspondingly adjusting a time of occurrence of the message delay components to provide a contiguous second sequence of message delay components in each message path;
determining occurrences of self congestion delay in the second sequence of message delay components in each message path and correspondingly adjusting a time of occurrence of the message delay components to provide a contiguous third sequence of message delay components in each message path based on the occurrences of self congestion delay; and
identifying one or more differences between the first sequence of message delay components and the second sequence of message delay components of at least one message path. - View Dependent Claims (23, 24, 25, 26)
-
-
27. A computer program on a computer readable medium that, when executed, causes a processor to effect a process comprising:
-
partitioning an application sequence into a plurality of message paths, identifying a set of packets corresponding to each message path, each packet having an associated set of packet delay components, determining a set of message delay components corresponding to each message path, based on the sets of packet delay components associated with the message path, wherein the set of packet delay components includes a packet bandwidth delay, and determining the set of message delay components includes;
determining one or more occurrences of message bandwidth delay, based on occurrences of packet bandwidth delay in one or more of the sets of packet delay components associated with the message path, and determining one or more occurrences of message congestion delay, based on an absence of occurrences of packet bandwidth delay in one or more of the sets of packet delay components associated with the message path. - View Dependent Claims (28, 29, 30, 31, 32, 33, 34, 35, 36, 37)
-
-
38. A computer program on a computer readable medium that, when executed, causes a processor to determine one or more effects of modifying delays in an application sequence by effecting a process comprising:
-
identifying a first sequence of message delay components in each message path of the application sequence, the message delay components including at least a network congestion delay, a self congestion delay, and a message bandwidth delay;
modifying one or more of the message delay components in the first sequence of each message path and correspondingly adjusting a time of occurrence of the message delay components to provide a contiguous second sequence of message delay components in each message path;
determining occurrences of self congestion delay in the second sequence of message delay components in each message path and correspondingly adjusting a time of occurrence of the message delay components to provide a contiguous third sequence of message delay components in each message path based on the occurrences of self congestion delay; and
identifying one or more differences between the first sequence of message delay components and the second sequence of message delay components of at least one message path. - View Dependent Claims (39, 40)
-
Specification