IP Library Granted Patent US 12,020,039
Granted Patent B2
US 12,020,039 · App. 17/410,398 · Granted Jun 25, 2024

Compute instance warmup operations

Inventors: Federico Ariel Piagentini (Buenos Aires, AR); Santiago Vacas (Buenos Aires, AR)
Assignee: San Francisco, CA
G06F9/445G06F8/60
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 12,020,039
App. No.
17/410,398
Granted
Jun 25, 2024
Kind
B2
Abstract

Methods, apparatuses, and computer program products are described. An application server may create a compute instance associated with a pool of compute instances. The application server may select, based on one or more operation usage metrics that may indicate operations previously performed by compute instances in the pool of compute instances, a set of initialization operations from a plurality of available initialization operations. The application server may retrieve, at the compute instance, the set of initialization operations based on the selecting. The application server may perform the set of initialization operations with the compute instance as part of a compute instance warmup process in response to the compute instance being created. The application server may indicate the compute instance as an available compute instance in the pool of compute instances based on the compute instance warmup process.

Claims (61)

1. A method for data processing at an application server, comprising:

creating a compute instance associated with a pool of compute instances;

selecting, based at least in part on one or more operation usage metrics that indicate operations previously performed by compute instances in the pool of compute instances, the one or more operation usage metrics further indicating identifiers of one or more services and that corresponding connections to the one or more services were established in association with the operations previously performed by the compute instances, a set of initialization operations from a plurality of available initialization operations, wherein the set of initialization operations corresponds with the operations previously performed by the compute instances in the pool of compute instances with which the compute instance is associated;

retrieving, at the compute instance, the set of initialization operations based at least in part on the selecting;

performing the set of initialization operations with the compute instance as part of a compute instance warmup process in response to the compute instance being created; and

indicating the compute instance as an available compute instance in the pool of compute instances based at least in part on the compute instance warmup process.

2. The method of claim 1 , further comprising:

determining the one or more operation usage metrics based at least in part on a successful execution of one or more operations, an unsuccessful execution of one or more operations, a number of executions of one or more operations, one or more operation metric thresholds, or a combination thereof.

3. The method of claim 1 , further comprising:

deploying an initialization operation exercise application associated with the set of initialization operations; and

performing the set of initialization operations with the initialization operation exercise application in response to the compute instance being created.

4. The method of claim 1 , further comprising:

monitoring one or more compute instances in the pool of compute instances;

determining, based at least in part on the monitoring, one or more operations performed by the one or more compute instances; and

storing one or more indications of the one or more operations performed by the one or more compute instances.

5. The method of claim 1 , further comprising:

starting a warmup timer based at least in part on detecting that the compute instance warmup process has begun; and

indicating the compute instance as an available compute instance in the pool of compute instances based at least in part on the warmup timer expiring and determining that at least a portion of the compute instance warmup process was not performed successfully.

6. The method of claim 1 , wherein the plurality of available initialization operations comprises obtaining one or more dependencies associated with an operation, loading a class, deploying an application, or a combination thereof.

7. The method of claim 1 , further comprising:

automatically updating the plurality of available initialization operations to include a latest version of one or more of the plurality of available initialization operations.

8. The method of claim 1 , wherein selecting the set of initialization operations is based at least in part on one or more operation usage metrics associated with a time period.

9. The method of claim 1 , wherein the plurality of available initialization operations comprises a list of approved initialization operations.

10. The method of claim 1 , further comprising:

removing an operation from the selected set of initialization operations or from the plurality of available initialization operations.

11. The method of claim 1 , wherein the selecting is based at least in part on a user identifier, an organization associated with a user identifier, or a combination thereof.

12. An apparatus for data processing at an application server, comprising:

one or more processors;

one or more memories coupled with the one or more processors; and

instructions stored in the one or more memories and executable by the one or more processors to cause the apparatus to:

create a compute instance associated with a pool of compute instances;

