IP Library Granted Patent US 10,491,668
Granted Patent B1
US 10,491,668 · App. 16/026,608 · Granted Nov 26, 2019

Intelligent service distributor and controller with real time service calibration

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,491,668
App. No.
16/026,608
Granted
Nov 26, 2019
Kind
B1
Abstract

Described embodiments provide real time load balancing and calibration processes. An aspect includes receiving a request to execute a service, assessing capacity of a target server to execute the service, and setting a threshold for a number of services to be executed on the target server. A further aspect includes assigning a unique identifier of the service to the target server, and based on the threshold and an assessment of a capability of other servers, assigning the service to the server.

Claims (46)

1. A method for providing real time load balancing and calibration processes comprising:

receiving a request to execute a service;

assessing capacity of a target server to execute the service by at least calibrating the target server with respect to the service with parallel threads as a function of CPU consumption and RAM consumption;

setting a threshold for a number of services to be executed on the target server;

assigning a unique identifier of the service to the target server;

based on the threshold and an assessment of a capability of other servers, assigning at least a portion of the service to the target server;

receiving a response time, percentage of CPU usage, and free RAM of the target server;

increasing the number of jobs assigned to the service on the target server in specified intervals to reach an amount of work expected from the target server;

calculating expected response time for the target server based on a single thread single job process for the number of jobs increased;

increasing parallel processes for the target server;

calculating expected response time from the increase in parallel processes; and

discontinuing the increasing when the response time varies more than a specified percentage from the expected response time.

2. The method of claim 1 , wherein the threshold includes a maximum number of services and threads to be assigned.

3. The method of claim 1 , further comprising registering servers having the same services to be run in parallel.

4. The method of claim 1 , wherein responsive to assessment of the capability of other servers, the method includes redistributing work among the other servers as a function of a target time of completion for work running on the servers.

5. A system comprising:

a memory comprising computer-executable instructions; and

a processor executing the computer-executable instructions, the computer-executable instructions when executed by the processor cause the processor to perform operations comprising:

receiving a request to execute a service;

assessing capacity of a target server to execute the service by at least calibrating the target server with respect to the service with parallel threads as a function of CPU consumption and RAM consumption;

setting a threshold for a number of services to be executed on the target server;

assigning a unique identifier of the service to the target server;

based on the threshold and an assessment of a capability of other servers, assigning at least a portion of the service to the target server;

receiving a response time, percentage of CPU usage, and free RAM of the target server;

increasing the number of jobs assigned to the service on the target server in specified intervals to reach an amount of work expected from the target server;

calculating expected response time for the target server based on a single thread single job process for the number of jobs increased;

increasing parallel processes for the target server;

calculating expected response time from the increase in parallel processes; and

discontinuing the increasing when the response time varies more than a specified percentage from the expected response time.

6. The system of claim 5 , wherein the threshold includes a maximum number of services and threads to be assigned.

7. The system of claim 5 , further comprising registering servers having the same services to be run in parallel.

8. The system of claim 5 , wherein responsive to assessment of the capability of other servers, the method includes redistributing work among the other servers as a function of a target time of completion for work running on the servers.

9. A computer program product embodied on a non-transitory computer readable medium, the computer program product including instructions that, when executed by a computer, causes the computer to perform operations comprising:

receiving a request to execute a service;

assessing capacity of a target server to execute the service by at least calibrating the target server with respect to the service with parallel threads as a function of CPU consumption and RAM consumption;

setting a threshold for a number of services to be executed on the target server;

assigning a unique identifier of the service to the target server;

based on the threshold and an assessment of a capability of other servers, assigning at least a portion of the service to the target server;

receiving a response time, percentage of CPU usage, and free RAM of the target server;

increasing the number of jobs assigned to the service on the target server in specified intervals to reach an amount of work expected from the target server;

calculating expected response time for the target server based on a single thread single job process for the number of jobs increased;

increasing parallel processes for the target server;

calculating expected response time from the increase in parallel processes; and

discontinuing the increasing when the response time varies more than a specified percentage from the expected response time.

10. The computer program product of claim 9 , wherein the threshold includes a maximum number of services and threads to be assigned.

11. The computer program product of claim 9 , wherein the operations further comprise registering servers having the same services to be run in parallel.

Assignments (8)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (047648/0422) Recorded May 20, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 060160/0862 →
RELEASE OF SECURITY INTEREST AT REEL 047648 FRAME 0346 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 058298/0510 →
SECURITY AGREEMENT Recorded Apr 22, 2020
From: CREDANT TECHNOLOGIES INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 053546/0001 →
SECURITY AGREEMENT Recorded Mar 21, 2019
From: CREDANT TECHNOLOGIES, INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 049452/0223 →
PATENT SECURITY AGREEMENT (CREDIT) Recorded Oct 12, 2018
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 047648/0346 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Oct 12, 2018
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 047648/0422 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 9, 2018
From: PANIKKAR, SHIBI; DEVENDRANATH, MURALI
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 046295/0935 →