Scalable router
First Claim
Patent Images
1. A router supporting multiple routing protocols, comprising:
- a. an interface layer including a plurality of I/O controllers, each I/O controller implementing an I/O port;
b. a switching layer in communication with said interface layer for selectively establishing signal pathways between said I/O ports;
c. a routing layer in communication with said interface layer, said routing layer having at least first and second routing protocol computing entities, each routing protocol computing entity including;
i. a CPU, ii. a data storage medium in communication with said CPU;
iii. program data stored in said data storage medium for execution by said CPU;
d. the program data in the data storage medium of said first routing protocol computing entity effecting management of one or more peering sessions with remote routing devices according to a first routing protocol, when executed by the CPU of said first routing protocol computing entity, e. the program data in the data storage medium of said second routing protocol computing entity effecting management of one or more peering sessions with remote routing devices according to a second routing protocol when executed by the CPU of said second routing protocol computing entity; and
f. said first routing protocol being different from said second routing protocol.
8 Assignments
0 Petitions
Accused Products
Abstract
A router with a routing layer that supports single or multiple routing protocols. The routing layer has at least two routing protocol computing entities, namely a first and a second routing protocol computing entities. Each routing protocol computing entity includes a CPU, a data storage medium in communication with the CPU and a program data stored in the data storage medium for execution by said CPU. The program data in each routing protocol computing entity implements different or the same routing protocols. This routing layer architecture is highly scalable.
46 Citations
47 Claims
-
1. A router supporting multiple routing protocols, comprising:
-
a. an interface layer including a plurality of I/O controllers, each I/O controller implementing an I/O port;
b. a switching layer in communication with said interface layer for selectively establishing signal pathways between said I/O ports;
c. a routing layer in communication with said interface layer, said routing layer having at least first and second routing protocol computing entities, each routing protocol computing entity including;
i. a CPU, ii. a data storage medium in communication with said CPU;
iii. program data stored in said data storage medium for execution by said CPU;
d. the program data in the data storage medium of said first routing protocol computing entity effecting management of one or more peering sessions with remote routing devices according to a first routing protocol, when executed by the CPU of said first routing protocol computing entity, e. the program data in the data storage medium of said second routing protocol computing entity effecting management of one or more peering sessions with remote routing devices according to a second routing protocol when executed by the CPU of said second routing protocol computing entity; and
f. said first routing protocol being different from said second routing protocol. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22)
-
-
23. A router, comprising:
-
a. an interface layer including a plurality of I/O controllers, each I/O controller implementing an I/O port;
b. a switching layer in communication with said interface layer for selectively establishing signal pathways between said I/O ports;
c. a routing layer in communication with said interface layer, said routing layer having at least first and second routing protocol computing entities, each routing protocol computing entity including;
i. a CPU;
ii. a data storage medium in communication with said CPU;
iii. a program data stored in said data storage medium for execution by said CPU;
d. the program data in the storage medium of said first routing protocol computing effecting management of one or more peering sessions with remote routing devices according to a first routing protocol, when executed by the CPU of said first routing protocol computing entity;
e. the program data in the storage medium of said second routing protocol computing entity effecting management of one or more peering sessions with remote routing devices according to a second routing protocol when executed by the CPU of said second routing protocol computing entity; and
f. the first routing protocol being the same as the second routing protocol. - View Dependent Claims (24, 25, 26, 27, 28, 29, 30)
-
-
31. A router, comprising:
-
a. an interface layer including plurality of I/O controllers, each I/O controller implementing an I/O port;
b. a switching layer in communication with said interface layer for selectively establishing signal pathways between said I/O ports;
c. a routing layer in communication with said interface layer, said routing layer being capable of managing at least one peering session with a remote routing device, the peering session including the exchange of messages with the remote routing device through one of the I/O controllers, the peering session being comprised of a plurality of tasks;
d. the one I/O controller implementing a peering session assist module, e. said peering session assist module being capable of performing some of the tasks of the peering session autonomously from said routing layer;
f. said routing layer being capable of performing tasks of the peering session other than the tasks performed by the peering session assist module. - View Dependent Claims (32, 33, 34, 35, 36, 37)
-
-
38. A router, comprising:
-
a. an interface layer including a plurality of I/O controllers, each I/O controller implementing an I/O port, b. a switching layer in communication with said interface layer for selectively establishing signal pathways between said I/O ports;
c. a routing layer in communication with said interface layer;
d. each I/O controller implementing an LSA entity, said LSA entity including an LS database, said LSA entity being responsive to an LSA message from a remote routing device including LS information to;
i. update said LS database;
ii. forward the LS information to said routing layer;
iii. forward the LS information to at least another I/O controller of said interface layer. - View Dependent Claims (39, 40, 41)
-
-
42. A router, comprising;
-
a. an interface layer including a plurality of I/O controllers, each controller implementing at least one I/O port;
b. a switching layer in communication with said interface layer for selectively establishing signal pathways between said I/O ports;
c. a routing layer in communication wit said interface layer, said routing layer having at least first and second routing protocol computing entities, each routing protocol computing entity including;
i. a CPU;
ii. a data storage medium in communication with said CPU;
iii. a program data stored in said data storage medium for execution by said CPU;
d. the program data in the storage medium of said first routing protocol computing entity effecting management of one or more peering sessions with remote routing devices according to a first routing protocol, when executed by the CPU of said first routing protocol computing entity;
e. the program data in the storage medium of said second routing protocol computing entity effecting management of one or more peering sessions with remote routing devices according to a second routing protocol when executed by the CPU of said second routing protocol computing entity;
f. the data storage medium of said first routing protocol computing entity holding a local routing table storing an inbound routing database derived from route information transferred from a remote routing device during a peering session managed by said first routing protocol computing entity;
g. the data storage medium of said second routing protocol computing entity holding a local routing table storing an inbound routing database derived from route information transferred from a remote routing device during a peering session managed by said second routing protocol computing entity;
h. said routing layer including a control computing entity in data communicative relationship with each routing protocol computing entity, said control computing entity including;
i. a CPU;
ii. a data storage medium in communication with the CPU of said control computing entity;
iii. a master routing table stored in the data storage medium of said control computing entity, said master routing table holding a master routing database derived at least in part from the inbound routing database of said first routing protocol computing entity and from the inbound routing database of said second routing protocol computing entity;
iv. program data in the data storage medium of said control computing entity for execution by the CPU of said control computing entity to implement a main routing table manager to manage said master routing table;
i. a backup computing entity in data communicative relationship with said first and second routing protocol computing entities and with said control computing entity, said backup computing entity including;
i. a CPU;
ii. a data storage medium in communication with the CPU of said backup computing entity;
iii. program data in the data storage medium of said backup computing entity for execution by the CPU of said backup computing entity to implement a main routing table manager;
iv. said backup computing entity being responsive to an operational failure of said control computing entity to;
1. dowwnload the inbound routing databases from said first and second routing protocol computing entities;
2. re-build the master routing database at least in part from the inbound routing databases downloaded from said first and second routing protocol computing entities. - View Dependent Claims (43, 44)
-
-
45. A router, comprising:
-
a. an interface layer including a plurality of I/O controllers, each I/O controller implementing an I/O port;
b. a switching layer in communication with said interface layer for selectively establishing signal pathways between said I/O ports;
c. a routing layer in communication with said interface layer, said routing layer having at least first and second routing protocol computing entities, each routing protocol computing entity including;
i. a CPU;
ii. a data storage medium in communication with said CPU;
iii a program data stored in said data storage medium for execution by said CPU;
d. the program data in the storage medium of said first routing protocol computing entity effecting management of one or more peering sessions with remote routing devices according to a first routing protocol, when executed by the CPU of said first routing protocol computing entity;
e. the program data in the storage medium of said second routing protocol computing entity effecting management of one or more peering sessions with remote routing devices according to a second routing protocol when executed by the CPU of said second routing protocol computing entity;
f. the data storage medium of said first routing protocol computing entity holding a local routing table storing an inbound routing database derived from route information transferred from a remote routing device during a peering session managed by said first routing protocol computing entity;
g. the data storage medium of said second routing protocol computing entity holding a local routing table storing an inbound routing database derived from route information transferred from a remote routing device during a peering session managed by said second routing protocol computing entity;
h. said routing layer including a control computing entity in data communicative relationship with each routing protocol computing entity, said control computing entity including;
i. a CPU;
ii. a data storage medium in communication with the CPU of said control computing entity;
iii. a master routing table stored in the data storage medium of said control computing entity, said master routing table holding a master routing database derived at least in part from the inbound routing database of said first routing protocol computing entity and from the inbound routing database of said second routing protocol computing entity;
iv. a program data in the data storage medium of said control computing entity for execution by the CPU of said control computing entity to implement a main routing table manager to manage said master routing table;
i. a backup computing entity in data communicative relationship with said first and second routing protocol computing entities and with said control computing entity, said backup computing entity including;
i. A CPU;
ii. a data storage medium in communication with the CPU of said backup computing entity;
iii. a program data in the data storage medium of said backup computing entity for execution by the CPU of said backup computing for effecting management of one or more peering sessions with remote routing devices according to a first routing protocol;
iv. said backup computing entity being responsive to an operational failure of said first routing protocol computing entity to;
1. transfer information from said master routing table to the data storage medium of said backup computing entity to re-build at least partially the local routing table of said first routing protocol computing entity;
2. enable the program data in the data storage medium of said backup computing entity to effect management of one or more peering sessions with remote routing devices according to a first routing protocol. - View Dependent Claims (46, 47)
-
Specification