IP Library Granted Patent US 11,636,000
Granted Patent B2
US 11,636,000 · App. 16/802,430 · Granted Apr 25, 2023

Method, device, and computer program product for managing processes based on reading speed of a message queue

Inventors: Jun Tang (Chengdu, CN); Wei Wang (Chengdu, CN)
Assignee: EMC IP HOLDING COMPANY LLC
G06F9/546G06F9/4837G06F9/4887G06F9/5027
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 11,636,000
App. No.
16/802,430
Granted
Apr 25, 2023
Kind
B2
Abstract

Method, device, and computer program product for managing processes are disclosed. The method may include, in response to detecting a job to be executed in a job processing system, determining attribute information related to execution of a message queue in the job processing system; and determining, based on the attribute information, allocation information for a process to execute the job. The number of processes can be dynamically adjusted according to the current processing capacity of the job processing system, thereby improving the use of the resources of the job processing system and meanwhile avoiding crashing of the job processing system.

Claims (47)

1. A method comprising:

detecting a job to be performed at a job processing system that comprises a message queue and a plurality of job executing devices, wherein the message queue is populated with messages, corresponding to running jobs being executed by the plurality of job executing devices, that are read;

determining, for each predetermined time period of a plurality of consecutive predetermined time periods, a number of messages read within a respective predetermined time period in the message queue to calculate a speed at which the message queue was read corresponding to the respective predetermined time period;

determining, based on each speed corresponding to each predetermined time period, a rate of change in speed at which the message queue is read; and

allocating a process on a job executing device of the plurality of job executing devices to execute the job and executing the job on the process in response to determining that the rate of change in speed at which the message queue is read is greater than a predetermined threshold of rate of change in speed at which the message queue is read.

2. The method according to claim 1 , further comprising:

determining a total number of the messages in the message queue.

3. The method according to claim 1 , further comprising:

determining whether a speed at which the message queue is read is greater than a predetermined threshold of speed; and

in response to determining that the speed at which the message queue is read is greater than the predetermined threshold of speed, determining to allocate the process for the job.

4. The method according to claim 3 , further comprising:

in response to determining that the speed at which the message queue is read is less than or equal to the predetermined threshold of speed, determining whether the rate of change in speed at which the message queue is read is greater than the predetermined threshold rate of change in speed at which the message queue is read; and

in response to determining that the rate of change in speed at which the message queue is read is greater than the predetermined threshold of rate of change in speed at which the message queue is read, determining to allocate the process for the job.

5. The method according to claim 1 , further comprising:

determining whether a total number of the messages is less than a predetermined threshold number; and

in response to determining that the total number of the messages is less than the predetermined threshold of number, determining to allocate the process for the job.

6. An electronic device comprising:

at least one processing unit; and

at least one memory, coupled to the at least one processing unit and storing instructions executed by the at least one processing unit, the instructions, when executed by the at least one processing unit, causing the electronic device to perform acts, the acts comprising:

detecting a job to be performed at a job processing system that comprises a message queue and a plurality of job executing devices, wherein the message queue is populated with messages corresponding to running jobs being executed by the plurality of job executing devices, that are read;

determining, for each predetermined time period of a plurality of consecutive predetermined time periods, a number of messages read within a respective predetermined time period in the message queue to calculate a speed at which the message queue was read corresponding to the respective predetermined time period;

determining, based on each speed corresponding to each predetermined time period, a rate of change in speed at which the message queue is read; and

allocating a process on a job executing device of the plurality of job executing devices to execute the job and executing the job on the process in response to determining that the rate of change in speed at which the message queue is read is greater than a predetermined threshold rate of change in speed at which the message queue is read.

7. The device according to claim 6 , wherein the acts further comprise:

determining a total number of the messages in the message queue.

8. The device according to claim 6 , wherein the acts further comprise:

determining whether a speed at which the message queue is read is greater than a predetermined threshold of speed; and

in response to determining that the speed at which the message queue is read is greater than the predetermined threshold of speed, determining to allocate the process for the job.

9. The device according to claim 8 , wherein the acts further comprise:

in response to determining that the speed at which the message queue is read is less than or equal to the predetermined threshold of speed, determining whether the rate of change in speed at which the message queue is read is greater than the predetermined threshold rate of change in speed at which the message queue is read; and

in response to determining that the rate of change in speed at which the message queue is read is greater than the predetermined threshold of rate of change in speed at which the message queue is read, determining to allocate the process for the job.

10. The device according to claim 6 , wherein the acts further comprise

determining whether a total number of the messages is less than a predetermined threshold number; and

in response to determining that the total number of the messages is less than the predetermined threshold of number, determining to allocate the process for the job.

11. A computer program product tangibly stored on a non-transitory computer-readable medium and comprising machine-executable instructions, the machine-executable instructions, when executed by a device, cause the device to perform operations comprising:

detecting a job to be performed at a job processing system that comprises a message queue and a plurality of job executing devices, wherein the message queue is populated with messages, corresponding to running jobs being executed by the plurality of job executing devices, that are read;

determining, for each predetermined time period of a plurality of consecutive predetermined time periods, a number of messages read within a respective predetermined time period in the message queue to calculate a speed at which the message queue was read corresponding to the respective predetermined time period;

determining, based on each speed corresponding to each predetermined time period, a rate of change in speed at which the message queue is read; and

allocating a process on a job executing device of the plurality of job executing devices to execute the job and executing the job on the process in response to determining that the rate of change in speed at which the message queue is read is greater than a predetermined threshold rate of change in speed at which the message queue is read.

12. The computer program product according to claim 11 , wherein the operations further comprise:

determining a total number of the messages in the message queue.

13. The computer program product according to claim 11 , wherein the operations further comprise:

determining whether a speed at which the message queue is read is greater than a predetermined threshold of speed; and

in response to determining that the speed at which the message queue is read is greater than the predetermined threshold of speed, determining to allocate the process for the job.

14. The computer program product according to claim 13 , wherein the operations further comprise:

in response to determining that the speed at which the message queue is read is less than or equal to the predetermined threshold of speed, determining whether the rate of change in speed at which the message queue is read is greater than the predetermined threshold rate of change in speed at which the message queue is read; and

in response to determining that the rate of change in speed at which the message queue is read is greater than the predetermined threshold rate of change in speed at which the message queue is read, determining to allocate the process for the job.

Assignments (13)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (052851/0917) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 060436/0509 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (052852/0022) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 060436/0582 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053311/0169) Recorded Jun 23, 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 060438/0742 →
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 (052851/0081) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 060436/0441 →
RELEASE OF SECURITY INTEREST AT REEL 052771 FRAME 0906 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 058001/0298 →
SECURITY INTEREST Recorded Jun 5, 2020
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 053311/0169 →
SECURITY INTEREST Recorded Jun 5, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC; THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 052851/0081 →
SECURITY INTEREST Recorded Jun 5, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 052851/0917 →
SECURITY INTEREST Recorded Jun 5, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 052852/0022 →
SECURITY AGREEMENT Recorded May 28, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 052771/0906 →
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 26, 2020
From: TANG, JUN; WANG, WEI
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 051942/0414 →