Redirecting client connection requests among sockets providing a same service
First Claim
1. A method for redirecting connection requests at an operating system kernel level comprising:
- receiving, from an application setting up a cluster of servers providing a same service, a socket option call with a list of sockets for informing an operating system kernel that all of the sockets in said list of sockets will provide said same service;
setting up all of said sockets in said list of sockets to reference each other in said operating system kernel; and
responsive to receiving an incoming connection request for a first socket from said list of sockets that is full, redirecting said connection request to a second socket in said list of sockets that is not full, such that said operating system kernel redirects said connection request to said second socket providing said same service as said first socket.
1 Assignment
0 Petitions
Accused Products
Abstract
A method, system, and program for redirecting client connection requests among sockets providing a same service are provided. An application requests multiple sockets from a kernel. In addition, the application generates a socket call option to bind the sockets to a particular port number and passes a list of the sockets to the kernel, where the list indicates that the sockets will all provide access to server systems providing the same service. In response, the kernel sets up the sockets, bound to the same port, and set to reference one another. Then, when a connection request is received for a first socket in the list with a queue that is full, the kernel redirects the connection request to a second socket in the list with available queue space. Thus, rather than drop the connection request from the first socket when it lacks available queue space, the connection request is redirected to another socket providing access to the same service.
48 Citations
19 Claims
-
1. A method for redirecting connection requests at an operating system kernel level comprising:
-
receiving, from an application setting up a cluster of servers providing a same service, a socket option call with a list of sockets for informing an operating system kernel that all of the sockets in said list of sockets will provide said same service;
setting up all of said sockets in said list of sockets to reference each other in said operating system kernel; and
responsive to receiving an incoming connection request for a first socket from said list of sockets that is full, redirecting said connection request to a second socket in said list of sockets that is not full, such that said operating system kernel redirects said connection request to said second socket providing said same service as said first socket. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A system for redirecting connection requests at an operating system kernel level comprising:
-
means for receiving, from an application server setting up a master-slave configuration, a socket option call with a list of sockets for informing an operating system kernel that all of the sockets in said list of sockets provide a same service;
means for setting up all of said sockets in said list of sockets to reference each other in said operating system kernel;
means, responsive to receiving an incoming connection request for a first socket from said list of sockets that is full, for redirecting said connection request to a second socket in said list of sockets that is not full. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. A computer program product, residing in a computer readable medium, for redirecting connection requests at an operating system kernel level comprising:
-
means for enabling receipt, from an application server setting up a master-slave configuration, a socket option call with a list of sockets for informing an operating system kernel that all of the sockets in said list of sockets provide a same service;
means for controlling set-up of all of said sockets in said list of sockets to reference each other in said operating system kernel;
means, responsive to receiving an incoming connection request for a first socket from said list of sockets that is full, for enabling redirection of said connection request to a second socket in said list of sockets that is not full. - View Dependent Claims (14, 15, 16)
-
-
17. A method for controlling setup of sockets assigned to a cluster of server systems, comprising:
-
requesting, by an application, for a kernel to provide a plurality of sockets;
generating a socket call option to bind said plurality of sockets to a particular port number; and
assigning each of said plurality of sockets to one from among a plurality of slave servers spawned by said application to provide a same service, such that said plurality of sockets are setup such that if one socket queue is full when a request is received said request is redirected to another socket providing said same service.
-
-
18. A system for controlling setup of sockets assigned to a cluster of server systems, comprising:
-
means for requesting, by an application, for a kernel to provide a plurality of sockets;
means for generating a socket call option to bind said plurality of sockets to a particular port number; and
means for assigning each of said plurality of sockets to one from among a plurality of slave servers spawned by said application to provide a same service.
-
-
19. A computer program product, residing on a computer readable medium, for controlling setup of sockets assigned to a cluster of server systems, comprising:
-
means for enabling an application to request that a kernel provide a plurality of sockets;
means for generating a socket call option to bind said plurality of sockets to a particular port number; and
means for controlling assignment of each of said plurality of sockets to one from among a plurality of slave servers spawned by said application to provide a same service.
-
Specification