IP Library › Granted Patent US 10,616,088
Granted Patent B2
US 10,616,088 · App. 15/798,185 · Granted Apr 7, 2020

Apparatus and method for measurements at intermediate nodes in end-to-end performance test

Inventors: Israel Meilik (Yakum, IL); Assaf Shacham (Yakum, IL); Roii Werner (Yakum, IL)
Assignee: Avago Technologies International Sales Pte. Limited
H04L43/106H04L41/142H04L43/0835H04L43/0858H04L43/0882H04L43/16H04L41/5009
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 10,616,088
App. No.
15/798,185
Granted
Apr 7, 2020
Kind
B2
Abstract

A communication network that includes a communication path is provided including a source node, a destination node, and a plurality of intermediate nodes that connect the source node to the destination node by corresponding network segments. The intermediate nodes are configured to perform measurements and individually generate segment performance statistics that enable a session manager to more precisely determine a network segment that is causing data traffic congestion by comparing the various segment performance statistics to each other.

Claims (54)

1. A method of evaluating a communication path having a source node, a destination node, and a plurality of intermediate nodes located between the source node and the destination node, the method comprising:

receiving at a first intermediate node of the plurality of intermediate nodes, a number of data packets that originated from the source node;

determining, by the first intermediate node, a first set of segment performance statistics for the communication path on a packet-by-packet basis based on the number of data packets; and

transmitting, by the first intermediate node, the number of data packets to a second intermediate node of the plurality of intermediate nodes,

wherein the determining includes determining a first data rate for the first intermediate node by dividing a combined bit length of packets by a time-for-receipt, wherein the combined bit length of packets is a cumulative total number of bits included in the number of data packets, and wherein the time-for-receipt is a total time to receive the number of data packets as determined by receive time stamps that were created during the receiving the number of data packets that originated from the source node.

2. The method of claim 1 , further comprising:

sending, from the first intermediate node, the first set of segment performance statistics to a session manager for further evaluation.

3. The method of claim 1 , further comprising:

comparing the first set of segment performance statistics determined by the first intermediate node with other sets of segment performance statics determined by corresponding other intermediate nodes to determine a relative segment quality experienced by the first intermediate node.

4. The method of claim 3 , further comprising:

determining a network segment that services the first intermediate mode is congested based on the comparison of the first set of segment performance statistics with the other sets of segment performance statics.

5. The method of claim 1 , wherein the determining includes:

determining a packet delay from the source node to the first intermediate node for each data packet in the number of data packets, based on a source time stamp retrieved from a corresponding data packet.

6. The method of claim 5 , further comprising:

determining an average packet delay over the number of data packets; and

determining a variation of the packet delay over the number of data packets.

7. The method of claim 6 , further comprising determining a congestion level between a pair of intermediate nodes in the communication path based on the average packet delay or the variation of the packet delay over the number of data packets.

8. The method claim 6 , further comprising:

subtracting the average packet delay over the number of data packets from an expected packet delay for the first intermediate node to determine a first packet delay difference for the first intermediate node;

comparing the first packet delay difference for the first intermediate node to a second packet delay difference associated with the second intermediate node to determine if the first packet delay difference exceeds the second packet delay difference by a threshold; and

determining that a network segment that services the first intermediate node is congested based on the first packet delay difference exceeding the second packet delay difference by the threshold.

9. The method of claim 1 , wherein each data packet of the number of data packets includes a sequence number to identify a position of the data packet in the number of data packets, the determining including:

examining sequence numbers of the number of data packets to determine any out-of-order sequence numbers or missing sequence numbers in the number of data packets, to indicate a first number of lost data packets for the first intermediate node.

10. The method of claim 9 , further comprising:

comparing the first number of lost data packets for the first intermediate node with a second number of lost data packets for a third intermediate node; and

determining that a network segment that services the first intermediate node is congested based on the first number of lost packets exceeding the second number of lost packets by a threshold amount.

11. The method of claim 10 , wherein the third intermediate node is disposed prior and adjacent to the first intermediate node in the communication path.

12. The method of claim 1 , further comprising:

comparing the first data rate for the first intermediate node with an average data rate of other intermediate nodes of the plurality of intermediate nodes; and

