IP Library Granted Patent US 10,540,204
Granted Patent B1
US 10,540,204 · App. 16/422,741 · Granted Jan 21, 2020

Module assignment management

Inventors: Alexander Blessing (Brooklyn, NY); Justin Uang (New York, NY); Lawrence Manning (New York, NY); Mark Elliot (London, GB); Robert Kruszewski (London, GB)
Assignee: Palantir Technologies Inc.
G06F9/4881
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,540,204
App. No.
16/422,741
Granted
Jan 21, 2020
Kind
B1
Abstract

Systems, methods, and non-transitory computer readable media are provided for managing assignment of modules. A job from a client may be received. The job may be inserted into a job queue. The job within the job queue may be compared with a set of cooldown modules to determine whether a compatible cooldown module is available. The job may be assigned to the compatible cooldown module responsive to the compatible cooldown module being available.

Claims (80)

1. A system comprising:

one or more processors; and

memory storing instructions that, when executed by the one or more processors, cause the system to perform:

receiving a job from a client;

inserting the job into a job queue;

comparing the job within the job queue with a set of modules to determine whether a compatible module is available;

in response to the compatible module being available, assigning the job to the compatible module; and

in response to the compatible module completing the job, adjusting a life length of the compatible module, wherein the life length is a duration the compatible module is kept and during which the compatible module can be assigned to a new job.

2. The system of claim 1 , wherein the adjusting the life length of the compatible module comprises:

configuring the compatible module to have a longer life length if the compatible module requires a larger resource expenditure to start up; and

configuring the compatible module to have a shorter life length if the compatible module requires a smaller resource expenditure to start up.

3. The system of claim 1 , wherein the adjusting the life length of the compatible module comprises:

configuring the compatible module to have a longer life length if the job assigned to the compatible module is more frequently received; and

configuring the compatible module to have a shorter life length if the job assigned to the compatible module is less frequently received.

4. The system of claim 1 , wherein the adjusting the life length of the compatible module comprises not terminating the compatible module.

5. The system of claim 1 , wherein the compatible module has completed a previously assigned job, has not been assigned a new job, and has not been terminated.

6. The system of claim 1 , wherein the memory storing instructions further causes the system to perform:

receiving a second job and a third job from the client;

inserting the second job and the third job into the job queue;

comparing the job, the second job, and the third job within the job queue with the set of modules in a first-in, first-out (FIFO) fashion to determine whether any of the job, the second job, and the third job are compatible with a second module of the set of modules; and

in response to any of the job, the second job, and the third job being compatible with the second module of the set of modules, assigning whichever of the job, the second job, and the third job is compatible with the second module to the second module.

7. The system of claim 1 , wherein the memory storing instructions further causes the system to perform:

receiving a second job and a third job from the client;

inserting the second job and the third job into the job queue;

comparing the job, the second job, and the third job within the job queue with the set of modules in a relaxed first-in, first-out (FIFO) fashion to determine whether any of the job, the second job, and the third job are compatible with a second module of the set of modules; and

in response to any of the job, the second job, and the third job being compatible with the second module of set of modules, assigning whichever of the job, the second job, and the third job is compatible with the second module to the second module, wherein:

the relaxed FIFO fashion comprises setting a maximum number of times an earlier job can be skipped to allow assignment of a later job before the earlier job.

8. The system of claim 1 , wherein the memory storing instructions further causes the system to perform:

if the compatible module is determined not to be available:

initiating creation of a new module for the job;

determining whether the compatible module becomes available during the creation of the new module; and

in response to the compatible module becoming available during the creation of the new module, assigning the job to the compatible module.

9. A method implemented by a computing system including one or more processors and storage media storing machine-readable instructions, wherein the method is performed using the one or more processors, the method comprising:

receiving a job from a client;

inserting the job into a job queue;

comparing the job within the job queue with a set of modules to determine whether a compatible module is available;

in response to the compatible module being available, assigning the job to the compatible module; and

in response to the compatible module completing the job, adjusting a life length of the compatible module, wherein the life length is a duration the compatible module is kept and during which the compatible module can be assigned to a new job.

10. The method of claim 9 , wherein the adjusting the life length of the compatible module comprises:

configuring the compatible module to have a longer life length if the compatible module requires a larger resource expenditure to start up; and

