CA2697540C

Executing programs based on user-specified constraints

Abstract

Techniques are described for managing execution of programs on multiple computing systems, such as based at least in part of user-specified constraints. For example, constraints related to execution of a program may be based on a desired relative location of a host computing system to execute a copy of the program with respect to an indicated target (e.g., computing systems executing other copies of the program or copies of another indicated program), on particular geographic locations, and/or on factors not based on location (e.g., cost of use of a particular computing system, capabilities available from a particular computing system, etc.). Some or all of the multiple computing systems may be part of a program execution service for executing multiple programs on behalf of multiple users, and each may provide multiple virtual machines that are each capable of executing one or more programs for one or more users.

CA2697540C, drawing sheet 1
Sheet 1 of 9

Term

1.9 yearsleft in the term

Expires 7 August 2028.

  1. Priority
  2. Filed
  3. Granted
  4. Today
  5. Expires

9 claims: 1 independent, 8 dependent

  1. 1
    CA 02697540 2016-12-28 What is claimed is:[ci] 1. A computer-implemented method for executing programs in accordance with userspecified constraints, the method comprising: receiving an indication from a user of one or more execution constraints for use in selecting one or more host computing systems to execute one or more copies of a program, wherein the one or more execution constraints are based on at least one of locations of the one or more host computing systems and of capabilities of the one or more computing systems related to executing the one or more program copies, and wherein at least one of the one or more execution constraints is based on proximity of the one or more host computing systems to one or more indicated target computing resources that do not correspond to other executing copies of the program;automatically determining one or more candidate host computing systems that are available to execute the one or more program copies in accordance with the one or more execution constraints, the candidate host computing systems being selected from a predefined group of multiple distributed computing systems for use in executing programs of users of a program execution service;automatically selecting the one or more host computing systems to execute the one or more program copies from the candidate host computing systems, such that each of the selected one or more host computing systems is to execute at least one of the one or more program copies, wherein the selected one or more host computing systems satisfy the at least one execution constraints based on proximity to the one or more indicated target computing resources;and initiating execution of the one or more program copies on the selected one or more host computing systems.