IP Library Granted Patent US 10,616,346
Granted Patent B2
US 10,616,346 · App. 15/662,783 · Granted Apr 7, 2020

Server connection capacity management

Inventors: Mike Brooks (Southampton, GB); Alan Hollingshead (Eastleigh, GB); Julian Horn (Eastleigh, GB); Philip Wakelin (Eastleigh, GB)
Assignee: International Business Machines Corporation
H04L67/14H04L41/0896H04L43/0876H04L43/16H04L67/1008H04L67/42H04L69/40
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,616,346
App. No.
15/662,783
Granted
Apr 7, 2020
Kind
B2
Abstract

Dynamic management of concurrent client connections to a server is achieved by a server, in that the server monitors its load state and when the server's maximum permitted number of concurrent requests has been exceeded it reduces the clients' maximum numbers of permitted concurrent requests until such time as the overloading situation no longer persists. In this way, the capacity of each of multiple connections can be controlled by the server individually or as a group, wherein the control is dynamic, so that the client-server connections do not have to be accurately configured in advance.

Claims (32)

1. A transaction processing server capable of managing multiple, concurrent client connections, the server comprising:

a client-server connector operable to establish, maintain and terminate individual client-server connections to the server, each connection being capable of transmitting client requests to the server and each connection being configured to support a default, maximum permitted number of concurrent requests;

a transaction processing component of the server operable to process client requests and issue responses to the clients that originated the requests;

a connection capacity controller operable to monitor how many client-server connections are current and to keep a log of the default, maximum numbers of permitted concurrent requests that each current client-server connection is configured to support;

a server capacity monitor operable to monitor loading of the server having regard to a maximum number of permitted concurrent requests the server is configured to support, wherein, through the monitoring, when the server capacity monitor detects that the server is an overloaded state, the server capacity monitor is operable to issue a command to the connection capacity controller to reduce the maximum permitted numbers of concurrent requests on the current client-server connections, wherein in response thereto the connection capacity controller is operable to transmit to at least one of the clients with a current client-server connection a reduced, maximum permitted number of concurrent requests for that client-server connection and wherein, when at least one of the current client-server connections is operating with a reduced, maximum permitted number of concurrent requests, the server capacity monitor is operable to detect when the server has recovered from its overloaded state, and, in response, to issue a command to the connection capacity controller to increase the maximum number of concurrent requests on at least one of the current client-server connections from a reduced, maximum permitted number to a higher number equal to or less than the default, maximum permitted number for that client-server connection.

2. The server of claim 1 , wherein the connection capacity controller is configured to reject requests received on a client-server connection when the connection has reached or exceeded its maximum permitted number of concurrent requests.

3. The server of claim 2 , wherein the connection capacity controller is configured to reject requests on a particular current connection conditional on that connection currently operating with a reduced, maximum permitted number of concurrent requests.

4. The server of claim 1 , further comprising:

a queue in which requests for the server are queued when the server currently has no capacity to accept them,

wherein the server capacity monitor is operable to monitor loading of the server by monitoring a fill state of the queue.

5. The server of claim 1 , wherein the server capacity monitor is operable to monitor loading of the server by monitoring activity within the server.

6. The server of claim 1 , wherein the server capacity monitor is operable to monitor loading of the server by comparing how many requests the server is currently processing with the server's maximum permitted number of concurrent requests.

7. A computer program product comprising a computer-readable storage medium having a set of instructions stored therein which, when executed by a processor, causes the processor to manage concurrent client-server connections to a transaction server by:

establishing a set of individual connections to a server, the individual connections being client-server connections;

maintaining each individual connection to the server wherein each individual connection is capable of transmitting a client request to the server and each connection is configured to support a certain number of concurrent requests, the certain number being a default, maximum permitted number;

processing a client request in a transaction processing component of the server;

issuing a response to the client request to an originating client;

monitoring in a connection capacity controller how many client-server connections are current;

recording in a log the certain number of concurrent requests permitted by a client-server connection;

monitoring in a server capacity monitor a loading of the server having regard to the certain number of concurrent requests the server is configured to support;

detecting in the server capacity monitor that the server is in an overloaded state;

issuing a command from the server capacity monitor to the connection capacity controller to reduce the certain number concurrent requests to a reduced number of concurrent requests;

transmitting from the connection capacity controller to at least one of the clients with a current client-server connection the reduced number of concurrent requests; and

responsive to the client-server connection operating with the reduced number of concurrent requests and the server capacity monitor detecting that the server has recovered from its overloaded state, the server capacity monitor issuing a command to the connection capacity controller to increase the reduced number of concurrent requests to a higher number of concurrent requests for the client-server connection.

8. The computer program product of claim 7 , wherein the connection capacity controller rejects a client-server request received on the client-server connection when the client-server connection reaches the certain number of concurrent requests.

9. The computer program product of claim 7 , wherein:

client requests for the server are queued in a queue when the server has no capacity to accept them, and

the server capacity monitor monitors loading of the server by monitoring a fill state of the queue.

10. The computer program product of claim 7 , wherein the server capacity monitor monitors loading of the server by monitoring activity within the server.

11. The computer program product of claim 7 , wherein the connection capacity controller rejects a client request on the client-server connection when the client-server connection is operating with a reduced number of concurrent requests.

12. The computer program product of claim 7 , wherein the server capacity monitor monitors loading of the server by comparing how many client requests the server is processing with the certain number of concurrent requests.

13. The computer program product of claim 7 , further comprising: terminating the client-server connection to the server.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 28, 2017
From: BROOKS, MIKE; HOLLINGSHEAD, ALAN; HORN, JULIAN; WAKELIN, PHILIP
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 043127/0598 →
Continuity (1)
Related Publication 20190037026A1 · Jan 31, 2019