Scalable java servers for network server applications
First Claim
1. A system for providing Java-implemented Application Servers to a plurality of clients, the system comprising:
- a computing system having a plurality of processing elements, each element configured such that, despite a failure of one processing element, the remaining processing elements continue to function;
a plurality of Java-implemented Application Servers, at least one Server assigned to execute on one or more processing elements; and
a distributor module that is configured to capture connection requests from a client on a port, to select one of the plurality of Application Servers to communicate with the requesting client during the connection and to assign the connection request to the selected one of the plurality of Application Servers, such that, after the assignment, the selected Application Server communicates directly with the client.
2 Assignments
0 Petitions
Accused Products
Abstract
A system for providing Java-implemented Application Servers to a plurality of clients. Each of the Java-implemented Application Servers is configured to execute on a processing element of a server which has multiple independent processing elements arranged such that a failure of one processing element does not affect the operability of the other processing elements. A Distributor is provided to enable making connections with the clients and then determine which of the Application Servers actually services the clients requests. The Distributor attempts to choose the Application Server that has the fewest number of clients as the server for a new client request. A monitoring program restarts the Distributor if it fails. The system thus provides a scalable and available set of Java-implemented Application Servers without requiring any change to the Java-implemented application itself.
35 Citations
9 Claims
-
1. A system for providing Java-implemented Application Servers to a plurality of clients, the system comprising:
-
a computing system having a plurality of processing elements, each element configured such that, despite a failure of one processing element, the remaining processing elements continue to function;
a plurality of Java-implemented Application Servers, at least one Server assigned to execute on one or more processing elements; and
a distributor module that is configured to capture connection requests from a client on a port, to select one of the plurality of Application Servers to communicate with the requesting client during the connection and to assign the connection request to the selected one of the plurality of Application Servers, such that, after the assignment, the selected Application Server communicates directly with the client. - View Dependent Claims (2, 3, 4, 5, 7, 8, 9)
-
-
6. A method for providing Java-implemented Application Servers to a plurality of clients, the method comprising:
-
providing a plurality of processing elements, each element configured such that, despite a failure of one processing element, the remaining processing elements continue to function;
causing a plurality of Java-implemented Application Servers to execute on the processing elements, at least one Server assigned to execute on one or more of the processing elements;
receiving incoming client connection requests at at least one port managed by a distributor module;
selecting one of the Application Servers to communicate with the client during the connection; and
assigning, by the distributor module, the connection request to the selected Application Server such that, after the assignment, the selected Application Server communicates with the client directly.
-
Specification