IP Library › Granted Patent US 8,660,132
Granted Patent B2
US 8,660,132 · App. 12/939,871 · Granted Feb 25, 2014

Control plane packet processing and latency control

Inventors: Hamid Assarpour (Arlington, MA); Jon Goldberg (Amherst, NH)
Assignee: Avaya 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 8,660,132
App. No.
12/939,871
Filed
Nov 4, 2010
Granted
Feb 25, 2014
Kind
B2
Art Unit
2476
USPC
370/412
Abstract

A switch resource receives control plane packets and data packets. The control plane packets indicate how to configure the network in which the switch resource resides. The switch resource includes a classifier. The classifier classifies the control plane packets based on priority and stores the control plane packets into different packet priority queues. The switch resource also includes a flow controller. The forwarding manager selectively forwards the control plane packets stored in the control plane packet priority queues to a control plane packet processing environment depending on a completion status of processing previously forwarded control plane packets by a packet processing thread. The control plane packet processing environment includes a monitor resource that generates one or more interrupts to an operating system to ensure further forwarding of the packets downstream to the packet processing thread for timely processing.

Claims (67)

1. A method comprising:

receiving control plane packets and data packets;

classifying the control plane packets;

storing the control plane packets into different control plane packet priority queues;

selectively forwarding the control plane packets in the control plane packet priority queues to a control plane packet processing environment depending on a completion status of processing previously forwarded control plane packets to the control plane packet processing environment;

storing, in a packet buffer, a set of control plane packets that have been forwarded from the control plane packet priority queues to the control plane packet processing environment for processing;

producing a time value indicative of how long the set of control plane packets have been stored in the buffer prior to forwarding notification of the set of control plane packets towards a packet processing thread in the control plane packet processing environment;

in response to detecting that the time value exceeds a time threshold value, generating an interrupt signal to an operating system, the interrupt signal indicating that the time value exceeds the time threshold value;

in response to detecting the interrupt signal, executing a control plane packet forwarding processing thread; and

via control plane packet forwarding processing thread, storing tag values in priority queues of the control plane packet processing environment, the tag values indicating presence of the set of control plane packets in the packet buffer awaiting processing by the packet processing thread.

2. The method as in claim 1 , wherein selectively forwarding the control plane packets in the control plane packet priority queues further comprises:

forwarding the control plane packets stored in the control plane packet priority queues in accordance with an order of priority assigned to the control plane packet priority queues.

3. The method as in claim 1 , wherein selectively forwarding the control plane packets in the control plane packet priority queues further comprises:

forwarding the set of control plane packets in the control plane packet priority queues to the packet buffer for subsequent processing by the packet processing thread in the control plane packet processing environment; and

in response to receiving the notification that the packet processing thread completed execution of a given control plane packet from the packet buffer, forwarding another control plane packet stored in the control plane packet priority queues to the packet buffer.

4. The method as in claim 1 further comprising:

monitoring at least one storage parameter, the storage parameter indicative of a presence of the control plane packets in the packet buffer; and

in response to detecting that the storage parameter exceeds a threshold value, initiating generation of an interrupt to the operating system to expedite scheduling and processing of the control plane packets in the packet buffer via a packet processing thread.

5. The method as in claim 1 further comprising:

in response to receiving notification that the packet processing thread completed execution of a given control plane packet stored in the packet buffer, forwarding another control plane packet in the control plane packet priority queues to the packet buffer.

6. The method as in claim 1 , wherein selectively forwarding the control plane packets includes:

maintaining a flow control value indicative of a current number of how many control plane packets have been forwarded to and are pending completion of processing by the control plane packet processing environment;

selectively forwarding the control plane packets to the control plane packet processing environment depending on a magnitude of the flow control value.

7. The method as in claim 6 , wherein selectively forwarding the control plane packets includes: forwarding a particular control plane packet from the control plane packet priority queues to the control plane packet processing environment in response to detecting that a magnitude of the flow control value is below a threshold value; and adjusting the magnitude of the flow control value to track that the particular control plane packet was forwarded to a control plane packet processing environment for processing.

8. The method as in claim 7 , wherein selectively forwarding the control plane packets includes:

in response to receiving a notification that the control plane packet processing environment completed processing of the particular control plane packet, adjusting the magnitude of the flow control value to account for completion of processing the particular control plane packet.

9. The method as in claim 7 , wherein selectively forwarding the control plane packets includes: preventing forwarding of control plane packets from the control plane packet priority queues to the control plane packet processing environment to limit a number of control plane packets forwarded to the control plane packet processing environment for processing.

10. The method as in claim 1 further comprising:

at the packet processing thread in the control plane packet processing environment:

receiving notification of the tag values;

utilizing the tag values to retrieve the control plane packets stored in the different control plane packet priority queues;

executing the retrieved control plane packets; and

providing notification of completing processing of the retrieved control plane packets.

11. The method as in claim 1 further comprising:

limiting a number of control plane packets stored in the packet buffer to ensure processing of the control plane packets within a pre-specified amount of time.

12. The method of claim 1 wherein said interrupt signal causes said operating system to execute a control plane packet forwarding thread wherein processing of control plane packets in the packet buffer happen with minimal delay.

13. A system comprising:

a memory;

a processor;

a communications interface;

an interconnection mechanism coupling the memory, the processor and the communications interface;

ports on which to receive control plane packets and data packets;

a classifier resource configured to classify the control plane packets;

control plane packet priority queues to store the control plane packets; wherein the memory is encoded with an application providing a forwarding manager resource configured to selectively forward the control plane packets in the control plane packet priority queues to a control plane packet processing environment depending on a completion status of processing previously forwarded control plane packets to the control plane packet processing environment;

a packet processing thread, the packet processing thread configured to configure at least a portion of a control plane of a network that routes the data packets based on the control plane packets;

wherein the manager resource forwards a set of control plane packets in the control plane packet priority queues to a packet buffer for processing by the packet processing thread in the control plane packet processing environment;

a monitor resource to monitor a storage parameter, the storage parameter indicative of a presence of the control plane packets in a packet buffer;

wherein the monitor resource initiates generation of an interrupt to an operating system to expedite scheduling and processing of the control plane packets in the packet buffer by the packet processing thread in response to detecting that the storage parameter exceeds a threshold value;

a control plane packet forwarding processing thread configured to be executed in response to detecting the interrupt signal; and

wherein the control plane packet forwarding processing thread storing tag values in priority queues of the control plane packet processing environment, the tag values indicating presence of the set of control plane packets in the packet buffer awaiting processing by the packet processing thread.

14. The system in claim 13 further comprising: wherein the manager resource forwards a next highest priority control plane packet stored in one of the control plane packet priority queues to the packet buffer in response to receiving notification that the packet processing thread completed execution of a control plane packet in the packet buffer.

15. The system in claim 14 , wherein the manager resource maintains a flow control value indicative of a current number of control plane packets that have been forwarded to and that are pending completion of processing by the control plane packet processing environment; and

wherein the manager resource selectively forwards the control plane packets to the control plane packet processing environment depending on a magnitude of the flow control value.

16. The system in claim 15 , wherein the manager resource adjusts the magnitude of the flow control value to account for forwarding of a control plane packet from a control plane packet priority queue to the packet buffer.

17. The system of claim 13 wherein said interrupt signal causes said operating system to execute a control plane packet forwarding thread; wherein processing of control plane packets in the packet buffer happen with minimal delay.

18. A non-transitory computer-readable storage hardware having instructions stored thereon, the instructions, when carried out by a processing device, causes the processing device to perform operations of:

receiving control plane packets and data packets;

classifying the control plane packets based on priority;

storing the control plane packets into different control plane packet priority queues;

selectively forwarding the control plane packets in the control plane packet priority queues to a control plane packet processing environment depending on a completion status of processing previously forwarded control plane packets to the control plane packet processing environment;

storing, in a packet buffer, a set of control plane packets that have been forwarded from the control plane packet priority queues to the control plane packet processing environment for processing;

providing a packet processing thread, the packet processing thread configured to configure at least a portion of a control plane of a network that routes the data packets based on the control plane packets;

providing a monitor resource to monitor a storage parameter, the storage parameter indicative of a presence of the control plane packets in the packet buffer; and

wherein the monitor resource initiates generation of an interrupt to an operating system to expedite scheduling and processing of the control plane packets in the packet buffer by the packet processing thread in response to detecting that the storage parameter exceeds a threshold value;

in response to detecting the interrupt signal, executing a control plane packet forwarding processing thread; and

via the control plane packet forwarding processing thread storing tag values in priority queues of the control plane packet processing environment, the tag values indicating presence of the set of control plane packets in the packet buffer awaiting processing by the packet processing thread.

19. The computer readable storage hardware of claim 18 wherein said interrupt signal causes said operating system to execute a control plane packet forwarding thread wherein processing of control plane packets in the packet buffer happen with minimal delay.