determining that a network segment that services the first intermediate node is congested based on the first data rate being lower than the average data rate by a threshold amount.

13. The method of claim 1 , wherein the determining includes:

replicating, by the first intermediate node, the number of data packets to generate a number of replicated data packets; and

determining, by the first intermediate node, the first set of segment performance statistics for the communication path based on the number of replicated data packets.

14. The method of claim 1 , wherein the first intermediate node operates according to an Ethernet protocol.

15. An intermediate node configured to operate in a communication path of a communication network having a source node, a destination node, and a plurality of additional intermediate nodes, the intermediate node comprising:

a physical layer (PHY) receiver configured to receive a number of data packets that originated from the source node;

a segment statistics processor configured to determine a set of segment performance statistics for the communication path on a packet-by-packet basis using the number of data packets; and

a PHY transmitter configured to transmit the number of data packets over a network segment to a subsequent intermediate node of the plurality of additional intermediate nodes,

wherein the segment statistics processor is further configured to determine a data rate for the first intermediate node by dividing a combined bit length of packets by a time-for-receipt, wherein the combined bit length of packets is a cumulative total number of bits included in the number of data packets, and wherein the time-for-receipt is a total time to receive the number of data packets as determined by receive time stamps that were created by the PHY receiver during the receipt of the number of data packets that originated from the source node.

16. The intermediate node of claim 15 , wherein the segment statistics processor is further configured to send the set of segment performance statistics to a session manager using the PHY transmitter.

17. The intermediate node of claim 15 , wherein the segment statistics processor is further configured to:

determine a packet delay from the source node to the intermediate node for each data packet in the number of data packets, based on a source time stamp Ts retrieved from a corresponding data packet;

determine an average packet delay over the number of data packets; and

determine a variation of the packet delays over the number of data packets.

18. The intermediate node of claim 15 , wherein each data packet of the number of data packets includes a sequence number to identify a position of the data packet in the number of data packets, wherein the segment statistics processor is further configured to:

examine sequence numbers of the number of data packets to determine any out-of-order sequence numbers or missing sequence numbers in the number of data packets, to identify any lost data packets for the first intermediate node.

19. The intermediate node of claim 15 , wherein the number of data packets are Ethernet data packets.

20. An intermediate node configured to operate in a communication path of a communication network having a source node, a destination node, and a plurality of additional intermediate nodes, the intermediate node comprising:

a plurality of physical layer (PHY) receivers, each PHY receiver configured to receive a number of data packets that originated from the source node;

a plurality of PHY transmitters, each PHY transmitter configured to transmit the number of data packets over a network segment to a subsequent intermediate node of the plurality of additional intermediate nodes; and

a switch configured to direct the number of data packets from a particular PHY receiver to a particular PHY transmitter;

wherein the switch includes a segment statistics processor configured to determine a set of segment performance statistics for the communication path on a packet-by-packet basis using the number of data packets,

wherein the set of segment performance statistics include an average packet delay over the number of data packets and a packet loss rate over the number of data packets, and

wherein the segment statistics processor is further configured to determine a data rate for the first intermediate node by dividing a combined bit length of packets by a time-for-receipt, wherein the combined bit length of packets is a cumulative total number of bits included in the number of data packets, and wherein the time-for-receipt is a total time to receive the number of data packets as determined by receive time stamps that were created during receipt of the number of data packets that originated from the source node.

Assignments (3)
CORRECTIVE ASSIGNMENT TO CORRECT THE EXECUTION DATE OF THE MERGER AND APPLICATION NOS. 13/237,550 AND 16/103,107 FROM THE MERGER PREVIOUSLY RECORDED ON REEL 047231 FRAME 0369. ASSIGNOR(S) HEREBY CONFIRMS THE MERGER. Recorded Mar 8, 2019
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 048549/0113 →
MERGER Recorded Oct 4, 2018
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 047231/0369 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 30, 2017
From: MEILIK, ISRAEL; SHACHAM, ASSAF; WERNER, ROII
To: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
Reel/Frame 043986/0099 →
Continuity (2)
Provisional Application 62532294 · Jul 13, 2017
Related Publication 20190020551A1 · Jan 17, 2019