IP Library › Granted Patent US 11,748,154
Granted Patent B2
US 11,748,154 · App. 17/305,461 · Granted Sep 5, 2023

Computing node job assignment using multiple schedulers

Inventors: Gopi Kancharla (Frisco, TX); Sanjiv Yajnik (Dallas, TX); Raman Bajaj (Frisco, TX); James Land (The Colony, TX); Susmitha Gangarapu (McKinney, TX); Praveen Tandra (Allen, TX); Parvesh Kumar (Plano, TX); Janardhan Prabhakara (Allen, TX)
Assignee: Capital One Services, LLC
G06F9/4881G06F9/546
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,748,154
App. No.
17/305,461
Granted
Sep 5, 2023
Kind
B2
Abstract

A set of computing nodes may receive a corresponding set of heartbeat messages that originated at the set of computing nodes. The set of heartbeat messages may relate to selecting, among the set of computing nodes, a leader computing node to process a set of jobs. State information included in the heartbeat messages may be provided to a leader election algorithm that outputs information indicating one or more computing nodes that are most qualified to process the set of jobs based on processing capabilities of the computing nodes and processing constraints associated with the set of jobs. The computing node may select itself as the leader computing node to process the set of jobs based on determining, from the information output by the leader election algorithm, that the computing node is most qualified to process the set of jobs and no other computing nodes are processing the set of jobs.

Claims (65)

1. A device, comprising:

one or more memories; and

one or more processors, coupled to the one or more memories, configured to:

receive a set of heartbeat messages that originated from a set of devices that include the device,

wherein the set of heartbeat messages is associated with selecting a leader device, among the set of devices, to process a set of jobs;

determine, based on the set of heartbeat messages, a set of scores representing how qualified devices of the set of devices are to process the set of jobs based on processing capabilities of corresponding devices, of the set of devices, and a set of processing constraints associated with the set of jobs;

identify, based on determining the set of scores, the device as the leader device,

wherein the leader device is identified based on determining that the set of jobs is not being processed by any other device of the set of devices; and

process the set of jobs by the device.

2. The device of claim 1 , wherein identifying the device as the leader device is based on whether a unique identifier associated with the device corresponds to the unique identifier in a heartbeat message, of the set of heartbeat messages, associated with the highest score of the set of scores.

3. The device of claim 1 , wherein a heartbeat message of the set of heartbeat messages includes at least one of:

a unique identifier of a respective device of the set of devices,

information identifying a quantity of jobs being processed by the respective device,

information associated with a status of jobs being processed by the respective device, or

information associated with processing capabilities of the respective device.

4. The device of claim 1 , wherein determining that the set of jobs is not being processed by any other device of the set of devices is based on information included in the set of heartbeat messages.

5. The device of claim 1 , wherein the set of devices is subscribed to a message stream associated with the set of heartbeat messages, and

wherein the set of devices publish respective heartbeat messages to the message stream.

6. The device of claim 1 , wherein one or more heartbeat messages, of the set of heartbeat messages, from different geographic regions, are received via a global message broker, and

wherein one or more local message brokers associated with the different geographic regions transmit the one or more heartbeat messages to the global message broker.

7. The device of claim 1 , wherein the one or more processors, to identify the device as the leader device, are configured to:

determine that the device and one or more other devices, of the set of devices, are tied for being identified as the leader device;

generate, based on information associated with the set of heartbeat messages, a hash to break the tie between the device and the one or more other devices; and

select, based on the hash, the device as the leader device.

8. A method, comprising:

receiving, by a device, a set of heartbeat messages that originated from a set of devices that include the device,

wherein the set of heartbeat messages is associated with selecting a leader device, among the set of devices, to process a set of jobs;

determining, by the device and based on the set of heartbeat messages, a set of scores representing how qualified devices of the set of devices are to process the set of jobs based on processing capabilities of corresponding devices, of the set of devices, and a set of processing constraints associated with the set of jobs;

identifying, by the device and based on determining the set of scores, the device as the leader device,

wherein the leader device is identified based on determining that the set of jobs is not being processed by any other device of the set of devices; and

