HIGHLY SCALABLE MODULAR SYSTEM WITH HIGH RELIABILITY AND LOW LATENCY
A computing system for processing network traffic includes a plurality of network ports configured to receive network traffic, a plurality of processing blades, not directly coupled with the plurality of network ports, configured to process the network traffic, a switch coupled with the plurality of processing blades and configured to support inter-blade communications among the plurality of processing blades, a router coupled with the switch and the plurality of network ports, the router configured to forward the network traffic to one or more of the plurality of processing blades based on resource information of the plurality of the processing blades, and a system controller coupled to the router and the plurality of processing blades, the system controller configured to receive and maintain the resource information from the plurality of the processing blades and further configured to update the router with the resource information of the plurality of the processing blades.
1 . A computing system for processing network traffic, comprising:
a plurality of network ports configured to receive network traffic;
a plurality of processing blades, not directly coupled with the plurality of network ports, configured to process the network traffic;
a switch coupled with the plurality of processing blades and configured to support inter-blade communications among the plurality of processing blades;
a router coupled with the switch and the plurality of network ports, the router configured to forward the network traffic to one or more of the plurality of processing blades based on resource information of the plurality of the processing blades; and
a system controller coupled to the router and the plurality of processing blades, the system controller configured to receive and maintain the resource information from the plurality of the processing blades and further configured to update the router with the resource information of the plurality of the processing blades.
2 . The computing system of claim 1 , wherein the resource information includes at least one of utilization, load, and health status of a processing blade.
3 . The computing system of claim 1 , wherein each of the plurality of processing blades contains a resource manager configured to gather the resource information of the each of the plurality of processing blades and send the resource information to the system controller.
4 . The computing system of claim 1 , wherein the router includes a dynamic forwarding table containing rules for forwarding the network traffic.
5 . The computing system of claim 4 , wherein the rules are based on the resource information of the plurality of processing blades.
6 . The computing system of claim 1 , wherein the system controller includes a state table containing the resource information received from the plurality of processing blades.
7 . The computing system of claim 1 , wherein the plurality of processing blades are configured to communicate with the system controller via a software-based messaging mechanism.
8 . A computerized method of processing network traffic, comprising:
receiving at a system controller resource information from a plurality of processing blades;
updating a router by the system controller with the resource information of the plurality of processing blades;
receiving network traffic at a network port; and
forwarding the networking traffic by the router to one or more of the plurality of processing blades based on the resource information of the plurality of processing blades,
wherein the network port is not directly coupled with the plurality of processing blades.
9 . The computerized method of claim 8 , wherein the resource information includes at least one of utilization, load, and health status of a processing blade.
10 . The computerized method of claim 8 , further comprising receiving at the system controller the resource information from the plurality of processing blades via a software-based messaging mechanism.
11 . A computing system for processing network traffic, comprising:
a plurality of network ports configured to receive network traffic;
a plurality of processing blades, not directly coupled with the plurality of network ports, configured to process the network traffic;
a switch coupled with the plurality of processing blades and configured to support inter-blade communications among the plurality of processing blades;
a router coupled with the switch and the plurality of network ports, the router configured to forward the network traffic to one or more of the plurality of processing blades based on forwarding rules; and
a system controller coupled to the router and the plurality of processing blades, the system controller configured to detect a fault of one of the plurality of processing blades and further configured to update the forwarding rules of the router, upon detecting the fault, to divert the network traffic from the faulted processing blade to at least one different processing blade.
12 . The computing system of claim 11 , wherein the fault indicates the one of the plurality of processing blades has failed or is about to fail.
13 . The computing system of claim 11 , wherein the system controller includes a state table containing session information received from the plurality of processing blades.
14 . The computing system of claim 13 , wherein each of the plurality of processing blades contains a resource manager configured to gather the session information of the each of the plurality of processing blades and send the session information to the system controller.
15 . The computing system of claim 13 , wherein the system controller is configured to send the session information of the faulted processing blade, upon detecting the fault, to the at least one different processing blade.
16 . The computing system of claim 11 , wherein the plurality of processing blades are configured to communicate with the system controller via a software-based messaging mechanism.
17 . The computing system of claim 11 , wherein an average load per processing blade (Lb) is less than Cb*(N−1)/N, where Cb is a blade capacity and N is the number of processing blades.
18 . A computerized method of processing network traffic, comprising:
receiving network traffic at a network port;
detecting by a system controller a fault of one of a plurality of processing blades;
updating by the system controller forwarding rules of a router; and
forwarding the network traffic by the router based on the updated forwarding rules to divert the network traffic from the faulted processing blade to at least one different processing blade,
wherein the network port is not directly coupled with the plurality of processing blades.
19 . The computerized method of claim 18 , wherein the fault indicates the one of the plurality of processing blades has failed or is about to fail.
20 . The computerized method of claim 18 , further comprising receiving at the system controller session information from the plurality of processing blades.
21 . The computerized method of claim 20 , further comprising sending the session information of the faulted processing blade, upon detecting the fault, to the at least one different processing blade.
22 . The computerized method of claim 18 , wherein the plurality of processing blades are configured to communicate with the system controller via a software-based messaging mechanism.
23 . The computerized method of claim 18 , further comprising keeping an average load per processing blade (Lb) less than Cb*(N−1)/N, where Cb is a blade capacity and N is the number of processing blades.