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.
- 2. The method of claim 1, wherein said receiving receives a packet from a switch coupled to said network controller and wherein said transmitting transmits said modified packet to said switch.
- 3. The method of claim 1, further comprising building a database within said server of alternate destinations for packet data, and wherein said selecting selects said alternate destination node from said database.
- 4. The method of claim 3, wherein said database of alternate destinations is transmitted within said server to a memory of said network controller, whereby said network controller may select said alternate destination node from said database.
- 5. The method of claim 3, further comprising:
analyzing network traffic at said server; and building a said database in conformity with a result of said analyzing.
- 6. The method of claim 1, further comprising detecting that a size of a packet buffer for said original destination node has exceeded a predetermined threshold, and wherein said selecting, modifying and transmitting are performed in response to said detecting.
- 7. The method of claim 1, wherein said packet is a connection request, wherein said selecting selects and alternate node for said connection, and wherein said modifying and transmitting are performed for subsequent packets received for said connection.
- 8. The method of claim 1, further comprising:
receiving a response packet from said alternate destination node at said response node; modifying an origination address of said packet within said network controller to produce a modified response packet containing an origination address of said original destination node and a destination address of said originating source; and transmitting said modified response packet from said network controller to said originating source.
- 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.
- 10. The server system of claim 9, wherein said network controller includes a network processor and wherein said controller processor and said controller memory are included within said network processor.
- 11. The server system of claim 9, wherein said controller program instructions include program instructions for building within said intelligent network controller a database of alternate destinations for packet data, and wherein said program instructions for selecting select said alternate destination node from said database.
- 12. The server system of claim 9, wherein 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.
- 13. The server system of claim 12, wherein said server program instructions further comprise program instructions for:
analyzing network traffic at said server; and building said database in conformity with a result of said analyzing.
- 14. The server system of claim 9, wherein said controller program instructions further comprise program instructions for detecting that a size of a packet buffer for said original destination node has exceeded a predetermined threshold, and wherein said program instructions for selecting, modifying and transmitting are executed in response to said detecting.
- 15. The server system of claim 9, wherein said packet is a connection request, wherein said controller program instructions for selecting select an alternate node for said connection, and wherein said program instructions for modifying and transmitting are executed for subsequent packets received for said connection.
- 16. The server system of claim 9, wherein said controller program instructions further comprise program instructions for:
receiving a response packet from said alternate destination node at said response node; modifying an origination address of said packet within said network controller to produce a modified response packet containing an origination address of said original destination node and a destination address of said originating source; and transmitting said modified response packet from said network controller to said originating source.
- 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.
- 18. The computer program product of claim 17, wherein said program instructions include program instructions for building within said network controller a database of alternate destinations for packet data, and wherein said program instructions for selecting select said alternate destination node from said database.
- 19. The computer program product of claim 17, wherein said program instructions further comprise program instructions for detecting that a size of a packet buffer for said original destination node has exceeded a predetermined threshold, and wherein said program instructions for selecting, modifying and transmitting are executed in response to said detecting.
- 20. The computer program product of claim 17, wherein said packet is a connection request, wherein said program instructions for selecting select an alternate node for said connection, and wherein said program instructions for modifying and transmitting are executed for subsequent packets received for said connection.
- 21. The computer program product of claim 17, wherein said program instructions further comprise program instructions for:
receiving a response packet from said alternate destination node at said response node; modifying an origination address of said packet within said network controller to produce a modified response packet containing an origination address of said original destination node and a destination address of said originating source; and transmitting said modified response packet from said network controller to said originating source.
- 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.
- 23. The computer program product of claim 22, wherein said server program instructions further comprise program instructions for:
analyzing network traffic at said server; and building said database in conformity with a result of said analyzing.
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] The present application is related to previously-filed U.S. patent application: “SYSTEM AND METHOD FOR KNOWLEDGABLE NODE INITIATED TCP SPLICING” Ser. No. 09/998,048 filed on Nov. 29, 2001 by the same inventors and having the same assignee. The present application is also related to U.S. patent application “SERVER NETWORK CONTROLLER INCLUDING SERVER-DIRECTED PACKET FORWARDING AND METHOD THEREFOR” Ser. No. __/______ filed concurrently herewith by the same inventors and having the same assignee. The specifications of both of the above-referenced patent applications are incorporated herein by reference.