×

Efficient region selection system for executing request-driven code

  • US 10,372,499 B1
  • Filed: 12/27/2016
  • Issued: 08/06/2019
  • Est. Priority Date: 12/27/2016
  • Status: Active Grant
First Claim
Patent Images

1. A computer-implemented method of selecting a location at which to execute user-defined code, the method comprising:

  • receiving a first set of user-defined code that is generated by a user for execution on a first on-demand code execution environment at a point of presence (POP), wherein the first on-demand code execution environment comprises a plurality of virtual machine instances executing an initialized operating system and awaiting requests to execute user-defined code within that operating system;

    replicating the first set of user-defined code to a first set of geographic regions in a plurality of geographic regions;

    receiving, from a user device associated with the user that generated the first set of user-defined code, a request to execute a task, wherein execution of the task comprises execution of the first set of user-defined code, and wherein the request comprises an argument for use in execution of the first set of user-defined code;

    determining that the task should not be executed by the first on-demand code execution environment;

    determining that a current version of the first set of user-defined code is replicated to the first set of geographic regions in the plurality of geographic regions;

    selecting a first geographic region in the first set of geographic regions to execute the task based at least in part on requests to execute the task previously received by a second on-demand code execution environment located in the first geographic region;

    transmitting the request to execute the task to the first geographic region such that the task is executed by the second on-demand code execution environment, wherein the first on-demand code execution environment is located at a geographic location different than the first geographic region; and

    transmitting results of execution of the task to the user device.

View all claims
  • 1 Assignment
Timeline View
Assignment View
    ×
    ×