IP Library Granted Patent US 9,185,047
Granted Patent B2
US 9,185,047 · App. 14/183,646 · Granted Nov 10, 2015

Hierarchical profiled scheduling and shaping

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,185,047
App. No.
14/183,646
Granted
Nov 10, 2015
Kind
B2
Abstract

Various exemplary embodiments relate to a method and related network node including one or more of the following: determining, by the network node, that a port of the network node is ready to receive a packet; identifying a packet having a highest packet priority among a plurality of packets received via a plurality of interfaces, wherein the step of identifying includes, for each of a plurality of components at a first hierarchy level: identifying a first level highest priority packet among a plurality of packets available to the component, based on a packet priority associated with each of the plurality of packets available to the component, sharing the packet priority of the first level highest priority packet with at least one component at a second hierarchy level; and transmitting the packet having the highest priority to the port.

Claims (76)

1. A method performed by a network node having a hierarchical organization for forwarding packets in a computer network, the method comprising:

determining, by the network node, that a port of the network node is ready to receive a packet;

identifying a packet having a highest packet priority among a plurality of packets received via a plurality of interfaces, wherein the step of identifying includes, for each of a plurality of components at a first hierarchy level:

identifying a first level highest priority packet among a plurality of packets available to the component at the first hierarchy level, based on a packet priority associated with each of the plurality of packets available to the component at the first hierarchy level,

sharing the packet priority of the first level highest priority packet with at least one component at a second hierarchy level; and

transmitting the packet having the highest priority to the port.

2. The method of claim 1 , wherein the plurality of packets is a group of all packets identified as eligible for transmission by at least a first plurality of traffic shaping components.

3. The method of claim 1 , wherein each packet priority of the plurality of packets is determined based on at least one field carried by the packet.

4. The method of claim 1 , wherein the plurality of packets are stored among a plurality of queues, the method further comprising:

determining a status for a queue holding a packet of the plurality of packets;

determining a packet priority for the packet based on the status of the queue.

5. The method of claim 4 , wherein the status is one of committed information rate status and excess information rate status.

6. A network node for forwarding packets, the network node comprising:

a transmission port for transmitting packets;

a plurality of interfaces for receiving packets;

a plurality of queues for storing packets received over the plurality of interfaces, wherein a packet priority is associated with each packet; and

a plurality of first level shapers that are each associated with a subset of the plurality of queues, wherein each first level shaper:

identifies a packet having a first level highest packet priority of all packets available for transmission from the subset of the plurality of queues, and

shares the first level highest packet priority with at least one other component;

a second level shaper that:

receives an indication that the transmission port is ready to receive a packet,

receives at least one first level highest packet priority shared by at least one of the plurality of first level shapers;

identifies an available packet associated a highest packet priority based on the at least one first level highest packet priority, and

transmits the available packet having the highest packet priority to the transmission port.

7. The network node of claim 6 , wherein the available packet associated with the highest packet priority is selected from a group of packets identified as eligible for transmission by at least a first plurality of shapers.

8. The network node of claim 6 , wherein each packet priority is determined based on at least one field carried by the associated packet.

9. The network node of claim 6 , wherein

each queue of the plurality of queues comprises an activity monitor that determines a status for the queue based on observed activity; and

the packet priority for each packet is based on the status of the queue that stores the packet.

10. The network node of claim 9 , wherein the status is one of committed information rate status and excess information rate status.

11. The network node of claim 6 , further comprising:

a third level shaper associated with at least one first level shaper;

wherein the first level shaper shares the first level highest packet priority with at least one of the third level shaper and the second level shaper.

12. A non-transitory machine-readable storage medium encoded with instructions for execution by a network node having a hierarchical organization for forwarding packets in a computer network, the machine-readable storage medium comprising:

instructions for determining, by the network node, that a port of the network node is ready to receive a packet;

instructions for identifying a packet having a highest packet priority among a plurality of packets received via a plurality of interfaces wherein the instructions for identifying include instructions for, for each of a plurality of components at a first hierarchy level:

identifying a first level highest priority packet among a plurality of packets available to the component at the first hierarchy level, based on a packet priority associated with each of the plurality of packets available to the component at the first hierarchy level,

sharing the packet priority of the first level highest priority packet with at least one component at a second hierarchy level; and

instructions for transmitting the packet having the highest priority over the port.

13. The non-transitory machine-readable storage medium of claim 12 , wherein the plurality of packets is a group of all packets identified as eligible for transmission by at least a first plurality of traffic shaping components.

14. The non-transitory machine-readable storage medium of claim 12 , wherein each packet priority of the plurality of packets is determined based on at least one field carried by the packet.

15. The non-transitory machine-readable storage medium of claim 12 , wherein the plurality of packets are stored among a plurality of queues, the machine-readable storage medium further comprising:

instructions for determining a status for a queue holding a packet of the plurality of packets;

instructions for determining a packet priority for the packet based on the status of the queue.

16. The non-transitory machine-readable storage medium of claim 15 , wherein the status is one of committed information rate status and excess information rate status.

