Method and apparatus load balancing server daemons within a server
First Claim
Patent Images
1. A computer comprising:
- a plurality of processes, wherein the plurality of processes service a destination address and have process addresses;
a packet routing layer, wherein the packet routing layer routes packets to the plurality of processes using destination addresses within the packets;
a dispatch layer between the packet routing layer and an IP layer, wherein the dispatch layer has a plurality of modes of operation including;
a first mode of operation in which the dispatch layer receives a packet from a client, wherein the packet includes the destination address;
a second mode of operation, responsive to receiving the packet, in which the dispatch layer identifies a process within the plurality of processes to service the client, wherein the process is an identified process;
a third mode of operation in which the dispatch layer translates the destination address to a process address for the identified process within the plurality of processes; and
a fourth mode of operation, responsive to the third mode of operation, in which the packet is sent to the packet routing layer.
1 Assignment
0 Petitions
Accused Products
Abstract
A method and apparatus in a data processing system for binding a plurality of server daemons to a destination address and port. A request for a connection from a client is routed using a destination address. A server daemon within the plurality of server daemons is selected to form a selected server daemon. The request is routed to the selected server daemon by changing the destination address to a server address for the selected server daemon. When a response is returned, source address in the response is changed to the original destination address.
133 Citations
9 Claims
-
1. A computer comprising:
-
a plurality of processes, wherein the plurality of processes service a destination address and have process addresses; a packet routing layer, wherein the packet routing layer routes packets to the plurality of processes using destination addresses within the packets; a dispatch layer between the packet routing layer and an IP layer, wherein the dispatch layer has a plurality of modes of operation including; a first mode of operation in which the dispatch layer receives a packet from a client, wherein the packet includes the destination address; a second mode of operation, responsive to receiving the packet, in which the dispatch layer identifies a process within the plurality of processes to service the client, wherein the process is an identified process; a third mode of operation in which the dispatch layer translates the destination address to a process address for the identified process within the plurality of processes; and a fourth mode of operation, responsive to the third mode of operation, in which the packet is sent to the packet routing layer. - View Dependent Claims (2, 4, 5)
-
-
3. A computer comprising:
-
a plurality of processes, wherein the plurality of processes service a destination address and have process addresses; a packet routing layer, wherein the packet routing layer routes packets to the plurality of processes using a destination addresses within the packets; a dispatch layer between a TCP layer and an IP layer, wherein the dispatch layer has a plurality of modes of operation including; a first mode of operation in which the dispatch layer receives a packet from a client, wherein the packet includes the destination address; a second mode of operation, responsive to receiving the packet, in which the dispatch layer identifies a process within the plurality of processes to service the client, wherein the process is an identified process; a third mode of operation in which the dispatch layer translates the destination address to a process address for the identified process within the plurality of processes; and a fourth mode of operation, responsive to the third mode of operation, in which the packet is sent to the packet routing layer, wherein the second mode of operation includes; a first submode of operation in which a determination is made as to whether a connection exists for the client; a second submode of operation, responsive to a determination that a connection is absent for the client in the first submode of operation, in which a connection is created and a process within the plurality of processes is assigned to service the connection, wherein the process is the identified process; and a third submode of operation, responsive to a determination that a connection exists for the client, in which a process assigned to the connection is identified and forms the identified process. - View Dependent Claims (6, 7, 8)
-
-
9. A computer program product for routing packets from a client to a selected process within a plurality of processes servicing a connection between a data processing system and the client comprising:
-
a recordable-type computer readable medium; first instructions for receiving a packet for the connection between the data processing system and the client, wherein the packet includes a destination address; second instructions, responsive to receiving the packet, for a dispatch layer between a packet routing layer and an IP layer to identify a process within the plurality of processes to service the client; third instructions for translating, in the dispatch layer, the destination address to an intermediate destination address, wherein the intermediate destination address is an address for the identified process within the plurality of processes; and fourth instructions, responsive to the translation, for sending the packet to the packet routing layer, wherein the instructions are embodied within the recordable-type computer readable medium.
-
Specification