IP Library Granted Patent US 7,330,467
Granted Patent B2
US 7,330,467 · App. 10/396,433 · Granted Feb 12, 2008

System and method for centralized, intelligent proxy driver for a switch fabric

Assignee: Altera 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,330,467
App. No.
10/396,433
Granted
Feb 12, 2008
Kind
B2
Abstract

The invention provides a proxy driver in the control plane of a router or switch providing a centralized Application Program Interface (API) between a switching application and multiple device drivers in the router chassis. Another embodiment of the invention provides a centralized method for enforcing a topology in the control plane of a router. Another embodiment of the invention provides a centralized method in the control plane for the discovery of resources, for example, as cards are added or removed from the router chassis.

Claims (31)

1. A computer readable medium storing computer software for enabling an intelligent discovery process for a router to adapt dynamically to changes in router chassis resources, wherein the software comprising codes for performing:

a plurality of line card drivers, each of the plurality of line card drivers being uniquely associated with a line card device from a plurality of line card devices and configured to control the uniquely associated line card device;

at least one switch fabric driver, each of the at least one switch fabric drivers being associated with a corresponding one of at least one switch fabric device and configured to control the corresponding one of the at least one switch fabric devices;

a plurality of middleware components, each of the plurality of middleware components being included in a corresponding one of the plurality of line card drivers or the at least one switch fabric driver to enable communication with the single proxy driver, wherein each of the plurality of middleware components include a corresponding one of a plurality of local routing tables, each of the plurality of local routing tables including at least a portion of a master topology definition; and

a single proxy driver in communication with the plurality of line card drivers and the at least one switch fabric driver, the single proxy driver being configured to control the plurality of line card devices and the at least one switch fabric device.

2. The computer readable medium storing computer software of claim 1 , wherein the single proxy driver includes the master topology definition to define a topology in the control plane of a router.

3. The computer readable medium storing computer software of claim 2 , wherein the master topology definition includes one of a full mesh, star, and hybrid configuration.

4. The coputer readable medium storing computer software of claim 1 , wherein each of the plurality of middleware components are configured to send a refresh message upon activation, the refresh message requesting updates to the corresponding one of the plurality of local routing tables.

5. The computer readable medium storing computer software of claim 1 , wherein each of the plurality of middleware components are configured to send a refresh message at one of a predetermined time and a predetermined time interval, the refresh message requesting updates to the corresponding one of the plurality of local routing tables.

6. The computer readable medium storing computer software of claim 1 , wherein each of the plurality of middleware components are configured to send a slot down message upon detection of a non-functioning line card or switch fabric card associated with a corresponding one of the plurality of middleware components.

7. A method for controlling a router, comprising:

storing a master topology definition in a single proxy driver of a controller card, the master topology definition related to a control plane in the router;

storing a local routing table in each of a plurality of middleware components, the plurality of middleware components being uniquely associated with corresponding resources in the router, the local routing table including at least a portion of a master topology definition;

receiving a request for a topology message from at least one of the plurality of resources in the router through a corresponding middleware component; and

transmitting the topology message from the controller to the at least one of a plurality of resources in the router, the topology message based on the master topology definition.

8. The method of claim 7 , wherein storing the topology definition includes storing one of a full mesh, star, and hybrid configuration.

9. The method of claim 7 , wherein receiving is performed at one of a predetermined time and a predetermined time interval.

10. The method of claim 7 , wherein transmitting the topology message includes sending a relevant portion of the master topology definition.

11. The method of claim 7 , further comprising:

receiving a refresh message at a controller in the router, the refresh message being received from a first middleware component from the plurality of middleware components;

updating the master topology definition based on the refresh message; and

sending an updated topology message from the controller to each of the plurality of middleware components based on the updated master topology definition.

12. The method of claim 11 , wherein sending the updated topology message includes transmitting a local topology replacement, the local topology replacement being relevant to at least the selected one of the plurality of router resources.

13. The method of claim 11 , further comprising:

determining whether a slot in the router is non-functional, the slot being uniquely associated with a first router resource from the plurality of router resources;

updating the master topology definition based on the non-functional slot if the slot is nonfunctional; and

sending a next topology message from the controller to each of the plurality of router resources if the slot in the router is non-functional.

14. The method of claim 13 , wherein determining whether the slot is down includes polling the plurality of router resources at one of a predetermined time and a predetermined time interval.

15. The method of claim 13 , wherein sending the topology message includes transmitting only to the each of the plurality of router resources that are affected by the non-functional slot.

16. The method of claim 13 , wherein sending the topology message includes transmitting an indication of which slot is non-functional.

17. The method of claim 7 wherein each of the resources in the router are line card drivers.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 24, 2006
From: PTS CORPORATION
To: ALTERA CORPORATION
Reel/Frame 017663/0320 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 12, 2004
From: ZAGROS NETWORKS, INC.
To: PTS CORPORATION
Reel/Frame 014623/0410 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 29, 2003
From: ZAGROS NETWORKS, INC.
To: PTS CORPORATION
Reel/Frame 014441/0306 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 26, 2003
From: SHARMA, VIPAL
To: ZAGROS NETWORKS, INC.
Reel/Frame 013918/0277 →
Continuity (1)
Related Publication 20040190502A1 · Sep 30, 2004