IP Library Granted Patent US 7,453,797
Granted Patent B2
US 7,453,797 · App. 10/953,685 · Granted Nov 18, 2008

Method to provide high availability in network elements using distributed architectures

Assignee: Intel Corporation
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,453,797
App. No.
10/953,685
Granted
Nov 18, 2008
Kind
B2
Abstract

A method to provide high availability in network elements using distributed architectures. The method employs multiple software components that are distributed across data/forwarding plane and control plane elements in a network element. The software components in the data/forwarding plane include active and standby components. Components in the control plane a re provided to communicate with the components in the data/forwarding plane. A keep-alive messaging mechanism is used to monitor operation of the various elements in the network element. Upon detection of a failure to a hardware or software component, the data/forwarding plane and/or control plane elements are reconfigured, as applicable, to replace a failed active component with a corresponding standby component. This enables the network element to be reconfigured in a manner that is transparent to other network elements, and provided high availability for the network element.

Claims (30)

1. A method comprising:

configuring a network element to include multiple sets of redundant control plane components, each redundant set including an active component and a standby component;

monitoring for a failure of an active control plane software component comprising a control plane protocol module running on a control plane card (“controller CPPM”) to perform a routing or switching protocol operation, the controller CPPM to work in conjunction with a control plane protocol module implemented on a data plane element (“worker CCPM”) to facilitate operation of the routing or switching protocol operation;

automatically reconfiguring the network element to employ a corresponding standby controller CPPM in place of the active controller CPPM during failure;

maintaining state change information that occurs at the worker CPPM while the controller CPPM is unavailable;

queuing messages including the state change information, wherein the worker CPPM determines which messages are to be queued; and

providing the queued messages to the controller CPPM.

2. The method of claim 1 , wherein the controller CPPM and the worker CPPM comprise software components that work in conjunction to provide a substantially complete implementation of the routing or switching protocol operation.

3. The method of claim 1 , wherein the controller CPPM performs a core protocol implementation and the worker CPPM performs a protocol function that has been separated out of the core protocol implementation.

4. The method of claim 3 , further comprising

providing the state change information that occurred while the controller CPPM was unavailable to a replacement controller CPPM when the controller CPPM returns to operation.

5. The method of claim 4 , wherein the controller CPPM and worker controller CPPM perform operations in accordance with at least one of the Open Shortest Path First (OSPF) and Border Gateway Protocol (BGP) routing protocols.

6. The method of claim 1 , wherein the method performs a fast fail-over process in the control plane that is performed in a manner that is transparent to other network elements to which the network element is coupled in a network.

7. The method of claim 1 , wherein failure of the control plane component is detected using a keep-alive messaging mechanism that employs an exchange of keep-alive and callback messages between software components running on one of:

a) separate control plane cards;

b) a common control plane cards; and

c) a control plane card hosting the software component that has failed and a data/forwarding plane card in the network element.

8. A computer storage medium having stored thereon computer executable instructions to execute in a network element, which, when executed perform operations including:

configuring a network element to include multiple sets of redundant control plane components, each redundant set including an active component and a standby component;

monitoring for a failure of an active control plane software component comprising a control plane protocol module running on a control plane card (“controller CPPM”) to perform a routing or switching protocol operation, the controller CPPM to work in conjunction with a control plane protocol module implemented on a data plane element (“worker CCPM”) to facilitate operation of the routing or switching protocol operation;

automatically reconfiguring the network element to employ a corresponding standby controller CPPM in place of the active controller CPPM during failure;

maintaining state change information that occurs at the worker CPPM while the controller CPPM is unavailable;

queuing messages including the state change information, wherein the worker CPPM determines which messages are to be queued; and

providing the queued messages to the controller CPPM.

9. The computer storage medium of claim 8 , wherein the controller CPPM and the worker CPPM comprise software components that work in conjunction to provide a substantially complete implementation of a protocol.

10. The computer storage medium of claim 8 , wherein the controller CPPM performs a core protocol implementation and the worker CPPM performs a protocol function that has been separated out of the core protocol implementation.

11. The computer storage medium of claim 8 , wherein failure of the control plane component is detected using a keep-alive messaging mechanism that employs an exchange of keep-alive and callback messages between software components running on one of:

a) separate control plane cards;

b) a common control plane cards; and

c) a control plane card hosting the software component that has failed and a data/forwarding plane card in the network element.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 16, 2008
From: BALAKRISHNAN, SANTOSH
To: INTEL CORPORATION
Reel/Frame 021538/0225 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 29, 2004
From: DEVAL, MANASI; AHMED, SUHAIL; KHOSRAVI, HORMUZAD; BAKSHI, SANJAY
To: INTEL CORPORATION
Reel/Frame 015852/0720 →
Continuity (1)
Related Publication 20060072480A1 · Apr 6, 2006