Techniques for managing software container dependencies
US-2018246729-A1 · Aug 30, 2018 · US
US10489170B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-10489170-B2 |
| Application number | US-201715626897-A |
| Country | US |
| Kind code | B2 |
| Filing date | Jun 19, 2017 |
| Priority date | Jun 19, 2017 |
| Publication date | Nov 26, 2019 |
| Grant date | Nov 26, 2019 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
Systems, methods, and computer-readable media for increasing program execution time are described. A computer system may implement a warmup engine that may allow defined portions of code to be pre-loaded (“warmed up”) for execution before application startup. The warmup engine may include warmup logic that warms up a defined portion of code. The mechanisms that trigger the warmup logic are called “warmers,” and each warmer may run in a warmer container. The computer system may execute each of the warmers according to a warmer configuration and may also log errors that may occur during warmer execution. In some implementations, an application may not become available during initialization until (or after) the warmup engine executes the warmers and/or warmup logic. Other embodiments may be described and/or claimed.
Opening claim text (preview).
The invention claimed is: 1. One or more non-transitory computer-readable media (NTCRM) comprising a set of instructions to implement an application warmup engine (AWE), wherein execution of the set of instructions by at least one processing device of a computing system is to cause the computing system to: initialize a container during an initialization process of an application; execute warmup logic within the container according to a configuration, the warmup logic indicating an action of the application to be performed prior to execution of the application, the configuration indicating parameters for executing the warmup logic; and indicate the application as available for execution after the execution of the warmup logic. 2. The one or more NTCRM of claim 1 , wherein execution of the set of instructions is to cause the computing system to: load the configuration prior to initialization of the container. 3. The one or more NTCRM of claim 1 , wherein the configuration comprises a plurality of parameters, the plurality of parameters include a time after the initialization process to execute the warmup logic, a maximum number of timeouts of the warmup logic, a timeout period, a maximum number of iterations of the warmup logic; and environment type for the warmup logic. 4. The one or more NTCRM of claim 3 , wherein, to execute the warmup logic, execution of the set of instructions is to cause the computing system to: execute the warmup logic at the time after the initialization process indicated by the configuration. 5. The one or more NTCRM of claim 3 , wherein execution of the set of instructions is to cause the computing system to: initialize a timer including a value equal to the timeout period; and invoke a timeout of the warmup logic upon expiration of the timer. 6. The one or more NTCRM of claim 5 , wherein execution of the set of instructions is to cause the computing system to: initialize a counter to count a number of the invoked timeouts; increment the counter for each invoked timeout; and terminate execution of the warmup logic when the counter includes a value equal to the maximum number of timeouts. 7. The one or more NTCRM of claim 1 , wherein the action comprises one or more of: prefetching or preloading desired program code of the application for execution before loading other program code of the application for execution; loading heap memory of the memory system or cache memory of the memory system with data at a predetermined location at a predetermined time; sending a request for data items of a database object to a remote database system, and loading the requested data item into a predetermined location of the memory system upon receipt of the requested data item by the network interface; transitioning desired bytecode from an interpreted state to a compiled state before transitioning other bytecode from the interpreted state to the compiled state; and sending a network request to a remote computing system to access one or more network resources. 8. A computing system, comprising: a memory system comprising instructions for operating a warmup engine; and a processor system coupled with the memory system, the processor system to execute the instructions to: obtain an indication indicating an application initialization process; initialize a warmer container during the application initialization process; execute warmup logic within the warmer container according to a warmup configuration, the warmup logic indicating an action of the application to be performed prior to making the application available, the warmup configuration indicating parameters for executing the warmup logic; and indicate the application as available for execution after the execution of the warmup logic. 9. The computing system of claim 8 , wherein the processor system is to execute the instructions to: load the warmup configuration into the memory system prior to initialization of the container. 10. The computing system of claim 8 , wherein the warmup configuration comprises a plurality of parameters, the plurality of parameters include a time after the initialization process to execute the warmup logic, a maximum number of timeouts of the warmup logic, a timeout period for completing execution of the warmup logic, a maximum number of iterations of the warmup logic; and environment type in which to execute the warmup logic. 11. The computing system of claim 10 , wherein, to execute the warmup logic, the processor system is to execute the instructions to: execute the warmup logic at the time after the initialization process indicated by the warmup configuration. 12. The computing system of claim 10 , wherein the processor system is to execute the instructions to: initialize a timer including a value equal to the timeout period; and invoke a timeout of the warmup logic upon expiration of the timer. 13. The computing system of claim 12 , wherein the processor system is to execute the instructions to: initialize a counter to count a number of the invoked timeouts; increment the counter for each invoked timeout; and terminate execution of the warmup logic when the counter includes a value equal to the maximum number of timeouts. 14. The computing system of claim 8 , wherein the computing system further comprises a network interface, and wherein the action comprises one or more of: prefetching or preloading desired program code of the application for execution before loading other program code of the application for execution; loading heap memory of the memory system or cache memory of the memory system with data at a predetermined location at a predetermined time; controlling the network interface to transmit a request for data items of a database object to a remote database system, and loading the requested data item into a predetermined location of the memory system upon receipt of the requested data item by the network interface; transitioning desired bytecode from an interpreted state to a compiled state before transitioning other bytecode from the interpreted state to the compiled state; and controlling the network interface to transmit a network request to a remote computing system to access one or more network resources. 15. A method for application warmup, the method comprising: initializing, by a computer system, a container during an initialization process of an application; executing, by the computer system, warmup logic within the container according to a configuration, the warmup logic indicating an action of the application to be performed prior to execution of the application, the configuration indicating parameters for executing the warmup logic; and indicating, by the computer system, the application as available for execution after the execution of the warmup logic. 16. The method of claim 15 , further comprising: loading, by the computer system, the configuration prior to initialization of the container, wherein the loading comprises, determining, by the computer system, a current runtime context of the environment in which the application is to execute, reading, by the computer system, the configuration into memory, instantiating, by the computer system, the container based on the configuration, and adding, by the computer system, the container to a list of containers. 17. The method of claim 15 , wherein the configuration comprises a plurality of parameters, the plurality of parameters include a time after the initialization process to execute the warmup logic, a maximum number of timeouts of the warmup logic, a timeout period,
Preparing or optimising for loading · CPC title
Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators · CPC title
Configuring for program initiating, e.g. using registry, configuration files · CPC title
Prefetch instructions; cache control instructions · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.