×

On-demand code execution in a localized device coordinator

  • US 10,452,439 B2
  • Filed: 11/28/2016
  • Issued: 10/22/2019
  • Est. Priority Date: 11/28/2016
  • Status: Active Grant
First Claim
Patent Images

1. A coordinator computing device configured to manage one or more coordinated devices within a coordinated environment, wherein the one or more coordinated devices are distinct from the coordinator computing device, the coordinator computing device comprising:

  • a non-transitory data store including computer executable instructions corresponding to;

    a scheduler that, when executed, implements a queue of calls to execute one or more tasks on the coordinator, wherein individual tasks of the one or more tasks correspond to code executable by the coordinator computing device to manage operation of the one or more coordinated devices within the coordinated environment;

    a resource manager that, when executed, generates execution environments in which to execute the one or more tasks;

    a processor in communication with the non-transitory data store and configured to execute the scheduler, wherein execution of the scheduler causes the processor to;

    enqueue a set of task calls within the queue, individual task calls corresponding to a call to execute a task of the one or more tasks at the coordinator computing device;

    obtain an availability of compute resources on the coordinator computing device from the resource manager;

    apply a scheduling algorithm to the queue based at least in part on the availability of compute resources on the coordinator computing device to select at least one task call of the set of task calls for processing, wherein the coordinator computing device lacks sufficient compute resources to concurrently process both a task called by the selected at least one task call and tasks called by unselected task calls of the set of task calls, and wherein apply a scheduling algorithm to the queue comprises delaying processing on the coordinator computing device of the tasks called by the unselected task calls until sufficient compute resources become available on the coordinator computing device;

    instruct the resource manager to select an execution environment on the coordinator computing device in which to execute the task corresponding to the at least one task call; and

    execute the task corresponding to the at least one task call within the execution environment on the coordinator computing device, wherein the task, when executed, manages operation of at least one of the one or more coordinated devices within the coordinated environment;

    wherein the processor is further configured to execute the resource manager in order to generate the execution environment on the coordinator computing device in which to execute the task corresponding to the at least one task call, and wherein generation of the execution environment includes provisioning the execution environment with a data resource required to execute the task corresponding to the at least one task call.

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