IP Library Granted Patent US 7,590,061
Granted Patent B2
US 7,590,061 · App. 11/843,493 · Granted Sep 15, 2009

Apparatus and method of controlled delay packet forwarding

Assignee: Brilliant Telecommunications, 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,590,061
App. No.
11/843,493
Granted
Sep 15, 2009
Kind
B2
Abstract

An apparatus and method are described for forwarding of packets with controlled delay. In one embodiment, the invention includes controlled delay queuing logic to hold a packet in a first class for a queuing time of at least a controlled delay value, and scheduling logic to determine whether to delay transmission of a packet in a second class to allow the transmission of the packet in the first class when the queuing time reaches the controlled delay value.

Claims (46)

1. An apparatus to forward packets with controlled delay, comprising:

first logic to hold a packet in a first class for a quelling time of a predetermined controlled delay value;

scheduling logic to delay transmission of the packet in the first class until the queuing time reaches the predetermined controlled delay value, and to determine whether to delay transmission of a packet in a second class to allow the transmission of the packet in the first class when the queuing time reaches the predetermined controlled delay value; and

time-stamping logic to attach time-stamp information including a time value to the packet in the first class;

wherein the scheduling logic delays transmission of the packet in the second class in response to determining that transmission of the packet in the second class would complete after the queuing time reaches the predetermined controlled delay value;

wherein the first logic accesses the time-stamp information;

wherein the queuing time starts at the time value and ends at the predetermined controlled delay value after the time value; and

wherein the predetermined controlled delay value is independent of the time value.

2. The apparatus of claim 1 , wherein the scheduling logic determines whether to delay transmission of a packet in a third class to allow the transmission of the packet in the first class when the queuing time reaches the predetermined controlled delay value.

3. The apparatus of claim 2 , wherein the scheduling logic schedules the transmission of the second class of packets with strictly higher priority than the transmission of the third class of packets.

4. The apparatus of claim 1 , wherein the predetermined controlled delay value is configurable.

5. The apparatus of claim 1 , wherein the predetermined controlled delay value is greater than a maximum transmission unit interval plus an inter-packet gap interval.

6. The apparatus of claim 1 , wherein the lime-stamp information is accessed by the first logic as part of determining when the queuing time reaches the predetermined controlled delay value.

7. The apparatus of claim 1 , further comprising policing logic to determine whether to send a packet to the first logic.

8. An apparatus to forward packets with controlled delay, comprising:

first logic to hold a packet in a first class for a queuing time of a predetermined controlled delay value;

scheduling logic to delay transmission of the packet in the first class until the queuing time reaches the predetermined controlled delay value, and to determine whether to delay transmission of a packet in a second class to allow the transmission of the packet in the first class when the queuing time reaches the predetermined controlled delay value;

wherein the scheduling logic transmission of the packet in the second class in response to determining that transmission of the packet in the second class would complete after the queuing time reaches the predetermined controlled delay value; and

wherein the scheduling logic schedules the transmission of a packet in a pre-emptive priority class, and wherein the first logic the packet in the first class if the queuing time exceeds the controlled delay value.

9. The apparatus of claim 8 , wherein the first class of packets comprise network timing packets.

10. The apparatus of claim 8 , further comprising shaping logic to shape packets in the pre-emptive priority class.

11. The apparatus of claim 8 , further comprising policing logic to police packets in the pre-emptive priority class.

12. A method for forwarding packets with controlled forwarding delay, comprising:

delaying transmission of a packet in a first class until a queuing time of the packet in the first class reaches a predetermined controlled delay value;

determining whether to delay transmission of a packet in a second class to allow the transmission of the packet in the first class when the queuing time reaches the predetermined controlled delay value;

delaying transmission of the packet in the second class in response to determining that transmission of the packet in the second class would complete after the queuing time reaches the predetermined controlled delay value;

transmitting a packet in a pre-emptive priority class; and

dropping the packet in the first class if the transmission of the packet in the pre-emptive priority class completes after the queuing time exceeds the predetermined controlled delay value.

13. The method of claim 12 , further comprising determining whether to delay transmission of a packet in a third class to allow the transmission of the packet in the first class when the queuing time reaches the predetermined controlled delay value.

14. The method of claim 12 , further comprising:

time-stamping the packet in the first class with time-stamp information; and

determining the queuing time based on the time-stamp information.

15. The method of claim 12 , further comprising shaping packets in the pre-emptive priority class.

16. A method for synchronizing a client to a time server, comprising:

generating timing packet information at the time server;

forwarding the timing packet information through at least one switching device, wherein the forwarding at each of the at least one switching device includes:

delaying transmission of the timing packet information until a queuing time of the timing packet information reaches a predetermined controlled delay value;

determining whether to delay transmission of data packet information until after the queuing time of the timing packet information reaches the predetermined controlled delay value; and

delaying transmission of the data packet information in response to determining that transmission of the data packet information would complete after the queuing time reaches the predetermined controlled delay value;

receiving the timing packet information at the client;

synchronizing the timing of the client based on processing of the timing packet information;

transmitting control packet information in a pre-emptive priority class; and

dropping the timing packet information if the transmission of the control packet information completes after the queuing time exceeds the predetermined controlled delay value.

17. The method of claim 16 , wherein forwarding further comprises:

time-stamping the timing packet information with time-stamp information; and

determining the queuing time based on the time-stamp information.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 17, 2011
From: BRILLIANT TELECOMMUNICATIONS, INC.
To: JUNIPER NETWORKS, INC.
Reel/Frame 026467/0542 →
RELEASE Recorded Feb 24, 2011
From: SILICON VALLEY BANK
To: BRILLIANT TELECOMMUNICATIONS INC
Reel/Frame 025921/0076 →
SECURITY AGREEMENT Recorded Jan 15, 2009
From: BRILLIANT TELECOMMUNICATIONS, INC.
To: SILICON VALLEY BANK
Reel/Frame 022109/0164 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 7, 2008
From: BARRY, CHARLES F.; SHEN, TIAN; PAN, FENG F.; SUBRAMANIAN, MEENAKSHI; NGUYEN, HANK P.
To: BRILLIANT TELECOMMUNICATIONS, INC.
Reel/Frame 020327/0849 →
Continuity (2)
Provisional Application 6083946500 · Aug 22, 2006
Related Publication 20080089364A1 · Apr 17, 2008