System and method for concentration and load-balancing of requests
First Claim
1. A system in a distributed object environment that supports server connection concentration, comprising:
- a plurality of connection handlers to handle a plurality of connections from a plurality of clients to a plurality of remote servers; and
a listener, running on one or more microprocessors, which determines which particular connection handler of the plurality of connection handlers to handle a particular connection;
wherein the listener upon receiving a request from a client of the plurality of clients to invoke an object on a remote server of the plurality of remote servers performs steps of;
first checking to see if any connection handler currently handles a connection to the remote server;
choosing a least burdened connection handler to balance a load among all available connection handlers;
starting a connection handler to handle the request, if no existing connection handler can handle the connection; and
connecting the remote server to another connection handler and updating a shared memory of the plurality of connection handlers, if the corresponding connection handler cannot handle the connection;
receiving an object reference from the remote server, wherein the object reference contains connection information at the remote server;
associating the object reference with the connection handler that handles the connection to the remote server;
calling an object binding routine to bind the object reference, together with host, port, and client identifier parameters; and
invoking the connection handler to forward the request to the remote server and reply to the client.
1 Assignment
0 Petitions
Accused Products
Abstract
A system and method for concentration and load-balancing of requests in a distributed computing environment. In accordance with an embodiment, a system and a method for reducing the number of connections in an Internet environment using one or a plurality of connection handlers which handle the connection from the client to the server, and a listener which determines which connection handler to use to handle the connection. Whereas prior solutions required a (n×m) number of connections to handle requests, the invention allows there to be only m connections which significantly reduces resource requirements and allows scalability.
45 Citations
15 Claims
-
1. A system in a distributed object environment that supports server connection concentration, comprising:
-
a plurality of connection handlers to handle a plurality of connections from a plurality of clients to a plurality of remote servers; and a listener, running on one or more microprocessors, which determines which particular connection handler of the plurality of connection handlers to handle a particular connection; wherein the listener upon receiving a request from a client of the plurality of clients to invoke an object on a remote server of the plurality of remote servers performs steps of; first checking to see if any connection handler currently handles a connection to the remote server; choosing a least burdened connection handler to balance a load among all available connection handlers; starting a connection handler to handle the request, if no existing connection handler can handle the connection; and connecting the remote server to another connection handler and updating a shared memory of the plurality of connection handlers, if the corresponding connection handler cannot handle the connection; receiving an object reference from the remote server, wherein the object reference contains connection information at the remote server; associating the object reference with the connection handler that handles the connection to the remote server; calling an object binding routine to bind the object reference, together with host, port, and client identifier parameters; and invoking the connection handler to forward the request to the remote server and reply to the client. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A method in a distributed object environment that supports server connection concentration, comprising the steps of:
-
handling, via a plurality of connection handlers, a plurality of connections from a plurality of clients to a plurality of remote servers; associating a listener with the plurality of connection handlers; and upon receiving a request at the listener to invoke an object on a remote server of the plurality of remote servers, performing the steps of; first checking to see if any connection handler currently handles a connection to the remote server; choosing a least burdened connection handler to balance a load among all available connection handlers; starting a connection handler to handle the request, if no existing connection handler can handle the connection; and connecting the remote server to another connection handler and updating a shared memory of the plurality of connection handlers, if the corresponding connection handler cannot handle the connection; receiving an object reference from the remote server, wherein the object reference contains connection information at the remote server; associating the object reference with the connection handler that handles the connection to the remote server; calling an object binding routine to bind the object reference, together with host, port, and client identifier parameters; and invoking the connection handler to forward the request to the remote server and a reply to the client. - View Dependent Claims (10, 11, 12, 13, 14)
-
-
15. A machine readable memory having instructions stored thereon that when executed by one or more processors cause a system to perform the steps of:
-
handling, via a plurality of connection handlers, a plurality of connections from a plurality of clients to a plurality of remote servers; associating a listener with the plurality of connection handlers; and upon receiving a request at the listener to invoke an object on a remote server of the plurality of remote servers, performing the steps of; first checking to see if any connection handler currently handles a connection to the remote server; choosing a least burdened connection handler to balance a load among all available connection handlers; starting a connection handler to handle the request, if no existing connection handler can handle the connection; and connecting the remote server to another connection handler and updating a shared memory of the plurality of connection handlers, if the corresponding connection handler cannot handle the connection; receiving an object reference from the remote server, wherein the object reference contains connection information at the remote server; associating the object reference with the connection handler that handles the connection to the remote server; calling an object binding routine to bind the object reference, together with host, port, and client identifier parameters; and invoking the connection handler to forward the request to the remote server and a reply to the client.
-
Specification