×

Dynamic code deployment and versioning

  • US 9,715,402 B2
  • Filed: 09/30/2014
  • Issued: 07/25/2017
  • Est. Priority Date: 09/30/2014
  • Status: Active Grant
First Claim
Patent Images

1. A system for providing low-latency computational capacity from a virtual compute fleet, the system comprising:

  • an electronic data store configured to store at least a program code of a user; and

    a virtual compute system comprising one or more hardware computing devices executing specific computer-executable instructions, said virtual compute system in communication with the data store, and configured to at least;

    maintain a plurality of virtual machine instances on one or more physical computing devices, wherein the plurality of virtual machine instances comprise;

    a warming pool comprising virtual machine instances having one or more software components loaded thereon and waiting to be assigned to a user; and

    an active pool comprising virtual machine instances assigned to one or more users;

    receive a first code execution request to execute a program code on the virtual compute system, the first code execution request including version information identifying a first version of the program code;

    determine, based on the version information, that the program code was updated, prior to the receipt of the first code execution request by the virtual compute system, from a second version to the first version;

    determine whether the second version of the program code is loaded onto an existing container created on a particular instance of the virtual machine instances in the active pool;

    initiate a download of the first version of the program code onto at least one of the data store, a code cache of the particular instance, or the existing container; and

    in response to determining that the second version of the program code is loaded onto an existing container created on the particular instance, determine that the download of the first version of the program code is expected to take longer than a threshold amount of time; and

    based on the determination that the first version of the program code is expected to take longer than the threshold amount of time, cause the first code execution request to be processed with the second version of the program code that is in the existing container.

View all claims
  • 2 Assignments
Timeline View
Assignment View
    ×
    ×