processing, by the device, the set of jobs.

9. The method of claim 8 , wherein identifying the device as the leader device is based on whether a unique identifier associated with the device corresponds to the unique identifier in a heartbeat message, of the set of heartbeat messages, associated with the highest score of the set of scores.

10. The method of claim 8 , wherein a heartbeat message of the set of heartbeat messages includes at least one of:

a unique identifier of a respective device of the set of devices,

information identifying a quantity of jobs being processed by the respective device,

information associated with a status of jobs being processed by the respective device, or

information associated with processing capabilities of the respective device.

11. The method of claim 8 , wherein determining that the set of jobs is not being processed by any other device of the set of devices is based on information included in the set of heartbeat messages.

12. The method of claim 8 , wherein the set of devices is subscribed to a message stream associated with the set of heartbeat messages, and

wherein the set of devices publish respective heartbeat messages to the message stream.

13. The method of claim 8 , wherein one or more heartbeat messages, of the set of heartbeat messages, from different geographic regions, are received via a global message broker, and

wherein one or more local message brokers associated with the different geographic regions transmit the one or more heartbeat messages to the global message broker.

14. The method of claim 8 , wherein identifying the device as the leader device comprises:

determining that the device and one or more other devices, of the set of devices, are tied for being identified as the leader device;

generating, based on information associated with the set of heartbeat messages, a hash to break the tie between the device and the one or more other devices; and

selecting, based on the hash, the device as the leader device.

15. A non-transitory computer-readable medium storing a set of instructions, the set of instructions comprising:

one or more instructions that, when executed by one or more processors of a device, cause the device to:

receive a set of heartbeat messages that originated from a set of devices that include the device,

wherein the set of heartbeat messages is associated with selecting a leader device, among the set of devices, to process a set of jobs;

determine, based on the set of heartbeat messages, a set of scores representing how qualified devices of the set of devices are to process the set of jobs based on processing capabilities of corresponding devices, of the set of devices, and a set of processing constraints associated with the set of jobs;

identify, based on determining the set of scores, the device as the leader device,

wherein the leader device is identified based on determining that the set of jobs is not being processed by any other device of the set of devices; and

process the set of jobs by the device.

16. The non-transitory computer-readable medium of claim 15 , wherein identifying the device as the leader device is based on whether a unique identifier associated with the device corresponds to the unique identifier in a heartbeat message, of the set of heartbeat messages, associated with the highest score of the set of scores.

17. The non-transitory computer-readable medium of claim 15 , wherein a heartbeat message of the set of heartbeat messages includes at least one of:

a unique identifier of a respective device of the set of devices,

information identifying a quantity of jobs being processed by the respective device,

information associated with a status of jobs being processed by the respective device, or

information associated with processing capabilities of the respective device.

18. The non-transitory computer-readable medium of claim 15 , wherein determining that the set of jobs is not being processed by any other device of the set of devices is based on information included in the set of heartbeat messages.

19. The non-transitory computer-readable medium of claim 15 , wherein the set of devices is subscribed to a message stream associated with the set of heartbeat messages, and

wherein the set of devices publish respective heartbeat messages to the message stream.

20. The non-transitory computer-readable medium of claim 15 , wherein one or more heartbeat messages, of the set of heartbeat messages, from different geographic regions, are received via a global message broker, and

wherein one or more local message brokers associated with the different geographic regions transmit the one or more heartbeat messages to the global message broker.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 8, 2021
From: KANCHARLA, GOPI; YAJNIK, SANJIV; BAJAJ, RAMAN; LAND, JAMES; GANGARAPU, SUSMITHA; TANDRA, PRAVEEN; KUMAR, PARVESH; PRABHAKARA, JANARDHAN
To: CAPITAL ONE SERVICES, LLC
Reel/Frame 056788/0878 →
Continuity (4)
Continuation 16580459 · Sep 24, 2019
Continuation 16406614 · May 8, 2019
Provisional Application 62767182 · Nov 14, 2018
Related Publication 20210334135A1 · Oct 28, 2021