Server network controller including packet forwarding and method therefor
First Claim
1. A method for forwarding connections at a server, comprising:
- receiving a packet at a network controller of said server, wherein said packet is destined for an original destination node of said server and was provided by an originating source;
within said network controller, selecting an alternate destination node for said packet;
modifying a destination address of said packet within said network controller to produce a modified packet containing an address of said alternate destination node and an origin address containing a response node of said network controller; and
transmitting said modified packet from said network controller to said alternate destination node.
3 Assignments
0 Petitions
Accused Products
Abstract
A network controller including a packet forwarding mechanism and method therefor improve load-balancing within a network system without requiring an intelligent switch having TCP splicing capability. If the network controller node is becoming overloaded (for example as indicated by a full output FIFO), the network controller forwards connections directly to alternate servers. The network controller and method further provide improved fail-safe operation, as the network controller can more easily detect failure of the coupled server than can a remote switch being monitored for failure of a connected server node. The packet forwarding mechanism can be implemented very compactly within the firmware of the network controller, providing a load-balancing solution with little incremental cost (as opposed to an intelligent switch solution) and with tight coupling to the server, providing a redirection solution from the point that has the most information available regarding the status of the associated server node.
49 Citations
23 Claims
-
1. A method for forwarding connections at a server, comprising:
-
receiving a packet at a network controller of said server, wherein said packet is destined for an original destination node of said server and was provided by an originating source;
within said network controller, selecting an alternate destination node for said packet;
modifying a destination address of said packet within said network controller to produce a modified packet containing an address of said alternate destination node and an origin address containing a response node of said network controller; and
transmitting said modified packet from said network controller to said alternate destination node. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A server system, comprising:
-
a processing unit, including a server memory for storing server program instructions for execution by a server processor within said processing unit;
a bus for interconnecting said processing unit with peripheral devices; and
a network controller coupled to said bus for coupling said server system to a network, said network controller including a controller processor and a controller memory coupled to said controller processor for storing controller program instructions for execution by said controller processor, and wherein said controller program instructions include instructions for receiving a packet at a network controller of said server, wherein said packet is destined for an original destination node of said server and was provided by an originating source;
selecting an alternate destination node for said packet;
modifying a destination address of said packet within said network controller to produce a modified packet containing a address of said alternate destination node and an origin address containing a response node of said network controller; and
transmitting said modified packet from said network controller to said alternate destination node. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
-
-
17. A computer program product comprising signal-bearing media encoding program instructions for execution within a controller processor of a network controller, said program instructions comprising program instructions for:
-
receiving a packet at a network controller of said server, wherein said packet is destined for an original destination node of said server and was provided by an originating source;
selecting an alternate destination node for said packet;
modifying a destination address of said packet within said network controller to produce a modified packet containing a address of said alternate destination node and an origin address containing a response node of said network controller; and
transmitting said modified packet from said network controller to said alternate destination node. - View Dependent Claims (18, 19, 20, 21)
-
-
22. A computer program product comprising signal-bearing media encoding program instructions for execution within a server processor of a server including a network controller, said server program instructions include:
-
program instructions for building within said server a database of alternate destinations for packet-date; and
program instructions for transferring said database to said network controller, whereby said network controller may select said alternate destination node from said database. - View Dependent Claims (23)
-
Specification