Scaleable web server and method of efficiently managing multiple servers
First Claim
1. In a client-server environment of a telecommunications network, where information resources, which are accessed by HTTP protocol, are replicated among a plurality of servers and a client has access to any one or more of the servers for desired information resources, a method of efficiently utilizing the plurality of servers comprising steps of:
- performing an HTTP transaction by HTTP protocol between the client and the plurality of servers, the HTTP transaction comprising one or more TCP connection sessions which are conducted by way of a depot;
storing, at the depot, information about the TCP connection sessions and parameters in a primary and a secondary map, the information in the primary map being deleted at the close of sessions and the information at the secondary table being maintained for two maximum segment lifetimes (MSL);
transparently forwarding TCP connection sessions of the HTTP transaction at the depot in both directions to and from the client and the plurality of servers;
monitoring parameters indicative of either or both of load and operability of the servers;
detecting transition states of the TCP connection sessions of the HTTP transaction at the depot; and
switching at the depot the plurality of TCP connection sessions of the HTTP transaction among the plurality of servers based on the detected transition states and the monitored parameters of the servers so that during the HTTP transaction, transfer of the information resources is performed by HTTP protocol between the client and one or more servers among the plurality of servers.
17 Assignments
0 Petitions
Accused Products
Abstract
A client-server architecture includes a plurality of clients and a plurality of servers. Information resources are replicated among the servers. According to one aspect, the invention includes an intermediary device called a “depot” sitting transparently between a client and a pool of servers which have the replicated information resources. The depot dynamically distributes multiple sessions contained in a client request among the servers. This architecture realizes a good granular scaleability of servers, and improved server throughput with a good response time. Multiple depots also realize robustness.
-
Citations
20 Claims
-
1. In a client-server environment of a telecommunications network, where information resources, which are accessed by HTTP protocol, are replicated among a plurality of servers and a client has access to any one or more of the servers for desired information resources, a method of efficiently utilizing the plurality of servers comprising steps of:
-
performing an HTTP transaction by HTTP protocol between the client and the plurality of servers, the HTTP transaction comprising one or more TCP connection sessions which are conducted by way of a depot;
storing, at the depot, information about the TCP connection sessions and parameters in a primary and a secondary map, the information in the primary map being deleted at the close of sessions and the information at the secondary table being maintained for two maximum segment lifetimes (MSL);
transparently forwarding TCP connection sessions of the HTTP transaction at the depot in both directions to and from the client and the plurality of servers;
monitoring parameters indicative of either or both of load and operability of the servers;
detecting transition states of the TCP connection sessions of the HTTP transaction at the depot; and
switching at the depot the plurality of TCP connection sessions of the HTTP transaction among the plurality of servers based on the detected transition states and the monitored parameters of the servers so that during the HTTP transaction, transfer of the information resources is performed by HTTP protocol between the client and one or more servers among the plurality of servers. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
monitoring parameters indicative of operability of all the depots; and
upon detection of inoperability of one depot, continuing all the functions of the failed depot at any of the remaining depots.
-
-
3. The method according to claim 1 wherein the depot is connected to one or more servers through an ATM network, comprising a further step of:
performing the TCP connection sessions in ATM cells through the ATM network.
-
4. The method according to claim 3 wherein there are a plurality of depots, comprising further steps of:
-
monitoring parameters indicative of operability of all the depots; and
upon detection of inoperability of one depot, continuing all the functions of the failed depot at any of the remaining depots.
-
-
5. The method according to claim 1 wherein the depot is connected to one or more servers through a local area network or a frame relay network, comprising further steps of:
performing the TCP connection sessions in their appropriate format through the local area network or the frame relay network.
-
6. The method according to claim 5 wherein there are a plurality of depots, comprising further steps of:
-
monitoring parameters indicative of operability of all the depots; and
upon detection of inoperability of one depot, continuing all the functions of the failed depot at any of the remaining depots.
-
-
7. The method according to claim 1, wherein the depot is connected to one or more servers by way of a plurality of proxy servers, comprising further steps of:
-
switching at the depot the TCP connection sessions among the proxy servers which in turn send the HTTP transaction to the servers; and
cacheing information resources contained in the the HTTP transaction at the proxy servers.
-
-
8. The method according to claim 7, comprising further steps of:
-
monitoring the status of all the proxy servers; and
for each TCP connection session, selecting one proxy server among all the proxy servers based on their monitored status.
-
-
9. The method according to claim 8 wherein there are a plurality of depots, comprising further steps of:
-
monitoring parameters indicative of operability of all the depots; and
upon detection of inoperability of one depot, continuing all the functions of the failed depot at any of the remaining depots.
-
-
10. In a client-server environment of a telecommunications network, where information resources, which are accessed by HTTP protocol, are replicated among a plurality of servers and a plurality of clients have access to any one or more of the servers for desired information resources through a plurality of HTTP transactions, each HTTP transaction using multiple TCP connection sessions, a method of efficiently utilizing the plurality of servers during the HTTP transactions, comprising steps of:
-
performing each HTTP transaction on HTTP protocol between any one of the plurality of clients and the plurality of servers, each HTTP transaction comprising one or more TCP connection sessions which are conducted on TCP/IP through a depot; and
at the depot, performing the following steps;
storing information about the TCP connection sessions and parameters in a primary and a secondary map, the information in the primary map being deleted at the close of sessions and the information at the secondary table being maintained for two maximum segment lifetimes (MSL);
inspecting all TCP/IP packets to detect a state transition of the TCP connection sessions;
transparently forwarding TCP/IP packets of existing TCP connection sessions to a correct server;
detecting TCP/IP packets of a new TCP connection session;
monitoring parameters indicative of either one or both of load and operability of the servers;
selecting a server among the plurality of servers based on their monitored parameters and the state transition; and
transparently forwarding all the TCP/IP packets of the new TCP connection session to the selected server so that during each of the existing and new TCP connection sessions, transfer of the information resources of the HTTP transactions is performed between any one of the clients and one or more servers by one or more new and existing TCP connection sessions. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 20)
monitoring parameters indicative of the operability of all the depots; and
upon detection of inoperability of one depot, continuing all the functions of the failed depot at any of the remaining depots.
-
-
12. The method according to claim 10 wherein the depot is connected to one or more servers through an ATM network, comprising a further step of:
performing the TCP connection sessions in ATM cells through the ATM network.
-
13. The method according to claim 12 wherein there are a plurality of depots, comprising further steps of:
-
monitoring parameters indicative of the operability of all the depots; and
upon detection of inoperability of one depot, continuing all the functions of the failed depot at any of the remaining depots.
-
-
14. The method according to claim 10 wherein the depot is connected to one or more servers through a local area network or a frame relay network, comprising further steps of:
performing the TCP connection sessions in their appropriate format through the local area network or the frame relay network.
-
15. The method according to claim 10, wherein the depot is connected to one or more servers by way of a plurality of proxy servers, comprising further steps of:
-
switching, at the depot, the TCP connection sessions among the proxy servers which in turn send TCP connection sessions to the server; and
cacheing information resources contained in the TCP connection sessions at the proxy servers.
-
-
16. The method according to claim 15, comprising further steps of:
-
monitoring the status of all the proxy servers; and
for each TCP connection session, selecting one proxy server among all the proxy servers based on their monitored status.
-
-
17. The method according to claim 16 wherein there are plurality of depots, comprising further steps of:
-
monitoring parameters indicative of the operability of all the depots; and
upon detection of inoperability of one depot, continuing all the functions of the failed depot at any of the remaining depots.
-
-
20. The method according to claim 14 wherein there are a plurality of depots, comprising further steps of:
-
monitoring parameters indicative of the operability of all the depots; and
upon detection of inoperability of one depot, continuing all the functions of the failed depot at any of the remaining depots.
-
-
18. In a client-server environment of a telecommunications network, where information resources are replicated among a plurality of servers and a plurality of clients have access to any one or more of the servers for desired information resources through an HTTP transaction using at least two layers of protocols, one stateless protocol layer upon another stateful protocol layer, the HTTP transaction running on the stateless protocol layer of HTTP protocol and being made up of one or more TCP connection sessions which run on TCP/IP layer, a depot for transferring one or more TCP connection sessions between a client and among a plurality of servers, comprising:
-
a primary and a secondary map for storing information about the TCP connection sessions and parameters, the information at the primary map being deleted at the close of sessions and the information at the secondary map being maintained for two maximum segment lifetimes (MSL);
a packet analysis block for analysing and transparently forwarding TCP/IP packets of one or more TCP connection sessions of the HTTP transaction between the client and one of the servers;
a session management block for switching one or more TCP connection sessions of the HTTP transaction among the plurality of servers according to a preset criteria including the TCP/IP states of each TCP connection session; and
a protocol state tracking block for monitoring the TCP/IP states of the TCP connection sessions of the HTTP transaction. - View Dependent Claims (19)
a map which contains data concerning either one or both of load and operability of the plurality of servers; and
the session management block for switching one or more TCP connection sessions of the HTTP transaction among the servers based on the data storedd in the map.
-
Specification