IP Library Granted Patent US 8,010,696
Granted Patent B2
US 8,010,696 · App. 11/422,440 · Granted Aug 30, 2011

Passing information from a forwarding plane to a control plane

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,010,696
App. No.
11/422,440
Granted
Aug 30, 2011
Kind
B2
Abstract

Safe and efficient passing of information from a forwarding-plane to a control-plane is provided. The information can be passed from a forwarding-plane process to a control-plane process without having to modify the control-plane process and without requiring the processes to pass information via shared memory. The information is encoded in the forwarding-plane process. The encoded information is passed to the operating system, wherein the operating system interprets the encoded information and reports the information to the control plane process. The present invention can be advantageously utilized in passing multicast events from a forwarding-plane process to a control-plane process. Multicast events can be passed from a forwarding-plane process to a control-plane process without having to modify the control-plane process and without requiring the processes to pass messages via shared memory.

Claims (58)

1. A method for conveying information from a forwarding-plane process to a control-plane process, comprising:

encoding the information in the forwarding-plane process;

passing the encoded information from the forwarding-plane process to an operating system;

interpreting the encoded information in the operating system; and

reporting the encoded information to the control-plane process, the information being passed from the forwarding-plane process to the control-plane process via an unused field in a kernel buffer of the operating system so that messages need not be passed from the forwarding-plane process to the control-plane process through shared memory;

wherein encoding the information in the forwarding-plane process includes:

detecting an occurrence of a multicast event;

creating an event code, based on the multicast event, at a data-plane process operating at a user level, wherein the event code comprises an encoded version of the multicast event, the data-plane process using a first memory mechanism, the event code representing the multicast event; and

passing the event code to a kernel of the operating system;

wherein interpreting the encoded information in the operating system includes:

via a system-level process, interpreting the event code; and

formatting the event code according to a format handled by the control-plane process, the control-plane process operating at the user-level;

wherein reporting the encoded information to the control-plane process includes:

reporting a formatted event code from the operating system to the control-plane process, the control-plane process using a second memory mechanism, wherein the second memory mechanism is separate from the first memory mechanism.

2. The method of claim 1 , wherein reporting includes transferring the encoded information to a socket buffer of the operating system.

3. The method of claim 1 , wherein the operating system is a linux operating system.

4. The method of claim 1 , wherein the information comprises a multicast event.

5. The method of claim 4 , wherein the operating system is a linux operating system.

6. A non-transitory computer-readable medium containing an executable program for performing a method for conveying information from a forwarding-plane process to a control-plane process, the method comprising:

encoding the information in the forwarding-plane process;

passing the encoded information from the forwarding-plane process to an operating system;

interpreting the encoded information in the operating system; and

reporting the encoded information to the control-plane process,

the information being passed from the forwarding-plane process to the control-plane process via an unused field in a kernel buffer of the operating system so that messages need not be passed from the forwarding-plane process to the control-plane process through shared memory;

wherein encoding the information in the forwarding-plane process includes:

detecting an occurrence of a multicast event;

creating an event code, based on the multicast event, at a data-plane process operating at a user level, wherein the event code comprises an encoded version of the multicast event, the data-plane process using a first memory mechanism, the event code representing the multicast event; and

passing the event code to a kernel of the operating system;

wherein interpreting the encoded information in the operating system includes:

via a system-level process, interpreting the event code; and

formatting the event code according to a format handled by the control-plane process, the control-plane process operating at the user-level;

wherein reporting the encoded information to the control-plane process includes:

reporting a formatted event code from the operating system to the control-plane process, the control-plane process using a second memory mechanism, wherein the second memory mechanism is separate from the first memory mechanism.

7. The non-transitory computer-readable medium of claim 6 , wherein reporting includes transferring the encoded information to a socket buffer of the operating system.

8. The non-transitory computer-readable medium of claim 6 , wherein the operating system is a linux operating system.

9. The non-transitory computer-readable medium of claim 6 , wherein the information comprises a multicast event.

10. The non-transitory computer-readable medium of claim 9 , wherein the operating system is a linux operating system.

11. A networking system adapted to convey information from a forwarding-plane process to a control-plane process by:

encoding the information in the forwarding-plane process;

passing the encoded information from the forwarding-plane process to an operating system executed via at least one processor;

interpreting the encoded information in the operating system; and

reporting the encoded information to the control-plane process;

passing the information from the forwarding-plane process to the control-plane process via an unused field in a kernel buffer of the operating system so that messages need not be passed from the forwarding-plane process to the control-plane process through shared memory;

wherein encoding the information in the forwarding-plane process includes:

detecting an occurrence of a multicast event;

creating an event code, based on the multicast event, at a data-plane process operating at a user level, wherein the event code comprises an encoded version of the multicast event, the data-plane process using a first memory mechanism, the event code representing the multicast event; and

passing the event code to a kernel of the operating system;

wherein interpreting the encoded information in the operating system includes:

via a system-level process, interpreting the event code; and

formatting the event code according to a format handled by the control-plane process, the control-plane process operating at the user-level;

wherein reporting the encoded information to the control-plane process includes:

reporting a formatted event code from the operating system to the control-plane process, the control-plane process using a second memory mechanism, wherein the second memory mechanism is separate from the first memory mechanism.

12. The networking system of claim 11 , wherein reporting includes transferring the encoded information to a socket buffer of the operating system.

13. The networking system of claim 11 , wherein the operating system is a linux operating system.

14. The networking system of claim 11 , wherein the information comprises a multicast event.

15. The networking system of claim 14 , wherein the operating system is a linux operating system.

16. The method as in claim 1 , wherein creating the event code includes:

representing the multicast event according to a 32-bit integer scheme.

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 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: ZANG, INC. (FORMER NAME OF AVAYA CLOUD INC.); AVAYA INC.; INTELLISIST, INC.; AVAYA INTEGRATED CABINET SOLUTIONS LLC; OCTEL COMMUNICATIONS LLC; VPNET TECHNOLOGIES, INC.; HYPERQUALITY, INC.; HYPERQUALITY II, LLC; CAAS TECHNOLOGIES, LLC; AVAYA MANAGEMENT L.P.
Reel/Frame 063779/0622 →
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 →
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 →
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 10, 2010
From: NORTEL NETWORKS LIMITED
To: AVAYA INC.
Reel/Frame 025342/0076 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 6, 2006
From: SANKARAN, HARISH; DOONG, JANET; KUDUR, ARUN
To: NORTEL NETWORKS LIMITED
Reel/Frame 017889/0631 →