Assignments (17)
(SECURITY INTEREST) GRANTOR'S NAME CHANGE Recorded Sep 21, 2023
From: AVAYA INC.
To: AVAYA LLC
Reel/Frame 065019/0231 →
RELEASE OF SECURITY INTEREST IN PATENTS (REEL/FRAME 61087/0386) Recorded May 18, 2023
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
To: AVAYA MANAGEMENT L.P.; AVAYA INC.; INTELLISIST, INC.; AVAYA INTEGRATED CABINET SOLUTIONS LLC
Reel/Frame 063690/0359 →
RELEASE OF SECURITY INTEREST IN PATENTS (REEL/FRAME 53955/0436) Recorded May 18, 2023
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
To: AVAYA MANAGEMENT L.P.; AVAYA INC.; INTELLISIST, INC.; AVAYA INTEGRATED CABINET SOLUTIONS LLC
Reel/Frame 063705/0023 →
RELEASE OF SECURITY INTEREST IN PATENTS (REEL/FRAME 045034/0001) Recorded May 18, 2023
From: GOLDMAN SACHS BANK USA., AS COLLATERAL AGENT
To: AVAYA INC.; INTELLISIST, INC.; AVAYA INTEGRATED CABINET SOLUTIONS LLC; OCTEL COMMUNICATIONS LLC; VPNET TECHNOLOGIES, INC.; ZANG, INC. (FORMER NAME OF AVAYA CLOUD INC.); HYPERQUALITY, INC.; HYPERQUALITY II, LLC; CAAS TECHNOLOGIES, LLC; AVAYA MANAGEMENT L.P.
Reel/Frame 063779/0622 →
INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded May 4, 2023
From: AVAYA INC.; AVAYA MANAGEMENT L.P.; INTELLISIST, INC.
To: CITIBANK, N.A., AS COLLATERAL AGENT
Reel/Frame 063542/0662 →
INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded May 3, 2023
From: AVAYA MANAGEMENT L.P.; AVAYA INC.; INTELLISIST, INC.; KNOAHSOFT INC.
To: WILMINGTON SAVINGS FUND SOCIETY, FSB [COLLATERAL AGENT]
Reel/Frame 063742/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS AT REEL 45124/FRAME 0026 Recorded Apr 26, 2023
From: CITIBANK, N.A., AS COLLATERAL AGENT
To: AVAYA HOLDINGS CORP.; AVAYA INC.; AVAYA MANAGEMENT L.P.; AVAYA INTEGRATED CABINET SOLUTIONS LLC
Reel/Frame 063457/0001 →
INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Aug 5, 2022
From: AVAYA INC.; INTELLISIST, INC.; AVAYA MANAGEMENT L.P.; AVAYA CABINET SOLUTIONS LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 061087/0386 →
SECURITY INTEREST Recorded Sep 25, 2020
From: AVAYA INC.; AVAYA MANAGEMENT L.P.; INTELLISIST, INC.; AVAYA INTEGRATED CABINET SOLUTIONS LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION
Reel/Frame 053955/0436 →
SECURITY INTEREST Recorded Jan 23, 2018
From: AVAYA INC.; AVAYA INTEGRATED CABINET SOLUTIONS LLC; OCTEL COMMUNICATIONS LLC; VPNET TECHNOLOGIES, INC.; ZANG, INC.
To: CITIBANK, N.A., AS COLLATERAL AGENT
Reel/Frame 045124/0026 →
SECURITY INTEREST Recorded Jan 10, 2018
From: AVAYA INC.; AVAYA INTEGRATED CABINET SOLUTIONS LLC; OCTEL COMMUNICATIONS LLC; VPNET TECHNOLOGIES, INC.; ZANG, INC.
To: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
Reel/Frame 045034/0001 →
BANKRUPTCY COURT ORDER RELEASING ALL LIENS INCLUDING THE SECURITY INTEREST RECORDED AT REEL/FRAME 030083/0639 Recorded Dec 15, 2017
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
To: AVAYA INC.
Reel/Frame 045012/0666 →
BANKRUPTCY COURT ORDER RELEASING ALL LIENS INCLUDING THE SECURITY INTEREST RECORDED AT REEL/FRAME 041576/0001 Recorded Dec 15, 2017
From: CITIBANK, N.A.
To: AVAYA INC.; AVAYA INTEGRATED CABINET SOLUTIONS INC.; OCTEL COMMUNICATIONS LLC (FORMERLY KNOWN AS OCTEL COMMUNICATIONS CORPORATION); VPNET TECHNOLOGIES, INC.
Reel/Frame 044893/0531 →
BANKRUPTCY COURT ORDER RELEASING ALL LIENS INCLUDING THE SECURITY INTEREST RECORDED AT REEL/FRAME 029608/0256 Recorded Dec 15, 2017
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
To: AVAYA INC.
Reel/Frame 044891/0801 →
SECURITY INTEREST Recorded Jan 27, 2017
From: AVAYA INC.; AVAYA INTEGRATED CABINET SOLUTIONS INC.; OCTEL COMMUNICATIONS CORPORATION; VPNET TECHNOLOGIES, INC.
To: CITIBANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 041576/0001 →
SECURITY AGREEMENT Recorded Mar 13, 2013
From: AVAYA, INC.
To: BANK OF NEW YORK MELLON TRUST COMPANY, N.A., THE
Reel/Frame 030083/0639 →
SECURITY AGREEMENT Recorded Jan 10, 2013
From: AVAYA, INC.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 029608/0256 →
Continuity (2)
Provisional Application 61359076 · Jun 28, 2010
Related Publication 20110317713A1 · Dec 29, 2011