select, based at least in part on one or more operation usage metrics that indicate operations previously performed by compute instances in the pool of compute instances, the one or more operation usage metrics further indicating identifiers of one or more services and that corresponding connections to the one or more services were established in association with the operations previously performed by the compute instances, a set of initialization operations from a plurality of available initialization operations, wherein the set of initialization operations corresponds with the operations previously performed by the compute instances in the pool of compute instances with which the compute instance is associated;

retrieve, at the compute instance, the set of initialization operations based at least in part on the selecting;

perform the set of initialization operations with the compute instance as part of a compute instance warmup process in response to the compute instance being created; and

indicate the compute instance as an available compute instance in the pool of compute instances based at least in part on the compute instance warmup process.

13. The apparatus of claim 12 , wherein the instructions are further executable by the one or more processors to cause the apparatus to:

determine the one or more operation usage metrics based at least in part on a successful execution of one or more operations, an unsuccessful execution of one or more operations, a number of executions of one or more operations, one or more operation metric thresholds, or a combination thereof.

14. The apparatus of claim 12 , wherein the instructions are further executable by the one or more processors to cause the apparatus to:

deploy an initialization operation exercise application associated with the set of initialization operations; and

perform the set of initialization operations with the initialization operation exercise application in response to the compute instance being created.

15. The apparatus of claim 12 , wherein the instructions are further executable by the one or more processors to cause the apparatus to:

monitor one or more compute instances in the pool of compute instances;

determine, based at least in part on the monitoring, one or more operations performed by the one or more compute instances; and

store one or more indications of the one or more operations performed by the one or more compute instances.

16. The apparatus of claim 12 , wherein the instructions are further executable by the one or more processors to cause the apparatus to:

start a warmup timer based at least in part on detecting that the compute instance warmup process has begun; and

indicate the compute instance as an available compute instance in the pool of compute instances based at least in part on the warmup timer expiring and determining that at least a portion of the compute instance warmup process was not performed successfully.

17. The apparatus of claim 12 , wherein the plurality of available initialization operations comprises obtaining one or more dependencies associated with an operation, loading a class, deploying an application, or a combination thereof.

18. A non-transitory computer-readable medium storing code for data processing at an application server, the code comprising instructions executable by a processor to:

create a compute instance associated with a pool of compute instances;

select, based at least in part on one or more operation usage metrics that indicate operations previously performed by compute instances in the pool of compute instances, the one or more operation usage metrics further indicating identifiers of one or more services and that corresponding connections to the one or more services were established in association with the operations previously performed by the compute instances, a set of initialization operations from a plurality of available initialization operations, wherein the set of initialization operations corresponds with the operations previously performed by the compute instances in the pool of compute instances with which the compute instance is associated;

retrieve, at the compute instance, the set of initialization operations based at least in part on the selecting;

perform the set of initialization operations with the compute instance as part of a compute instance warmup process in response to the compute instance being created; and

indicate the compute instance as an available compute instance in the pool of compute instances based at least in part on the compute instance warmup process.

19. The non-transitory computer-readable medium of claim 18 , wherein the instructions are further executable by the processor to:

deploy an initialization operation exercise application associated with the set of initialization operations; and

perform the set of initialization operations with the initialization operation exercise application in response to the compute instance being created.

20. The non-transitory computer-readable medium of claim 18 , wherein the instructions are further executable by the processor to:

monitor one or more compute instances in the pool of compute instances;

determine, based at least in part on the monitoring, one or more operations performed by the one or more compute instances; and

store one or more indications of the one or more operations performed by the one or more compute instances.

Assignments (2)
CHANGE OF NAME Recorded Dec 18, 2024
From: SALESFORCE.COM, INC.
To: SALESFORCE, INC.
Reel/Frame 069717/0571 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 24, 2021
From: PIAGENTINI, FEDERICO ARIEL; VACAS, SANTIAGO
To: SALESFORCE.COM, INC.
Reel/Frame 057272/0597 →