IP Library Granted Patent US 9,515,908
Granted Patent B2
US 9,515,908 · App. 13/937,406 · Granted Dec 6, 2016

Network latency testing

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 9,515,908
App. No.
13/937,406
Granted
Dec 6, 2016
Kind
B2
Abstract

In general, techniques are described that may allow a network element to analyze the performance of a network without using external equipment external to the network. In one example, a method includes injecting a plurality of data units onto the network, forwarding the plurality of data units around the network loop, injecting at least one timing data unit on to the network, forwarding the at least one timing data unit around the network loop, and determining at least one latency statistic correlated to the at least one characteristic of the forwarded plurality of data units.

Claims (47)

1. A method comprising:

configuring a network loop on a network having at least two network elements;

injecting, using a first one of the at least two network elements on the network, a plurality of data units onto the network, wherein the plurality of data units comprises a first plurality of data units and a second plurality of data units, wherein each of the first plurality of data units comprises a first characteristic and each of the second plurality of data units comprises a second characteristic;

forwarding, using each of the at least two network elements on the network, the plurality of data units around the network loop at a first rate, wherein each of the plurality of data units comprises at least one characteristic;

injecting, using the first one of the at least two network elements on the network, at least one timing data unit on to the network loop;

forwarding, using each of the at least two network elements on the network, the at least one timing data unit around the network loop; and

determining, based on the at least one timing data unit, at least one latency statistic correlated to the at least one characteristic of the forwarded plurality of data units by at least one of the at least two network elements, wherein determining the at least one latency statistic comprises determining a first latency statistic correlated to the first characteristic of the forwarded plurality of data units and a second latency statistic correlated to the second characteristic of the forwarded plurality of data units.

2. The method of claim 1 , wherein injecting, using the first one of the at least two network elements on the network, a plurality of data units is performed without using any equipment external to the network.

3. The method of claim 1 , further comprising:

determining, prior to injecting the plurality of data units onto the network, at least one baseline latency statistic; and

comparing the determined at least one latency statistic correlated to the at least one characteristic of the forwarded plurality of data units to the at least one baseline latency statistic.

4. The method of claim 1 , wherein the first rate is media speed.

5. The method of claim 1 , further comprising:

adjusting the first rate; and

determining, based on the at least one timing data unit, at least one latency statistic correlated to the first adjusted rate.

6. The method of claim 1 , wherein the at least one characteristic of each of the plurality of data units is selected from the group consisting of size, type of data unit, and a priority level.

7. The method of claim 1 , wherein determining, based on the at least one timing data unit, at least one latency statistic correlated to the at least one characteristic of the forwarded timing data unit comprises:

determining an aggregate latency for the network.

8. The method of claim 1 , wherein determining, based on the at least one timing data unit, at least one latency statistic correlated to the at least one characteristic of the forwarded timing data unit comprises:

determining a latency for at least one of the at least two network elements.

9. A network element comprising:

at least one processor; and

a memory storing instructions that, when executed by the at least one processor, cause the network element to:

configure a network loop on a network having at least two network elements;

inject a plurality of data units onto the network, wherein the plurality of data units comprises a first plurality of data units and a second plurality of data units, wherein each of the first plurality of data units comprises a first characteristic and each of the second plurality of data units comprises a second characteristic;

forward, the plurality of data units around the network loop at a first rate, wherein each of the plurality of data units comprises at least one characteristic;

inject, at least one timing data unit on to the network loop;

forward, the at least one timing data unit around the network loop; and

determine, based on the at least one timing data unit, at least one latency statistic correlated to the at least one characteristic of the forwarded plurality of data units, wherein to determine the at least one latency statistic includes determination of a first latency statistic correlated to the first characteristic of the forwarded plurality of data units and a second latency statistic correlated to the second characteristic of the forwarded plurality of data units.

10. The network element of claim 9 , wherein injecting, the plurality of data units is performed without using any equipment external to the network.

11. The network element of claim 9 , wherein instructions further cause the network element to:

determine, prior to injecting the plurality of data units onto the network, at least one baseline latency statistic; and compare the determined at least one latency statistic correlated to the at least one characteristic of the forwarded plurality of data units to the at least one baseline latency statistic.

12. The network element of claim 9 , wherein the first rate is media speed.

13. The network element of claim 9 , wherein instructions further cause the network element to:

adjust the first rate; and

determine, based on the at least one timing data unit, at least one latency statistic correlated to the first adjusted rate.

14. The network element of claim 9 , wherein the at least one characteristic of each of the plurality of data units is selected from the group consisting of size, type of data unit, and a priority level.

15. The network element of claim 9 , wherein the instructions to determine, based on the at least one timing data unit, at least one latency statistic correlated to the at least one characteristic of the forwarded timing data unit includes instructions that further cause the network element to determine an aggregate latency for the network.

16. The network element of claim 9 , wherein the instructions to determine, based on the at least one timing data unit, at least one latency statistic correlated to the at least one characteristic of the forwarded timing data unit includes instructions that further cause the network element to:

determine a latency for at least one of the at least two network elements.

17. A non-transitory computer-readable medium comprising instructions encoded on the computer-readable medium that, upon execution, cause a processor to:

configure a network loop on a network having at least two network elements;

inject, a plurality of data units onto the network, wherein the plurality of data units comprises a first plurality of data units and a second plurality of data units, wherein each of the first plurality of data units comprises a first characteristic and each of the second plurality of data units comprises a second characteristic;

forward, the plurality of data units around the network loop at a first rate, wherein each of the plurality of data units comprises at least one characteristic;

inject, at least one timing data unit on to the network loop;

forward, the at least one timing data unit around the network loop; and

determine, based on the at least one timing data unit, at least one latency statistic correlated to the at least one characteristic of the forwarded plurality of data units by at least one of the at least two network elements, wherein to determine the at least one latency statistic includes determination of a first latency statistic correlated to the first characteristic of the forwarded plurality of data units and a second latency statistic correlated to the second characteristic of the forwarded plurality of data units.

Assignments (6)
RELEASE OF SECURITY INTEREST Recorded May 11, 2022
From: BANK OF AMERICA, N.A.
To: CALIX, INC.
Reel/Frame 059929/0453 →
RELEASE OF SECURITY INTEREST Recorded Apr 18, 2022
From: BANK OF AMERICA, N.A.
To: CALIX, INC.
Reel/Frame 059802/0579 →
SECURITY INTEREST Recorded Jan 28, 2020
From: CALIX, INC.
To: BANK OF AMERICA, N.A., AS AGENT
Reel/Frame 051719/0348 →
RELEASE OF SECURITY INTEREST IN INTELLECTUAL PROPERTY Recorded Jan 27, 2020
From: SILICON VALLEY BANK
To: CALIX, INC.
Reel/Frame 051714/0883 →
SECURITY INTEREST Recorded Aug 9, 2017
From: CALIX, INC.
To: SILICON VALLEY BANK
Reel/Frame 043495/0424 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 28, 2014
From: HAYES, TIMOTHY
To: CALIX, INC.
Reel/Frame 033402/0947 →