17. A method performed by a packet processor having a hierarchical organization for forwarding packets in a computer network, the method comprising:

determining, by the packet processor, that the packet processor should transmit a packet;

identifying a packet having a highest packet priority among a plurality of packets received from a plurality of sources, wherein the step of identifying includes, for each of a plurality of components at a first hierarchy level:

identifying a first level highest priority packet among a plurality of packets available to the component at the first hierarchy level, based on a packet priority associated with each of the plurality of packets available to the component at the first hierarchy level,

sharing the packet priority of the first level highest priority packet with at least one component at a second hierarchy level; and

transmitting the packet having the highest priority.

18. The method of claim 17 , wherein the plurality of packets is a group of all packets identified as eligible for transmission by at least a first plurality of traffic shaping components.

19. The method of claim 17 , wherein each packet priority of the plurality of packets is determined based on at least one field carried by the packet.

20. The method of claim 17 , wherein the plurality of packets are stored among a plurality of queues, the method further comprising:

determining a status for a queue holding a packet of the plurality of packets;

determining a packet priority for the packet based on the status of the queue.

21. The method of claim 20 , wherein the status is one of committed information rate status and excess information rate status.

22. A packet processor for forwarding packets, the network node comprising:

a plurality of queues for storing received packets, wherein a packet priority is associated with each packet; and

a plurality of first level shapers that are each associated with a subset of the plurality of queues, wherein each first level shaper:

identifies a packet having a first level highest packet priority of all packets available for transmission from the subset of the plurality of queues, and

shares the first level highest packet priority with at least one other component;

a second level shaper that:

determines that the packet processor should transmit a packet,

receives at least one first level highest packet priority shared by at least one of the plurality of first level shapers;

identifies an available packet associated a highest packet priority based on the at least one first level highest packet priority, and

transmits the available packet having the highest packet priority.

23. The packet processor of claim 22 , wherein the available packet associated with the highest packet priority is selected from a group of packets identified as eligible for transmission by at least a first plurality of shapers.

24. The packet processor of claim 22 , wherein each packet priority is determined based on at least one field carried by the associated packet.

25. The packet processor of claim 22 , wherein

each queue of the plurality of queues comprises an activity monitor that determines a status for the queue based on observed activity; and

the packet priority for each packet is based on the status of the queue that stores the packet.

26. The packet processor of claim 25 , wherein the status is one of committed information rate status and excess information rate status.

27. The packet processor of claim 22 , further comprising:

a third level shaper associated with at least one first level shaper;

wherein the first level shaper shares the first level highest packet priority with at least one of the third level shaper and the second level shaper.

Assignments (11)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 28, 2021
From: PROVENANCE ASSET GROUP LLC
To: RPX CORPORATION
Reel/Frame 059352/0001 →
RELEASE OF SECURITY INTEREST Recorded Nov 30, 2021
From: CORTLAND CAPITAL MARKETS SERVICES LLC
To: PROVENANCE ASSET GROUP HOLDINGS LLC; PROVENANCE ASSET GROUP LLC
Reel/Frame 058983/0104 →
RELEASE OF SECURITY INTEREST Recorded Nov 30, 2021
From: NOKIA US HOLDINGS INC.
To: PROVENANCE ASSET GROUP HOLDINGS LLC; PROVENANCE ASSET GROUP LLC
Reel/Frame 058363/0723 →
ASSIGNMENT AND ASSUMPTION AGREEMENT Recorded Feb 14, 2019
From: NOKIA USA INC.
To: NOKIA US HOLDINGS INC.
Reel/Frame 048370/0682 →
SECURITY INTEREST Recorded Sep 13, 2017
From: PROVENANCE ASSET GROUP HOLDINGS, LLC; PROVENANCE ASSET GROUP LLC
To: NOKIA USA INC.
Reel/Frame 043879/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 13, 2017
From: NOKIA TECHNOLOGIES OY; NOKIA SOLUTIONS AND NETWORKS BV; ALCATEL LUCENT SAS
To: PROVENANCE ASSET GROUP LLC
Reel/Frame 043877/0001 →
SECURITY INTEREST Recorded Sep 13, 2017
From: PROVENANCE ASSET GROUP HOLDINGS, LLC; PROVENANCE ASSET GROUP, LLC
To: CORTLAND CAPITAL MARKET SERVICES, LLC
Reel/Frame 043967/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 3, 2015
From: ALCATEL-LUCENT CANADA INC.
To: ALCATEL LUCENT
Reel/Frame 036947/0274 →
RELEASE OF SECURITY INTEREST Recorded Sep 2, 2014
From: CREDIT SUISSE AG
To: ALCATEL LUCENT
Reel/Frame 033677/0617 →
SECURITY INTEREST Recorded May 7, 2014
From: ALCATEL LUCENT
To: CREDIT SUISSE AG
Reel/Frame 032845/0465 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 19, 2014
From: PATEL, NIRMESH; COTE, JOE
To: ALCATEL-LUCENT CANADA, INC.
Reel/Frame 032242/0483 →