configuring the compatible module to have a shorter life length if the compatible module requires a smaller resource expenditure to start up.

11. The method of claim 9 , wherein the adjusting the life length of the compatible module comprises:

configuring the compatible module to have a longer life length if the job assigned to the compatible module is more frequently received; and

configuring the compatible module to have a shorter life length if the job assigned to the compatible module is less frequently received.

12. The method of claim 9 , wherein the adjusting the life length of the compatible module comprises not terminating the compatible module.

13. The method of claim 9 , wherein the compatible module has completed a previously assigned job, has not been assigned a new job, and has not been terminated.

14. The method of claim 9 , further comprising:

receiving a second job and a third job from the client;

inserting the second job and the third job into the job queue;

comparing the job, the second job, and the third job within the job queue with the set of modules in a first-in, first-out (FIFO) fashion to determine whether any of the job, the second job, and the third job are compatible with a second module of the set of modules; and

in response to any of the job, the second job, and the third job being compatible with the second module of the set of modules, assigning whichever of the job, the second job, and the third job is compatible with the second module to the second module.

15. The method of claim 9 , further comprising:

receiving a second job and a third job from the client;

inserting the second job and the third job into the job queue;

comparing the job, the second job, and the third job within the job queue with the set of modules in a relaxed first-in, first-out (FIFO) fashion to determine whether any of the job, the second job, and the third job are compatible with a second module of the set of modules; and

in response to any of the job, the second job, and the third job being compatible with the second module of the set of modules, assigning whichever of the job, the second job, and the third job is compatible with the second module to the second module, wherein:

the relaxed FIFO fashion comprises setting a maximum number of times an earlier job can be skipped to allow assignment of a later job before the earlier job.

16. The method of claim 9 , further comprising:

if the compatible module is determined not to be available:

initiating creation of a new module for the job;

determining whether the compatible module becomes available during the creation of the new module;

in response to the compatible module becoming available during the creation of the new module, assigning the job to the compatible module.

17. A non-transitory computer readable medium comprising instructions that, when executed, cause one or more processors to perform:

receiving a job from a client;

inserting the job into a job queue;

comparing the job within the job queue with a set of modules to determine whether a compatible module is available;

in response to the compatible module being available, assigning the job to the compatible module; and

in response to the compatible module completing the job, adjusting a life length of the compatible module, wherein the life length is a duration the compatible module is kept and during which the compatible module can be assigned to a new job.

18. The non-transitory computer readable medium of claim 17 , wherein the adjusting the life length of the compatible module comprises:

configuring the compatible module to have a longer life length if the compatible module requires a larger resource expenditure to start up; and

configuring the compatible module to have a shorter life length if the compatible module requires a smaller resource expenditure to start up.

19. The non-transitory computer readable medium of claim 17 , wherein the adjusting the life length of the compatible module comprises:

configuring the compatible module to have a longer life length if the job assigned to the compatible module is more frequently received; and

configuring the compatible module to have a shorter life length if the job assigned to the compatible module is less frequently received.

20. The non-transitory computer readable medium of claim 17 , wherein the instructions further cause the system to perform:

receiving a second job and a third job from the client;

inserting the second job and the third job into the job queue;

comparing the job, the second job, and the third job within the job queue with the set of modules in a relaxed first-in, first-out (FIFO) fashion to determine whether any of the job, the second job, and the third job are compatible with a second module of the set of modules; and

in response to any of the job, the second job, and the third job being compatible with the second module of the set of modules, assigning whichever of the job, the second job, and the third job is compatible with the second module to the second module, wherein:

the relaxed FIFO fashion comprises setting a maximum number of times an earlier job can be skipped to allow assignment of a later job before the earlier job.

Assignments (3)
SECURITY INTEREST Recorded Jul 3, 2022
From: PALANTIR TECHNOLOGIES INC.
To: WELLS FARGO BANK, N.A.
Reel/Frame 060572/0506 →
SECURITY INTEREST Recorded Jun 4, 2020
From: PALANTIR TECHNOLOGIES INC.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 052856/0817 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 31, 2019
From: BLESSING, ALEXANDER; UANG, JUSTIN; MANNING, LAWRENCE; ELLIOT, MARK; KRUSZEWSKI, ROBERT
To: PALANTIR TECHNOLOGIES INC.
Reel/Frame 049329/0812 →